Как задать значение приемнику в конвертации 2
Приветствую форумчане.
Есть 2 базы
УТ 11 и бух 3
Делаю правила конвертации значений для перегрузки документа в из ут в бух.
В бух есть значение «Способ зачета аванса» Которого нет в ут. Объект у него перечисления. с тремя значениями.
Как создать правила «конвертации значений» когда не важно значение источника и при этом в приемнике значение всегда равно определенному типу?
На данном этапе в источнике значение «Не определено» в приемнике необходимое значение. Но правила не загружаться в обработку обмена в таком варианте. Им необходимо значение в источнике. Можно ли указать в источнике «любое значение»?
перед выгрузкой свойства пишешь, по какому условию должно быть твое значение и просто
Значение = «нужное значение перечисления»
1С:Конвертация данных. Как заполнить реквизит в приемнике определенным значением

При разработке правил конвертации данных, нередко возникают ситуации, когда требуется заполнить определенные реквизиты конвертируемого объекта в приемнике. Рассмотрим пример. В конфигурациях (Источник, Приемник) есть справочники «Контрагенты». Отличаются они набором реквизитов. В конфигурации «Приемник» — у справочника «Контрагенты» есть обязательный для заполнения реквизит «Организация». В «Источник» такого реквизита нет, поэтому как вариант решения задачи можно заполнять реквизит «Организация» непосредственно при загрузке в приемник.
Как решить эту задачу с минимальными затратами? Есть несколько способов. Самый простой случай – передать предопределенное значение. Вариант «прокатит», если в конфигурации «Приемник» справочник «Организации» содержит нужный нам предопределенный элемент. В этом случае мы должны создать для соответствующего правила конвертации объекта (в нашем случае для ПКО «Контрагенты») обработчик события «После загрузки» и в нем обратиться к предопределенному элементу:
Объект.Организация = Справочники.Организации.МояОрганизация;
Либо сделать это в обработчике «При выгрузке» нужно нам свойства, воспользовавшись выражением:
Выражение = "Справочники.Организации.ИмяПредопределенногоЭлемента";
Аналогичным образом можно выполнить поиск или получение значения из какого-либо другого места. Тут как душа пожелает.
Однако, бывают более сложные случаи переноса данных. Пример из реальной практикb. В базе «Приемник» у справочника есть реквизит «Подразделение», а в базе «источник» ничего похожего нет. Более того, подразделение должно ставиться элементам не одно и то же, а выбираться на основе определенного ключа. Сам же этот ключ содержится в одноименном реквизите справочника «Контрагенты» базы «Источник». На практике это может выглядеть так:

Наша задача во время конвертации брать значение из реквизита «КОНТ_Подразделение» и по нему выполнять поиск в справочнике «Подразделения» базы приемник. Для упрощения договоримся, что значение «КОНТ_Подразделение» совпадает с кодом элемента справочника «Подразделения».
Первым делом нам понадобится служебное правило конвертации объекта. Добавляем ПКО и в мастере создания заполняем:
- Объект информационной базы источника. Оставляем пустым.
- Объект информационной базы приемника. Выбираем ссылку на объект метаданных (в моем случае «СправочникСсылка.ПодразделенияОрганизаций»).
- Имя правила конвертации объектов. Указываем имя правила. Я в качестве имени указал «Агенты_ПодразделениеОрганизаций».

Нажимаем «далее» и в следующем окне мастера обязательно снимаем флажок с «Искать объект приемника по внутреннему идентификатору объекта источника». Сохраняем получившееся правило конвертации объекта.
Отлично, ПКО есть. Теперь создадим для него одно правило конвертации свойств (ПКС). В окне создания нового ПКС необходимо заполнить:
- Источник. Оставляем поле пустым.
- Приемник. Выбираем «Код».
- Ставим флаг «Поиск объекта при загрузке по свойству»;
- В обработчике события «Перед выгрузкой» пишем незамысловатую строчку кода:
Значение = Источник;

Теперь остается только создать ПКС для переносимого объекта (в моем случае справочник «Агенты») и указать для свойства правило конвертации объекта, которое мы только что создали. Выбираем ПКО «Агенты» (вы можете проделать подобный трюк для другого ПКО) и добавляем новое ПКС. В окне создания ПКС заполняем:
На картинке это выглядит следующим образом:

