Основной инструмент SbisFastLoader - это набор sql-запросов. Каждый запрос определяет один тип выгружаемых пакетов. Например, если счета на предоплату отправляются отдельно от документов реализации (фактура + накладная/акт + счет + детализация счета), то для предоплаты и документов реализации нужно создать отдельные sql-запросы.
В каждой строке результата запроса должен содержаться список отчетов, который оформлен особым образом. Из названий колонок в списке будут взяты отчеты и параметры в виде [имя отчета]_[параметр отчета]. При выгрузке, отчеты из списка будут помещены в один пакет.
Например, есть два отчета — сведения о предоставлении услуги за период и счет на предоплату. Первый, в качестве параметров принимает номер лицевого счета и период, а второй — идентификатор счета. Если документы нужно отправить одним пакетом всем контрагентам, то запрос будет выглядеть следующим образом:
Select ... AS spisok_lc, ... AS spisok_begin, ... AS spisok_end, ... AS schet_id FROM ....
В результате запроса получится список:
№ стр | spisok_ls | spisok_begin | spisok_end | schet_id |
1 | 214 | 01-11-2013 | 30-11-2013 | 324 |
2 | 215 | 01-11-2013 | 30-11-2013 | 325 |
3 | 216 | 01-11-2013 | 30-11-2013 | Null |
Алгоритм работы
Для каждой строки из списка SbisFastLoader:
- Вызовет отчет из параметра «spisok» в SbisFastLoader.ini и передаст ему три параметра: «ls», «begin» и «end». Значение параметров программа возьмет из столбцов «spisok_ls», «spisok_begin», «spisok_end».
- Вызовет отчет из параметра «schet» в SbisFastLoader.ini и передаст ему параметр «id» со значением из столбца «schet_id».
- Если оба отчета выполнились корректно, то файлы FP3 будут помещены в один xml-файл и выгружены в каталог, который указан в параметре «КаталогОтчетов». Ошибки при выполнении будут записаны в лог-файл, а выгрузка продолжится.
- Если все параметры одного отчета равны «Null», то отчет не войдет в состав состав пакета. Например, по строке 3 счет на предоплату выгружен не будет.