СБИС Ини Выгрузка — различия между версиями
(не показано 16 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
=Типы= | =Типы= | ||
==Дата== | ==Дата== | ||
+ | Тип Дата в сочетании с атрибутом Формат используется для выгрузки даты в определенном формате. | ||
+ | Например, из одного и того же реквизита документа 1С мы получаем два атрибута в xml-файле Дата и Время: | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <Документ_Дата Тип="Дата" Формат="ДФ=dd.MM.yyyy">[Документ].Дата</Документ_Дата> | ||
+ | <Документ_Время Тип="Дата" Формат="ДФ=HH.mm.ss">[Документ].Дата</Документ_Время> | ||
+ | </source> | ||
+ | |||
+ | Также тип Дата может использоваться для получения какой-то конкретной даты: | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <Дата2018 Тип="Дата">'01.01.2018 00.00.00'</Дата2018> | ||
+ | </source> | ||
+ | |||
+ | Это может потребоваться, если нужно сравнить, например, дату документа с какой-то определенной датой и в зависимости от этого выгрузить разные значения параметра: | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <Параметр_Значение>^>([Документ].Дата, Дата2018, 'Новый документ', 'Старый документ')</Параметр_Значение> | ||
+ | </source> | ||
+ | В данном случае для документов, созданных ранее 1-го января 2018 года, в значение параметра выгрузится строка "Старый документ", а для документов, созданных позднее, - "Новый документ". | ||
+ | |||
+ | ==Число== | ||
+ | Тип Число используется для получения числового значения строки. | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <Сумма2000 Тип="Число">'2000'</Сумма2000> | ||
+ | </source> | ||
+ | |||
+ | Это может потребоваться, если нужно сравнить, например, сумму документа с какой-то определенной суммой и в зависимости от этого выгрузить разные значения параметра: | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <Параметр_Значение>^>([Документ].СуммаДокумента, Сумма2000, 'С согласованием', 'Без согласования')</Параметр_Значение> | ||
+ | </source> | ||
+ | В данном случае для документов, сумма которых больше 2000, в значение параметра выгрузится строка "С согласованием", а для документов с меньшей суммой - "Без согласования". | ||
==ТабличнаяЧасть== | ==ТабличнаяЧасть== | ||
+ | Тип ТабличнаяЧасть указывается для узлов, в значении которых идет обращение к табличной части документа или справочника: | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <ТаблДок Тип="ТабличнаяЧасть">[Документ].Услуги</ТаблДок> | ||
+ | </source> | ||
+ | |||
+ | или | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <Адрес Тип="ТабличнаяЧасть" Отбор_Вид="[ВидыКонтактнойИнформации].ЮрАдресКонтрагента" Отбор_Тип="[ТипыКонтактнойИнформации].Адрес">[Сторона].КонтактнаяИнформация</Адрес> | ||
+ | </source> | ||
+ | |||
+ | При расчете ини-файла для узла с типом "ТабличнаяЧасть" без отбора возвращается вся табличная часть документа/справочника, а все узлы, лежащие на одном уровне с ним, рассчитываются для каждой строки, полученной табличной части.Для правильного расчета необходимо располагать узел, определяющий саму табличную часть, первым в блоке для расчета всех реквизитов табличной части: | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <мТаблДок Имя='Услуги'> | ||
+ | <!--Первый узел определяет саму табличную часть--> | ||
+ | <ТаблДок Тип="ТабличнаяЧасть">[Документ].Услуги</ТаблДок> | ||
+ | <!--Далее идут узлы, рассчитывающиеся для каждой строки табличной части--> | ||
+ | <Номенклатура>[ТаблДок].Номенклатура</Номенклатура> | ||
+ | <ТаблДок_Код>[Номенклатура].Код</ТаблДок_Код> | ||
+ | ... | ||
+ | </мТаблДок> | ||
+ | </source> | ||
+ | |||
+ | Для табличной части с отбором при расчете возвращается первая строка, подходящая под условия отбора.Так, например, рассчитываются адреса и другая контактная информация участников документооборота. | ||
+ | ==Запрос== | ||
+ | Тип Запрос используется, когда получить нужное значение простым обращением к реквизитам нельзя, а требуются более сложные вычисления. Например, нужно выгрузить штрихкод номенклатуры, причем в приоритете должен выбираться штрихкод с типом EAN128. Простым отбором из регистра сделать такой выбор не получится, поэтом используем запрос с упорядочиванием: | ||
+ | <source lang="xml"> | ||
+ | <ШтрихКодВыборка Тип="Запрос" Отбор_Номенклатура="Номенклатура" Отбор_Характеристика="ХарактеристикаНоменклатуры">'ВЫБРАТЬ ПЕРВЫЕ 1 ШК.Штрихкод | ||
+ | ИЗ РегистрСведений.Штрихкоды ШК | ||
+ | ГДЕ Владелец = &Номенклатура И ШК.ХарактеристикаНоменклатуры = &Характеристика | ||
+ | УПОРЯДОЧИТЬ ПО ВЫБОР КОГДА ШК.ТипШтрихкода.Наименование = "EAN128" ТОГДА 1 ИНАЧЕ 2 КОНЕЦ'</ШтрихКодВыборка> | ||
+ | <ШтрихКод>[ШтрихКодВыборка].Штрихкод</ШтрихКод> | ||
+ | </source> | ||
+ | |||
+ | Все параметры запроса указываются в атрибутах Отбор_[Имя параметра]. | ||
+ | |||
+ | При указании атрибута Выбрать = "все" вернутся все записи запроса. В этом случае расчет будет происходить аналогично табличной части, то есть все узлы инишки из текущего блока будут рассчитываться для каждой строки из результата запроса. | ||
+ | |||
+ | Если атрибут Выбрать не указан, то в результате вернется только первая подходящая запись. | ||
+ | |||
+ | В следующих узлах можно обращаться к полям выборки из результата запроса. В данном примере идет обращение к полю Штрихкод. | ||
==Объект== | ==Объект== | ||
Строка 12: | Строка 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 КОНЕЦ'</ШтрихКодВыборка>
<ШтрихКод>[ШтрихКодВыборка].Штрихкод</ШтрихКод>
Все параметры запроса указываются в атрибутах Отбор_[Имя параметра].
При указании атрибута Выбрать = "все" вернутся все записи запроса. В этом случае расчет будет происходить аналогично табличной части, то есть все узлы инишки из текущего блока будут рассчитываться для каждой строки из результата запроса.
Если атрибут Выбрать не указан, то в результате вернется только первая подходящая запись.
В следующих узлах можно обращаться к полям выборки из результата запроса. В данном примере идет обращение к полю Штрихкод.
Объект
В значении должна быть указана ссылка на объект ИС. При обработке данного типа будет взята инишка из атрибута Ини и рассчитана по разделу указанному в атрибуте Формат.
Атрибуты:
- Ини - переопределяет какой инишкой рассчитывать. Если не указан берется дефолтная.
- Формат - переопределяет какой раздел инишки записывать в результирующий объект - по умолчанию Ид.
<Покупатель Тип="Объект" Ини="СинхВыгрузка_Контрагент" Формат="Ид">[_Документ].Контрагент</Покупатель>
Без типа
Если у параметра ини не указан тип, обработчик обрабатывает значения в зависимости от его типа. Массив, Структура (словарь), Строка.
Значение имеет тип Строка
Значение берется как есть, другие атрибуты не учитываются.