Все, на этой ноте можно поставить жирную точку. Нестандартное правило готово и можно приступать к тестированию.
Еще записи по теме
- Как убрать пароль пользователя в 1С:Предприятие 8
- Адаптивный web-дизайн
- sailsCasts. Пример разработки приложения на sails.js
- Системный администратор 04/2015. Конвертация: Правильная миграция данных в 1С
- Мастер-класс по OneScript в Хабаровске
- Первые проблемы с 1С:Предприятие 8.3.6
- Пример создания HTTP-сервиса в 1С:Предприятие 8.3. Часть 2. Кейсы
Организация конвертации данных и обмена данными с помощью конфигурации «Конвертация данных 2.0»
В этом методическом руководстве описаны принципы организации конвертации данных и обмена данными между типовыми конфигурациями на платформах «1С:Предприятие 8» и «1С:Предприятие 7.7» при помощи конфигурации «Конвертация данных 2.0». При написании данного материала мы решили пойти по пути демонстрации общей концепции конфигурации «Конвертация данных 2.0» и приемов работы посредством разбора типичных ситуаций, возникающих в практике конвертации данных между типовыми конфигурациями. Как показывает опыт, такой способ изложения наиболее эффективен, поскольку позволяет специалисту быстро приобрести навыки использования средств конфигурации в своей повседневной деятельности.
Для работы с методическим руководством вам понадобится конфигурация «Конвертация данных 2.0» версии 2.09.1, внешние обработки MD80Exp.epf и V8Exchan.epf, поставляемые с релизом конфигурации «Конвертация данных 2.0». Для реализации механизма обмена данными, описанного в руководстве, необходима конфигурация «Управление торговлей 10.2» версии 10.2.5 или выше.
Общие принципы конвертации данных
Конфигурация «Конвертация данных 2.0» является мощным средством для организации конвертации данных между конфигурациями любой структуры и сложности, функционирующими как на платформе «1С:Предприятие 7.7», так и на платформе «1С:Предприятие 8». Рассмотрим общую схему конвертации данных между конфигурациями, созданными на платформе «1С:Предприятие 8».
Обмен данными по технологии «Конвертация данных 2.0» можно разделить на две стадии – стадию подготовки правил обмена и стадию обмена данными. Самым сложным и ответственным этапом, безусловно, является подготовка правил обмена. Процесс подготовки правил обмена представлен на схеме 1 . Как видно на схеме, основным «сырьем» для подготовки правил выступает XML -описание структуры метаданных информационных баз, которые участвуют в обмене. Описание метаданных готовится с помощью внешней обработки MD80Exp.epf (для конфигураций на платформе «1С:Предприятие 8») в виде XML-файла. Затем этот файл обрабатывается средствами конфигурации «Конвертация данных 2.0». В базе конвертации создаются специализированные объекты для описания метаданных, на основе которых будут готовиться правила обмена данными.
Ключевые задачи при подготовке правил обмена – настройка соответствий между объектами метаданных конфигураций источника и приемника и настройка соответствий между свойствами объектов (реквизитами объектов и табличных частей). Процесс подготовки файла обмена заканчивается генерацией XML-файла правил и условно разделяется на следующие этапы:
- Установка конфигураций источника и приемника, общая настройка правил обмена.
- Настройка соответствий между объектами метаданных источника и приемника – создание правил конвертации объектов.
- Настройка соответствий между свойствами объектов в рамках правил конвертации объектов, в том числе установка соответствий значений перечислений – создание правил конвертации свойств и правил конвертации значений.
- Настройка принципов выборки объектов для выгрузки – создание правил выгрузки.
- Настройка операций, проводящихся перед загрузкой данных, – создание правил очистки данных.
- Дополнительная настройка обработчиков событий.
Содержание этих технологических этапов будет развернуто при разборе примера в следующих параграфах руководства. Поэтому для лучшего понимания рекомендуем в процессе изучения примера по созданию правил обмена обращаться к технологическим схемам.
Вторая стадия – собственно обмен данными. Это стадия использования подготовленных правил конвертации. Как видно из схемы 2 , с помощью внешней обработки V8Exchan.efd, которая использует файл правил обмена, в конфигурации-источнике формируется XML-файл данных. Выгрузка данных производится обработкой в соответствии с правилами обмена, поэтому в файле данных находятся уже сконвертированные данные, предназначенные для загрузки в источник, а также правила, содержащие обработчики, исполняемые при загрузке данных. Таким образом, при загрузке используется только один файл, который обрабатывается той же обработкой V8Exchan.efd.
Для первого знакомства с концепцией системы «Конвертация данных 2.0» рассмотрим решение задачи, с которой сталкивалось подавляющее большинство специалистов, работающих с типовыми конфигурациями: перенос данных справочника из одной информационной базы в другую.
Предположим, что для организации нового рабочего места на торговом предприятии необходимо из текущей базы данных предприятия в новую базу данных перенести информацию о товарах. Такая ситуация может возникнуть при создании отдельной информационной базы филиала компании, удаленной торговой точки, склада и пр.
Поскольку пример рассматривается в целях ознакомления с общей концепцией конфигурации «Конвертация данных 2.0», рассмотрим простейший случай, когда в конфигурации источник и приемник идентичны, учет ведется в типовой конфигурации «Управление торговлей 10.2». Наша задача, соответственно, состоит в том, чтобы корректно перенести в новую базу данных справочник Номенклатура .
Готовим описание метаданных
Для подготовки правил обмена необходимо получить информацию о структуре конфигураций источника и приемника данных. Для этих целей используется внешняя обработка MD80Exp.epf для конфигураций на платформе «1С:Предприятие 8» и MD77Exp.ert для конфигураций на платформе «1С:Предприятие 7.7». Напомним, что эти обработки входят в комплект дистрибутива конфигурации «Конвертация данных 2.0».
Для подготовки XML-файла, содержащего описание структуры метаданных конфигурации «Управление торговлей 10.2», нужно запустить внешнюю обработку MD80Exp.epf, указать путь для XML-файла и нажать кнопку Выгрузить . Флажки настроек позволяют отключать выгрузку некоторых объектов метаданных для ускорения выполнения обработки.

