SAPPER SETTINGS - Настройки выгрузки — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
(LINKS)
(FACE)
Строка 235: Строка 235:
 
===FACE===
 
===FACE===
  
Маппинг данных роли участника документооборота находится в массиве FACE.
+
Маппинг данных ролей участников документооборота находится в массиве FACE, определяется структурой S_XML_FACE_FULL.
 +
Структура набора значений:
 +
* [имя] - имя поля выходной структуры или метод получения данных класса, например, доступные методы класса /SBIS/CL_SAP_DATA:
 +
**GET_BUKRS_BANK_BY_BUKRS - данные банка для БЕ
 +
**GET_VKORG_BANK_BY_VKORG - данные банка для Сбытовой орг.
 +
**GET_WERKS_BANK_BY_WERKS - данные банка для завода
 +
**GET_KUNNR_BANK_BY_KUNNR - данные банка для customer
 +
**GET_BUKRS_BY_BUKRS - Данные БЕ (ИНН КПП ОКПО Назв Адрес)
 +
**GET_VKORG_BY_VKORG - Данные СбОрг (ИНН КПП ОКПО Назв Адрес)
 +
**GET_WERKS_BY_WERKS - Данные Завода (ИНН КПП ОКПО Назв Адрес)
 +
**GET_KUNNR_BY_KUNNR - Данные Дебитора (ИНН КПП ОКПО Назв Адрес)
 +
* [значение] - ссылка на значение входной таблицы (к примеру, H_DOC для ТОРГ-12)
 +
* [тип] - тип поля:
 +
** Field - объекта словаря ABAP
 +
** String - фиксированная строка
 +
** Method - метод класса получения данных
 +
** Concat_Field - строка получаемая конкатенацией строк
 +
** ClassField - глобальное значение класса
 +
* [подтип] - подтип типа:
 +
** указание класса для типа Method
 +
** указание поля в которое объединяются строки для Concat_Field
 
   
 
   
 
<div style="border: 1px dashed;">
 
<div style="border: 1px dashed;">
'''массив FACE сторон обмена'''
+
массив FACE для отправителя
 
<div class="mw-collapsible mw-collapsed" style="overflow: hidden;">
 
<div class="mw-collapsible mw-collapsed" style="overflow: hidden;">
 
<br>
 
<br>
Строка 249: Строка 269:
 
         {
 
         {
 
           "Имя": "ID",
 
           "Имя": "ID",
           "Значение": "VBDKL-BUKRS",
+
           "Значение": "VBDKL-BUKRS", //номер БЕ
 
           "Тип": "Field"
 
           "Тип": "Field"
 
         },
 
         },
 
         {
 
         {
           "Имя": "GET_BUKRS_BY_BUKRS",
+
           "Имя": "GET_BUKRS_BY_BUKRS", //получение данных БЕ (инн и прочее) по номеру БЕ, указанному в ID
 
           "Значение": "",
 
           "Значение": "",
 
           "Тип": "Method",
 
           "Тип": "Method",
Строка 259: Строка 279:
 
         },
 
         },
 
         {
 
         {
           "Имя": "GET_BUKRS_BANK_BY_BUKRS",
+
           "Имя": "GET_BUKRS_BANK_BY_BUKRS", //получение данных банка для БЕ по номеру БЕ, указанному в ID
 
           "Значение": "",
 
           "Значение": "",
 
           "Тип": "Method",
 
           "Тип": "Method",
Строка 266: Строка 286:
 
         {
 
         {
 
           "Имя": "INN",
 
           "Имя": "INN",
           "Значение": "H_DOC-SUPPLIERINN",
+
           "Значение": "H_DOC-SUPPLIERINN", //ссылка на ИНН из выходной таблицы
 
           "Тип": "Field"
 
           "Тип": "Field"
 
         },
 
         },
 
         {
 
         {
 
           "Имя": "KPP",
 
           "Имя": "KPP",
           "Значение": "H_DOC-SUPPLIERKPP",
+
           "Значение": "H_DOC-SUPPLIERKPP", //ссылка на КПП из выходной таблицы
 
           "Тип": "Field"
 
           "Тип": "Field"
 
         },
 
         },
 
         {
 
         {
 
           "Имя": "OKPO",
 
           "Имя": "OKPO",
           "Значение": "H_DOC-SUPPLIEROKPO",
+
           "Значение": "H_DOC-SUPPLIEROKPO", //ссылка на ОКПО из выходной таблицы
 
           "Тип": "Field"
 
           "Тип": "Field"
 
         },
 
         },
 
         {
 
         {
 
           "Имя": "OKOPF",
 
           "Имя": "OKOPF",
           "Значение": "H_DOC-SUPPLIEROKOPF",
+
           "Значение": "H_DOC-SUPPLIEROKOPF", //ссылка на ОКОПФ из выходной таблицы
 
           "Тип": "Field"
 
           "Тип": "Field"
 
         },
 
         },
Строка 291: Строка 311:
 
         {
 
         {
 
           "Имя": "NAME",
 
           "Имя": "NAME",
           "Значение": "ADDR1_SP-NAME1",
+
           "Значение": "ADDR1_SP-NAME1", //наименование организации первая строка
 
           "Тип": "Field"
 
           "Тип": "Field"
 
         },
 
         },
Строка 297: Строка 317:
 
           "Имя": "NAME",
 
           "Имя": "NAME",
 
           "Значение": "ADDR1_SP-NAME2",
 
           "Значение": "ADDR1_SP-NAME2",
           "Тип": "Concat_Field_AddLeftSpace",
+
           "Тип": "Concat_Field_AddLeftSpace", //конкатенация второй строки наименования организации в поле NAME с добавлением пробела слева
 
           "Подтип": "NAME"
 
           "Подтип": "NAME"
 
         },
 
         },
