1с конвертация данных параметры конвертации
1с конвертация данных параметры конвертации
Мы знаем что такое правила обмена и зачем они нужны. Познакомимся более подробно с дополнительным функционалом работы с правилами обмена. Откроем настройки правил обмена данными (конвертации):
В правилах обмена задаются конфигурации источника и приемника для данных, кроме того:
Можно указать имя файла по умолчанию для сохранения правил обмена, модулей выгрузки и загрузки данных для 7.7, наименование правил обмена.
Допустим, офис принимает заказы исключительно на товары, поэтому желательно установить запрет на выгрузку услуг. Если для элемента справочника Номенклатура реквизит Услуга установлен Истина, то он гарантированно не должен выгружаться. Контроль выгрузки услуг лучше всего сразу сделать опциональным, чтобы не менять правила, в случае, если удаленный офис станет принимать заказы и на услуги.
Параметры – это специализированная структура данных в алгоритмах выгрузки, с помощью которой можно обращаться к переменным обработки. Настройка структуры параметров для правил конвертации осуществляется в конфигурации «Конвертация данных», а установка значений параметров возможна в форме обработки выгрузки и загрузки данных.
Для редактирования параметров откроем форму элемента справочника Конвертации для редактируемых правил обмена и перейдем на закладку параметры. Создадим новый элемент справочника Параметры. Присвоим имя параметра – ВыгружатьУслуги. Имя параметра служит для обращения к нему в структуре Параметры при написании программного кода в обработчиках. Наименование будет отображаться в табличной части Параметров в форме обработки универсального обмена данными. Для того, чтобы параметр был виден в диалоге при настройке выгрузки нужно установить флажок «Устанавливать в диалоге» и выбрать тип значения параметра. Для работы с параметрами в диалоге необходимо также установить флажок «Выгружать параметры в формате версии 2.01» в форме элемента справочника Конвертации.
Недостаточно просто указать параметры, надо чтобы алгоритм выполнения выгрузки «понимал», в каком случаем выгружать элемент, а в каком нет. Для подобных (и многих других) случаев используется механизм обработчиков. Суть его заключается в том, что в ключевых точках выполнения всех базовых алгоритмов выгрузки и загрузки данных обрабатывается код, написанный разработчиком при создании правил обмена. Естественно, что использование такого тонкого инструмента требует осторожности и продуманности. Мы рекомендуем перед написанием собственных обработчиков внимательно ознакомится со справкой к конфигурации «Конвертация данных 2.0», где описаны все доступные в обработчиках переменные и способы их использования, а также перечислены виды обработчиков и особенности их вызова в алгоритмах обмена данными.
Для нашей цели необходимо использовать обработчик правила выгрузки «Перед выгрузкой». Откроем правило выгрузки данных Номенклатура и поместим в поле «Перед выгрузкой» на закладке «События» следующий программный код:
Что же делает наш обработчик? При написании программного кода мы использовали переменные алгоритмов выгрузки данных. Структура Параметры служит для обращения к параметру ВыгружатьУслуги, который задается в форме обработки обмена данными. Переменная объект предоставляет доступ к выгружаемому объекту. А переменная Отказ позволяет контролировать отказ от выгрузки текущего объекта. Обработчик исполняется непосредственно перед началом выгрузки объекта, что и дает возможность отменить выгрузку объекта.
Наша задача решена, осталось только сохранить правила обмена в файле. После этого откроем универсальную обработку выгрузки и загрузки данных и посмотрим как изменилась ее логика работы:
Есть возможность передавать параметры из одной конфигурации в другую. Достаточно для этого на закладке «Параметры» установить флажок «Передавать параметр при выгрузке» и этот параметр будет помещен в файл обмена и к его значению можно будет обратиться при загрузке данных. Можно для параметра указать правило конвертации, согласно которому должны будут конвертироваться значения. При помощи флажка «Передавать параметр при выгрузке» можно передавать только те параметры, которые редактируются в диалоге при выгрузке данных. Если же нужно передать параметр, которые в этом диалоге не присутствует, то нужно вызвать процедуру:
На закладке Параметры выгрузки появился параметр, изменяя значения которого услуги либо выгружаются, либо не выгружаются.
На закладках Версии и Обновления можно посмотреть информацию о выгруженных и загруженных версиях правил обмена.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
| Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). |
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Лайфхаки конвертации данных 2.1
Чтобы выгрузить один объект источника в несколько объектов приемника, можно использовать мощный инструмент расширения возможностей правил конвертации – «ВыгрузитьПоПравилу».
ВыгрузитьПоПравилу(Источник,
Приемник,
ВходящиеДанные,
ИсходящиеДанные,
ИмяПКО,
УзелСсылки,
ТолькоПолучитьУзелСсылки,
ПКО,
ЭтоПравилоСГлобальнойВыгрузкойОбъектов,
ВыборкаДляВыгрузкиДанных)
Пример реальной задачи. Необходимо выгрузить справочник – «НоменклатурныеГруппы» в три объекта на стороне приемника: «НоменклатурнаяГруппа» (справочник), «ЗаказНаПроизводство» (документ), «СтатусыЗаказов» (регистр сведений). Для решения данной задачи можно использовать функцию «ВыгрузитьПоПравилу».
В правилах выгрузки данных (далее-ПВД) в обработчике «ПередОбработкой» происходит выгрузка в объект приемника «НоменклатурнаяГруппа» по стандартной выгрузке (ИмяПКО), а в обработчике «ПослеВыгрузки» происходит выгрузка в объекты «ЗаказНаПроизводство» и «СтатусыЗаказов» с помощью функции «ВыгрузитьПоПравилу»:
Если необходимо выгрузить иерархический справочник (элементы и папки) с учетом иерархии и поиск в базе приемника будет осуществляться по внутреннему идентификатору объекта источника (по полям поиска не будет продолжен поиск), то для корректной выгрузки иерархии необходимо установить галочку – «Поиск» у реквизита «ЭтоГруппа» (см. рисунок 1).
Рисунок 1 – Выгрузка иерархического справочника.
Если не установить галочку «Поиск» у реквизита «ЭтоГруппа», то папки объекта будут выгружаться как элементы.
Объекты регистрируются по правилам регистрации объектов к выгрузке только при изменении реквизитов объекта, которые указаны в правилах конвертации свойств (далее-ПКС) объекта (правила обмена данными). При необходимости регистрировать объект к выгрузке и при изменении реквизитов, которые не указаны в ПКС, достаточно данные реквизиты добавить в ПКС и установить галочку – «отключить».
Это может потребоваться для задачи, когда у нас есть реквизиты на стороне базы источника, которых нет в базе приемника, и только при их изменении объекты должны регистрироваться к обмену.
Когда стоит задача выгружать вместо регистрируемого объекта другой объект, то при регистрации исходного объекта в правилах регистрации объектов в обработчике «ПослеОбработки» через метод «ЗарегистрироватьИзменения» плана обмена можно зарегистрировать необходимый объект на узлах плана обмена.
ЗарегистрироватьИзменения (Узлы, Данные)
Пример реальной задачи. Несколько документов «Списания с расчетного счета» по одному документу «Заявка на расходование ДС» необходимо выгружать из конфигурации источника в один документ «Списания с расчетного счета» конфигурации приемника. При изменении документа «Списания с расчетного счета» регистрируется к обмену документ «Заявка на расходование ДС», который при выгрузке собирает по определенным правилам данные со всех документов «Списания с расчетного счета».
В продолжение пункта 4. При выгрузке любого объекта происходит проверка, соответствует ли он существующим правилам регистрации. Если при регистрации вместо исходного объекта регистрируется к выгрузке другой объект, то новый объект также будет проходить проверку по своему типу правил регистрации объектов. В случае несоответствия правилам регистрации, объект будет выгружать, как «УдалениеОбъекта».
Для устранения данной нестыковки выгружаемого объекта и правил регистрации объекта, нужно использовать в правилах регистрации в обработчике «ПослеОбработки» параметр «Выгрузка».
Описание параметра Выгрузка:
Выгрузка (только чтение) – Булево – параметр определяет контекст выполнения правила регистрации. Истина – правило регистрации выполняется в контексте выгрузки объекта. Ложь – правило регистрации выполняется в контексте перед записью объекта.
Если по одному объекту источнику в правилах конвертации объектов присутствуют несколько правил, то система будет использовать по умолчанию правило, которое совпадает по наименованию с наименованием объекта источника (см. рисунок 2).
Рисунок 2 – Выбор правила конвертации объекта по умолчанию.
Пример реальной задачи. Данный подход может пригодиться при выгрузке субконто, когда система определяет правила выгрузки объекта по умолчанию.
При необходимости создавать на стороне приемника новые элементы документов (справочников) и подставлять их в исходный объект, можно применить следующий подход:
— определить правило заполнения нового документа (справочника) на стороне приемника (например, через входящие данные);
— описать заполнение реквизита нового документа (справочника) в исходном объекте (например, через исходящие данные);
— заполнять при выгрузке на стороне источника новый документ (справочник) уникальным значением (например, числом).
Пример реальной задачи. Необходимо на стороне приемника создавать новые документы «ДокументРасчетовСКонтрагентом» в документе ввод начальных остатков по счетам взаиморасчетов. На стороне источника заполняем реквизит «ДокументРасчетовСКонтрагентом» при выгрузке начальных остатков по счетам взаиморасчетов уникальным значением (числом):
В исходном объекте («ВводНачальныхОстатков») описываем правила выгрузки реквизита «ДокументРасчетовСКонтрагентом»:
Определяем правило заполнения «ДокументаРасчетовСКонтрагентом» на стороне приемника (см. рисунок 3).
Рисунок 3 – Правили выгрузки «ДокументРасчетовСКонтрагентов».
В конвертации данных нельзя создать параметр с типом «ТаблицаЗначений» на вкладке «Параметры» (см. рисунок 4).
Рисунок 4 – Допустимые типы для параметров конвертации данных.
Возможность создать параметр с типом «ТаблицаЗначений» при необходимости присутствует в системе, необходимо в общем обработчике «ПередЗагрузкойДанных» определить параметр.
Также необходимо в общем обработчике «ПослеЗагрузкиДанных» удалить данный параметр.
При выгрузке из базы источника можно указывать вместо элемента перечисления или предопределенного значения справочника текстовое значение, которое равно наименованию элемента перечисления или предопределенного значения справочника.
Пример реальной задачи. В базе приемника присутствует реквизит с типом «Перечисление». При выгрузке реквизита (обработчик: «Перед выгрузкой») можно указать текстовое значение равное наименованию элемента перечисления на стороне базы приемника (см. рисунок 5). Данный подход может ускорить процесс разработки в конвертации данных.
Рисунок 5 – Заполнение реквизита с типом «Перечисление».
Когда необходимо выгрузить большой объем данных и нет необходимости выгружать полностью ссылочные данные, то можно сократить объем выгружаемых данных с помощью параметров «ВыгрузитьОбъект» («ВыгрузитьТолькоСсылку») в обработчике «ПриВыгрузке» правил конвертации свойств (ПКС):
Пример реальной задачи. Данное ускорение может потребоваться, когда все ссылочные объекты (нормативно-справочная информация) из базы источника ежедневно интегрируется в базу приемника, а документы должны транслироваться с определенным интервалом (раз в месяц). В таком случае при обмене документами между базами нет необходимости полностью передавать ссылочные объекты, а можно передавать только ссылку, что ускорит процесс выгрузки.
Рассмотренные приемы работы позволят повысить производительность и эффективность работы с программой конвертацией данных 2.1.
1с конвертация данных параметры конвертации
Общие сведения
Основные понятия
Информационная база – источник (ИБ-источник) – база из которой происходит перенос данных.
Информационная база – приемник (ИБ-приемник) – база, в которуе предстоит перенисти данные из ИБ-источника.
Файл описания конфигурации – XML – файл, содержащий описание структуры конфигурации. С помощью xml-файлов должна быть описана, как конфигурация-источник, так и конфигурация-приемник (создается обработкой MD81Exp.epf для конфигураций под 8.1)
Правила обмена – XML-файл, содержащий правила обмена данными между ИБ-источником и ИБ-приемником. (Правила обмена формируются при помощи специальной общей формы «Правила обмена», встроенной в конфигурацию «Конвертация данных»)
Укрупненная схема взаимосвязи объектов
Укрупненный алгоритм конвертации
4. Создать правила конвертации
Для этого необходимо открыть общую форму «Настройка правил обмена» либо через панель функций (пункт «Настройка правил обмена»), либо в списке справочника «Конвертации» нажать на кнопку «Перейти к правилам»)
Если выбрать пункт «Автоматически создавать все правила», то будет сделано именно то, что предлагается. Второй пункт «Создавать новое правило обмена» позволяет создать отдельно правило для того или иного объекта.
Стоит обратить внимание на то, что даже, если формируется правило для какого-то конкретного объекта (например, документ «Авансовый отчет»), то правила (если сильно не позаботиться об обратном) будут сформированы рекурсивно – включая те объекты, на которые есть ссылки у того объекта, для которого формируются правила, объекты, на которые есть ссылки в ссылках и т.д. Таким образом, могут быть сформированы правила фактически для всей базы.
Для того, чтобы победить описанную беду, необходимо использовать правила выгрузки данных. Допустим, у документа «Выгружаемый документ» в качестве основания может использоваться документы «Основание 1» и «Основание 2». Тогда все три документа будут присутствовать в правилах конвертации объектов (ПКО). Однако, если известно, что фактически в качестве основания используется только «Основание 1», то на закладке «Правила выгрузки данных» можно отметить те документы, которые не не надо выгружать
То есть, правила выгрузки данных уточняет, какие именно объекты и как выгружать.
5. Сохранить правила обмена данными в xml-файл.
После того, как мы сохраним правила обмена в xml-файл, будет «подготовлена почва» для проведения фактического обмена.
6. Один из возможных путей обмена:
Для ускорения выгрузки данных рекомендуется располагать правила выгрузки в таком порядке, что бы, если есть зависимые правила, то все ссылки были снизу вверх. То есть, в начале списка выгружаемых данных необходимо располагать объекты, которые ни на кого не ссылаются (Например, если справочник Пользователи ссылается на справочник Физические Лица, то рекомендуемый порядок выгрузки данных Физические Лица, Пользователи). Такой способ расположения объектов может существенно сказаться на скорости выгрузки данных.
Если в правиле конвертации объектов нет конвертации табличных частей или движений и в событиях перед выгрузкой данных нет обращений к самому выгружаемому объекту, то имеет смысл установить у правила Выгрузки данных Флажок «Выбирать данные для выгрузки одним запросом». Такой подход позволит при выгрузке данных одним запросом получить все данные, которые нужно выгружать и это может заметно сократить время выгрузки.
7. Правила очистки данных
Правила очистки выполняются в базе приемнике перед загрузкой объектов. С помощью этого инструмента можно пометить на удаление или удалить непосредственно объекты данных.
При переносе данных из ИБ-источника в ИБ-приемнике пометки будут сняты для переносимых объектов, так как в приемнике нет пометок и, следовательно, при синхронизации объектов, пометка снимается.
Для редактирования параметров откроем форму элемента справочника Конвертации для редактируемых правил обмена и перейдем на закладку параметры. Создадим новый элемент справочника Параметры. Присвоим имя параметра – ВыгружатьУслуги. Имя параметра служит для обращения к нему в структуре Параметры при написании программного кода в обработчиках. Наименование будет отображаться в табличной части Параметров в форме обработки универсального обмена данными. Для того, чтобы параметр был виден в диалоге при настройке выгрузки нужно установить флажок «Устанавливать в диалоге» и выбрать тип значения параметра. Для работы с параметрами в диалоге необходимо также установить флажок «Выгружать параметры в формате версии 2.01» в форме элемента справочника Конвертации.
Есть возможность передавать параметры из одной конфигурации в другую. Достаточно для этого на закладке «Параметры» установить флажок «Передавать параметр при выгрузке» и этот параметр будет помещен в файл обмена и к его значению можно будет обратиться при загрузке данных. Можно для параметра указать правило конвертации, согласно которому должны будут конвертироваться значения. При помощи флажка «Передавать параметр при выгрузке» можно передавать только те параметры, которые редактируются в диалоге при выгрузке данных. Если же нужно передать параметр, которые в этом диалоге не присутствует, то нужно вызвать процедуру:
Процедура ПередатьОдинПараметрВПриемник(Имя, ИсходноеЗначениеПараметра, ПравилоКонвертации = «») Экспорт
1с конвертация данных параметры конвертации
Как мы уже знаем, правила конвертации свойств используются для сопоставления реквизитов обменивающихся объектов. Естественно, что в правиле конвертации задаются реквизит из объекта источника и объекта приемника.
Кроме того, для ссылочных реквизитов можно указать правило конвертации объектов, которое необходимо применить для переноса значения данного реквизита.
Функционал, позволяющий передавать дополнительные параметры в информационную базу приемник из источника.
Доступ к этим данным возможен в событии правила конвертации объекта «После загрузки». Например, так:
Выгружать элементы группы через промежуточный файл — флаг определяет как выгружать объекты данного типа, через промежуточный файл (экономично с точки зрения оперативной памяти) или напрямую через память (оптимально по скорости, но при больших объемах передаваемых данных оперативная память может закончится).
На закладке «Дополнительно» можно редактировать вхождение правила в определенную группу, а так же его описание. Наименование правила формируется автоматически и недоступно для изменения.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
| Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). |
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Конвертация данных, редакция 3.0
КД3.0 не является заменой конфигурации Конвертация данных, редакция 2.0 (далее КД2.0 ), но аналогична ей по характеру решаемых задач, общий смысл которых сводится к упрощению разработки логики конвертации данных за счет представления ее объектной модели.
Главной особенностью КД3.0 является концепция конвертации данных (см. рисунок):
Следуя из этого список отличий КД3.0 от КД2.0 можно свести к нескольким пунктам:
В совокупности все эти компоненты реализуют функциональность, связанную с обработкой данных в процессе их получения, либо отправки:
Общий порядок выполнения правил конвертации при выполнении процедур отправки и получения данных представлен на схеме:
Свойства объектов, которые не выгружались, не являются ключевыми и конвертируются через соответствие (без алгоритма) в приемник загружаться не будут. Т.е. если из источника свойство не выгружалось, то в приемнике не произойдет замена соответствующего свойства на пустое значение. Описанное поведение характерно для конфигурация, где версия БСП не ниже 3.1.4.
Часто возникают ситуации, когда нет возможности заполнить свойство получателя на основании определенного свойства источника. Например, свойство заполняется по совокупности нескольких свойств, либо свойству присваивается некоторое предопределенное значение.
В этом случае в правиле конвертации свойства:
Установленный признак Используется алгоритм конвертации дает понять алгоритмам выгрузки и загрузки данных, что заполнение данного свойства предусмотрено обработчиками:
Конвертация свойств по правилам конвертации объектов
Вариант №1. Правило конвертации свойства можно указать однозначно.
Пример: свойство Организация в большинстве типовых конфигураций.
Вариант №2. Правило конвертации зависит от данных конвертируемого объекта.
Пример кода для отправки:
Если ДокументРеализации <> Неопределено Тогда
ИмяПКО = «Документ_РеализацияТоваровУслуг_Отправка»;
Если ТипЗнч(ДокументРеализации) = Тип(«ДокументСсылка.ОтчетОРозничныхПродажах») Тогда
ИмяПКО = «Документ_ОтчетОРозничныхПродажах_Отправка»;
КонецЕсли;
ДанныеXDTO.Вставить(«ДокументРеализации», Новый Структура(«Значение, ИмяПКО», ДокументРеализации, ИмяПКО));
КонецЕсли;
Пример кода для получения:
Конвертация табличных частей с помощью алгоритмов конвертации
Методика конвертации в правилах конвертации объектов для отправки:
Пример кода для отправки табличной части РасшифровкаПлатежа :
ТабРП = Новый ТаблицаЗначений;
ТабРП.Колонки.Добавить(«СтатьяДДС»);
ТабРП.Колонки.Добавить(«Заказ»);
ТабРП.Колонки.Добавить(«Сумма»);
ТабРП.Колонки.Добавить(«СуммаНДС»);
ТабРП.Колонки.Добавить(«СтавкаНДС»);
Для Каждого СтрокаРП_ИБ Из ДанныеИБ.РасшифровкаПлатежа Цикл
НоваяСтрокаРП = ТабРП.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаРП, СтрокаРП_ИБ, «СтатьяДДС,Сумма,СуммаНДС,СтавкаНДС»);
Если ЗначениеЗаполнено(СтрокаРП_ИБ.Заказ) Тогда
ТипСсылки = ТипЗнч(СтрокаРП_ИБ.Заказ);
ИмяПКО = «»;
Если ТипСсылки = Тип(«ДокументСсылка.ПоступлениеТоваровУслуг») Тогда
ИмяПКО = «Документ_ПоступлениеТоваровУслуг_Отправка»;
ИначеЕсли ТипСсылки = Тип(«ДокументСсылка.ПоступлениеУслугПрочихАктивов») Тогда
ИмяПКО = «Документ_ПоступлениеУслугПрочихАктивов_Отправка»;
ИначеЕсли ТипСсылки = Тип(«ДокументСсылка.ТаможеннаяДекларацияИмпорт») Тогда
ИмяПКО = «Документ_ТаможеннаяДекларация_Отправка»;
ИначеЕсли ТипСсылки = Тип(«ДокументСсылка.ОтчетКомиссионера») Тогда
ИмяПКО = «Документ_ОтчетКомиссионера_Отправка»;
ИначеЕсли ТипСсылки = Тип(«ДокументСсылка.ЗаказКлиента») Тогда
ИмяПКО = «Документ_ЗаказКлиента_Отправка»;
КонецЕсли;
Если ИмяПКО <> «» Тогда
НоваяСтрокаРП.Заказ = Новый Структура(«Значение, ИмяПКО», СтрокаРП_ИБ.Заказ, ИмяПКО);
Методика конвертации в правилах конвертации объектов для получения:
Пример кода для получения табличной части РасшифровкаПлатежа :
МассивСтрокРасшифровка = Новый Массив;
Для Каждого Строка Из ДанныеXDTO.РасшифровкаПлатежа Цикл
СтруктураДанныхСтроки = Новый Структура;
СтруктураДанныхСтроки.Вставить(«Сумма», Строка.Сумма);
СтруктураДанныхСтроки.Вставить(«СуммаВзаиморасчетов», Строка.СуммаВзаиморасчетов);
СтруктураДанныхСтроки.Вставить(«СтатьяДДС», Строка.СтатьяДвиженияДенежныхСредств);
Конвертация табличных частей без использования алгоритмов конвертации
В версии 3.0.5 конфигурации Конвертация данных появилась возможность создавать правила конвертации для табличных частей и их свойств без написания кода алгоритмов ПКО. Для использования данной возможности должно выполняться 2 условия:
Возможен другой комбинированный сценарий, при котором часть свойств табличной части конвертируется только на основе ПКС, другая часть конвертируется при помощи алгоритма. В этом случае часть ПКС будет без указания источника, с включенным признаком Используется алгоритм конвертации.
Запрос = Новый Запрос(
«ВЫБРАТЬ
| _ДемоПоступлениеТоваровТовары.Номенклатура.СтранаПроисхождения КАК СтранаПроисхождения,
| ВЫРАЗИТЬ(_ДемоПоступлениеТоваровТовары.Цена * _ДемоПоступлениеТоваровТовары.Количество КАК ЧИСЛО(15, 2)) КАК Сумма
|ИЗ
| Документ._ДемоПоступлениеТоваров.Товары КАК _ДемоПоступлениеТоваровТовары
|ГДЕ
| _ДемоПоступлениеТоваровТовары.Ссылка = &Ссылка
|УПОРЯДОЧИТЬ ПО НомерСтроки»);
Запрос.УстановитьПараметр(«Ссылка», ДанныеИБ.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
// Товары
ИндексСтроки = 0;
ТекСтавкаНДС = ПолучитьСтавкуНДСДокумента(ДанныеИБ.СтавкаНДС);
Пока Выборка.Следующий() Цикл
СтрокаТовары = ДанныеXDTO.Товары[ИндексСтроки];
СтрокаТовары.СтавкаНДС = ТекСтавкаНДС;
СтрокаТовары.НомерГТД = «»;
СтрокаТовары.ЕдиницаИзмерения = Новый Структура(«Ссылка,Код»,»»,»796″);
СтрокаТовары.Сумма = Выборка.Сумма;
СтрокаТовары.СтранаПроисхождения = Выборка.СтранаПроисхождения;
ИндексСтроки = ИндексСтроки + 1;
КонецЦикла;
МассивСтрокТовары = Новый Массив;
Если ДанныеXDTO.Свойство(«Товары»)
И ЗначениеЗаполнено(ДанныеXDTO.Товары) Тогда
ИндексСтроки = 0;
Для Каждого Строка Из ДанныеXDTO.Товары Цикл
СтрокаТЧ = ПолученныеДанные.Товары[ИндексСтроки];
СтрокаТЧ.Цена = Строка.Цена;
ИндексСтроки = ИндексСтроки + 1;
КонецЦикла;
КонецЕсли;
Процесс разработки конвертации в КД3.0 осуществляется по принципу компоновки элементов конвертации. Для упрощения параллельной разработки нескольких обменов данными в КД3.0 предусмотрена возможность использования общих элементов конвертации: ПОД, ПКО, ПКПД, алгоритмов (см. рисунок):
Управлять составом конвертаций можно с помощью команд Добавить элемент в состав конвертации и Выделить элемент из состава конвертаций доступными из форм функциональных компонентов.
Команда Добавить элемент в состав конвертации создает в КД3.0 связь между текущим элементом и конвертацией, указанной в форме выбора.
С помощью команды Выделить элемент из состава конвертаций выполняется операция «отпочкования»: создается вторая версия текущего элемента и привязывается к тем конвертациям, с которых был снят флаг в форме редактирования состава конвертаций, использующих текущий элемент.
Ниже приведены примеры использования общих элементов конвертации.




