Формирование описания структуры метаданных займет некоторое время. После завершения обработки мы получили XML-файл, содержащий описание метаданных конфигурации «Управление торговлей 10.2» в формате конфигурации «Конвертация данных 2.0».
Теперь нам необходимо загрузить полученное описание метаданных в информационную базу конфигурации «Конвертация данных 2.0» для подготовки правил обмена. Для этого запустим конфигурацию «Конвертация данных 2.0» и откроем обработку Загрузка описания метаданных с помощью кнопки Загрузка описания структуры конфигурации на панели интерфейса. В поле Имя файла выберем файл описания метаданных, который мы только что подготовили. И нажмем Выполнить загрузку для запуска обработки.

Обратите внимание, что в форме обработки установлен флажок Новая конфигурация . При его отключении можно произвести обновление уже загруженного описания метаданных.
Для хранения описаний структуры метаданных в конфигурации «Конвертация данных 2.0» используются справочники Конфигурации , Объекты , Свойства и Значения . Справочник Конфигурации предназначен для хранения общей информации о конфигурации. Справочник Объекты хранит описания объектов метаданных и подчинен справочнику Конфигурации . Справочник Свойства нужен для регистрации реквизитов объектов и реквизитов табличных частей. Справочник Значения предназначен для хранения значений перечислений и предопределенных элементов объектов метаданных конфигураций. С помощью этих справочников полностью описывается структура метаданных любых конфигураций, созданных как на платформе «1С:Предприятие 8», так и на платформе «1С:Предприятие 7.7». Все справочники не предусматривают редактирования вручную.
Для просмотра структуры метаданных той или иной конфигурации предназначена обработка Объекты метаданных конфигурации . Запустим обработку нажатием кнопки Описание конфигурации на панели интерфейса и выберем для просмотра конфигурацию «Управление торговлей».