Строка 303: Строка 323:
 
           "Имя": "NAME",
 
           "Имя": "NAME",
 
           "Значение": "ADDR1_SP-NAME3",
 
           "Значение": "ADDR1_SP-NAME3",
           "Тип": "Concat_Field_AddLeftSpace",
+
           "Тип": "Concat_Field_AddLeftSpace", //конкатенация третьей строки наименования организации в поле NAME с добавлением пробела слева
 
           "Подтип": "NAME"
 
           "Подтип": "NAME"
 
         },
 
         },
Строка 309: Строка 329:
 
           "Имя": "NAME",
 
           "Имя": "NAME",
 
           "Значение": "ADDR1_SP-NAME4",
 
           "Значение": "ADDR1_SP-NAME4",
           "Тип": "Concat_Field_AddLeftSpace",
+
           "Тип": "Concat_Field_AddLeftSpace", //конкатенация четвертой строки наименования организации в поле NAME с добавлением пробела слева
 
           "Подтип": "NAME"
 
           "Подтип": "NAME"
 
         },
 
         },
Строка 337: Строка 357:
 
         {
 
         {
 
           "Имя": "COUNTRY_CODE",
 
           "Имя": "COUNTRY_CODE",
           "Значение": "GR_CURRENT_DATA->COUNTRY_CODE",
+
           "Значение": "GR_CURRENT_DATA->COUNTRY_CODE", //получение кода страны из глобальной переменной класса получения данных
 
           "Тип": "ClassField"
 
           "Тип": "ClassField"
 
         },
 
         },
