Объекты, созданные для работы с полуформализованными документами ========================================================================= .. _nonf_ty_tab: Таблица для настройки полуформализованных документов ---------------------------------------------------- Таблица ``/TRL/XDE_NONF_TY`` создана в системе SAP и включает в себя следующий список полей. .. list-table:: **Описание полей таблицы /TRL/XDE_NONF_TY** :widths: auto :header-rows: 1 * - Имя Поля - Ключ - Элемент данных/Тип - Описание * - MANDT - X - MANDT - Мандант * - SETTING_SET - X - /TRL/XDE_ED_SETTING_SET - Набор настроек * - SAP_NONF_TYP - X - /TRL/XDE_ED_NONF_TYP - Полуформализованный документ в SAP * - ID_OED - X - /TRL/XDE_ED_ID_OED - Код оператора ЭД * - OED_NONF_TYPE - - TEXT60 - Тип полуформализованного операторского документа * - OED_NONF_NAME - - TEXT50 - Имя полуформализованного операторского документа * - DDIC_STR_NAME - - TYPENAME - Имя типа ABAP словаря * - METH_NAME - - SEOCPDNAME - Имя метода класса Данная таблица является настроечной, для нее создан ракурс ведения с таким же именем (транзакция ``SM30``), который позволяет добавлять новые записи или изменять старые. Также ведение можно производить с помощью транзакции ``/TRL/XDE_NONF_TY``. Таблица для хранения атрибутов полуформализованных документов ------------------------------------------------------------- Таблица ``/TRL/XDE_NONF_AT`` создана в системе SAP и включает в себя следующий список полей. .. list-table:: **Описание полей таблицы /TRL/XDE_NONF_AT** :widths: auto :header-rows: 1 * - Имя Поля - Ключ - Элемент данных/Тип - Описание * - MANDT - X - MANDT - Мандант * - RECORD_ID - X - /TRL/XDE_ED_GUID - GUID отправки * - ATTR_NAME - X - CHAR30 - Имя атрибута * - ATTR_VALUE - - TEXT255 - Значение атрибута Данная таблица хранит данные атрибутов полученных и отправленных полуформализованных документов в разрезе их номера GUID. Класс для работы с полуформализованными документами --------------------------------------------------- Создан глобальный класс ``/TRL/XDE_CL_HALFNONF_PROC`` для работы с полуформализованными документами. Данный класс имеет следующие методы. **CHECK_HALFNONF** Данный метод позволяет определить по типу документа SAP, является ли он одним из типов полуформализованных документов. Вызов метода не требует инстанции класса (Static) и является общим методом (Public). Параметры данного метода представлены в таблице ниже. .. list-table:: **Описание параметров метода CHECK_HALFNONF** :widths: auto :header-rows: 1 * - Имя параметра - Вид - Тип - Описание * - IV_SAP_DOC_TYPE - Importing - /TRL/XDE_ED_OBJECT_ART - Вид документа SAP * - RV_TRUE - Returning - ABAP_BOOL - Логический ответ **PREPARE_NONF_ATTR** Данный метод позволяет подготовить таблицу атрибутов на основе любых данных, подаваемых на вход и настроенной структуры в таблице ``/TRL/XDE_NONF_TY``. Вызов метода не требует инстанции класса (Static) и является общим методом (Public). Параметры данного метода представлены в таблице ниже. .. list-table:: **Описание параметров метода PREPARE_NONF_ATTR** :widths: auto :header-rows: 1 * - Имя параметра - Вид - Тип - Описание * - IR_DATA - Importing - DATA - Данные в любом виде * - IV_RECORD_ID - Importing - /TRL/XDE_ED_GUID - GUID отправки * - IV_SAP_DOC_TYPE - Importing - /TRL/XDE_ED_OBJECT_ART - Тип документа SAP * - IV_ID_OED - Importing - /TRL/XDE_ED_ID_OED - Идентификатор оператора * - ET_ATTR - Exporting - /TRL/XDE_T_NONF_AT - Таблица атрибутов **GET_NONF_TY** Данный метод позволяет выбрать данные из таблицы ``/TRL/XDE_NONF_TY`` с учетом текущей настройки ``SETTINGS_SET``. Вызов метода не требует инстанции класса (Static) и является общим методом (Public). Параметры данного метода представлены в таблице ниже. .. list-table:: **Описание параметров метода GET_NONF_TY** :widths: auto :header-rows: 1 * - Имя параметра - Вид - Тип - Описание * - IV_SAP_DOC_TYPE - Importing - /TRL/XDE_ED_OBJECT_ART - Тип документа SAP * - IV_ID_OED - Importing - /TRL/XDE_ED_ID_OED - Идентификатор оператора * - RS_NONF_TY - Returning - /TRL/XDE_NONF_TY - Строка с настройками полуформализованного документа **GET_HALFNONF_CLASS** Данный метод позволяет получить настройку из ``/TRL/XDE_CUST`` по имени ``HALFNONF_CLASS`` с учетом текущей настройки ``SETTINGS_SET``. Вызов метода не требует инстанции класса (Static) и является общим методом (Public). Параметры данного метода представлены в таблице ниже. .. list-table:: **Описание параметров метода GET_HALFNONF_CLASS** :widths: auto :header-rows: 1 * - Имя параметра - Вид - Тип - Описание * - RV_CLASS - Returning - SEOCLSNAME - Имя класса **GET_SAP_TYPE_BY_CUSTOMTYPE** Данный метод позволяет получить имя типа SAP документа по имени операторского типа полуформализованного документа. Вызов метода не требует инстанции класса (Static) и является общим методом (Public). Параметры данного метода представлены в таблице ниже. .. list-table:: **Описание параметров метода GET_SAP_TYPE_BY_CUSTOMTYPE** :widths: auto :header-rows: 1 * - Имя параметра - Вид - Тип - Описание * - IV_CUSTOM_TYPE - Importing - TEXT50 - Имя операторского типа полуформализованного документа * - IV_ID_OED - Importing - /TRL/XDE_ED_ID_OED - Идентификатор оператора * - RV_SAP_TYPE - Returning - /TRL/XDE_ED_OBJECT_ART - Вид документа SAP **CONVERSATE** Данный метод позволяет перевести имя атрибута из словарного словаря ABAP в формат, необходимый в JSON. Например, имя поля в созданной структуре «_CONTRACT_DATE», имя, которое необходимо получить - «ContractDate». Метод переводит все буквы в нижний регистр, а затем переводит в верхний регистр те буквы, перед которыми стоит знак нижнего подчеркивания. Вызов метода не требует инстанции класса (Static) и является личным методом (Private), используется только внутри класса. Параметры данного метода представлены в таблице ниже. .. list-table:: **Описание параметров метода CONVERSATE** :widths: auto :header-rows: 1 * - Имя параметра - Вид - Тип - Описание * - IV_FIELDNAME - Importing - FIELDNAME - Имя поля * - RV_ATR_NAME - Returning - CHAR30 - Имя атрибута .. _nonf_class: Класс для получения и обработки данных полуформализованных документов --------------------------------------------------------------------- В системе SAP создан класс ``/TRL/XDE_CL_HALFNONF_DOCS``, который используется по умолчанию для сбора данных по атрибутам полуформализованных документов. Данный класс можно наследовать и переопределить уже имеющиеся в нем методы, а также создать новые, необходимые для работы с различными видами полуформализованных документов, методы. Данный класс по умолчанию настроен в таблице ``/TRL/XDE_CUST`` в настройке ``HALFNONF_CLASS``. Класс, помимо конструктора, который обязателен, содержит еще несколько методов, реализованных по умолчанию. Описание методов приводится ниже. **AKT_2BM_DATA** Данный метод позволяет заполнить атрибуты для полуформализованного документа «Акт» оператора Диадок. Является динамически вызываемым методом, вызывается через инстанцию класса (Instance) и является общим (Public). Параметры метода представлены в таблице ниже. .. list-table:: **Описание параметров метода AKT_2BM_DATA** :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 - Данные в любом виде **DOG_2BM_DATA** Данный метод позволяет заполнить атрибуты для полуформализованного документа «Договор» оператора Диадок. Является динамически вызываемым методом, вызывается через инстанцию класса (Instance) и является общим (Public). Параметры метода представлены в таблице ниже. .. list-table:: **Описание параметров метода DOG_2BM_DATA** :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 - Данные в любом виде **DOPDOG_2BM_DATA** Данный метод позволяет заполнить атрибуты для полуформализованного документа «Дополнительное соглашение к договору» оператора Диадок. Является динамически вызываемым методом, вызывается через инстанцию класса (Instance) и является общим (Public). Параметры метода представлены в таблице ниже. .. list-table:: **Описание параметров метода DOPDOG_2BM_DATA** :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 - Данные в любом виде **TN_2BM_DATA** Данный метод позволяет заполнить атрибуты для полуформализованного документа «Накладная» оператора Диадок. Является динамически вызываемым методом, вызывается через инстанцию класса (Instance) и является общим (Public). Параметры метода представлены в таблице ниже. .. list-table:: **Описание параметров метода TN_2BM_DATA** :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 - Данные в любом виде **SCH_2BM_DATA** Данный метод позволяет заполнить атрибуты для полуформализованного документа «Счет» оператора Диадок. Является динамически вызываемым методом, вызывается через инстанцию класса (Instance) и является общим (Public). Параметры метода представлены в таблице ниже. .. list-table:: **Описание параметров метода SCH_2BM_DATA** :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 - Данные в любом виде **PRLIST_2BM_DATA** Данный метод позволяет заполнить атрибуты для полуформализованного документа «Ценовой лист» оператора Диадок. Является динамически вызываемым методом, вызывается через инстанцию класса (Instance) и является общим (Public). Параметры метода представлены в таблице ниже. .. list-table:: **Описание параметров метода PRLIST_2BM_DATA** :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 - Данные в любом виде Функциональный модуль для обработки исходящих полуформализованных документов ---------------------------------------------------------------------------- В системе SAP создан ФМ ``/TRL/XDE_OUT_HALF_GET_DATA``, который является функциональным модулем для сбора данных для исходящих полуформализованных документов и имеет следующие параметры. .. list-table:: **Описание параметров ФМ /TRL/XDE_OUT_HALF_GET_DATA** :widths: auto :header-rows: 1 * - Имя параметра - Вид - Тип - Описание * - IS_HEADER - Importing - /TRL/XDE_HEADER - Заголовок элемента ЭДО * - IV_BIN_DATA_SIZE - Importing - /TRL/XDE_ED_FILE_SIZE - Размер бинарных данных * - IV_FILE_NAME - Importing - /TRL/XDE_ED_ARC_FILE_NAME - Имя файла * - IT_BIN_DATA - Importing - /TRL/XDE_T_SOLIX_TAB - Бинарные данные * - IT_DOCUMENTS - Importing - /TRL/XDE_T_DOCUMENTS - Список документов * - ES_RETURN - Exporting - /TRL/XDE_RETURN - Код и текст сообщения * - CR_DATA - Changing - DATA - Данные в любом виде * - CS_HDR_ATTR - Changing - DATA - Доп. данные к заголовку * - CT_METADATA - Changing - /TRL/XDE_T_METADATA - Метаданные * - CS_CERT - Changing - /TRL/XDE_S_SAP_DOC_TYPE_CERT - Набор сертификатов Данный модуль делает динамический вызов метода, настраиваемого в таблице ``/TRL/XDE_NONF_TY`` в поле ``METH_NAME``.