В верхней части формы в виде дерева представлена структура метаданных. В табличной части на закладке Свойства показаны реквизиты, табличные части объектов метаданных. Для документов дополнительно показана структура записей регистров, движения по которым делает соответствующий документ.
Так как в рамках нашей задачи конфигурация-источник и конфигурация-приемник идентичны, подготовительный этап создания правил обмена закончен. В случае, когда нужно организовать обмен между конфигурациями разной структуры, весь процесс нужно повторить для второй конфигурации.
Создаем правила конвертации
Теперь, когда мы загрузили структуру метаданных конфигураций, используемых в обмене, можно начинать подготовку правил обмена. Обратите внимание, что на этом этапе работа будет проводиться исключительно в конфигурации «Конвертация данных 2.0», без обращения к конфигурациям
– участникам обмена. Это позволяет эффективно организовать работу даже в том случае, когда конфигурации источник и приемник для вас недоступны, а имеются только их описания в виде XML-файлов.
Первое, что нам необходимо сделать, – это зарегистрировать в информационной базе новый элемент справочника Конвертации . Откроем справочник с помощью меню Справочники и создадим новый элемент. В качестве источника и приемника выберем «Управление торговлей», поскольку перенос данных мы планируем проводить в идентичную конфигурацию. Наименование конвертации определим с помощью кнопки Сформировать . В поле Имя файла правил обмена укажем путь к XML-файлу для выгрузки правил обмена.
Обратите внимание, что для одной и той же пары конфигураций мы можем создавать и редактировать несколько правил обмена данными, предназначенных для разных целей.

Для настройки правил перейдем к форме Настройка правил обмена . Она вызывается из панели интерфейса одноименной кнопкой. Выберем для редактирования правила обмена УправлениеТорговлей —> УправлениеТорговлей .
Теперь наша задача – определить, какие объекты в конфигурации-приемнике будут соответствовать объектам конфигурации-источника. Для этого предназначен справочник Правила конвертации объектов . Для каждого объекта реквизита и табличной части (свойства в терминологии «Конвертация данных 2.0») конфигурации приемника мы должны указать соответствие свойству объекта источника или способ заполнения. За эту функцию отвечает справочник Правила конвертации свойств , подчиненный элементам справочника Правила конвертации объектов . В форме Настройка правил обмена они показаны на закладках Правила конвертации и Свойства .
Очевидно, для корректной перегрузки справочника Номенклатура нам нужно создать правило конвертации для этого справочника и правила конвертации свойств для каждого реквизита.
Создать правило конвертации можно вручную, но проще воспользоваться сервисом конфигурации. С помощью пункта Синхронизация объектов подменю Обработки запустим обработку Автонастройка правил конвертации объектов . Мы видим, что обработка провела автоматическую синхронизацию всех объектов по наименованию, а нам предлагается воспользоваться результатом, устанавливая или снимая флажки. С помощью обработки можно создавать сразу множество правил. Для нашего случая оставим выбранным только справочник Номенклатура .

По кнопке Записать будет создано новое правило конвертации объекта. Закроем форму автосинхронизации и вернемся к настройке правил. Мы видим, что в дереве правил конвертации появилось правило Номенклатура . Данное правило описывает конвертацию данных справочника Номенклатура конфигурации-источника в конфигурацию-приемник.

Теперь перейдем к формированию правил конвертации свойств. Воспользуемся обработкой автонастройки свойств (пункт Синхронизация свойств объектов подменю Обработки ). Так же как и для объектов, автонастройка проанализирует реквизиты источника и приемника и предложит нам вариант установления соответствий.

Оставим все флажки установленными. По нажатию кнопки Записать для всех выбранных соответствий реквизитов будут созданы правила конвертации.