Строка 410: Строка 430:
 
         },
 
         },
 
         {
 
         {
           "Имя": "PARAM",
+
           "Имя": "PARAM", //свободные параметры
          "Тип": "Param",
 
          "Значение": {
 
            "BANK_CITY": [
 
              {
 
                "Имя": "NAME",
 
                "Значение": "BANK_CITY",
 
                "Тип": "String"
 
              },
 
              {
 
                "Имя": "VALUE",
 
                "Значение": "GR_HIGHER_DATA->BANK_CITY",
 
                "Тип": "ClassField"
 
              }
 
            ]
 
          }
 
        }
 
      ],
 
      "Грузоотправитель": [
 
        {
 
          "Имя": "ID",
 
          "Значение": "VBDKL-BUKRS",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "GET_BUKRS_BY_BUKRS",
 
          "Значение": "",
 
          "Тип": "Method",
 
          "Подтип": "/SBIS/CL_SAP_DATA"
 
        },
 
        {
 
          "Имя": "GET_BUKRS_BANK_BY_BUKRS",
 
          "Значение": "",
 
          "Тип": "Method",
 
          "Подтип": "/SBIS/CL_SAP_DATA"
 
        },
 
        {
 
          "Имя": "INN",
 
          "Значение": "H_DOC-CC_INN",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "KPP",
 
          "Значение": "H_DOC-CC_KPP",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "OKPO",
 
          "Значение": "H_DOC-OKPO",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "OKOPF",
 
          "Значение": "H_DOC-CC_OKOPF",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "OKDP",
 
          "Значение": "H_DOC-OKDP",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_CC-NAME1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_CC-NAME2",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "NAME"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_CC-NAME3",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "NAME"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_CC-NAME4",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "NAME"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_CC-NAME1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_CC-NAME2",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "FULL_NAME"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_CC-NAME3",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "FULL_NAME"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_CC-NAME4",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "FULL_NAME"
 
        },
 
        {
 
          "Имя": "COUNTRY_CODE",
 
          "Значение": "GR_CURRENT_DATA->COUNTRY_CODE",
 
          "Тип": "ClassField"
 
        },
 
        {
 
          "Имя": "ADR_TEXT",
 
          "Значение": "GR_CURRENT_DATA->STREET",
 
          "Тип": "ClassField"
 
        },
 
        {
 
          "Имя": "ADR_TYPE",
 
          "Значение": "Юридический",
 
          "Тип": "String"
 
        },
 
        {
 
          "Имя": "POST_CODE",
 
          "Значение": "ADDR1_CC-POST_CODE",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "REGION_CODE",
 
          "Значение": "ADDR1_CC-REGION",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "CITY",
 
          "Значение": "ADDR1_CC-CITY1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "STREET",
 
          "Значение": "ADDR1_CC-STREET",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "HOUSE",
 
          "Значение": "ADDR1_CC-HOUSE_NUM1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "PHONE",
 
          "Значение": "ADDR1_CC-TEL_NUMBER",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "FAX",
 
          "Значение": "ADDR1_CC-FAX_NUMBER",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "EMAIL",
 
          "Значение": "",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "SUBDIVISION_ID",
 
          "Значение": "012345",
 
          "Тип": "String"
 
        },
 
        {
 
          "Имя": "SUBDIVISION_NAME",
 
          "Значение": "Склад в Мытищах",
 
          "Тип": "String"
 
        },
 
        {
 
          "Имя": "BANK_NAME",
 
          "Значение": "CC_BANK-NAME",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "BANK_BIK",
 
          "Значение": "CC_BANK-BIK",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "BANK_CORACC",
 
          "Значение": "GR_CURRENT_DATA->BANK_CORACC",
 
          "Тип": "ClassField"
 
        },
 
        {
 
          "Имя": "BANK_ACC",
 
          "Значение": "CC_BANK-ACC_NUM",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "PARAM",
 
          "Тип": "Param",
 
          "Значение": {
 
            "BANK_CITY": [
 
              {
 
                "Имя": "NAME",
 
                "Значение": "BANK_CITY",
 
                "Тип": "String"
 
              },
 
              {
 
                "Имя": "VALUE",
 
                "Значение": "GR_HIGHER_DATA->BANK_CITY",
 
                "Тип": "ClassField"
 
              }
 
            ]
 
          }
 
        }
 
      ],
 
      "Получатель": [
 
        {
 
          "Имя": "ID",
 
          "Значение": "VBDKL-KUNNR",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "GET_KUNNR_BANK_BY_KUNNR",
 
          "Значение": "",
 
          "Тип": "Method",
 
          "Подтип": "/SBIS/CL_SAP_DATA"
 
        },
 
        {
 
          "Имя": "GET_KUNNR_BY_KUNNR",
 
          "Тип": "Method",
 
          "Подтип": "/SBIS/CL_SAP_DATA",
 
          "Значение": {
 
            "CLASS_PARAM": [
 
              {
 
                "Имя": "IV_NATION",
 
                "Значение": "VBDKL-SPRAS_VST",
 
                "Тип": "Field",
 
                "Подтип": "Export",
 
                "Формат": "AD_NATION"
 
              },
 
              {
 
                "Имя": "IV_SELECT_NATION_DATA",
 
                "Значение": "X",
 
                "Тип": "String",
 
                "Подтип": "Export",
 
                "Формат": "CHAR01"
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "Имя": "INN",
 
          "Значение": "H_DOC-PAYERINN",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "KPP",
 
          "Значение": "H_DOC-PAYERKPP",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "OKPO",
 
          "Значение": "H_DOC-PAYEROKPO",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "OKOPF",
 
          "Значение": "H_DOC-PAYEROKOPF",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "OKDP",
 
          "Значение": "",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_PY-NAME1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_PY-NAME2",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "NAME"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_PY-NAME3",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "NAME"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_PY-NAME4",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "NAME"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_PY-NAME1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_PY-NAME2",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "FULL_NAME"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_PY-NAME3",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "FULL_NAME"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_PY-NAME4",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "FULL_NAME"
 
        },
 
        {
 
          "Имя": "COUNTRY_CODE",
 
          "Значение": "GR_CURRENT_DATA->COUNTRY_CODE",
 
          "Тип": "ClassField"
 
        },
 
        {
 
          "Имя": "ADR_TEXT",
 
          "Значение": "GR_CURRENT_DATA->STREET",
 
          "Тип": "ClassField"
 
        },
 
        {
 
          "Имя": "ADR_TYPE",
 
          "Значение": "Юридический",
 
          "Тип": "String"
 
        },
 
        {
 
          "Имя": "POST_CODE",
 
          "Значение": "ADDR1_PY-POST_CODE1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "REGION_CODE",
 
          "Значение": "ADDR1_PY-REGION",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "CITY",
 
          "Значение": "ADDR1_PY-CITY1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "STREET",
 
          "Значение": "ADDR1_PY-STREET",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "HOUSE",
 
          "Значение": "ADDR1_PY-HOUSE_NUM1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "PHONE",
 
          "Значение": "ADDR1_PY-TEL_NUMBER",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "FAX",
 
          "Значение": "ADDR1_PY-FAX_NUMBER",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "EMAIL",
 
          "Значение": "",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "BANK_NAME",
 
          "Значение": "PY_BANK-NAME",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "BANK_BIK",
 
          "Значение": "PY_BANK-BIK",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "BANK_CORACC",
 
          "Значение": "GR_CURRENT_DATA->BANK_CORACC",
 
          "Тип": "ClassField"
 
        },
 
        {
 
          "Имя": "BANK_ACC",
 
          "Значение": "PY_BANK-ACC_NUM",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "PARAM_OLD",
 
          "Тип": "Param",
 
          "Значение": {
 
            "BANK_CITY": [
 
              {
 
                "Имя": "NAME",
 
                "Значение": "BANK_CITY",
 
                "Тип": "String"
 
              },
 
              {
 
                "Имя": "VALUE",
 
                "Значение": "GR_HIGHER_DATA->BANK_CITY",
 
                "Тип": "ClassField"
 
              }
 
            ]
 
          }
 
        }
 
      ],
 
      "Грузополучатель": [
 
        {
 
          "Имя": "ID",
 
          "Значение": "VBDKL-KUNWE",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "GET_KUNNR_BANK_BY_KUNNR",
 
          "Значение": "",
 
          "Тип": "Method",
 
          "Подтип": "/SBIS/CL_SAP_DATA"
 
        },
 
        {
 
          "Имя": "GET_KUNNR_BY_KUNNR",
 
          "Тип": "Method",
 
          "Подтип": "/SBIS/CL_SAP_DATA",
 
          "Значение": {
 
            "CLASS_PARAM": [
 
              {
 
                "Имя": "IV_NATION",
 
                "Значение": "VBDKL-SPRAS_VST",
 
                "Тип": "Field",
 
                "Подтип": "Export",
 
                "Формат": "AD_NATION"
 
              },
 
              {
 
                "Имя": "IV_SELECT_NATION_DATA",
 
                "Значение": "X",
 
                "Тип": "String",
 
                "Подтип": "Export",
 
                "Формат": "CHAR01"
 
              }
 
            ]
 
          }
 
        },
 
        {
 
          "Имя": "INN",
 
          "Значение": "H_DOC-CONSIGNEEINN",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "KPP",
 
          "Значение": "H_DOC-CONSIGNEEKPP",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "OKPO",
 
          "Значение": "H_DOC-CONSIGNEEOKPO",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "OKOPF",
 
          "Значение": "H_DOC-CONSIGNEEOKOPF",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "OKDP",
 
          "Значение": "",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_CO-NAME1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_CO-NAME2",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "NAME"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_CO-NAME3",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "NAME"
 
        },
 
        {
 
          "Имя": "NAME",
 
          "Значение": "ADDR1_CO-NAME4",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "NAME"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_CO-NAME1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_CO-NAME2",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "FULL_NAME"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_CO-NAME3",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "FULL_NAME"
 
        },
 
        {
 
          "Имя": "FULL_NAME",
 
          "Значение": "ADDR1_CO-NAME4",
 
          "Тип": "Concat_Field_AddLeftSpace",
 
          "Подтип": "FULL_NAME"
 
        },
 
        {
 
          "Имя": "COUNTRY_CODE",
 
          "Значение": "GR_CURRENT_DATA->COUNTRY_CODE",
 
          "Тип": "ClassField"
 
        },
 
        {
 
          "Имя": "ADR_TEXT",
 
          "Значение": "GR_CURRENT_DATA->STREET",
 
          "Тип": "ClassField"
 
        },
 
        {
 
          "Имя": "ADR_TYPE",
 
          "Значение": "Юридический",
 
          "Тип": "String"
 
        },
 
        {
 
          "Имя": "POST_CODE",
 
          "Значение": "ADDR1_CO-POST_CODE1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "CITY",
 
          "Значение": "ADDR1_CO-CITY1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "STREET",
 
          "Значение": "ADDR1_CO-STREET",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "REGION_CODE",
 
          "Значение": "ADDR1_CO-REGION",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "HOUSE",
 
          "Значение": "ADDR1_CO-HOUSE_NUM1",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "PHONE",
 
          "Значение": "ADDR1_CO-TEL_NUMBER",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "FAX",
 
          "Значение": "ADDR1_CO-FAX_NUMBER",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "EMAIL",
 
          "Значение": "",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "BANK_NAME",
 
          "Значение": "CO_BANK-NAME",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "BANK_BIK",
 
          "Значение": "CO_BANK-BIK",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "BANK_CORACC",
 
          "Значение": "GR_CURRENT_DATA->BANK_CORACC",
 
          "Тип": "ClassField"
 
        },
 
        {
 
          "Имя": "BANK_ACC",
 
          "Значение": "CO_BANK-ACC_NUM",
 
          "Тип": "Field"
 
        },
 
        {
 
          "Имя": "PARAM",
 
 
           "Тип": "Param",
 
           "Тип": "Param",
 
           "Значение": {
 
           "Значение": {
Строка 1020: Строка 447:
 
           }
 
           }
 
         }
 
         }
       ]
+
       ]
 
     }
 
     }
 
   }
 
   }
