Где хранятся правила обмена 1с. Внешний вид и особенности использования универсального обмена данными. Сохранение правил обмена и их загрузка в БД

Жаропонижающие средства для детей назначаются педиатром. Но бывают ситуации неотложной помощи при лихорадке, когда ребенку нужно дать лекарство немедленно. Тогда родители берут на себя ответственность и применяют жаропонижающие препараты. Что разрешено давать детям грудного возраста? Чем можно сбить температуру у детей постарше? Какие лекарства самые безопасные?

Учебник по 1С Конвертации данных (редакция 2) Подробное знакомство с правилами обмена

Мы знаем что такое правила обмена и зачем они нужны. Познакомимся более подробно с дополнительным функционалом работы с правилами обмена. Откроем настройки правил обмена данными (конвертации):

В правилах обмена задаются конфигурации источника и приемника для данных, кроме того:

Закладка "Дополнительно":

Можно указать имя файла по умолчанию для сохранения правил обмена, модулей выгрузки и загрузки данных для 7.7, наименование правил обмена.

Закладка "Параметры":

Допустим, офис принимает заказы исключительно на товары, поэтому желательно установить запрет на выгрузку услуг. Если для элемента справочника Номенклатура реквизит Услуга установлен Истина, то он гарантированно не должен выгружаться. Контроль выгрузки услуг лучше всего сразу сделать опциональным, чтобы не менять правила, в случае, если удаленный офис станет принимать заказы и на услуги.

Для этого случая нам придется освоить два новых приема работы с конфигурацией "Конвертация данных" - использование обработчиков и настройку параметров.

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

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

Недостаточно просто указать параметры, надо чтобы алгоритм выполнения выгрузки "понимал", в каком случаем выгружать элемент, а в каком нет. Для подобных (и многих других) случаев используется механизм обработчиков. Суть его заключается в том, что в ключевых точках выполнения всех базовых алгоритмов выгрузки и загрузки данных обрабатывается код, написанный разработчиком при создании правил обмена. Естественно, что использование такого тонкого инструмента требует осторожности и продуманности. Мы рекомендуем перед написанием собственных обработчиков внимательно ознакомится со справкой к конфигурации "Конвертация данных 2.0", где описаны все доступные в обработчиках переменные и способы их использования, а также перечислены виды обработчиков и особенности их вызова в алгоритмах обмена данными.

Для нашей цели необходимо использовать обработчик правила выгрузки "Перед выгрузкой". Откроем правило выгрузки данных Номенклатура и поместим в поле "Перед выгрузкой" на закладке "События" следующий программный код:

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

ТОЛЬКО ДЛЯ ОБМЕНА V8 - V8 И ОБРАБОТКИ ВЫГРУЗКИ И ЗАГРУЗКИ НЕ НИЖЕ 2.0.18.1

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

На закладке Параметры выгрузки появился параметр, изменяя значения которого услуги либо выгружаются, либо не выгружаются.

При разработке правил обмена 1С 8 широко используется возможность программного переопределения поведения правил обмена — механизм обработчиков. Обработчики событий существенно расширяют функционал и являются незаменимым инструментом настройки правил обмена в тех случаях, когда интерактивных возможностей конфигурации недостаточно.

Обработчики и алгоритмы пишутся на языке той платформы, в которой они будут выполняться при обмене.

Если это платформа «1С: Предприятие 7.7», то код обработчиков интегрируется в код обработки выгрузки или загрузки. Соответственно, каждый обработчик или алгоритм выделяется в отдельную функцию и доступен для отладки при обмене.

Если выгрузка или загрузка происходят на платформе «1С: Предприятие 8», то код обработчиков не интегрируется в код обработки обмена данными, а выгружается в файл правил обмена. В процессе обмена данными код обработчиков или алгоритмов берется из файла правил и выполняется непосредственно в контексте оператора «Выполнить». Для отладки кода обработчиков и алгоритмов можно воспользоваться обработкой «Универсальный обмен данными XML».

Задача

Передать информацию о контрагентах из УП в БП . Данные передаются в одностороннем порядке, идентификация производится по уникальному идентификатору.Настройка правил конвертации выполняется с помощью специальной конфигурации Конвертация данных, редакция 3.0 (далее – КД 3.0 ).

Выполняемые действия

Этап 1. Подготовка к настройке правил.

Для настройки правил конвертации в конфигурации КД 3.0 должны содержаться сведения о структуре информационных баз, между которыми производится синхронизация данных, а также о структуре формата Enterprise Data .