Настраиваем правила конвертации свойств
Итак, всю «черную» работу за нас выполнили обработки автосинхронизации. Теперь рассмотрим более детально результат и внесем необходимые коррективы.
Обратим внимание, что часть правил конвертации свойств может быть отключена с помощью флажка в колонке Отключить табличной части, на закладке Конвертация свойств . При отключении правила оно не будет исполнятся, а реквизиты источника, указанные в нем, выгружены не будут. Для того чтобы несколько облегчить себе задачу, отключим некоторые правила конвертации свойств. Поставим флажки Отключить в правилах ОтветственныйМенеджер , ОсновнойПоставщик , СтатьяЗатрат , НоменклатурнаяГруппаЗатрат , ВесовойКоэффициентВхождения , ТипШтрихКода и ОсновоеИзображение , предполагая, что учет закупок и затрат в базе-приемнике будет организован без использования данных из базы-источника, учет штрихкодов вестись не будет, а изображения товаров не зарегистрированы.
Если загрузка данных ведется в «пустую» базу, то все объекты создаются «заново». Однако если часть данных уже имеется, а нужно только обновить ряд реквизитов, то необходимо задать принцип, по которому будет устанавливаться соответствие объектов. Для этого можно воспользоваться флажками в колонке Поиск табличной части, на закладке Конвертация свойств . Если мы устанавливаем флажок, то перед обработкой объекта алгоритм загрузки будет искать объект по значению реквизита приемника, указанного в правиле. Установим флажок на правиле конвертации свойств Код . Теперь элементы справочника Номенклатура при загрузке будут синхронизированы по коду. Перед загрузкой будет проводиться поиск по коду, и, если элемент справочника найден, он будет перезаписан с новыми значениями реквизитов.
Если же в колонке Поиск не будет установленных флажков, то для справочника Номенклатура элемент при каждой загрузке будет создаваться заново. Это может иметь очень неприятные последствия, если вы по ошибке запустите загрузку вторично. Новые элементы будут дублироваться даже в случае, когда у справочника включена уникальность кодов и есть элементы с такими же кодами.
Реквизиты справочника Номенклатура имеют разные типы. Для реквизитов типа Число , Строка , Дата , Булево механизм установки значений очевиден — значение реквизита объекта-источника присваивается реквизиту объекта-приемника. Но как быть, если реквизит имеет ссылочный тип, как, например, реквизит БазоваяЕдиницаИзмерения справочника Номенклатура . Очевидно, что в том случае, если ссылка не обнаружена, должен быть создан новый объект в базе-приемнике. Для этого нам нужно описать новое правило конвертации для справочника КлассификаторЕдиницИзмерения , а потом указать в правиле конвертации свойств для реквизита БазоваяЕдиницаИзмерения это правило как «Правило конвертации».
Сложный по описанию механизм очень прост в реализации. Опыт создания правил конвертации нами уже накоплен при создании правила конвертации справочника Номенклатура . Поэтому, руководствуясь методикой предыдущего раздела, создаем новое правило конвертации объектов для справочника КлассификаторЕдиницИзмерения .

Теперь осталось назначить новое правило конвертации объектов для правила конвертации свойств БазоваяЕдиницаИзмерения . Это нужно сделать в форме элементы справочника, открыв ее двойным щелчком мыши на соответствующей строке таблицы правил конвертации свойств.

Но кроме реквизита БазоваяЕдиницаИзмерения у нас имеются еще реквизиты ссылочного типа. Проанализируем их по порядку. Для реквизита Родитель правило конвертации уже назначено при генерации обработкой. Для корректной перегрузки остальных реквизитов нам необходимо создать дополнительно правила конвертации объектов для справочников ЕдиницыИзмерения , НоменклатурнаяГруппа , КлассификаторСтранМира и НомерГТД . Конвертацию перечисления СтавкиНДС мы пока отложим.
Воспользуемся еще раз обработкой автосинхронизации объектов. С ее помощью мы сможем создать сразу все нужные нам правила конвертации объектов.

Для потокового создания правил конвертации свойств запустим обработку Групповое создание правил конвертации свойств/значений (пункт Групповое создание правил конвертации свойств/значений подменю Обработки ). В списке отключим правила Номенклатура и КлассификаторЕдиницИзмерения , для которых мы уже создали правила конвертации свойств.

В результате у нас появятся уже семь правил конвертации. Обратите внимание, что правило СтавкиНДС создано автоматически в процесс группового создания свойств. Эта обработка не только создает правила конвертации свойств, но и контролирует наличие правил конвертации для объектов ссылочного типа, поэтому при обработке реквизита СтавкаНДС было создано правило конвертации СтавкиНДС.

После этого нам необходимо установить вручную правила конвертации для реквизитов, имеющих ссылочные типы. Если бы мы воспользовались обработкой Групповое создание правил конвертации свойств/значений сразу, то это не потребовалось бы, так как соответствующие правила конвертации были бы созданы автоматически. Однако первый вариант создания правил был более нагляден для понимания структуры объектов конфигурации. Итак, мы должны заполнить правила конвертации для реквизитов ЕдиницаХраненияОстатков , СтавкаНДС , НоменклатурнаяГруппа , СтранаПроисхождения , НомерГТД .
Теперь вернемся к конвертации перечисления СтавкиНДС . Правило конвертации уже создано, поэтому остается только определить соответствия между значения приемника и источника. Это легко сделать с помощью обработки Автонастройка правил конвертации значений (пункт Синхронизация значений объектов подменю Обработки ).

