Настройка Рё работа СЃ полуформализованными документами ===================================================== Обмен полуформализованными документами осуществляется РЅР° СѓСЂРѕРІРЅРµ REST интеграции. .. _halfnonf_opt_new: Создание РЅРѕРІРѕРіРѕ полуформализованного документа ---------------------------------------------- Для создания Рё настройки полуформализованных документов РІ системе SAP создана таблица ``/TRL/XDE_NONF_TY``. Таблица является предзаполненной Рё содержит РІСЃРµ типы полуформализованных документов РІ разрезе операторов, настроенные РІ xDE для SAP ERP РЅР° момент выхода текущей версии Продукта. Для создания РЅРѕРІРѕРіРѕ полуформализованного документа нужно внести изменения РІ таблицу. Описание полей таблицы ``/TRL/XDE_NONF_TY`` можно найти РІ разделе :ref:`nonf_ty_tab`. .. image:: media/pic3.png :scale: 60 % :align: center Для ведения настроек полуформализованных документов используется ракурс ведения таблицы ``/TRL/XDE_NONF_TY`` (транзакция ``SM30``), который позволяет добавлять новые записи или изменять старые. Возможны следующие настройки полуформализованных документов: * Создание новых записей полуформализованных документов РІ разрезе операторов; * Рзменение названия используемой ABAP структуры для создания атрибутов; * Рзменение названия метода для обработки данных РїРѕ текущему типу полуформализованного документа; Поскольку для разных операторов РѕРґРёРЅ Рё тот же документ РІ SAP может иметь разные имена (поле ``OED_NONF_NAME``), то ключевыми полями являются ``SAP_NONF_TYP`` (СЃРІСЏР·СЊ СЃ ``/TRL/XDE_SHIP_TY-SAP_NONF_TYP``) Рё идентификатор оператора ``ID_OED``. .. important:: Если РІ таблице ``/TRL/XDE_NONF_TY`` для выбранного оператора РЅРµ будет найден искомый тип полуформализованного документа – документ будет отправлен как обычный неформализованный документ. .. note:: Если РІ таблице ``/TRL/XDE_NONF_TY`` РїРѕ кастомной настройке "SETTINGS_SET" РЅРµ будет найден полуформализованный документ - РїРѕРёСЃРє будет выполнен СЃ пустой настройкой (задано РїРѕ умолчанию). Если тип полуформализиванного документа РЅРµ будет найден Рё РІ этом случае - документ будет проложен как неформализованный. Поле ``OED_NONF_NAME`` содержит РёРјСЏ полуформализованного документа РЅР° стороне оператора. Рменно это значение попадает РІ поле ``CUSTOM_TYPE`` РїСЂРё отправке полуформализованного документа. Поле ``DDIC_STR_NAME`` содержит РёРјСЏ глобальной плоской (без вложенных структур Рё таблиц) ABAP структуры, что используется для передачи атрибутов СЃ определенными именами. Каждое поле такой структуры будет являться именем атрибута. Для того, чтобы корректно передавать атрибуты РІ формате JSON, РІ котором важен регистр Р±СѓРєРІ, реализована следующая логика: РїСЂРё преобразовании данных РІ JSON используется метод ``CONVERSATE`` класса ``/TRL/XDE_CL_HALFNONF_PROC``, который сначала переводит РёРјСЏ поля структуры РІ нижний регистр, Р° затем переводит РІ верхний регистр те Р±СѓРєРІС‹ РІ имени поля, перед которыми стоит знак нижнего подчеркивания. .. image:: media/pic4.png :scale: 100 % :align: center Таким образом, поле ``_CONTRACT_PRICE`` (СЃРј. СЂРёСЃСѓРЅРѕРє выше) будет преобразован РІ ``ContractPrice``. Поле ``METH_NAME`` - метод, который можно создать РІ пользовательском классе Рё который будет вызван динамически РІ функциональном модуле, созданном для работы СЃ полуформализованными документами ``/TRL/XDE_OUT_HALF_GET_DATA``. Метод должен иметь определенный интерфейс. Метод используется для того, чтобы заполнить атрибуты полуформализованного документа. Описание данного класса приведено РІ разделе :ref:`nonf_class`. .. list-table:: Описание параметров метода РёР· поля METH_NAME :widths: auto :header-rows: 1 * - РРјСЏ параметра - Р’РёРґ - РўРёРї - Описание * - IS_HEADER - Importing - /TRL/XDE_HEADER - Заголовок элемента РДО * - IT_DOCUMENTS - Importing - /TRL/XDE_T_DOCUMENTS - РЎРїРёСЃРѕРє документов * - IS_CERT - Importing - /TRL/XDE_S_SAP_DOC_TYPE_CERT - Набор сертификатов * - IS_NONF_TY - Importing - /TRL/XDE_NONF_TY - Данные полуформализ. документа * - ES_RETURN - Exporting - /TRL/XDE_RETURN - РљРѕРґ Рё текст сообщения * - CR_DATA - Changing - DATA - Данные РІ любом РІРёРґРµ РџРѕ умолчанию классом-обработчиком РІ настройках, РІ таблице ``/TRL/XDE_CUST``, стоит класс ``/TRL/XDE_CL_HALFNONF_DOCS``. Чтобы изменить класс-обработчик, необходимо открыть ракурс ведения таблицы ``/TRL/XDE_CUST`` Рё установить необходимый класс РІ настройку РїРѕ имени ``HALFNONF_CLASS``, РІ которой РїРѕ умолчанию хранится класс ``/TRL/XDE_CL_HALFNONF_DOCS``. Настройка созданного полуформализованного документа --------------------------------------------------- Для создания РЅРѕРІРѕРіРѕ РІРёРґР° документа SAP необходимо сделать соответствующие настройки РІ таблице ``/TRL/XDE_SHIP_TY``. Для ведения данной таблицы существует ракурс ведения ``/TRL/XDE_SHIP_TY`` (транзакция ``SM30``). .. image:: media/pic1.png :scale: 52 % :align: center РџСЂРё этом необходимо указать РІ качестве ``OED_DOC_TYPE`` (Операторский тип документа) значение В«NONFВ» (Неформализованный документ), Р° РІ качестве ``SAP_DOC_TYPE`` (РўРёРї документа SAP) - любое название, отличающееся РѕС‚ В«NONFВ». Р’ поле ``SAP_NONF_TYP`` необходимо указать РёРјСЏ полуформализованного документа. Через поле ``SAP_NONF_TYP`` осуществляется СЃРІСЏР·СЊ СЃ таблицей ``/TRL/XDE_NONF_TY`` Рё проверка данного поля РІ методе ``CHECK_HALFNONF``. РљСЂРѕРјРµ того, необходимо добавить данный новый РІРёРґ документа РІ таблицу ``/TRL/XDE_SOUT_OB``, связав таким образом РІРёРґ документа СЃ бизнес-объектом. Для этого можно воспользоваться транзакцией ``SM30`` Рё ракурсом ``/TRL/XDE_SOUT_OB``. .. image:: media/pic2.png :scale: 100 % :align: center Рзменения РІ карточке документа ------------------------------ РџСЂРё отправке/получении полуформализованного документа создаются записи РІ таблице ``/TRL/XDE_NONF_AT``, если для данного полуформализованного документа имеются атрибуты (наличие или отсутствие атрибутов зависит РѕС‚ регламента передачи полуформализованных документов оператором). Таким образом, РїСЂРё переходе Рє карточке документа СЃ главного экрана журналов xDE, можно увидеть РЅРѕРІСѓСЋ вкладку «Атрибуты». .. image:: media/pic5.png :scale: 100 % :align: center Вкладка «Атрибуты» появляется только для полуформализованных документов, причем если для данного документа нет атрибутов, С‚.Рµ. отсутствуют записи РІ таблице ``/TRL/XDE_NONF_AT``, то вкладка будет отображаться, РЅРѕ данных РЅР° вкладке РЅРµ будет.