Настройки экспорта данных хранятся в справочнике R260 – «Импорт/экспорт файлов» и R261 – «Поля файлов для импорта/экспорта». Доступ к этим справочникам осуществляется через меню «Сервис/Конфигурация/Шаблоны – Экспорт файлов».
Назначение полей справочника R260:
«Код» – Номер настройки по порядку – не менять
«Наименование настройки» – Наименование, по которому настройка будет выбираться – здесь может быть любая строка текста.
«Импорт/экспорт» – переключатель типа передачи: импорт – принять документы, экспорт – отправить документы или сформировать отчетную форму.
«Блок-кода подготовки исходной базы» – Здесь может находиться текст программы для подготовки и формирования временной базы, по которой в дальнейшем будут формироваться записи результирующей базы или строки текста выходящего документа. В процессе работы программа должна вернуть как результат – указатель на сформированную временную базу. Здесь могут быть описаны public – переменные, необходимые для работы следующих блоков обработки, а также блоков формирования полей базы из справочника R261. Если во временной базе не будет ни одной записи, то результирующая база не сформируется и передача данных сразу закончится. Иначе по всем записям из сформированной временной базы формируются записи в результирующей базе (или строки в текстовом файле) – в зависимости от блоков преобразования по полям из справочника R261, а затем выполнится блок «Блок кода завершения обработки».
«Блок-кода завершения обработки» – Здесь может находиться программа обработки результатов, выдача соответствующих сообщений и закрытие рабочих баз данных, если нужно. В простейшем случае этот блок может оставаться пустым.
«Тип вх/вых. файла» – Переключатель типов выходных данных. Возможные значения: База данных .dbf, Текстовый файл Windows, Текстовый файл DOS. При указании текстового файла DOS автоматически происходит перекодирование таблицы символов в DOS-кодировку.
«Директория вх/вых. Файлов» – Блок-кода, программа или константная строка текста, определяющая имя каталога, где располагается файл, содержащих результирующую информацию. В случае константной строки «Директория вх/вых. Файлов» должна содержать одну строку – имя каталога, заключенное в кавычки. Если «Директория вх/вых. Файлов» задана программой, то она должна рассчитать и вернуть в качестве результата текстовую строку, содержащую имя каталога. В случае программы определения имени каталога, текст программы должен содержать более одной строки (это является признаком отличия константной строки от программы). Если в результате «Директория вх/вых. Файлов» вернет пустую строку, то экспорт данных отменяется.
«Имя файла» – Блок-кода, программа или константная строка текста, определяющая имя файла, содержащего результирующую информацию. В случае константной строки «Имя файла» должно содержать одну строку – имя файла, заключенное в кавычки. Если «Имя файла» задано программой, то программа должна рассчитать и вернуть в качестве результата текстовую строку, содержащую имя файла. В случае программы определения имени файла, текст программы должен содержать более одной строки (это является признаком отличия константной строки от программы). Если в результате «Имя файла» возвратит пустую строку, то экспорт данных отменяется.
«Блок кода создания заголовка txt-файла» – Блок-кода (программа) создания заголовка текстового файла. Необязательная программа формирования заголовка файла. Используется только при выводе в текстовый файл DOS или Windows, не используется при формировании dbf-файлов.
«Блок кода создания нижн. колонтитула txt-файла» – Блок-кода (программа) создания нижней части текстового файла. Необязательная программа формирования нижнего колонтитула файла. Используется только при выводе в текстовый файл DOS или Windows, не используется при формировании dbf-файлов.
«Строка соединения» – Не используется при передаче данных.
«Ссылка» – Не используется при передаче данных.
«Название группы» – Используется для задания группировки при высветке справочника. Заполнение этого поля не обязательно.
Порядок выполнения блоков кода:
1. «Директория вх/вых. Файлов».
2. «Имя файла».
3. «Блок-кода подготовки исходной базы».
4. «Блок кода создания заголовка txt-файла» (только для текстовых файлов).
5. Выполняются последовательно все «Блоки кода преобразования» из справочника R261, они формируют поля создаваемого отчета (базы данных или текстового файла). Пункт 5 повторяется циклически для каждой записи временной базы, сформированной в п. 3.
6. «Блок кода создания нижн. колонтитула txt-файла» (только для текстовых файлов).
7. «Блок-кода завершения обработки».
Возможности использования предопределенных переменных:
Для расширения возможностей программ в описанных выше блоках-кода можно использовать заранее определенные переменные для доступа к данным и определения режимов обработки. Используемые переменные являются public-переменными и могут использоваться в программах блоков кода с момента их описания для чтения их значений (см. выше порядок выполнения блоков кода).
«Имя файла» – можно использовать переменную ‘DirName’, содержащую имя каталога формируемого файла результата.
«Блок-кода подготовки исходной базы» – можно использовать определенные выше переменные, а также ‘FileName’ – содержит имя файла результата.
Вышеперечисленным предопределенным переменным нельзя присваивать новые значения нигде в программах блоков кода – это приведет в дальнейшем к ошибке выполнения программы.
Кроме вышеперечисленных переменных в программах блоков кода можно использовать другие public-переменные, которые можно порождать (описывать) прямо в блоках кода. Эти переменные нужно использовать с осторожностью и только для передачи необходимых параметров в ниже выполняемые блоки кода (возможна коллизия имен переменных), во всех иных случаях в программах блоков кода нужно использовать local-переменные, которые не приводят к коллизии имен с переменными вызывающей программы.
Справочник R261 – «Поля файла для импорта/экспорта» – содержит информацию для расчета значений каждого поля формируемой базы данных или каждой строки формируемого текстового файла. Просмотр и изменение содержимого вызывается из справочника вариантов настроек импорта/экспорта по клавише CTRL+F7 - Поля.
Назначение полей справочника R261:
«Русское наименование поля» – Наименование поля формируемой базы данных (комментарий) – заполняется не обязательно.
«Идентификатор поля» – Идентификатор поля в формируемой базе – заполняется обязательно для формирования файла типа dbf.
«Тип поля» – Тип поля формируемой базы данных – заполняется обязательно для формирования файла типа dbf.
«Ширина поля» – Ширина поля формируемой базы данных – заполняется обязательно для формирования файла типа dbf.
«Кол-во зн.; после зап.» – для формирования файла типа dbf заполняется обязательно.
«Номер поля» – Число – номер по порядку – определяет порядок формирования полей в результирующей базе.
«Блок-кода преобразования» – Блок-кода (программа) расчета значения для поля в формируемой базе с именем, определенным в «Идентификаторе поля». Эта программа в качестве результата должна вернуть значение, по типу совпадающее с типом поля в формируемой базе данных или строку – для результирующего текстового файла.
«Ключевое поле поиска» – Не используется при передаче данных.
В результирующей базе создается столько записей, сколько было в подготовленной временной базе.
В случае текстового файла количество строк определяется числом используемых блоков кода преобразования, умноженном на количество записей временной базы, подготовленной в п.3. Возможен другой путь формирование нескольких строк одним блоком кода преобразования – в этом случае результатом расчетов «Блока-кода преобразования» должна быть строка текста, содержащая внутри себя нужное число символов (<Конец строки>+<Возврат каретки>).