На этом наша работа практически завершена. Осталось установить реквизиты синхронизации для правил конвертации объектов, которые мы создавали потоковой обработкой. Для этого перейдем к закладке Синхронизация и нажмем Обновить .

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

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

На этом работа по редактированию правил завершена. Поскольку наша задача
– осуществить перенос справочника Номенклатуры , то полностью будет выгружаться только справочник Номенклатура , элементы других справочников будут выгружаться только при наличии на них ссылок в элементах справочника Номенклатура . Нужно отметить, что в алгоритмах выгрузки данных универсальной обработки V8Exchan.epf предусмотрен механизм предотвращения повторной выгрузки объектов. Каждый объект выгружается только один раз, если иное не предусмотрено настройками правил. Это сделано для того, чтобы сделать файл данных компактным и ускорить процесс выгрузки данных.
Теперь можно перейти к генерации файла правил обмена.
Для выполнения этой операции вызовем обработку Выгрузка правил обмена по кнопке Сохранить правила . В форме обработке укажем XML-файл для сохранения правил. По умолчанию это поле будет заполнено из элемента справочника Конвертации . Сохраним правила в файл с помощью кнопки Выполнить .

Теперь можно приступить к финальной стадии. Откроем базу-источник и запустим обработку V8Exchan.epf. В поле Имя файла данных нужно указать имя файла выгрузки. В поле Имя файла правил выберем только что созданный файл правил обмена и нажмем кнопку Загрузить правила .

С помощью кнопки Выгрузить данные запустим обработку выгрузки. Обратите внимание, что выгрузка данных может занять значительное время.
Итак, в результате использования обработки V8Exchan.epf мы получили XML-файл, подготовленный для загрузки в базу-приемник. Откроем теперь информационную базу-приемник и запустим ту же самую V8Exchan.epf. Только теперь нас интересует закладка Загрузка данных . В поле Имя файла данных выберем файл данных, созданный выгрузкой, и нажмем Загрузить данные . После некоторого ожидания – результат получен!

Дальнейшая доработка правил обмена
Через некоторое время наше торговое предприятие принимает решение открыть офис по приему заказов на продукты питания в пригороде. Для эффективной работы необходимо постоянно иметь в базе данных офиса актуальную версию справочника Номенклатура . Причем было решено каждый раз помечать на удаление те номенклатурные позиции, которых в настоящий момент нет на складе в центральном офисе. Загрузка справочника должна производиться еженедельно. При этом товары, зарегистрированные в базе данных офиса, заказ которых стал невозможен (например, нет на складе), должны быть помечены на удаление, или при восстановлении доступности номенклатурной позиции для заказа пометка удаления должна быть снята.
Реализовать такой механизм нам поможет использование правил очистки данных. Правила очистки выполняются в базе-приемнике перед загрузкой объектов. С помощью этого инструмента можно пометить на удаление или удалить непосредственно объекты данных. В нашем случае мы будем ставить пометки на удаление у элементов справочника Номенклатура . При синхронизации элемента справочника в момент загрузки пометка будет снята, поскольку загружаемые элементы номенклатуры не имеют пометки на удаление. Таким образом, все «лишние» элементы, отсутствующие в загружаемом файле, останутся помеченными на удаление.
Для создания правил очистки вернемся в знакомую нам форму настройки правил обмена. Выберем для редактирования элемент справочника Конвертации УправлениеТорговлей —> УправлениеТорговлей , перейдем к закладке Правила очистки данных и создадим новое правило.
В качестве объекта выборки укажем СправочникСсылка.Номенклатура , способ выборки – Стандартная выборка . Это означает, что при выполнении правила для всех элементов справочника Номенклатура будет поставлена пометка на удаление.