Строка 1028: Строка 455:
 
</div>
 
</div>
  
====ITEMS (S_XML_DOC)====
+
===ITEMS (S_XML_DOC)===
  
 
Позиции документа отражаются в массиве ITEMS. В качестве значения передается ссылка на массив из программы печати ITEMS и маппинг его полей, к примеру:
 
Позиции документа отражаются в массиве ITEMS. В качестве значения передается ссылка на массив из программы печати ITEMS и маппинг его полей, к примеру:

Версия 08:29, 16 марта 2018

Настройки выгрузки

После того как пользователь выбрал в списке пакет документов для отправки / просмотра, для каждой записи таблицы делается вызов программы формирования 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. Массив может содержать несколько документов, которые будут формироваться на основании одной программы печати, это может быть использовано для формирования накладной и вместе с ней сопроводительного документа. Значения структур программы печати кладутся в структуры /SBIS/S_XML (для заголовка), /SBIS/S_XML_DOC (для позиций).

пример структуры файла DO_*


{
  "ПолучениеДанных_Класс": {
    "Значение": "/SBIS/CL_SAP_DATA"
  },
  "ПолучениеДанных_Метод": {
    "Значение": "/SBIS/PRINT_NAST"
  },
  "ПолучениеДанных_XSLT": {
    "Значение": "/SBIS/DOC301"
  },
  "assign_program": {
    "Значение": "J_3RV_DELIV_PDF"
  },
  "ОтправительПакета_Роль": {
    "Значение": "Отправитель"
  },
  "ПолучательПакета_Роль": {
    "Значение": "Получатель"
  },
  "FILE": {
    "Файл1_Накладная": {
    },
    "Файл2_ТТН": {
    }
  }
}

