СБИС Ини Выгрузка — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
 
Строка 89: Строка 89:
 
* Ини - переопределяет какой инишкой рассчитывать. Если не указан берется дефолтная.
 
* Ини - переопределяет какой инишкой рассчитывать. Если не указан берется дефолтная.
 
* Формат - переопределяет какой раздел инишки записывать в результирующий объект - по умолчанию Ид.
 
* Формат - переопределяет какой раздел инишки записывать в результирующий объект - по умолчанию Ид.
 +
 +
<source lang="xml">
 +
<Покупатель Тип="Объект" Ини="СинхВыгрузка_Контрагент" Формат="Ид">[_Документ].Контрагент</Покупатель>
 +
</source>
  
 
==Без типа==
 
==Без типа==

Текущая версия на 17:10, 7 сентября 2018

Типы

Дата

Тип Дата в сочетании с атрибутом Формат используется для выгрузки даты в определенном формате. Например, из одного и того же реквизита документа 1С мы получаем два атрибута в xml-файле Дата и Время:

<Документ_Дата Тип="Дата" Формат="ДФ=dd.MM.yyyy">[Документ].Дата</Документ_Дата>
<Документ_Время Тип="Дата" Формат="ДФ=HH.mm.ss">[Документ].Дата</Документ_Время>

Также тип Дата может использоваться для получения какой-то конкретной даты:

<Дата2018 Тип="Дата">'01.01.2018 00.00.00'</Дата2018>

Это может потребоваться, если нужно сравнить, например, дату документа с какой-то определенной датой и в зависимости от этого выгрузить разные значения параметра:

<Параметр_Значение>^>([Документ].Дата, Дата2018, 'Новый документ', 'Старый документ')</Параметр_Значение>

В данном случае для документов, созданных ранее 1-го января 2018 года, в значение параметра выгрузится строка "Старый документ", а для документов, созданных позднее, - "Новый документ".

Число

Тип Число используется для получения числового значения строки.

<Сумма2000 Тип="Число">'2000'</Сумма2000>

Это может потребоваться, если нужно сравнить, например, сумму документа с какой-то определенной суммой и в зависимости от этого выгрузить разные значения параметра:

<Параметр_Значение>^>([Документ].СуммаДокумента, Сумма2000, 'С согласованием', 'Без согласования')</Параметр_Значение>

В данном случае для документов, сумма которых больше 2000, в значение параметра выгрузится строка "С согласованием", а для документов с меньшей суммой - "Без согласования".

ТабличнаяЧасть

Тип ТабличнаяЧасть указывается для узлов, в значении которых идет обращение к табличной части документа или справочника:

<ТаблДок Тип="ТабличнаяЧасть">[Документ].Услуги</ТаблДок>

или

<Адрес Тип="ТабличнаяЧасть" Отбор_Вид="[ВидыКонтактнойИнформации].ЮрАдресКонтрагента" Отбор_Тип="[ТипыКонтактнойИнформации].Адрес">[Сторона].КонтактнаяИнформация</Адрес>

При расчете ини-файла для узла с типом "ТабличнаяЧасть" без отбора возвращается вся табличная часть документа/справочника, а все узлы, лежащие на одном уровне с ним, рассчитываются для каждой строки, полученной табличной части.Для правильного расчета необходимо располагать узел, определяющий саму табличную часть, первым в блоке для расчета всех реквизитов табличной части:

<мТаблДок Имя='Услуги'>
      <!--Первый узел определяет саму табличную часть-->
      <ТаблДок Тип="ТабличнаяЧасть">[Документ].Услуги</ТаблДок>
      <!--Далее идут узлы, рассчитывающиеся для каждой строки табличной части-->
      <Номенклатура>[ТаблДок].Номенклатура</Номенклатура>
      <ТаблДок_Код>[Номенклатура].Код</ТаблДок_Код>
      ...
</мТаблДок>

Для табличной части с отбором при расчете возвращается первая строка, подходящая под условия отбора.Так, например, рассчитываются адреса и другая контактная информация участников документооборота.

Запрос

Тип Запрос используется, когда получить нужное значение простым обращением к реквизитам нельзя, а требуются более сложные вычисления. Например, нужно выгрузить штрихкод номенклатуры, причем в приоритете должен выбираться штрихкод с типом EAN128. Простым отбором из регистра сделать такой выбор не получится, поэтом используем запрос с упорядочиванием:

<ШтрихКодВыборка Тип="Запрос" Отбор_Номенклатура="Номенклатура" Отбор_Характеристика="ХарактеристикаНоменклатуры">'ВЫБРАТЬ ПЕРВЫЕ 1 ШК.Штрихкод  
			ИЗ РегистрСведений.Штрихкоды ШК
			ГДЕ Владелец = &Номенклатура И ШК.ХарактеристикаНоменклатуры = &Характеристика
			УПОРЯДОЧИТЬ ПО ВЫБОР КОГДА ШК.ТипШтрихкода.Наименование = "EAN128" ТОГДА 1 ИНАЧЕ 2 КОНЕЦ'</ШтрихКодВыборка>
<ШтрихКод>[ШтрихКодВыборка].Штрихкод</ШтрихКод>

Все параметры запроса указываются в атрибутах Отбор_[Имя параметра].

При указании атрибута Выбрать = "все" вернутся все записи запроса. В этом случае расчет будет происходить аналогично табличной части, то есть все узлы инишки из текущего блока будут рассчитываться для каждой строки из результата запроса.

Если атрибут Выбрать не указан, то в результате вернется только первая подходящая запись.

В следующих узлах можно обращаться к полям выборки из результата запроса. В данном примере идет обращение к полю Штрихкод.

Объект

В значении должна быть указана ссылка на объект ИС. При обработке данного типа будет взята инишка из атрибута Ини и рассчитана по разделу указанному в атрибуте Формат.

Атрибуты:

  • Ини - переопределяет какой инишкой рассчитывать. Если не указан берется дефолтная.
  • Формат - переопределяет какой раздел инишки записывать в результирующий объект - по умолчанию Ид.
<Покупатель Тип="Объект" Ини="СинхВыгрузка_Контрагент" Формат="Ид">[_Документ].Контрагент</Покупатель>

Без типа

Если у параметра ини не указан тип, обработчик обрабатывает значения в зависимости от его типа. Массив, Структура (словарь), Строка.

Значение имеет тип Строка

Значение берется как есть, другие атрибуты не учитываются.

Значение имеет тип Массив

Значение имеет тип Словарь