Наш офис принимает заказы исключительно на товары, поэтому желательно установить запрет на выгрузку услуг. Если для элемента справочника Номенклатура реквизит Услуга установлен Истина , то он гарантированно не должен выгружаться. Контроль выгрузки услуг лучше всего сразу сделать опциональным, чтобы не менять правила, если удаленный офис станет принимать заказы и на услуги.
Для этого случая нам придется освоить два новых приема работы с конфигурацией «Конвертация данных» — использование обработчиков и настройку параметров.
Параметры – это специализированная структура данных в алгоритмах выгрузки, с помощью которой можно обращаться к переменным обработки. Настройка структуры параметров для правил конвертации осуществляется в конфигурации «Конвертация данных», а установка значений параметров возможна в форме обработки V8Exchan.epf. Обратите внимание, что механизм установки параметров в форме реализован в обработках V8Exchan.epf, начиная с версии 2.01.
Для редактирования параметров откроем форму элемента справочника Конвертация для редактируемых правил обмена и перейдем на закладку Параметры . Создадим новый элемент справочника Параметры . Присвоим имя параметра – ВыгружатьУслуги . Имя параметра служит для обращения к нему в структуре Параметры при написании программного кода в обработчиках. Наименование будет отображаться в табличной части параметров, в форме обработки универсального обмена данными. Для того чтобы параметр был виден в диалоге при настройке выгрузки, нужно установить флажок Устанавливать в диалоге и выбрать тип значения параметра. Для работы с параметрами в диалоге необходимо также установить флажок Выгружать параметры в формате версии 2.01 в форме элемента справочника Конвертация .

Недостаточно просто указать параметры, нужно, чтобы алгоритм выполнения выгрузки «понимал», в каком случае выгружать элемент, а в каком
– нет. Для подобных (и многих других) случаев используется механизм обработчиков. Суть его заключается в том, что в ключевых точках выполнения всех базовых алгоритмов выгрузки и загрузки данных обрабатывается код, написанный разработчиком при создании правил обмена. Естественно, что использование такого тонкого инструмента требует осторожности и продуманности. Мы рекомендуем перед написанием собственных обработчиков внимательно ознакомиться со справкой к конфигурации «Конвертация данных 2.0», где описаны все доступные в обработчиках переменные и способы их использования, а также перечислены виды обработчиков и особенности их вызова в алгоритмах обмена данными.
Для нашей цели необходимо использовать обработчик правила выгрузки Перед выгрузкой . Откроем правило выгрузки данных Номенклатура и поместим в поле Перед выгрузкой , на закладке События следующий программный код:
Если Параметры.ВыгружатьУслуги = ЛОЖЬ И Объект.Услуга = ИСТИНА Тогда
Отказ = ИСТИНА;
КонецЕсли;

Что же делает наш обработчик? При написании программного кода мы использовали переменные алгоритмов выгрузки данных. Структура Параметры служит для обращения к параметру ВыгружатьУслуги , который задается в форме обработки обмена данными. Переменная Объект предоставляет доступ к выгружаемому объекту. А переменная Отказ позволяет контролировать отказ от выгрузки текущего объекта. Обработчик исполняется непосредственно перед началом выгрузки объекта, что и дает возможность отменить выгрузку объекта.
Наша задача решена, осталось только сохранить правила обмена в файле.
Запустим базу-источник, откроем обработку V8Exchan.epf и загрузим правила. Перейдем к закладке Параметр выгрузки . Мы видим, что в табличной части появилась строка Выгружать услуги . Теперь мы можем без редактирования правил обмена изменять настройки выгрузки.

Безусловно, нам необходимо выгрузить не все элементы справочника Номенклатура , а только отобранные по условию, например, входящие в определенную группу. Это легко сделать, используя настройку отбора для правил выгрузки. По двойному клику правой кнопки мыши на соответствующей строке в колонке Отбор данных откроется форма настроек отбора.

Созданные установки можно сохранить в настройках. При этом в настройках будут сохранены правила обмена полностью, с настройками построителей и параметров. Обратите внимание, что сервис по работе с настройками доступен в обработках V8Exchan.epf, начиная с версии 2.01 .
Как задать значение приемнику в конвертации 2


