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

Материал из razgovorov.ru
Перейти к: навигация, поиск
(Общие параметры для версий 700 и 740)
(GET_CHILD_VBFA)
 
(не показано 7 промежуточных версий этого же участника)
Строка 27: Строка 27:
 
==Построение запроса получения списка документов==
 
==Построение запроса получения списка документов==
  
Список документов получается путем выполнения запроса к базе данных, для BASIS >= 7.40 это динамический SELECT текст которого указан в настройках, для более ранних версий код запроса вызывается непосредственно в модуле. И доработка запроса осуществляется наследованием класса и переопределением необходимых методов.
+
Список документов получается путем выполнения запроса к базе данных, для BASIS >= 7.40 это динамический SELECT текст которого указан в настройках, для более ранних версий код запроса вызывается непосредственно в модуле и изменение запроса осуществляется наследованием класса и переопределением необходимых методов.
  
 
В результате выполнения запросов получается таблица, содержащая список документов SAP необходимых для формирования пакета документов.
 
В результате выполнения запросов получается таблица, содержащая список документов SAP необходимых для формирования пакета документов.
Строка 38: Строка 38:
 
* Идентификатор документа на данных которого будет формироваться электронный документ (может быть равен базовому)
 
* Идентификатор документа на данных которого будет формироваться электронный документ (может быть равен базовому)
 
** XBLNR - номер документа, пока предполагается что BUKRS и GJAHR такой же как у базового документа.
 
** XBLNR - номер документа, пока предполагается что BUKRS и GJAHR такой же как у базового документа.
* Идентификатор настроек которые будут использоваться для формирования электронного документа (программа печати, параметры вызова, маппинг параметров программы печати)
+
* Идентификатор настроек, которые будут использоваться для формирования электронного документа (программа печати, параметры вызова, маппинг параметров программы печати)
** INI_NAME - код настроек из таблицы /SBIS/SETTINGS - указывается явно в запросе
+
** INI_NAME - имя настройки выгрузки документа DO_* указывается явно в запросе
 
* Реквизиты документа для отображения в списке - параметры для формирования названия документа, по умолчанию шаблон формирования имени документа следующий: [значение параметра НазваниеДокумента] №[XBLNR] от [DATE] на сумму [SUM][WAERS]
 
* Реквизиты документа для отображения в списке - параметры для формирования названия документа, по умолчанию шаблон формирования имени документа следующий: [значение параметра НазваниеДокумента] №[XBLNR] от [DATE] на сумму [SUM][WAERS]
 
** DATE
 
** DATE
Строка 58: Строка 58:
 
** STATUS_MSG_DETAIL
 
** STATUS_MSG_DETAIL
  
Запись таблицы содержит данные основного документа и таблицу вложений - идентификатор документа + ключ таблицы настроек отвечающих за формирование XML файла. В общем виде одна запись таблицы содержит список программ печати необходимых для формирования пакета документов.  
+
Запись таблицы содержит данные основного документа и таблицу вложений - идентификатор документа и ключ таблицы настроек отвечающих за формирование XML файла. В общем виде одна запись таблицы содержит список программ печати необходимых для формирования пакета документов.  
  
Предположим у нас есть комплект документов реализации состоящий из двух документов, накладной № 0080000227 и счет-фактуры № 0090000244 которые необходимо отправить одним пакетом. Основным документом является документ от которого строится список и который есть всегда (иначе пакет не сформируется) и в нашем случае пусть это будет накладная.
+
Предположим у нас есть комплект документов реализации состоящий из двух документов, накладной № 0080000227 и счет-фактуры № 0090000244 которые необходимо отправить одним пакетом. Основным документом является документ, от которого строится список и который есть всегда (иначе пакет не сформируется), в нашем случае это будет накладная.
 
В результате выполнения запроса должен получиться список пакетов реализации. Часть результирующей таблицы содержащей наш комплект должна выглядеть следующим образом:
 
В результате выполнения запроса должен получиться список пакетов реализации. Часть результирующей таблицы содержащей наш комплект должна выглядеть следующим образом:
 
