SAPPER SETTINGS - Настройки выгрузки
Содержание
Настройки выгрузки
После того как пользователь выбрал в списке пакет документов для отправки / просмотра, для каждой записи таблицы делается вызов программы формирования XML в соответствии с группой настроек указанной в поле INI_NAME. Настройки выгрузки сгруппированы в файлы DO_*, которые содержат указание программы печати, класс получения данных, XSLT преобразование, данные отправителя и получателя, маппинг данных SAP во внутреннюю структуру SAPPER, на основании которой формируются XML документы.
Структура настроек выгрузки:
- ПолучениеДанных_Класс – класс получения данных документа (/SBIS/CL_SAP_DATA)
- ПолучениеДанных_Метод – метод класса получения данных. Доступные варианты:
- PRINT_NAST - через программу печати основанную на структуре NAST
- EFG_PRINT - через программу печати выводимые с помощью FM EFG_PRINT
- PRINT_PROG - через любые ABAP программы
- ПолучениеДанных_XSLT – XSLT преобразование для получения XML документа во внутреннем формате (/SBIS/DOC301)
- assign_program – программа печати, J_3RV_DELIV_PDF
- ОтправительПакета_Роль, ПолучательПакета_Роль – роли отправителя и получателя пакета
- PRINT_SEND - параметры программы печати в режиме формирования XML
- PRINT_PRINT - параметры программы печати в режиме печати
- FILE - настройки формирования XML файлов. Список файлов, которые необходимо создать по данным программы печати. Каждый файл раздела содержит список данных, которые необходимы для формирования файла и их источников (имена глобальных объектов программы печати их содержащие). Настройка модуля в основном сводится к заполнению данного раздела.
- [параметры заголовка документа]
- PARAM - дополнительные параметры на уровне заголовка документа, соответствуют ИнфПолФХЖ1 из формата ФНС.
- FACE - массив ролей участников документооборота
- LINKS - массив ссылок на связанные документы
- ITEMS - массив позиций документа
- PARAM - дополнительные параметры на уровне позиций документа, соответствуют ИнфПолФХЖ2 из формата ФНС
FILE
Описание маппинга документов содержатся в массиве FILE. Массив может содержать несколько документов, которые будут формироваться на основании одной программы печати, это может быть использовано для формирования накладной и вместе с ней сопроводительного документа.
пример структуры файла DO_*
Параметры заголовка документа
Параметры заголовка документа условно можно разделить на две группы:
- Параметры файла электронного документа (тег Файл формата ФНС)
- DOC_NAME – наименование документа “Накладная”
- FILE_FORMAT_TYPE – тип документа “ЭДОНакл”
- FILE_FORMAT_SUBTYPE – подтип докумета, КНД, "1175010"
- FILE_FORMAT_VERSION – версия документа, по умолчанию из SAP “3.01”
- FILE_PROG_VERSION – версия программы, по умолчанию "SAP NetConnector"
- FILE_ID_FORM – номер визуализации формы, по умолчанию, "1С"
- FILE_NAME – префикс имени создаваемого файла, "DP_TOVTORGPR_"
- Параметры самого электронного документа (тег Документ формата ФНС)
- NAME – отображаемое имя документа, “Накладная”
- DATE – дата документа, обычно содержит ссылку на структуру заголовка H_DOC программы печати
"DATE": { **TIME – время документа, по умолчанию 00.00.00 ID NUMBER WAERS SUM_TAX_FREE SUM TAX_SUM AMOUNT WEIGHT_GROSS WEIGHT_NET WEIGHT_UNIT_NAME CHECK_ITEMS_EMPTY Остальные поля прописываются в соответствии с заголовочной структурой H_DOC программы печати, к примеру, номер документа, валюта, сумма без налога, итоговая сумма. <source lang=JSON> "NUMBER": { "Значение": "H_DOC-VBELN", "Тип": "Field" }, "WAERS": { "Значение": "H_DOC-WAERK", "Тип": "Field_WaersToCode" }, "SUM_TAX_FREE": { "Значение": "H_DOC-TOT_NETWR", "Тип": "Field" }, "SUM": { "Значение": "H_DOC-TOT_SUM", "Тип": "Field" }
Значение параметра для заголовка может иметь тип: Field – поле ABAP объекта, String – строка. Для типов возможно применение внутренних преобразований с помощью добавления постфиксов, к примеру, Field_Date преобразует дату из формата ABAP в формат 00.00.0000, Field_WaersToCode преобразует валюту в кодовое значение валюты. Список доступных преобразований можно посмотреть в методе классе /SBIS/CL_MAPPING->CONVERT_FIELD_TYPE. Маппинг данных отправителя и получателя находятся в массиве FACE. Для заголовка, также можно добавить параметры, в следующем виде:
параметры
В массиве LINKS можно указать ссылки на связанные документы, номер заказа, транспортную накладную и так далее:
массив LINKS
Отправитель, получатель, грузоотправитель, грузополучатель и прочие сущности сторон обмена содержатся в массиве FACE.
массив FACE сторон обмена
Позиции документа отражаются в массиве ITEMS. В качестве значения передается ссылка на массив из программы печати ITEMS и маппинг его полей, к примеру:
массив позиций ITEMS
PRINT_SEND, PRINT_PRINT
Массивы PRINT_PRINT и PRINT_SEND содержат параметры программы печати в режиме печати и в режиме формирования XML, соответственно. По сути это маппинг части ключевых полей таблицы NAST.
пример PRINT_SEND, аналогично для PRINT_PRINT