1С: конвертация данных
Параметры в «1С: конвертация данных»
- УО — Универсальная обработка выгрузки и загрузки данных
- ПКО — Правило конвертации объекта
Параметры – это структура, в которой хранятся переменные, доступные во всех обработчиках. В параметры можно вставить вспомогательные данные, которые необходимы для выгрузки или загрузки данных.
Для работы через интерфейс в форме справочника «Конвертация» есть вкладка «Параметры» (рис. 1), на которой можно добавлять, изменять или удалять параметры.

Ниже представлена таблица настроек параметров. Нумерация пунктов свойств соответствует нумерации на рис. 2 и рис. 3 (режим диалога)
Имя параметра. Наименование параметра, по которому к нему можно обратиться. Т.к. параметры это структура, следовательно, имя параметра в структуре это ключ.
Описание параметра. Является вспомогательным свойством. Содержит словесное описание параметра. Как и в случае с синонимами реквизитов объектов конфигурации не имеет строгих правил написания.
При загрузке. При установке настройки данный параметр будет доступен во всех обработчиках событий, которые выполняются при загрузке в базе-приемнике
Диалог. Установка данной настройки позволяет пользователю при выгрузке данных в базе-источнике устанавливать значение параметра интерактивно. Если галочка снята, интерактивная установка значения параметра не будет возможна.
Тип значения. Тип значения параметра. Может принимать один из типов метаданных базы-источника (н-р, перечисления, справочники или документы) или же как один из примитивных типов. При программной работе может иметь любой тип значения, поддерживаемый 1с (н-р, массив, список значений, таблица значений и т. д.)
Передавать при выгрузке. При установке настройки данный параметр будет помещен в файл обмена и к его значению можно будет обратиться при загрузке данных. Важно: при помощи данной настройки можно передавать только те параметры, которые редактируются в диалоге при выгрузке данных.
Правило конвертации. При указании правила конвертации данных параметр будет выгружаться по этому выбранному правилу.
Работа с параметрами в версии 2.01. Установлено по умолчанию. Если свойство не установлено, тогда параметры в файл обмена выгружаются в качестве строки. Такие параметры уже не будут доступны в обработке выгрузки данных и работать с ними можно только программно. Если свойство установлено, тогда параметры в файл обмена будут выгружены в виде xml-структуры с набором полей и свойств.


Примеры использования параметров
В качестве базы-источника будет выступать УТ 11
В качестве базы-приемника будет выступать БП 3.0.
Есть правило КД с ПКО РеализацияТоваровУслуг, по которому из базы-источника в базу-приемник выполняется загрузка одноименных документов.
Пример 1 Требуется выгружать реализации товаров и услуг по определенному контрагенту, который пользователь выбирает интерактивно.
1. Создадим новый параметр «Контрагент». Настройка этого параметра в интерфейсе конвертации данных будет выглядеть след. образом:

2. Для того чтобы реализации выгружались только по выбранному контрагенту в обработчике «Перед выгрузкой» ПКО пишем след. код:
Если Источник.Контрагент <> Параметры.Контрагент Тогда
Отказ = Истина;
КонецЕсли;

По коду видно, что если контрагент текущей реализации не совпадает с контрагентом, указанным в параметре, то такая реализация не выгрузится.
3. Сохраняем правила обмена в файл, прочитываем их через УО в базе-источнике. Как видим, наш параметр доступен для изменения.

Пример 2 После загрузки в базу-приемник требуется выводить комментарий, указанный в параметрах при выгрузке из базы-приемнимка.
1. Создадим новый параметр «КомментарийПриВыгрузке». Заполним свойства этого параметра как это показано на рис. 7 (на этот раз в режиме диалога):

По условию задачи нам необходимо выводить значение этого параметра именно после загрузки в базу-приемник, поэтому установлена галочка «Передавать параметр из информационной базы источника в приемник«. Обратите внимание, что при этой установленной галочке автоматически устанавливаются и остальные галочки, т. к. данная настройка работает только с ними. В обработчике «после загрузки» пишем код:
Сообщить(Параметры.КомментарийПриВыгрузке);
2. Сохраняем правило, прочитываем его через УО в базе-источнике.
3. При выгрузке заполняем значение параметра «комментарий», например, «Загрузка реализаций» и выгружаем в файл.

4. Загружаем файл в базу источник.

После загрузки в базу приемнику комментарий, указанный в параметрах базы-источника, выведен. Задача решена.
Читайте наши статьи и следите за обновлениями.