Заголовок документа (/SBIS/S_XML)

Параметры заголовка документа условно можно разделить на две группы:

  • Параметры файла электронного документа (тег Файл формата ФНС)
    • 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_"
  • Параметры самого электронного документа (тег Документ формата ФНС). Этот набор параметров ставит в соответствие выходную структуру заголовка программы печати H_DOC (для J_3RV_DELIV_PDF) и структуру /SBIS/S_XML.
    • NAME – отображаемое имя документа, “Накладная”
    • DATE – дата документа
    • TIME – время документа, по умолчанию 00.00.00
    • ID - уникальный идентификатор, обычно номер документа
    • NUMBER - номер документа
    • WAERS - код валюты
    • SUM_TAX_FREE - сумма без налога
    • SUM - сумма
    • TAX_SUM - сумма налога
    • AMOUNT - количество
    • WEIGHT_GROSS - вес брутто
    • WEIGHT_NET - вес нетто
    • WEIGHT_UNIT_NAME - единица измерения веса

Значение параметра для заголовка может иметь тип:

  • Field – поле ABAP объекта
  • String – строка

Для типов возможно применение внутренних преобразований с помощью добавления постфиксов, к примеру, Field_Date преобразует дату из формата ABAP в формат 00.00.0000, Field_WaersToCode преобразует валюту в кодовое значение валюты. Список доступных преобразований можно посмотреть в методе классе /SBIS/CL_MAPPING->CONVERT_FIELD_TYPE.

PARAM (ИнфПолФХЖ1)

Для заголовка, также можно добавить параметры, следующей структуры:

  • PARAM массив параметров с типом Param
    • [массив значений]
      • [имя параметра]
        • [массив NAME + VALUE]
          • Имя (NAME или VALUE)
          • Значение
          • Тип

пример параметров для заголовка документа


"PARAM": {
  "Тип": "Param",
  "Значение": {
    "Отправитель_Банковские_Данные": [
      {
        "Имя": "NAME",
        "Значение": "Отправитель_Банковские_Данные",
        "Тип": "String"
      },
      {
        "Имя": "VALUE",
        "Значение": "H_DOC-WAERK",
        "Тип": "Field"
      }
    ],
    "Получатель_Банковские_Данные": [
      {
        "Имя": "NAME",
        "Значение": "Получатель_Банковские_Данные",
        "Тип": "String"
      },
      {
        "Имя": "VALUE",
        "Значение": "H_DOC-ERDAT",
        "Тип": "Field"
      }
    ],
    "ИнфПередТабл": [
      {
        "Имя": "NAME",
        "Значение": "ИнфПередТабл",
        "Тип": "String"
      },
      {
        "Имя": "VALUE",
        "Значение": "ИнфПередТабл N 00 от 01.01.1999 Контракт 123 от 01.01.2017",
        "Тип": "String"
      }
    ],
    "ИнфПослеТабл": [
      {
        "Имя": "NAME",
        "Значение": "ИнфПослеТабл",
        "Тип": "String"
      },
      {
        "Имя": "VALUE",
        "Значение": "ИнфПослеТабл N 00 от 01.01.1999",
        "Тип": "String"
      }
    ]
  }
}

