gifts2017

Универсальная выгрузка данных документа в текстовый файл

Опубликовал Сергей Поживилко (se77) в раздел Обмен - Обмен с другими системами

Область применения: обмен данными с клиентом банка.

Приветствую уважаемое сообщество, хотел бы предложить Вашему вниманию механизм универсальной выгрузки в текстовый файл. Прошу сразу помидорами не забрасывать, так как эта статья, как говориться, проба пера.

Данный механизм  разрабатывался  для настройки обмена с  клиентом банка в режиме Предприятие (у нас, в Белоруссии, большинство подобных программных продуктов поддерживает загрузку из текстовых файлов), для выгрузки платежных документов и списков для зачисления на карт-счета.

Итак, нам понадобится добавить в конфигурацию 3 объекта:

 Перечисление.ТипДанныхВыгрузки
Значения:

- Текст
- РеквизитДокумента
- ПереносСтроки
- ВыгрузкаТаблицы
- РеквизитТабличнойЧасти
- Запрос
- ТекстИсполняемогоКода

 Справочник.НастройкаВыгрузки
Реквизиты:

-НаименованиеДокумента (строка, 50)
-НаименованиеТабличнойЧасти (строка, 50)
-ИмяТекстовогоФайла (строка, 50)
-ПутьВыгрузки (строка, 100)
-Табличные части: ШаблонВыгрузкиШапки и ШаблонВыгрузкиТабличнойЧасти

Структура данных табличной части идентичная:

- ТипДанных (Перечисление.ТипДанныхВыгрузки)
- Значение (Строка неограниченной длины)
- ФорматнаяСтрока (Строка, 20)

 Обработка. ВыгрузкаДокументов. Собственно, данная обработка формирует по заданному пользователем шаблону многострочный текстовый документ и записывает на диск. Строки для добавления в документ формируются в зависимости от значения перечисления ТипДанныхВыгрузки :

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

 Если нет возможности получить из документа нужного значения, применяется запрос. Требование к запросу – получение единственного значения

 ТекстИсполняемогоКода содержит текст, который система может преобразовать в выполняемый код (может содержать, например, ссылку на процедуру общего модуля)

 ПереносСтроки добавляет символ переноса строки.

 ВыгрузкаТаблицы перебирает в цикле все строки табличной части, наименование которой задано реквизитом НаименованиеТабличнойЧасти и формирует на ее основании строки для добавления в текстовый документ

Для примера, рассмотрим некоторые элементы настройки, используемой  для выгрузки списков на зачисления средств на карт-счета для одного из наиболее распространенного клиента банка «Электронные платежи» разработка компании «Системные технологии» (его используют, например, «Приорбанк», «Белинвестбанк», банк «БелВЭБ» , банк «Москва-Минск» ).

Необходимо добавить в текстовый документ следующую строку: «***** ^Type=61^ ^Acc=0000000000000^ - Список для зачисления денежных средств на счета физических лиц». Для этого в настройку выгрузки необходимо добавить 2 строки:

Для добавления текста «^Date=10.12.2012^» необходимо добавить в настройку 4 строки, при этом представить дату документа в нужном формате: 

Для преобразования суммы документа в число прописью в строке «^AccountBYRByWords=Два миллиона шестьсот три тысячи белорусских рублей^»  пришлось добавить в общий модуль соответствующую процедуру, и вызвать ее с помощью метода Выполнить()

Список сотрудников с указанием лицевого счета  и сумы к зачислению должны выглядеть в виде строки: «^_Table=Npp=1~Name1=Иванов Иван Петрович~Nch1=1111111111~Sum1=500000~Npp=2~Name1=Смирнова Наталья Васильевна~Nch1=2222222222~Sum1=300000~^» , для этого в табличную часть Настройка выгрузки добавлены  следующие строки:

Когда обработка встречает тип данных ВыгрузкаТаблицы , делается выборка строк соответствующей табличной части, на каждом витке цикла обрабатываются данные строки по правилам, аналогичным описанным выше:

Если необходимо получить некоторое значение, которое в явном виде нельзя получить из данных документа используется запрос. Например, нужно получить строку «^UNN=200452784^», где 200425784 это учетный номер плательщика, для этого используется запрос, и настройка выглядит следующим образом:

В выгрузке каркасной конфигурации реализована настройка выгрузки списка для зачисления средств на карт-счета физических лиц.

 

 

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

Наименование Файл Версия Размер
Выгрузка каркасной конфигурации с примером 39
.dt 67,88Kb
12.12.12
39
.dt 67,88Kb Скачать

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.