{|{| class="wikitable"
 
{|{| class="wikitable"
Строка 168: Строка 168:
 
***ЗапросСпискаДокументов_having_1 ... ЗапросСпискаДокументов_having_5
 
***ЗапросСпискаДокументов_having_1 ... ЗапросСпискаДокументов_having_5
 
***ЗапросСпискаДокументов_where_1 ... ЗапросСпискаДокументов_where_5
 
***ЗапросСпискаДокументов_where_1 ... ЗапросСпискаДокументов_where_5
*ЗапросСпискаСвязанныхДокументов – массив настроек отвечающий за добавление связанных документов. Для каждой записи будет выполнен поиск всех указанных документов. Доступные варианты:
+
*ЗапросСпискаСвязанныхДокументов – массив настроек отвечающий за добавление связанных документов. Для каждой записи будет выполнен поиск всех указанных документов.  
** GET_CHILD_VBFA - взять связанный через VBFA документ
+
 
** GET_SELF - взять тот же документ, но использовать другую программу печати
+
===Запрос Списка Связанных Документов===
 +
====GET_CHILD_VBFA====
 +
Метод GET_CHILD_VBFA позволяет взять связанный через VBFA документ.
 +
 
 +
Список настроек выглядит как динамический select c параметрами (тело запрос разбито на подстроки длиной 255 символов):
 +
*ЗапросСпискаСвязанныхДокументов_select_1 ... ЗапросСпискаСвязанныхДокументов_select_5
 +
*ЗапросСпискаСвязанныхДокументов_from_1 ... ЗапросСпискаСвязанныхДокументов_from_5
 +
*ЗапросСпискаСвязанныхДокументов_where_1 ... ЗапросСпискаСвязанныхДокументов_where_5
 +
*ЗапросСпискаСвязанныхДокументовСторно_select_1 ... ЗапросСпискаСвязанныхДокументовСторно_select_5
 +
*ЗапросСпискаСвязанныхДокументовСторно_from_1 ... ЗапросСпискаСвязанныхДокументовСторно_from_5
 +
*ЗапросСпискаСвязанныхДокументовСторно_where_1 ... ЗапросСпискаСвязанныхДокументовСторно_where_5
  
 
<div style="border: 1px dashed;">
 
<div style="border: 1px dashed;">
пример LO_РеализацияТоваров версии 740 с получением связанного документа счет-фактура через GET_CHILD_VBFA   
+
пример запроса списка связанных документов для версии 740 через GET_CHILD_VBFA   
 
<div class="mw-collapsible mw-collapsed" style="overflow: hidden;">
 
<div class="mw-collapsible mw-collapsed" style="overflow: hidden;">
 
<br>
 
<br>
 
<source lang=JSON>
 
<source lang=JSON>
{
+
  {
  "ПолучениеДанных_Класс": {
 
    "Значение": "/SBIS/CL_SAP_DATA_740" //класс получения данных
 
  },
 
  "Реестр1С_Название": {
 
    "Значение": "Реализация товаров" //наименование реестра документов
 
  },
 
  "Реестр1С_Тип": {
 
    "Значение": "'РеализацияТоваров'" //наименование типа реестра документов
 
  },
 
  "РеестрСБИС_Тип": {
 
    "Значение": "'ДокОтгрИсх,НакладнаяИсх,Исходящие'" //наименование типа реестра документов в СБИС
 
  },
 
  "Регламент_Название": {
 
    "Значение": "Реализация" //регламент в СБИС
 
  },
 
  "Реестр_СБИС": {
 
    "Значение": "ДокОтгрИсх" //реестр в СБИС
 
  },
 
  "НазваниеДокумента": {
 
    "Значение": "Накладная" //наименование документа
 
  },
 
  "ЗапросСпискаДокументов": {
 
    "Значение": "select_groupby" //тип выборки
 
  },
 
  "ЗапросСпискаДокументов_select_1": {
 
    "Значение": "'DO_DP_TOVTORGPR_1175010' AS ini_name, likp~vbeln AS belnr, likp~vbeln AS xblnr,"
 
  },
 
  "ЗапросСпискаДокументов_select_2": {
 
    "Значение": "likp~wadat_ist AS date, likp~waerk AS waers, SUM( vbap~kzwi4 ) AS sum,"
 
  },
 
  "ЗапросСпискаДокументов_select_3": {
 
    "Значение": "( kna1~name1 && kna1~name2 && kna1~name3 && kna1~name4 ) AS partner_name,"
 
  },
 
  "ЗапросСпискаДокументов_select_4": {
 
    "Значение": "tvko~bukrs AS bukrs, vbfa~vbtyp_n AS subtype"
 
  },
 
  "ЗапросСпискаДокументов_select_5": {
 
    "Значение": ""
 
  },
 
  "ЗапросСпискаДокументов_from_1": {
 
    "Значение": "likp AS likp INNER  JOIN vbfa AS vbfa ON likp~vbeln = vbfa~vbeln AND vbfa~vbtyp_n = 'J'"
 
  },
 
  "ЗапросСпискаДокументов_from_2": {
 
    "Значение": "INNER  JOIN vbap AS vbap ON vbfa~vbelv = vbap~vbeln AND vbfa~posnv = vbap~posnr"
 
  },
 
  "ЗапросСпискаДокументов_from_3": {
 
    "Значение": "INNER JOIN kna1 AS kna1 ON likp~kunnr = kna1~kunnr"
 
  },
 
  "ЗапросСпискаДокументов_from_4": {
 
    "Значение": "INNER JOIN tvko AS tvko ON likp~vkorg = tvko~vkorg"
 
  },
 
  "ЗапросСпискаДокументов_from_5": {
 
    "Значение": ""
 
  },
 
  "ЗапросСпискаДокументов_groupby_1": {
 
    "Значение": "likp~vbeln, likp~wadat_ist,"
 
  },
 
  "ЗапросСпискаДокументов_groupby_2": {
 
    "Значение": "likp~waerk, vbfa~vbtyp_n,"
 
  },
 
  "ЗапросСпискаДокументов_groupby_3": {
 
    "Значение": "likp~kunnr, likp~vkorg, tvko~bukrs,"
 
  },
 
  "ЗапросСпискаДокументов_groupby_4": {
 
    "Значение": "kna1~name1, kna1~name2,"
 
  },
 
  "ЗапросСпискаДокументов_groupby_5": {
 
    "Значение": "kna1~name3, kna1~name4"
 
  },
 
  "ЗапросСпискаДокументов_having_1": {
 
    "Значение": "likp~vbeln IN @lt_rng_belnr AND likp~vkorg IN @lt_rng_vkorg "
 
  },
 
  "ЗапросСпискаДокументов_having_2": {
 
    "Значение": "AND likp~kunnr IN @lt_rng_partner"
 
  },
 
  "ЗапросСпискаДокументов_having_3": {
 
    "Значение": "AND likp~wadat_ist IN @lt_rng_bldat"
 
  },
 
  "ЗапросСпискаДокументов_having_4": {
 
    "Значение": "AND tvko~bukrs IN @lt_rng_bukrs"
 
  },
 
  "ЗапросСпискаДокументов_having_5": {
 
    "Значение": ""
 
  },
 
  "ЗапросСпискаСвязанныхДокументов": {
 
    "Тип": "List", //массив списка связанных документов
 
    "Значение": [
 
      {
 
 
         "Имя": "GET_CHILD_VBFA", //метод класса получения данных
 
         "Имя": "GET_CHILD_VBFA", //метод класса получения данных
 
         "Значение": [
 
         "Значение": [
Строка 342: Строка 264:
 
         ]
 
         ]
 
       }
 
       }
    ]
 
  },
 
  "РеестрПоУмолчанию": {
 
    "Значение": "'1'"
 
  },
 
  "ИсклСторноДатаСовпадает": {
 
    "Значение": "X"
 
  },
 
  "ИсклСторноДатаНеСовпадает": {
 
    "Значение": "X"
 
  },
 
  "ИсклСторноМесяцСовпадает": {
 
    "Значение": "X"
 
  },
 
  "ИсклСторноМесяцНеСовпадает": {
 
    "Значение": "X"
 
  }
 
}
 
 
</source>
 
</source>
 
</div>
 
</div>
 
</div>
 
</div>
 +
 +
====GET_SELF====
 +
Метод GET_SELF позволяет взять тот же документ, но использовать другую программу печати. В этом случае параметры передаются в структуру S_LIST_DOC.
 +
 +
<div style="border: 1px dashed;">
 +
пример запроса списка связанных документов для версии 740 через GET_SELF
 +
<div class="mw-collapsible mw-collapsed" style="overflow: hidden;">
 +
<br>
 +
<source lang=JSON>
 +
{
 +
        "Имя": "GET_SELF",
 +
        "Значение": [
 +
          {
 +
            "Имя": "НазваниеДокумента",
 +
            "Значение": "Счет-фактура"
 +
          },
 +
          {
 +
            "Имя": "doc_ini_name",
 +
            "Значение": "DO_ON_SCHFDOPPR_1115125"
 +
          },
 +
          {
 +
            "Имя": "doc_bukrs",
 +
            "Значение": "bukrs"
 +
          },
 +
          {
 +
            "Имя": "doc_gjahr",
 +
            "Значение": "gjahr"
 +
          },
 +
          {
 +
            "Имя": "doc_belnr",
 +
            "Значение": "belnr"
 +
          },
 +
          {
 +
            "Имя": "doc_xblnr",
 +
            "Значение": "param1"
 +
          },
 +
          {
 +
            "Имя": "doc_date",
 +
            "Значение": "date"
 +
          },
 +
          {
 +
            "Имя": "doc_sum",
 +
            "Значение": "sum"
 +
          },
 +
          {
 +
            "Имя": "doc_waers",
 +
            "Значение": "waers"
 +
          },
 +
          {
 +
            "Имя": "doc_user_name",
 +
            "Значение": "user_name"
 +
          },
 +
          {
 +
            "Имя": "doc_partner_name",
 +
            "Значение": "partner_name"
 +
          },
 +
          {
 +
            "Имя": "doc_org_name",
 +
            "Значение": "org_name"
 +
          }
 +
        ]
 +
      }
 +
</source>
 +
</div>
 +
</div>
 +
 +
 +
  
  

Текущая версия на 15:48, 16 марта 2018

Настройка списков

Настройки списков отвечают за:

  • формирование списка документов которые видит пользователь перейдя в соответствующий раздел, в т.ч. ограничения видимости и фильтры
  • состав отправляемых пакетов документов (какие документы SAP должны использоваться для формирования пакета электронных документов)

Файл с настройками LO_* списка содержит информацию о классе получения списка документов, общих настройках для реестра в СБИС, такие как регламент, название реестра, указание на файл выгрузки самого документа DO_*, запрос списка связанных документов, исключения из выборки. В зависимости от версии BASIS системы различаются принципы построения списков – использование статических методов выборки или построение динамического select’a. За формирование списка документов отвечает метод GET_LIST_API2_PACKET класса указанного в параметре "ПолучениеДанных_Класс". Для разделов Продажа по умолчанию этим классом является /SBIS/CL_SAP_DATA_[700/740], он зависим от версии BASIS и поэтому поставляется в разных пакетах.

Структура настройки списков:

  • [основные параметры, см. ниже]
  • [ЗапросСпискаСвязанныхДокументов] (тип List) - массив параметров для получения списка связанных документов
    • [Метод класса для построения списка связанных документов] - в качестве значения передается список параметров

Общие параметры для версий 700 и 740

  • ПолучениеДанных_Класс – класс получения данных для построения списка документов
  • Реестр1С_Название, Реестр1С_Тип – классификаторы пакета документов
  • РеестрСБИС_Тип – тип входящего реестра СБИС
  • Регламент_Название – название регламета СБИС
  • Реестр_СБИС – название входящего реестра СБИС
  • НазваниеДокумента – отображаемое название документа
  • ИсклСторноДатаСовпадает – исключение сторно документа из списка, если дата совпадает
  • ИсклСторноДатаНеСовпадает – исключение сторно документа из списка, если дата не совпадает
  • ИсклСторноМесяцСовпадает – исключение сторно документа из списка, если месяц совпадает
  • ИсклСторноМесяцНеСовпадает – исключение сторно документа из списка, если месяц не совпадает

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

Список документов получается путем выполнения запроса к базе данных, для BASIS >= 7.40 это динамический SELECT текст которого указан в настройках, для более ранних версий код запроса вызывается непосредственно в модуле и изменение запроса осуществляется наследованием класса и переопределением необходимых методов.

В результате выполнения запросов получается таблица, содержащая список документов SAP необходимых для формирования пакета документов.

Строка таблицы соответствует структуре /SBIS/S_LIST_DOC и содержит:

  • Идентификатор базового документа (нужен для группировки пакета)
    • BUKRS
    • GJAHR
    • BELNR - номер документа
  • Идентификатор документа на данных которого будет формироваться электронный документ (может быть равен базовому)
    • XBLNR - номер документа, пока предполагается что BUKRS и GJAHR такой же как у базового документа.
  • Идентификатор настроек, которые будут использоваться для формирования электронного документа (программа печати, параметры вызова, маппинг параметров программы печати)
    • INI_NAME - имя настройки выгрузки документа DO_* указывается явно в запросе
  • Реквизиты документа для отображения в списке - параметры для формирования названия документа, по умолчанию шаблон формирования имени документа следующий: [значение параметра НазваниеДокумента] №[XBLNR] от [DATE] на сумму [SUM][WAERS]
    • DATE
    • SUM
    • WAERS
    • PARTNER_NAME
    • ORG_NAME
    • USER_NAME
  • Дополнительные реквизиты которые можно использовать в отборе при необходимости
    • PARAM1
    • PARAM2
    • PARAM3
  • Текущий статус документа - в select не заполняются, заполняются для каждой записи по данным таблицы /SBIS/STATUS_DOC, код реализован в том же классе
    • STATUS_NAME
    • STATUS_CODE
    • STATUS_NOTE
    • STATUS_MSG
    • STATUS_MSG_DETAIL

Запись таблицы содержит данные основного документа и таблицу вложений - идентификатор документа и ключ таблицы настроек отвечающих за формирование XML файла. В общем виде одна запись таблицы содержит список программ печати необходимых для формирования пакета документов.

Предположим у нас есть комплект документов реализации состоящий из двух документов, накладной № 0080000227 и счет-фактуры № 0090000244 которые необходимо отправить одним пакетом. Основным документом является документ, от которого строится список и который есть всегда (иначе пакет не сформируется), в нашем случае это будет накладная. В результате выполнения запроса должен получиться список пакетов реализации. Часть результирующей таблицы содержащей наш комплект должна выглядеть следующим образом:

BELNR XBELNR INI_NAME
0080000227 0080000227 'DP_TOVTORGPR_1175010'
0080000227 0090000244 'ON_SCHFDOPPR_1115125'

Если предположим, в пакет нужно добавить ещё один документ, например из накладной необходимо сформировать и отправить в этом же пакете ТТН, то в результат необходимо добавить ещё одну строку содержащую соответствующий код настроек. В общем виде можно сказать, что количество строк для пакета равно количеству вызовов программ печати необходимых для формирования форм документов комплекта. Стоит заменить, что конечный состав пакета документов не всегда по количеству равен документам которые пользователь видит в списке, т.к. данным одного вызова программы печати может быть за раз сформировано несколько электронных документов, например по данным фактуры можно сформировать сразу весь комплект. Содержимое пакета документов, которое будет отправлено можно посмотреть в окне просмотра.

BASIS 7.00 (/SBIS/CL_SAP_DATA_700)

Для изменения выборки документов требуется наследовать стандартный класс получения данных и изменить метод GET_LIST_API2_PACKET.

  1. ПолучениеДанныхВложения – указание на документ выгрузки DO_*
  2. ЗапросСпискаСвязанныхДокументов – содержит ссылки на документы-вложения, в поле Имя указывается метод класса для получения связанных документов. Также указывается имя документа для отображения и связанный файл получения вложения DO_*.

Варианты параметра "ПолучениеДанных_Класс":

  • /SBIS/CL_SAP_DATA_700_LIKP - возвращает накладные SD
  • /SBIS/CL_SAP_DATA_700_VBRK - возвращает фактуры SD
  • /SBIS/CL_SAP_DATA_700_VBRK_USL - возвращает фактуры SD на услуги - акты выполненных работ
  • /SBIS/CL_SAP_DATA_700_LIKP_NF - возвращает неотфактурованные накладные SD (без фактур)
  • /SBIS/CL_SAP_DATA_700_ERDK - возвращает документы печати из одноименной таблицы

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

  • GET_CHILD_VBFA_SFAKT - получить связанные с основным документом через таблицу VBFA счет-фактуры SD
  • GET_CHILD_VBFA_NAKL - получить связанные с основным документом через таблицу VBFA накладные SD

пример LO_РеализацияТоваров версии 700 с получением связанного документа счет-фактура


{
  "ПолучениеДанных_Класс": {
    "Значение": "/SBIS/CL_SAP_DATA_700_LIKP" //класс получения данных
  },
  "Реестр1С_Название": {
    "Значение": "Реализация товаров"
  },
  "Реестр1С_Тип": {
    "Значение": "'РеализацияТоваров'"
  },
  "РеестрСБИС_Тип": {
    "Значение": "'ДокОтгрИсх,НакладнаяИсх,Исходящие'"
  },
  "Регламент_Название": {
    "Значение": "Реализация"
  },
  "Реестр_СБИС": {
    "Значение": "ДокОтгрИсх"
  },
  "НазваниеДокумента": {
    "Значение": "Накладная"
  },
  "ПолучениеДанныхВложения": {
    "Значение": "DO_DP_TOVTORGPR_1175010" //указание на выгрузку документа DO_*
  },
  "РеестрПоУмолчанию": {
    "Значение": "'1'"
  },
  "ЗапросСпискаСвязанныхДокументов": {
    "Тип": "List",
    "Значение": [
      {
        "Имя": "GET_CHILD_VBFA_SFAKT", //метод класса получения данных
        "Значение": [
          {
            "Имя": "НазваниеДокумента",
            "Значение": "Счет-фактура"
          },
          {
            "Имя": "ПолучениеДанныхВложения",
            "Значение": "DO_ON_SCHFDOPPR_1115125" //указание на выгрузку документа DO_*
          }
        ]
      }
    ]
  },
  "ИсклСторноДатаСовпадает": {
    "Значение": "X"
  },
  "ИсклСторноДатаНеСовпадает": {
    "Значение": "X"
  },
  "ИсклСторноМесяцСовпадает": {
    "Значение": "X"
  },
  "ИсклСторноМесяцНеСовпадает": {
    "Значение": "X"
  }
}

BASIS 7.40 (/SBIS/CL_SAP_DATA_740)

Списки документов строятся на основании динамического select’а. Текст запроса содержится в параметрах:

  • ЗапросСпискаДокументов – содержит тип запроса: select, select_groupby, select_distinct.
    • Тело запрос разбито на 5 подстрок длиной 255 символов, а именно:
      • ЗапросСпискаДокументов_select_1 ... ЗапросСпискаДокументов_select_5
      • ЗапросСпискаДокументов_from_1 ... ЗапросСпискаДокументов_from_5
      • ЗапросСпискаДокументов_groupby_1 ... ЗапросСпискаДокументов_groupby_5
      • ЗапросСпискаДокументов_having_1 ... ЗапросСпискаДокументов_having_5
      • ЗапросСпискаДокументов_where_1 ... ЗапросСпискаДокументов_where_5
  • ЗапросСпискаСвязанныхДокументов – массив настроек отвечающий за добавление связанных документов. Для каждой записи будет выполнен поиск всех указанных документов.

Запрос Списка Связанных Документов

GET_CHILD_VBFA

Метод GET_CHILD_VBFA позволяет взять связанный через VBFA документ.

Список настроек выглядит как динамический select c параметрами (тело запрос разбито на подстроки длиной 255 символов):

  • ЗапросСпискаСвязанныхДокументов_select_1 ... ЗапросСпискаСвязанныхДокументов_select_5
  • ЗапросСпискаСвязанныхДокументов_from_1 ... ЗапросСпискаСвязанныхДокументов_from_5
  • ЗапросСпискаСвязанныхДокументов_where_1 ... ЗапросСпискаСвязанныхДокументов_where_5
  • ЗапросСпискаСвязанныхДокументовСторно_select_1 ... ЗапросСпискаСвязанныхДокументовСторно_select_5
  • ЗапросСпискаСвязанныхДокументовСторно_from_1 ... ЗапросСпискаСвязанныхДокументовСторно_from_5
  • ЗапросСпискаСвязанныхДокументовСторно_where_1 ... ЗапросСпискаСвязанныхДокументовСторно_where_5

пример запроса списка связанных документов для версии 740 через GET_CHILD_VBFA


   {
        "Имя": "GET_CHILD_VBFA", //метод класса получения данных
        "Значение": [
          {
            "Имя": "НазваниеДокумента",
            "Значение": "Счет-фактура"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_select_1",
            "Значение": "'DO_ON_SCHFDOPPR_1115125' as ini_name, vbrk~bukrs AS bukrs, vbfa~vbeln AS belnr, "
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_select_2",
            "Значение": "vbrk~vbeln AS xblnr, vbrk~fkdat AS date, vbfa~waers AS waers,"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_select_3",
            "Значение": "( vbrk~netwr + vbrk~mwsbk ) AS sum,"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_select_4",
            "Значение": "( kna1~name1 && kna1~name2 && kna1~name3 && kna1~name4 ) AS partner_name,"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_select_5",
            "Значение": "vbtyp_n AS subtype"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_from_1",
            "Значение": "vbfa AS vbfa"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_from_2",
            "Значение": "INNER  JOIN vbrk AS vbrk ON vbfa~vbeln = vbrk~vbeln"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_from_3",
            "Значение": "INNER  JOIN kna1 AS kna1 ON vbrk~kunrg = kna1~kunnr"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_where_1",
            "Значение": "vbelv = @is_list_base_doc-belnr AND vbfa~vbtyp_n IN ('M', 'O', 'P')"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_select_20170716",
            "Значение": "'DO_ON_SCHFDOPPR_1115125' as ini_name, vbrk~bukrs AS bukrs, vbfa~vbeln AS belnr, bkpf~belnr AS xblnr, vbrk~fkdat AS date, vbfa~waers AS waers, ( vbrk~netwr + vbrk~mwsbk ) AS sum, ( kna1~name1 && kna1~name2 && kna1~name3 && kna1~name4 ) AS partner_name, vbtyp_n AS subtype"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_from_20170716",
            "Значение": "vbfa AS vbfa INNER  JOIN vbrk AS vbrk ON vbfa~vbeln = vbrk~vbeln INNER  JOIN kna1 AS kna1 ON vbrk~kunrg = kna1~kunnr INNER JOIN bkpf as bkpf ON bkpf~bukrs = vbrk~bukrs AND bkpf~awkey = vbrk~vbeln AND bkpf~awtyp = 'VBRK'"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументов_where_20170716",
            "Значение": "vbfa~vbtyp_n IN ('M', 'N', 'O', 'P') AND vbelv = @is_list_base_doc-belnr"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументовСторно_select_1",
            "Значение": "vbrk~vbeln AS belnr, vbrk~fkdat AS date"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументовСторно_from_1",
            "Значение": "vbfa AS vbfa INNER  JOIN vbrk AS vbrk ON vbfa~vbelv = vbrk~vbeln OR vbfa~vbeln = vbrk~vbeln"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументовСторно_where_1",
            "Значение": "( vbfa~vbtyp_v = 'M' AND vbfa~vbtyp_n = 'N' AND vbfa~vbeln = @ls_list_related_doc-belnr )"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументовСторно_where_2",
            "Значение": "OR ( vbfa~vbtyp_n = 'N' AND vbfa~vbtyp_v = 'M' AND vbfa~vbelv = @ls_list_related_doc-belnr )"
          },
          {
            "Имя": "ЗапросСпискаСвязанныхДокументовСторно_where_3",
            "Значение": "AND vbrk~vbeln <> @ls_list_related_doc-belnr"
          }
        ]
      }

GET_SELF

Метод GET_SELF позволяет взять тот же документ, но использовать другую программу печати. В этом случае параметры передаются в структуру S_LIST_DOC.

пример запроса списка связанных документов для версии 740 через GET_SELF


{
        "Имя": "GET_SELF",
        "Значение": [
          {
            "Имя": "НазваниеДокумента",
            "Значение": "Счет-фактура"
          },
          {
            "Имя": "doc_ini_name",
            "Значение": "DO_ON_SCHFDOPPR_1115125"
          },
          {
            "Имя": "doc_bukrs",
            "Значение": "bukrs"
          },
          {
            "Имя": "doc_gjahr",
            "Значение": "gjahr"
          },
          {
            "Имя": "doc_belnr",
            "Значение": "belnr"
          },
          {
            "Имя": "doc_xblnr",
            "Значение": "param1"
          },
          {
            "Имя": "doc_date",
            "Значение": "date"
          },
          {
            "Имя": "doc_sum",
            "Значение": "sum"
          },
          {
            "Имя": "doc_waers",
            "Значение": "waers"
          },
          {
            "Имя": "doc_user_name",
            "Значение": "user_name"
          },
          {
            "Имя": "doc_partner_name",
            "Значение": "partner_name"
          },
          {
            "Имя": "doc_org_name",
            "Значение": "org_name"
          }
        ]
      }