LINKS

В массиве LINKS можно указать ссылки на связанные документы, номер заказа, транспортную накладную и так далее. Структура массива имеет следующее представление:

  • [название документа]
    • NAME - наименование документа
    • TYPE - тип документа
    • NUMBER - номер документа
    • DATE - дата документа

массив LINKS


"LINKS": {
  "Тип": "Links",
  "Значение": {
    "Заказ": [
      {
        "Имя": "NAME",
        "Значение": "H_DOC-GROUND",
        "Тип": "Field"
      },
      {
        "Имя": "TYPE",
        "Значение": "ЗаказВх",
        "Тип": "String"
      },
      {
        "Имя": "NUMBER",
        "Значение": "H_DOC-TRANSP_NUM1",
        "Тип": "Field"
      },
      {
        "Имя": "DATE",
        "Значение": "H_DOC-TRANSP_DATE1",
        "Тип": "Field_Date"
      }
    ],
    "ТранНакл": [
      {
        "Имя": "NAME",
        "Значение": "ТранНакл",
        "Тип": "String"
      },
      {
        "Имя": "TYPE",
        "Значение": "",
        "Тип": "String"
      },
      {
        "Имя": "NUMBER",
        "Значение": "H_DOC-TRANSP_NUM2",
        "Тип": "String"
      },
      {
        "Имя": "DATE",
        "Значение": "01.01.1900",
        "Тип": "String"
      }
    ]
  }
}

FACE

Маппинг данных ролей участников документооборота находится в массиве FACE, определяется структурой S_XML_FACE_FULL. Структура набора значений:

  • [имя] - имя поля выходной структуры или метод получения данных класса, например, доступные методы класса /SBIS/CL_SAP_DATA:
    • GET_BUKRS_BANK_BY_BUKRS - данные банка для БЕ
    • GET_VKORG_BANK_BY_VKORG - данные банка для Сбытовой орг.
    • GET_WERKS_BANK_BY_WERKS - данные банка для завода
    • GET_KUNNR_BANK_BY_KUNNR - данные банка для customer
    • GET_BUKRS_BY_BUKRS - Данные БЕ (ИНН КПП ОКПО Назв Адрес)
    • GET_VKORG_BY_VKORG - Данные СбОрг (ИНН КПП ОКПО Назв Адрес)
    • GET_WERKS_BY_WERKS - Данные Завода (ИНН КПП ОКПО Назв Адрес)
    • GET_KUNNR_BY_KUNNR - Данные Дебитора (ИНН КПП ОКПО Назв Адрес)
  • [значение] - ссылка на значение входной таблицы (к примеру, H_DOC для ТОРГ-12)
  • [тип] - тип поля:
    • Field - объекта словаря ABAP
    • String - фиксированная строка
    • Method - метод класса получения данных
    • Concat_Field - строка получаемая конкатенацией строк
    • ClassField - глобальное значение класса
  • [подтип] - подтип типа:
    • указание класса для типа Method
    • указание поля в которое объединяются строки для Concat_Field

массив FACE для отправителя


