Как загрузить данные по правилам Конвертации данных в конфигурацию на управляемых формах?

Программист 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой IT и автоматизация бизнеса
← На главную

При переносе информации из устаревших систем (например, «1С:Предприятие 7.7», «Бухгалтерия предприятия 1.6» или «УПП 1.3») в современные типовые конфигурации на управляемых формах («1С:Управление нашей фирмой», «1С:Управление торговлей 11», «1С:ERP») разработчики часто сталкиваются с вопросом выполнения обмена. В типовых конфигурациях включен запрет на изменение, а классическая обработка УниверсальныйОбменДаннымиXML исторически разрабатывалась под обычный интерфейс.

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

Выгрузка структуры метаданных конфигурации с помощью MD83Exp

Для написания правил обмена в конфигурации «Конвертация данных 2.1» в первую очередь необходимо выгрузить структуру метаданных приемника. Для обычных форм платформы «1С:Предприятие 8.2» традиционно применялась обработка MD82Exp.epf, однако для конфигураций на управляемых формах под управлением платформы 8.3 она не подходит.

Рассмотрим порядок выгрузки структуры метаданных:

  1. Перейдем в каталог установки конфигурации «Конвертация данных» версии 2.1.8 или выше (обычно расположен в каталоге шаблонов конфигураций tmplts\1c\Conversion).
  2. Найдем файл внешней обработки MD83Exp.epf. Данная обработка полностью адаптирована для работы в среде «1С:Предприятие 8.3» на управляемых формах.
  3. Откроем обработку в целевой базе (приемнике) через пункт главного меню Файл — Открыть.
  4. Укажем имя результирующего XML-файла и запустим операцию выгрузки структуры метаданных.

Полученный файл структуры метаданных загрузим в «Конвертацию данных 2.1» для последующей настройки правил конвертации объектов (ПКО) и правил конвертации свойств (ПКС).

Загрузка через встроенную обработку «Универсальный обмен данными в формате XML»

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

Разберем, как запустить этот механизм:

  1. В пользовательском режиме перейдем в меню Сервис и настройки — Функции для технического специалиста (в более ранних версиях платформы — Все функции). Если этот пункт недоступен, включим его в меню Сервис и настройки — Параметры, установив флаг Режим технического специалиста.
  2. В раскрывшемся дереве метаданных развернем раздел Обработки и найдем элемент Универсальный обмен данными в формате XML.
  3. Откроем обработку, перейдем на закладку Загрузка данных, выберем файл с данными и выполним загрузку.

Использование внешней обработки V8Exchan83

Если по какой-то причине встроенная обработка недоступна или требуется независимый запуск, воспользуемся внешней обработкой из дистрибутива «Конвертации данных 2.1»:

  1. В каталоге шаблона поставки КД найдем файл V8Exchan83.epf. Эта обработка содержит управляемую форму, специально разработанную для клиент-серверного взаимодействия.
  2. Откроем обработку через меню Файл — Открыть под учетной записью с административными правами.
  3. Обратим внимание на переключатель места расположения файлов: На клиенте или На сервере. В режиме «На клиенте» файл передается через временное хранилище на сервер приложений, где и выполняется обработка пакета. В режиме «На сервере» путь к файлу задается в контексте файловой системы сервера «1С:Предприятия».

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

В случаях, когда под рукой есть только старая версия обработки УниверсальныйОбменДаннымиXML.epf с обычной формой, можно задействовать возможность запуска конфигуратора и отладки толстого клиента:

  1. Откроем конфигуратор информационной базы.
  2. Перейдем в меню Сервис — Параметры, вкладка Общие.
  3. В поле Режим запуска выберем значение Управляемое приложение и обычное приложение. Данная настройка сохраняется локально для разработчика и не меняет конфигурацию базы.
  4. Запустим приложение через меню Отладка — Начало отладки — Толстый клиент (обычное приложение).
  5. В открывшемся сеансе запустим стандартную обработку обычного приложения через Файл — Открыть.

Ограничения и технические особенности серверного контекста

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

  1. Отсутствие интерактивных методов: В управляемом приложении чтение XML-пакета и запись объектов производятся строго на стороне сервера. Если в правилах обмена (в обработчиках «Перед загрузкой», «После загрузки» или в алгоритмах) вызываются клиентские диалоги Предупреждение(), Вопрос() или методы открытия форм, платформа выдаст исключение. Все вызовы интерфейсных методов из обработчиков КД 2.1 должны быть исключены.
  2. Безопасный режим: Если внешняя обработка регистрируется через механизм Дополнительные отчеты и обработки БСП, платформа по умолчанию запускает ее в безопасном режиме (свойство БезопасныйРежим = Истина). В таком режиме заблокированы конструкции Выполнить() и Вычислить(), необходимые для работы динамических обработчиков КД 2.1. Регистрировать обработку в БСП следует только с отключенным безопасным режимом либо открывать ее напрямую через меню «Файл — Открыть».
  3. Прямое COM-соединение: При выгрузке/загрузке через COM-соединение обращение инициируется сервером «1С:Предприятия». Если сервер работает под управлением ОС Linux, использование COMConnector невозможно, поэтому обмен следует организовывать исключительно через промежуточный XML-файл.
← На главную