Как выгрузить данные из 1С:Бухгалтерия предприятия 3.0 в формате EnterpriseData после настройки правил в КД 3.0?

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

При разработке и адаптации обменов через универсальный формат EnterpriseData с помощью конфигурации «Конвертация данных 3.0» (КД 3.0) разработчик получает выгруженный модуль менеджера обмена. Однако после вставки сформированного кода в базу-источник возникает вопрос: как именно запустить процесс выгрузки данных и что необходимо настроить дальше? Разберем всю цепочку действий по шагам — от интеграции кода до отправки пакетов данных.

1. Внедрение кода менеджера обмена в конфигурацию

Проанализируем структуру обмена в типовых конфигурациях на базе БСП (включая «1С:Бухгалтерия предприятия 3.0»). Вся логика работы с универсальным форматом сосредоточена в общем модуле МенеджерОбменаЧерезУниверсальныйФормат.

Перед внесением изменений обязательно выполним следующие действия:

  1. Сохранение исходного текста: скопируем исходный код типового модуля МенеджерОбменаЧерезУниверсальныйФормат в отдельный файл резервной копии. Это позволит быстро восстановить типовое поведение или перенести пользовательские доработки при обновлении конфигурации.
  2. Перенос дополнительных процедур: если в КД 3.0 в обработчиках событий использовались дополнительные алгоритмы или функции, убедимся, что они также перенесены в серверный контекст модуля.
  3. Замена кода: вставим сформированный в КД 3.0 код в модуль МенеджерОбменаЧерезУниверсальныйФормат конфигурации «1С:Бухгалтерия предприятия 3.0» и сохраним изменения в конфигураторе.

2. Быстрое тестирование выгрузки без полной настройки обмена

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

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

3. Штатная настройка синхронизации данных через интерфейс

Для регулярного обмена данными настроим штатный механизм синхронизации БСП. Разберем порядок действий в пользовательском режиме:

  1. Перейдем в раздел «Администрирование» -> «Синхронизация данных».
  2. Установим флаг «Синхронизация данных», если он не был включен ранее, и откроем пункт «Настройки синхронизации данных».
  3. Нажмем кнопку создания новой настройки и выберем вариант синхронизации через универсальный формат (или пункт «Другая программа»). При этом система создаст узел плана обмена СинхронизацияДанныхЧерезУниверсальныйФормат.
  4. Укажем транспорт для передачи сообщений: общий сетевой каталог, FTP-ресурс, прямое COM-подключение или ручной обмен через файлы.
  5. Завершим работу мастера настройки синхронизации.

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

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

Чтобы отправить уже имеющиеся в базе данные, выполним их регистрацию на узле:

  1. В окне синхронизации данных откроем состав отправляемых данных или воспользуемся встроенной обработкой «Регистрация изменений для обмена».
  2. Выберем интересующие типы документов или справочников и выполним команду «Зарегистрировать изменения» для созданного узла обмена.
  3. Нажмем кнопку «Синхронизировать». Система обратится к модулю МенеджерОбменаЧерезУниверсальныйФормат, сериализует зарегистрированные объекты в XML по правилам EnterpriseData и выгрузит сформированный файл в указанный каталог.

5. Согласованность XDTO-пакетов и сброс кэша правил

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

  1. Версии формата: выгруженный модуль менеджера обмена жестко привязан к версии схемы (например, EnterpriseData 1.8, 1.11). Конфигурация-источник и конфигурация-приемник должны содержать одинаковую версию XDTO-пакета.
  2. Пользовательские реквизиты формата: если в КД 3.0 в схему формата добавлялись новые поля или типы, измененную схему XDTO необходимо выгрузить из КД 3.0 и загрузить в ветку метаданных XDTO-пакеты обеих конфигураций. Без обновления пакета в метаданных выгрузка завершится ошибкой валидации XML.
  3. Сброс серверного кэша: после обновления общего модуля в работающей базе структуры правил могут оставаться в кэше сеансов и фоновых заданий. Для корректного применения изменений перезапустим пользовательский сеанс или службу сервера 1С:Предприятия.

6. Альтернативный вариант: внедрение правил через расширение конфигурации

Чтобы не снимать модуль МенеджерОбменаЧерезУниверсальныйФормат с типовой поддержки, подключим правила через расширение конфигурации. Для этого переопределим процедуры заполнения правил конвертации (например, ПриЗаполненииПравилКонвертацииОбъектов) с использованием аннотаций &После или &Вместо, либо используем специализированные переопределяемые модули БСП, что упростит последующее обновление «1С:Бухгалтерии предприятия».

← На главную