{
  "FACE": {
    "Тип": "Face",
    "Значение": {
      "Отправитель": [
        {
          "Имя": "ID",
          "Значение": "VBDKL-BUKRS", //номер БЕ
          "Тип": "Field"
        },
        {
          "Имя": "GET_BUKRS_BY_BUKRS", //получение данных БЕ (инн и прочее) по номеру БЕ, указанному в ID
          "Значение": "",
          "Тип": "Method",
          "Подтип": "/SBIS/CL_SAP_DATA"
        },
        {
          "Имя": "GET_BUKRS_BANK_BY_BUKRS", //получение данных банка для БЕ по номеру БЕ, указанному в ID
          "Значение": "",
          "Тип": "Method",
          "Подтип": "/SBIS/CL_SAP_DATA"
        },
        {
          "Имя": "INN",
          "Значение": "H_DOC-SUPPLIERINN", //ссылка на ИНН из выходной таблицы
          "Тип": "Field"
        },
        {
          "Имя": "KPP",
          "Значение": "H_DOC-SUPPLIERKPP", //ссылка на КПП из выходной таблицы
          "Тип": "Field"
        },
        {
          "Имя": "OKPO",
          "Значение": "H_DOC-SUPPLIEROKPO", //ссылка на ОКПО из выходной таблицы
          "Тип": "Field"
        },
        {
          "Имя": "OKOPF",
          "Значение": "H_DOC-SUPPLIEROKOPF", //ссылка на ОКОПФ из выходной таблицы
          "Тип": "Field"
        },
        {
          "Имя": "OKDP",
          "Значение": "",
          "Тип": "Field"
        },
        {
          "Имя": "NAME",
          "Значение": "ADDR1_SP-NAME1", //наименование организации первая строка
          "Тип": "Field"
        },
        {
          "Имя": "NAME",
          "Значение": "ADDR1_SP-NAME2",
          "Тип": "Concat_Field_AddLeftSpace", //конкатенация второй строки наименования организации в поле NAME с добавлением пробела слева
          "Подтип": "NAME"
        },
        {
          "Имя": "NAME",
          "Значение": "ADDR1_SP-NAME3",
          "Тип": "Concat_Field_AddLeftSpace", //конкатенация третьей строки наименования организации в поле NAME с добавлением пробела слева
          "Подтип": "NAME"
        },
        {
          "Имя": "NAME",
          "Значение": "ADDR1_SP-NAME4",
          "Тип": "Concat_Field_AddLeftSpace", //конкатенация четвертой строки наименования организации в поле NAME с добавлением пробела слева
          "Подтип": "NAME"
        },
        {
          "Имя": "FULL_NAME",
          "Значение": "ADDR1_SP-NAME1",
          "Тип": "Field"
        },
        {
          "Имя": "FULL_NAME",
          "Значение": "ADDR1_SP-NAME2",
          "Тип": "Concat_Field_AddLeftSpace",
          "Подтип": "FULL_NAME"
        },
        {
          "Имя": "FULL_NAME",
          "Значение": "ADDR1_SP-NAME3",
          "Тип": "Concat_Field_AddLeftSpace",
          "Подтип": "FULL_NAME"
        },
        {
          "Имя": "FULL_NAME",
          "Значение": "ADDR1_SP-NAME4",
          "Тип": "Concat_Field_AddLeftSpace",
          "Подтип": "FULL_NAME"
        },
        {
          "Имя": "COUNTRY_CODE",
          "Значение": "GR_CURRENT_DATA->COUNTRY_CODE", //получение кода страны из глобальной переменной класса получения данных
          "Тип": "ClassField"
        },
        {
          "Имя": "ADR_TEXT",
          "Значение": "",
          "Тип": "String"
        },
        {
          "Имя": "ADR_TYPE",
          "Значение": "Юридический",
          "Тип": "String"
        },
        {
          "Имя": "POST_CODE",
          "Значение": "ADDR1_SP-POST_CODE1",
          "Тип": "Concat_Field",
          "Подтип": "ADR_TEXT"
        },
        {
          "Имя": "CITY",
          "Значение": "ADDR1_SP-CITY1",
          "Тип": "Concat_Field_AddLeftSpace",
          "Подтип": "ADR_TEXT"
        },
        {
          "Имя": "STREET",
          "Значение": "ADDR1_SP-STREET",
          "Тип": "Concat_Field_AddLeftSpace",
          "Подтип": "ADR_TEXT"
        },
        {
          "Имя": "HOUSE",
          "Значение": "ADDR1_SP-HOUSE_NUM1",
          "Тип": "Concat_Field_AddLeftSpace",
          "Подтип": "ADR_TEXT"
        },
        {
          "Имя": "PHONE",
          "Значение": "ADDR1_SP-TEL_NUMBER",
          "Тип": "Field"
        },
        {
          "Имя": "FAX",
          "Значение": "ADDR1_SP-FAX_NUMBER",
          "Тип": "Field"
        },
        {
          "Имя": "EMAIL",
          "Значение": "",
          "Тип": "Field"
        },
        {
          "Имя": "BANK_NAME",
          "Значение": "SP_BANK-NAME",
          "Тип": "Field"
        },
        {
          "Имя": "BANK_BIK",
          "Значение": "SP_BANK-BIK",
          "Тип": "Field"
        },
        {
          "Имя": "BANK_CORACC",
          "Значение": "GR_CURRENT_DATA->BANK_CORACC",
          "Тип": "ClassField"
        },
        {
          "Имя": "BANK_ACC",
          "Значение": "SP_BANK-ACC_NUM",
          "Тип": "Field"
        },
        {
          "Имя": "PARAM", //свободные параметры
          "Тип": "Param",
          "Значение": {
            "BANK_CITY": [
              {
                "Имя": "NAME",
                "Значение": "BANK_CITY",
                "Тип": "String"
              },
              {
                "Имя": "VALUE",
                "Значение": "GR_HIGHER_DATA->BANK_CITY",
                "Тип": "ClassField"
              }
            ]
          }
        }
      ]  
    }
  }
}

ITEMS (S_XML_DOC)

