|
|
Строка 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 и маппинг его полей, к примеру: |
Настройки выгрузки
После того как пользователь выбрал в списке пакет документов для отправки / просмотра, для каждой записи таблицы делается вызов программы формирования 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"
}
]
}