СБИС Сапёр - Как работает
Содержание
Отправка документов в интерфейсе SAP GUI
Когда пользователь запускает программу отправки (/SBIS/SAPPER), модуль в зависимости от типа пакета смотрит в таблице настроек текст запроса для построения списка документов и выполняет его. Результат пользователь видит на экране.
После того как пользователь отметил пакеты документов которые он хочет отправить, /SBIS/SAPPER смотрит в таблице настроек, какая программа печати используется для печати данного документа и вызывает её. Вместо вывода на принтер, программа печати все рассчитанные значения сохраняет в xml файл универсального формата. Когда /SBIS/SAPPER получила xml файлы всех документов пакета, передает их на отправку.
Отправка, в зависимости от настроек может осуществляться при помощи SBIS SDK (через COM объект) или СБИС Коннект (через каталог).
В обоих случаях файлы при помощи XSLT конвертируются в актуальные форматы ФНС, после чего подписываются и отправляются.
Для подписания может применяться как серверная так и локальная электронная подпись.
Использование универсального формата xml позволяет делать электронные документы любых типов из любых документов SAP, а также не делать в SAP никаких изменений при смене формата ФНС (а за два года их было уже 4 ).
Использование программы печати позволяет получить электронный документ с учетом всех особенности клиента, подобный способ используется и в стандартном модуле ЭДО от SAP CIS, за той лишь разницей, что конвертация в xml является не жесткой, а настраиваемой через таблицу настроек.
В простейшем случае доработка сводится к добавлению к в программу печати (или её копию) вызова метода СБИС Сапёр который завершает программу печати после формирования электронного документа.
Пример вызова СБИС Сапёр для формирования электронного документа. Данный код необходимо добавить непосредственно перед вызовом формуляра.
DATA lv_not_print TYPE c VALUE 'X'.
DATA cl_mapping TYPE REF TO /sbis/cl_mapping.
CREATE OBJECT cl_mapping.
CALL METHOD cl_mapping->calc_doc
IMPORTING
ev_not_print = lv_not_print.
IF lv_not_print = 'X'.
EXIT.
ENDIF.
С интеграционным модулем поставляются примеры стандартных программ печати в которые добавлен вызов СБИС Сапёр.
В ряде случаев этого может быть не достаточно.
Генерация электронного документа использует в качестве данных значения рассчитанные программой печати. Иногда название контрагента, его ИНН и КПП или банковские реквизиты выводятся в печатной форме одной строкой и как правило в программе печати они хранятся в одной переменной, а для формирования электронного документа они нужны по раздельности. Поэтому для каждой программы печати проводится анализ, каких данных в ней не хватает, после чего в текст программы вносятся соответствующие изменения.
Отправка документов в интерфейсе СБИС
На компьютер пользователя устанавливается SBIS Plugin имеющий в своем составе стандартный SAP NET Connector 3, который через RFC обменивается данными с SAP.
В ряде случаев возможен обмен данными с SAP без установки каких либо модулей, однако это вариант будет более медленным.
Отправка документов в интерфейсе SAP CIS
В СБИС САПЁР реализованы все BADI стандартного модуля электронных документов SAP CIS и немного больше.
Загрузка документов
При переходе в реестр Полученные, пользователь через SDK авторизуется в личном кабинете СБИС, и происходит запрос списка входящих документов. Далее для каждого входящего документа проверяется загружался ли он в SAP и сравниваются суммы документов, и эта информация добавляется в список. Результат пользователь видит на экране.
При нажатии кнопки загрузить в SAP, пользователя при наличии нескольких вариантов загрузки XML файла спросят куда именно он хочет загрузить документ, после чего XML файл конвертируется в XML универсального формата, который при помощи таблицы настроек сериализуется в структуру SAP которая передается соответствующему BAPI. В момент загрузки по желанию заказчика в таблицы SAP может быть передана информация о подписантах, оригиналы XML документов, PDF представление документа со штампом ЭДО.