Шаг 1. Выгрузка структуры информационных баз УП и БП.

Для выгрузки информации о структуре информационной базы используется обработкаMD83Exp.epf , входящая в комплект поставки конфигурации КД 3.0 .

Для каждой информационной базы (УП и БП ) необходимо выполнить следующие действия:

  1. Открыть информационную базу в режиме “Предприятие”.
  2. Открыть внешнюю обработку MD83Exp.epf (Меню Файл & Открыть).
  3. Указать имя файла, в который следует сохранить структуру информационной базы.
  4. Проверить настройки в форме обработки (все флаги должны быть сняты).
  5. Нажать кнопку Выгрузить.

Шаг 2. Экспорт xml-схемы формата обмена

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

Необходимо выполнить следующие действия:

  1. Открыть одну из информационных баз (либо УП либо БП ) в режиме “Конфигуратор”.
  2. В дереве метаданных найти XDTO пакеты с именами ExchangeMessage иEnterpriseData_1_0_beta.
  3. Установить курсор на пакет XDTO, нажать правую кнопку мыши и в контекстном меню выбрать пункт Экспорт XML-схемы . Указать путь и имя файла для экспорта. Выполнить это действие для каждого из двух пакетов, сохранив XML-схемы в два разных файла.

Шаг 3. Загрузка структуры информационных баз в конфигурацию КД 3.0

Загрузка выполняется в конфигурацию КД 3.0 в режиме “Предприятие”. Перечисленные ниже действия следует выполнить для каждой из конфигураций, для которых настраиваются правила конвертации (УП и БП ).

  1. Перейти в раздел Конфигурации , и выбрать команду
  2. Указать путь к файлу со структурой информационной базы (см. Этап 1, Шаг 1 ).
  3. Указать способ загрузки & в новую версию конфигурации.
  4. Нажать кнопку Выполнить загрузку

Шаг 4. Загрузка структуры формата обмена в конфигурацию КД 3.0

  1. Перейти в раздел Формат данных , и выбрать команду .
  2. Указать файлы со структурой формата (см. Этап 1, Шаг 2 ). Необходимо указать сразу оба файла, используя множественный выбор.
  3. Проверить имя основного пакета XDTO – должен совпадать с пространством имен пакета XDTO EnterpriseData_1_0_beta (см. в конфигураторе УП или БП ).
  4. Указать способ загрузки & в новую версию формата .
  5. Нажать кнопку Выполнить загрузку , дождаться окончания загрузки.

Этап 2. Создание конвертаций

Для решения описанной задачи необходимо создать две конвертации:

  • УП (для выгрузки данных из УП в формат обмена)
  • БП (для загрузки данных из формата обмена в БП )

Создание конвертаций производится в разделе Конвертации , команда Конвертации . Для новой конвертации необходимо указать наименование, конфигурацию и формат обмена. Например, конвертация для конфигурации УП:

  • Наименование & “УП2.0.7”.
  • Конфигурация & “УправлениеПредприятием”.
  • Поддерживаемые версии формата & одна строка, в которой выбрана единственная позиция справочника Версии формата.
  • правила обработки данных,
  • правила конвертации объектов,
  • правила конвертации предопределенных данных.

Для перехода к комплекту правил конкретной конвертации необходимо перейти в разделКонвертации , выбрать команду Настройка правил конвертации и выбрать в списке конкретную конвертацию, для которой будут настраиваться правила. В результате будет открыта форма Настройка правил обмена , в которой собраны все правила для конкретной конвертации.

Этап 3. Создание правил конвертации объектов

Шаг 1. Правило конвертации для выгрузки контрагентов из УП

  1. УП.
  2. Перейти на закладку
  3. Основные сведения:
    1. Идентификатор правила : “Справочник_Контрагенты_Отправка”,
    2. Объект конфигурации
    3. Объект формата : “Справочник.Контрагенты”,
    4. Область применения : Для отправки.
  4. Нажать кнопку Записать и перейти на закладку Правила конвертации свойств:
    1. Воспользоваться сервисом автоматического сопоставления свойств
      1. Нажать кнопку Настройка ПКС
      2. В открывшейся форме нажать Автосопоставление . Сопоставятся свойства “ИНН”, “КПП”, “Наименование”, “НаименованиеПолное”, “ДополнительнаяИнформация”, “ЮридическоеФизическоеЛицо”
      3. и закрыть форму настройки правил конвертации свойств
  5. Нажать кнопку Записать и закрыть .

