Интеграция со СБИС

Как SbisFastLoader формирует пакеты

Как SbisFastLoader формирует пакеты

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