Сформировать пакеты в SbisFastLoader

Сформировать пакеты в SbisFastLoader

Основной инструмент SbisFastLoader - это набор sql-запросов. Каждый запрос определяет один тип выгружаемых пакетов. Например, если счета на предоплату отправляются отдельно от документов реализации (фактура + накладная/акт + счет + детализация счета), то для предоплаты и документов реализации нужно создать отдельные sql-запросы.

В каждой строке результата запроса должен содержаться список отчетов, который оформлен особым образом. Из названий колонок в списке будут взяты отчеты и параметры в виде [имя отчета]_[параметр отчета]. При выгрузке, отчеты из списка будут помещены в один пакет.

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

Select ... AS spisok_lc, ... AS spisok_begin, ... AS spisok_end, ... AS schet_id FROM ....

В результате запроса получится список:

№ стрspisok_lsspisok_beginspisok_endschet_id
121401-11-201330-11-2013324
221501-11-201330-11-2013325
321601-11-201330-11-2013Null

Алгоритм работы

Для каждой строки из списка SbisFastLoader:

  1. Вызовет отчет из параметра «spisok» в SbisFastLoader.ini и передаст ему три параметра: «ls», «begin» и «end». Значение параметров программа возьмет из столбцов «spisok_ls», «spisok_begin», «spisok_end».
  2. Вызовет отчет из параметра «schet» в SbisFastLoader.ini и передаст ему параметр «id» со значением из столбца «schet_id».
  3. Если оба отчета выполнились корректно, то файлы FP3 будут помещены в один xml-файл и выгружены в каталог, который указан в параметре «КаталогОтчетов». Ошибки при выполнении будут записаны в лог-файл, а выгрузка продолжится.
  4. Если все параметры одного отчета равны «Null», то отчет не войдет в состав состав пакета. Например, по строке 3 счет на предоплату выгружен не будет.

Пример sql-файла для системы техносбыт

Пример выходного xml-файла

Пример log.txt

Пример error.txt

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.