Шаг 2. Правило конвертации для загрузки контрагентов в БП

  1. Открыть настройку правил обмена для конвертации БП.
  2. Перейти на закладку Правила конвертации объектов.
  3. Создать новое правило конвертации и заполнить данные на закладке Основные сведения:
    1. Идентификатор правила : “Справочник_Контрагенты_Получение”,
    2. Объект конфигурации : “СправочникСсылка.Контрагенты”,
    3. Объект формата : “Справочник.Контрагенты”,
    4. Область применения : Для получения.
  4. Нажать кнопку Записать и перейти на закладку Идентификация . Указать способ идентификации «По уникальному идентификатору».
  5. Перейти на закладку Правила конвертации свойств
    1. Воспользоваться сервисом автоматического сопоставления свойств:
      1. Нажать кнопку Настройка ПКС
      2. В открывшейся форме нажать Автосопоставление . Сопоставятся свойства “ИНН”, “КПП”, “Наименование”, “НаименованиеПолное”, “ДополнительнаяИнформация”, “ЮридическоеФизическоеЛицо”.
      3. Сохранить результат автоматического сопоставления & нажать кнопкуСоздать правила конвертации свойств и закрыть форму настройки правил конвертации свойств.
    2. Вручную добавить правило конвертации свойства для ОКПО (свойство конфигурации & “КодПоОКПО”, свойство формата & “ОКПО”).
    3. Позже потребуется вернуться к правилам конвертации свойств, чтобы заполнить правило конвертации свойства для свойства “ЮридическоеФизическоеЛицо”, которое является перечислением.
  6. Перейти на закладку ПередЗаписьюПолученныхДанных и написать алгоритм для заполнения страны регистрации нового контрагента. Алгоритм содержит следующий текст: «ПолученныеДанные.СтранаРегистрации = Справочники.СтраныМира.Россия;».
  7. Нажать кнопку Записать и закрыть .

Этап 4. Создание правил конвертации предопределенных данных

  1. УП или БП )
  2. Перейти на закладку Правила конвертации предопределенных данных
  3. Создать новое правило конвертации и заполнить его свойства:
    1. Идентификатор правила : “Перечисление_ЮридическоеФизическоеЛицо”
    2. Объект конфигурации : “ПеречислениеСсылка.ЮридическоеФизическоеЛицо”
    3. Объект формата : “ЮридическоеФизическоеЛицо”
    4. Область применения : для отправки и получения
    5. В табличном поле заполнить соответствия значений перечисления конфигурации и формата: “ФизическоеЛицо” & “ФизическоеЛицо” и “ЮридическоеЛицо” & “ЮридическоеЛицо”
    6. Нажать кнопку Записать и закрыть
  4. Указать новое правило в правиле конвертации свойства “ЮридическоеФизическоеЛицо” справочника Контрагенты
    1. Перейти на закладку Правила конвертации объектов
    2. Контрагенты , открыть форму правила
    3. Перейти на закладку Правила конвертации свойств и найти правило для свойства “ЮридическоеФизическоеЛицо”
    4. Открыть форму правила конвертации свойства и указать в нем правило конвертации объекта & “Перечисление_ЮридическоеФизическоеЛицо”.
    5. Сохранить внесенные изменения

Этап 5. Создание правил обработки данных

Порядок действий одинаков для обоих конвертаций.

  1. Открыть настройку правил обмена для конвертации (УП или БП )
  2. Перейти на закладку Правила конвертации объектов
  3. Найти правило конвертации справочника Контрагенты , открыть форму правила
  4. Нажать кнопку Создать на основании & Правило обработки данных
  5. В созданном правиле обработки данных проверить заполнившиеся автоматически свойства:
    1. Идентификатор правила & указать такой же как для правила обработки данных (“Справочник_Контрагенты_Отправка” либо “Справочник_Контрагенты_Получение”)
    2. Область применения & такая же как для правила обработки данных
    3. Объект выборки :
      1. для конвертации УП & “СправочникСсылка.Контрагенты”
      2. для конвертации БП & “Справочник.Контрагенты”
    4. Правило конвертации объекта & ссылка на правило конвертации объекта.
  6. Нажать кнопку Записать и закрыть.

Этап 6. Получение модулей менеджера обмена данными

Модуль менеджера обмена данными необходим для обмена данными между конфигурациями в соответствии с настроенными в КД 3.0 правилами.

Порядок действий одинаков для обеих конвертаций:

  1. Открыть информационную базу УП или БП в режиме “Конфигуратор”. Найти в дереве метаданных общий модуль МенеджерОбменаЧерезУниверсальныйФормат и открыть его для редактирования. Модуль должен быть пустым.
  2. Открыть информационную базу КД 3.0 в режиме “Предприятие”.
  3. Перейти в раздел Конвертации и выбрать команду Выгрузка модуля.
  4. В открывшейся форме указать соответствующую конвертацию и нажать кнопку Выгрузить . Модуль будет скопирован в буфер обмена.
  5. Перейти в конфигуратор информационной базы УП или БП и вставить содержимое буфера обмена в общий модуль МенеджерОбменаЧерезУниверсальныйФормат.
  6. Сохранить конфигурацию.

Выгрузка модуля в буфер обмена также может производиться из формы настройки правил обмена по кнопке Сохранить модуль менеджера обмена .

Для того чтобы по настроенным правилам выполнялся обмен данными, необходимо в обеих информационных базах в режиме “Предприятие” настроить синхронизацию данных через универсальный формат.

Достаточно часто в работе крупных предприятий и торговых сетей возникает необходимость в обмене данными между базами. Каждый программист и администратор по-разному решает этот вопрос. Кто-то пишет выгрузки-загрузки через промежуточные файлы таблиц, кто-то использует режим COM соединения для подключения к базе источнику. Однако, в последнее время всё большую популярность набирает собственный 1С-овский механизм под названием «Универсальный обмен данными в формате XML».

Внешний вид обработки

В Полном интерфейсе открыть обработку можно по адресу Сервис->Прочие обмены данными-> Универсальный обмен данными в формате XML.

