gifts2017

Шаблон обработки для быстрого создания выгрузки в файл dbf в 1С:Предприятие 7.7

Опубликовал Валерий . (welwel) в раздел Обмен - Обмен через DBF

Шаблон обработки для быстрого создания выгрузки в файл dbf в 1С:Предприятие 7.7

Возможности:

Данная обработка позволяет на своей основе быстро разрабатывать выгрузки в файлы dbf данных, получаемых с помощью запроса.

Все, что для этого требуется, это создать конструтором запрос, дополнить сгенерированный код несколькими строками (см. в обработке вкладку Описание) и поместить в таблицу описание файла по примеру:

№    Наименование Тип    Длина Точн. Описание                 Выражение
1    IDGROUP      String    8        Код группы (уникальный)  Запрос.Номенклатура.Код
2    NAME         String    50       Название группы          Запрос.Номенклатура.Наименование
3    IDPARENT     String    8        Код родителя(уникальный) Запрос.Номенклатура.Родитель.Код

Шаблон обработки уже работающий и выгружает справочник номенклатуры, группы и элементы в отдельные файлы .

Скачать файлы

Наименование Файл Версия Размер
Выгрузка dbf 38
.ert 41,00Kb
24.09.11
38
.ert 41,00Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Алекс Ю (AlexO) 14.05.12 11:59
Так и не понял до конца, как пользоваться обработкой:
Куда добавлять запрос, почему в "Папка для обмена" нельзя выбрать папку на диске.
Что удалось выяснить:
- в поле Номенклатура можно задавтаь как папку, так и отдельную позицию номенклатуры для выгрузки.
- по кнопке Номенклатура - выводиться список отобранной Номенклатуры для выгрузки (если не задано поле Номенклатура - то вся номенклатура).
- по Выгрузить создает файлы tovar_gr.dbf (группы номенклатуры) и tovar_gr.dbf (номенклатура) в корне диска (путь не был указан), в соответствии с форматом dbf, указанном в таблице Формат.
Из описания
при описании запроса использовать конструктор нового запроса <ИдентификаторЗапроса> с генерацией процедуры и таблицы, созданием новой кнопки

заменить Процедура <ИдентификаторЗапроса>() на Функция <ИдентификаторЗапроса>(Запросы = 0)
и поместить описание функции в начало модуля

заменить в:
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат 0; //вместо Возврат;
КонецЕсли;

и добавить:
Если ТипЗначенияСтр(Запросы)="СписокЗначений" Тогда
Запросы.Установить(<ИдентификаторЗапроса>,Запрос);
Возврат 1;
КонецЕсли;

по созданной кнопке <ИдентификаторЗапроса> будет удобно проверять содержимое запроса

описание файла dbf, формируемого при обходе запроса, поместить в таблицу Формат (по примеру уже имеющихся)
поддерживаются описания типов S, D, (строка, дата) или числовой (иначе), учитывается только первая буква, так что корректным будет и String, Date, и Stroka, Data

чтобы временно отключить (закомментировать) описание какого-либо файла, достаточно сдвинуть его на колонку вправо
(если первая ячейчка в строке таблицы пустая, то строка считается комментарием)

пока реализован обход только одноуровнего запроса

- только понял, что нужно открыть обработку в конфигураторе и создать нужный запрос с кнопкой и таблицей на форме, а потом еще и прописать обработку запроса в коде.
Как-то сделать описание форматов в таблице Формат.
И потом - как еще читать оба файла - ведь в одном группы, в другом - номенклатура? Соединять по коду? Тогда может было лучше сразу - сделать один единый файл и для номенклатуры, и групп с указанием ID и названия группы-родителя?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа