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


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

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

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

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

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

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

1 Comment

  1. AlexO

    Так и не понял до конца, как пользоваться обработкой:

    Куда добавлять запрос, почему в «Папка для обмена» нельзя выбрать папку на диске.

    Что удалось выяснить:

    — в поле Номенклатура можно задавтаь как папку, так и отдельную позицию номенклатуры для выгрузки.

    — по кнопке Номенклатура — выводиться список отобранной Номенклатуры для выгрузки (если не задано поле Номенклатура — то вся номенклатура).

    — по Выгрузить создает файлы tovar_gr.dbf (группы номенклатуры) и tovar_gr.dbf (номенклатура) в корне диска (путь не был указан), в соответствии с форматом dbf, указанном в таблице Формат.

    Из описания

    при описании запроса использовать конструктор нового запроса <ИдентификаторЗапроса> с генерацией процедуры и таблицы, созданием новой кнопки

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

    и поместить описание функции в начало модуля

    заменить в:

    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

    Возврат 0; //вместо Возврат;

    КонецЕсли;

    и добавить:

    Если ТипЗначенияСтр(Запросы)=»СписокЗначений» Тогда

    Запросы.Установить(<ИдентификаторЗапроса>,Запрос);

    Возврат 1;

    КонецЕсли;

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

    описание файла dbf, формируемого при обходе запроса, поместить в таблицу Формат (по примеру уже имеющихся)

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

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

    (если первая ячейчка в строке таблицы пустая, то строка считается комментарием)

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

    Показать

    — только понял, что нужно открыть обработку в конфигураторе и создать нужный запрос с кнопкой и таблицей на форме, а потом еще и прописать обработку запроса в коде.

    Как-то сделать описание форматов в таблице Формат.

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

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *