1С: Конвертация данных

Конфигурация "Конвертация данных 2.0" для 1С:Предприятия v8.0

Порядок использования

Конфигурация "Конвертация данных 2.0" для 1С:Предприятия v8.0, поставляемая на дисках ИТС, является средством для организации конвертации данных между любыми конфигурациями, функционирующими как на платформе "1С:Предприятие 7.7", так и на платформе "1С:Предприятии 8.0". Конфигурация обеспечивает очень высокую скорость разработки средств обмена данными в сочетании с большой гибкостью настройки таких средств.

Порядок использования конфигурации:

  1. С помощью специальных внешних обработок, поставляемых вместе с конфигурацией, осуществляется создание XML-файлов описания структуры метаданных как конфигурации-источника, так и конфигурации-приёмника. Обработки запускаются непосредственно в базах источника и приёмника. После установки конфигурации "Конвертация данных" внешние обработки MD77Exp.ert (для 7.7) и MD80Exp.epf (для 8.0) располагаются в каталоге шаблонов, например:
    C:\Program Files\1cv8\tmplts\1c\Conversion\2_0_13_1\
    
  2. XML-файлы описания структуры метаданных конфигурации-источника и конфигурации-приёмника загружаются средствами конфигурации в информационную базу "Конвертации данных", где затем настраиваются правила обмена. После этого правила обмена выгружаются средствами конфигурации в XML-файл правил.
  3. С помощью специальных внешних обработок, поставляемых вместе с конфигурацией, осуществляется выгрузка данных из конфигурации-источника и их загрузка в конфигурацию-приёмник. Обработки запускаются непосредственно в базах источника и приёмника. После установки конфигурации "Конвертация данных" внешние обработки V77Exp.ertV77Imp.ert (для 7.7) и V8Exchan.epf (для 8.0) располагаются в уже упомянутом каталоге шаблонов. При выгрузке данных используется XML-файл правил обмена. При загрузке используется XML-файл данных, сформированный при выгрузке (он будет содержать и данные, и правила). Если при настройке правил обмена создавались обработчики событий для тех или иных объектов/реквизитов, возможно, придётся заменить код обработок V77Exp.ert и/или V77Imp.ert на код, сгенерированный конфигурацией "Конвертация данных" в момент выгрузки в XML-файл правил (такой код выгружается в указанный текстовый файл).

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

Создание правил обмена

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

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

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

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

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

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

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

С помощью пункта меню "Обработки" - "Синхронизация свойств объектов" в форме "Настройка правил обмена" можно запустить обработку автонастройки свойств, которая работает аналогично обработке "Автонастройка правил конвертации объектов".

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

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

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

Если Объект.Код = 0 Тогда
    Объект.УстановитьНовыйКод();
КонецЕсли;

Далее на форме "Настройка правил обмена" необходимо перейти к закладке "Правила выгрузки данных" и создать правило(а) выгрузки.

Следует заметить, что различные обработчики событий могут задаваться для правил конвертации объектов, правил конвертации свойств, правил выгрузки данных и прочих правил, что обеспечивает очень большую гибкость. Обработчики событий пишутся на том языке, на котором они должны исполняться в момент выгрузки или загрузки (имеются в виду встроенные языки v7.7 и v8.0).

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

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

Для выполнения генерации файла правил обмена нужно вызвать обработку "Выгрузка правил обмена" по кнопке "Сохранить правила". Необходимо указать XML-файл для сохранения правил (по умолчанию это поле будет заполнено из элемента справочника "Конвертации"). Правила сохраняются в файл с помощью кнопки "Выполнить". Здесь же можно указать путь к текстовым файлам модулей выгрузки/загрузки, если в обмене участвовали конфигурации v7.7 и задавался код обработчиков событий, который должен выполниться на v7.7 при загрузке и/или выгрузке данных. Заменить код обработок V77Exp.ert и/или V77Imp.ert на код, сгенерированный конфигурацией "Конвертация данных", можно в Конфигураторе v7.7 простым копированием/вставкой всего текста модуля.

 

Рейтинг@Mail.ru