Форма обработки (Рис.1) содержит четыре закладки:

  • Дополнительные настройки;
  • Удаление данных.
  • Интерфейс каждой из закладок сильно загружен элементами, а потому требует отдельного рассмотрения.

    Выгрузка данных

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

    На следующей строке формы находятся два переключателя:

    1. Выгрузка в файл обмена (Рис.2);
    2. Подключение и выгрузка данных в ИБ (рис.3).

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

    Вариант прямого подключения к базе-приемнику поддерживает и файловый и клиент-серверный вариант работы. В этом случае необходимо будет прописать адрес базы, заполнить поля «Пользователь» и «Пароль». Прежде чем приступить к обмену данными, желательно протестировать подключение.

    Табличная часть расположенная ниже позволяет настроить отборы и остальные параметры выгрузки.

    Для отладки алгоритмов и исправления ошибок можно воспользоваться встроенным в обработку обмена механизмом. Его активация производится установкой соответствующего флажка в нижней части формы. Нажатие на кнопку «Настройка отладки…» вызывает окно (Рис. 4).

    Рис.4

    Отличительной чертой этой формы является информативная справка в левой части макета, которая описывает каждый из трех возможных режимов отладки. В качестве файла внешней обработки с модулем может выступать любой файл формата epf.

    Нажатие на кнопку «Готово» проверяет правильность и полноту заполненных данных.

    В отличие от «Выгрузки», на данной закладке (Рис.5) нет табличной части, зато гораздо больше флажков, позволяющих регулировать параметры записи новых и измененных объектов.

    Рис.5

    В первую очередь необходимо выбрать файл, который послужит источником информации. Это можно сделать в поле ввода «Имя файла для загрузки». В случае если данные выгружались в архив, защищенный паролем, его необходимо будет ввести в соответствующее поле.

    Соответствующие флажки позволяют настроить:

    • Транзакцию при записи объектов (это иногда ускоряет процесс);
    • Загрузку данных в режиме обмена (в этом случае все платформенные проверки, за исключением проверки при проведении документов, будут игнорироваться при записи);
    • Перезапись измененных элементов;
    • Установку пометки удаления для загружаемых элементов;
    • Режим записи новых данных в регистр (либо по одной, либо набором);
    • Обрезку незначащих символов (пробелов и табуляций) для строковых значений.

    Дополнительные настройки

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

    1. Включает режим отладки;
    2. Позволяет использовать транзакцию в процессе выгрузки;
    3. Оптимизирует обмен между базами 8-ой версии 1С;
    4. Выгружать только те объекты, которые разрешены к использованию текущему пользователю;
    5. Включить протоколирование процесса обмена между базами.

    Эти и некоторые другие функции включаются выставлением соответствующих флажков на форме (рис.6).

    Рис.6

    Удаление данных

    Эта закладка используется только разработчиками в режиме отладки. Позволяет удалять из базы ненужные объекты.

    Коротко о настройке правил обмена

    Использование стандартного обработчика очень упрощает жизнь программистам. В то же самое время, одним из самых сложных моментов для того, кто впервые столкнулся с «Универсальным обменом данным в формате XML» является вопрос: «Где взять файл правил обмена?».

    В первую очередь, для самостоятельного изготовления правил обмена, необходима специальная конфигурация, которая носит название «Конвертация данных». В ее составе есть несколько интересных файлов, которые позволяют настроить практически любой обмен между различными базами 1С 7 и 8 версий:

    1. epf – необходим для выгрузки структуры метаданных для баз 1С 8;
    2. epf – если конфигурация 1С 8 самописная или не стандартная, в ней может не быть обработки «Универсальный обмен данными», этот файл и есть эта обработка;
    3. ert –файл содержит код для выгрузки структуры метаданных конфигураций 1С версий 7.7;
    4. ert – файл обработки выгрузки-загрузки данных для семерки.

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

    Затем в справочнике Конвертации создается элемент, содержащий информацию о направлении обмена данными. Для него можно настроить Правила обмена.

    Мы знаем структуру метаданных информационной базы источник и приемника. Этой информации нам вполне достаточно для того, что бы определить какие объекты информационной базы источника должны преобразовываться в какие объекты информационной базы приемника. То есть мы можем установить некоторое соответствие между объектами информационной базы источника и приемника. Например, мы можем задать, что справочнику Номенклатура информационной базы источника соответствует справочник Номенклатура (или какой - либо другой справочник) информационной базы приемника.

    Такое соответствие между объектами источника и приемника будем называть "Правила конвертации объектов" или ПКО.

    На приведенном примере видно, что для правил обмена (или Конвертации) "Два объекта в один" установлено соответствие объектов для справочников "Пользователи" и "ФизическиеЛица". То есть задано, что объекты справочника "Пользователи" из информационной базы источника нужно переносить в объекты справочника "Пользователи" информационной базы приемника.

    Когда соответствие между объектами установлено, можно определить каким образом необходимо переносить реквизиты этих объектов. То есть, нам нужно задать, что реквизиту "Наименование" одного справочника соответствует реквизит "Наименование" другого.

    Такое соответствие между свойствами (или реквизитами) объектов источника и приемника будем называть "Правила конвертации свойств" или ПКС.

    На приведенном примере видно, что для правил конвертации объектов "Пользователи" установлено 3 соответствия между свойствами (или реквизитами) объектов. Указано, что реквизит "Наименование" справочника "Пользователи" информационной базы источника должен преобразовываться в реквизит "Наименование" справочника "Пользователи" информационной базы приемника.

    Когда соответствие между свойствами объектов задано, программе нужно указать критерии сопоставления объектов (то есть нужно указать, как по объекту источнику искать объект в приемнике) в двух информационных базах. Для такого сопоставления используется флажок "Поиск" у соответствующего правила конвертации объектов. Если флажок взведен, то поиск соответствующего объекта будет выполняться по этому свойству. В приведенном примере, видно, что поиск объекта в информационной базе приемнике будет выполняться по реквизиту "Наименование". Если поиск установлен по нескольким реквизитам, то поиск будет осуществляться по ним всем одновременно (то есть условия накладываются по "И". В этом случае, правило сопоставления звучит следующим образом: Искать в информационной базе - приемнике объект у которого все реквизиты поиска совпадают с реквизитами поиска объекта источника).

    Кроме того, имеется возможность задать соответствие между предопределенными элементами справочников, планов видов характеристик и значений перечислений. Такое сопоставление будем называть "Правила конвертации значений" ПКЗ.

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

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

    С уважением, Владимир Милькин (преподаватель и разработчик ).

    Поддержите проект — поделитесь ссылкой, спасибо!
    Читайте также
    Карманные персональные компьютеры: возможности, характеристики, типы современных КПК Карманные персональные компьютеры: возможности, характеристики, типы современных КПК Как запустить командную строку от имени администратора Как запустить командную строку от имени администратора Зачем после сильной ссоры и оскорблений добавлять человека в черный список? Зачем после сильной ссоры и оскорблений добавлять человека в черный список?