Как настроить обмен данными между УНФ и Бухгалтерией, если обработка v8Exchan83.epf не работает?

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

При работе с современными конфигурациями на платформе 1С:Предприятие 8.3, такими как Управление нашей фирмой (УНФ) и Бухгалтерия предприятия (БП) 3.0, разработчики часто сталкиваются с ситуацией, когда проверенная годами обработка v8Exchan83.epf (Универсальный обмен данными в формате XML) перестает выполнять свои функции или работает некорректно. Рассмотрим подробнее, почему это происходит и как правильно организовать перенос данных, в частности — справочника ДоговорыКонтрагентов, без необходимости тащить за собой весь массив документов.

Почему старая обработка v8Exchan83.epf не подходит для современных конфигураций

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

Кроме того, современные обмены строятся на протоколе Enterprise Data (Универсальный формат). В отличие от классической Конвертации данных 2.0 (КД 2.0), где правила описывали жесткое соответствие «объект в объект», новый формат подразумевает использование промежуточного XDTO-пакета. Если ваша УНФ существенно доработана, типовая обработка просто не увидит новых реквизитов, пока они не будут описаны в расширении формата.

Разбираем «Калейдоскоп» технологий: КД 2.0 vs КД 3.0

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

  1. Конвертация данных 3.0 (КД 3.0): Используется для описания самой логики трансформации данных в Универсальный формат. Эти правила (часто в формате XSLT) хранятся внутри конфигурации или загружаются в специальный справочник.
  2. Конвертация данных 2.0 (КД 2.0): Несмотря на «устаревание», она до сих пор используется для создания Правил регистрации объектов (ПРО). Именно эти правила определяют, какой объект должен попасть в очередь выгрузки, а какой — нет.

Для решения задачи автора (переносить только договоры, не трогая документы), нам необходимо вмешаться именно в Правила регистрации.

Пошаговая настройка обмена через стандартную синхронизацию

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

Шаг 1: Поиск настроек в интерфейсе

Проанализируем путь к настройкам. В современных редакциях УНФ необходимо перейти в раздел НастройкиСинхронизация данных. Откройте существующую синхронизацию с Бухгалтерией. Вместо кнопки «Выполнить», обратим внимание на параметры самого соединения.

Шаг 2: Загрузка модифицированных правил

Если вам нужно изменить логику обмена, не обязательно снимать конфигурацию с поддержки. В окне настроек синхронизации через меню Еще (в некоторых версиях — Параметры синхронизации данныхПараметры конвертации) можно найти пункт «Загрузить комплект правил». Сюда загружается ZIP-архив, содержащий:

Шаг 3: Настройка правил регистрации для справочника Договоры

Чтобы документы не «улетали» в Бухгалтерию, откройте вашу базу Конвертация данных 2.0, загрузите туда правила регистрации из УНФ и для всех документов в списке установите Отказ = Истина в обработчике ПередОбработкой. Для справочника ДоговорыКонтрагентов, наоборот, пропишите условия регистрации. Например, если нужно регистрировать только новые договоры:


Если ЭтоНовый() Тогда
    // Объект будет зарегистрирован автоматически
Иначе
    // Можно добавить дополнительные проверки реквизитов
КонецЕсли;

Где лежат правила внутри конфигурации?

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

Нюансы переноса объектов без связанных данных

Проанализируем ситуацию: вы решили переносить только договоры. Справочник ДоговорыКонтрагентов в 1С имеет обязательный реквизит Владелец (тип СправочникСсылка.Контрагенты). Если вы не настроите правила так, чтобы вместе с договором «подтягивался» и контрагент, в базе-приемнике вы получите «битые» ссылки или пустые поля владельца.

Разберем, как этого избежать в КД 3.0. При выгрузке договора убедитесь, что в правилах обработки данных для него включена выгрузка связанных объектов по ссылке. В противном случае, вам придется вручную регистрировать контрагента при каждом создании договора.

Программный контроль регистрации объектов

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


Процедура ПриЗаписиОбъектаДляОбмена(Источник, Отказ) Экспорт
    УзелБухгалтерия = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоНаименованию("БП");
    Если ЗначениеЗаполнено(УзелБухгалтерия) Тогда
        // Удаляем регистрацию, если это документ, который нам не нужен
        ПланыОбмена.УдалитьРегистрациюИзменений(УзелБухгалтерия, Источник.Ссылка);
    КонецЕсли;
КонецПроцедуры

Такой подход радикален, но он гарантирует, что никакие документы не попадут в очередь выгрузки, независимо от настроек правил XML.

Подведение итогов

Вместо поиска работающей версии v8Exchan83.epf для УНФ, наиболее эффективным решением будет использование встроенной подсистемы обмена данными. Разберем основные выводы:

  1. Используйте встроенную обработку «Универсальный обмен данными в формате XML» (она доступна через меню «Функции для технического специалиста»), если вам нужен разовый перенос.
  2. Для постоянного обмена настраивайте типовую синхронизацию и модифицируйте правила регистрации через КД 2.0.
  3. Проверьте регистр Правила для обмена данными, чтобы понять, какие настройки уже используются в вашей системе.

Помните, что при работе с «наследственным» кодом важно сначала проверить наличие расширений или модифицированных модулей ОбменДаннымиСобытияУНФ, так как логика может быть жестко прописана там, игнорируя любые загруженные вами правила.

← На главную