Позиции документа отражаются в массиве ITEMS. В качестве значения передается ссылка на массив из программы печати ITEMS и маппинг его полей, к примеру:

массив позиций ITEMS


"ITEMS": {
  "Тип": "Items",
  "Значение": {
    "ITEMS": [ //указание на массив ITEMS из программы печати
      {
        "Имя": "NUMBER",
        "Значение": "POSNUM", //маппинг полей структуры ITEMS в /SBIS/S_XML
        "Тип": "ItemField"
      },
      {
        "Имя": "NAME",
        "Значение": "ARKTX",
        "Тип": "ItemField"
      },
      {
        "Имя": "ID",
        "Значение": "MATNR",
        "Тип": "ItemField_Matnr"
      },
      {
        "Имя": "PRICE",
        "Значение": "PRICE",
        "Тип": "ItemField"
      },
      {
        "Имя": "AMOUNT",
        "Значение": "LFIMG",
        "Тип": "ItemField"
      },
      {
        "Имя": "UNIT_NAME",
        "Значение": "MSEHI",
        "Тип": "ItemField_Unitlongname"
      },
      {
        "Имя": "UNIT_CODE",
        "Значение": "MSEHI",
        "Тип": "ItemField_Unitcode"
      },
      {
        "Имя": "SUM_TAX_FREE",
        "Значение": "NETWR",
        "Тип": "ItemField"
      },
      {
        "Имя": "SUM",
        "Значение": "WRBTR",
        "Тип": "ItemField"
      },
      {
        "Имя": "TAX_SUM",
        "Значение": "VAT",
        "Тип": "ItemField"
      },
      {
        "Имя": "TAX_TYPE",
        "Значение": "процент",
        "Тип": "String"
      },
      {
        "Имя": "TAX_RATE",
        "Значение": "ST_VAT",
        "Тип": "ItemField"
      },
      {
        "Имя": "EXCISE_SUM",
        "Значение": "",
        "Тип": "ItemField"
      },
      {
        "Имя": "WEIGHT_NET",
        "Значение": "NTGEW",
        "Тип": "ItemField"
      },
      {
        "Имя": "WEIGHT_GROSS",
        "Значение": "BRGEW",
        "Тип": "ItemField"
      },
      {
        "Имя": "WEIGHT_UNIT_NAME",
        "Значение": "GEWEI",
        "Тип": "ItemField_Unitname"
      },
      {
        "Имя": "PACK_NAME",
        "Значение": "MAGRV",
        "Тип": "ItemField"
      },
      {
        "Имя": "PACK_AMOUNT",
        "Значение": "PLACES",
        "Тип": "ItemField"
      },
      {
        "Имя": "PACK_SIZE",
        "Значение": "IN1PL",
        "Тип": "ItemField"
      },
      {
        "Имя": "PARAM",
        "Тип": "Param",
        "Значение": {
          "НомерПУ": [
            {
              "Имя": "NAME",
              "Значение": "НомерПУ",
              "Тип": "String"
            },
            {
              "Имя": "VALUE",
              "Значение": "MATNR",
              "Тип": "ItemField"
            }
          ],
          "НаименованиеПУ": [
            {
              "Имя": "NAME",
              "Значение": "НаименованиеПУ",
              "Тип": "String"
            },
            {
              "Имя": "VALUE",
              "Значение": "ARKTX",
              "Тип": "ItemField"
            }
          ],
          "ДатаПоказаний": [
            {
              "Имя": "NAME",
              "Значение": "ДатаПоказаний",
              "Тип": "String"
            },
            {
              "Имя": "VALUE",
              "Значение": "H_DOC-ERDAT",
              "Тип": "Field_Date"
            }
          ]
        }
      }
    ]
  }
}

PRINT_SEND, PRINT_PRINT

Массивы PRINT_PRINT и PRINT_SEND содержат параметры программы печати в режиме печати и в режиме формирования XML, соответственно. По сути это маппинг части ключевых полей таблицы NAST.

пример PRINT_SEND, аналогично для PRINT_PRINT


"PRINT_SEND": {
  "Значение": [
    {
      "Имя": "print_program",
      "Значение": "J_3RV_DELIV_PDF"
    },
    {
      "Имя": "print_form",
      "Значение": "ENTRY"
    },
    {
      "Имя": "tnapr-sform",
      "Значение": "J_3RV_T12_PDF"
    },
    {
      "Имя": "nast-kappl",
      "Значение": "V2"
    },
    {
      "Имя": "nast-parvw",
      "Значение": "WE"
    },
    {
      "Имя": "nast-nacha",
      "Значение": "8"
    },
    {
      "Имя": "nast-kschl",
      "Значение": "LD00"
    },
    {
      "Имя": "nast-objtype",
      "Значение": "LIKP"
    },
    {
      "Имя": "nast-spras",
      "Значение": "R"
    }
  ]
}