При настройке синхронизации данных между современными конфигурациями, такими как "1С:Управление Торговлей 11" и "1С:Бухгалтерия Предприятия 3.0", специалисты часто сталкиваются с переходом на обмен через Универсальный формат (EnterpriseData) — для этого подойдёт доработка правил EnterpriseData без снятия с поддержки. Инструментом разработки здесь выступает "1С:Конвертация данных 3.0" (КД 3). Часто для настройки взаимодействия между базами требуются готовые решения, например, правила обмена БП 3.0 -> УНФ 3.0. Однако процесс самостоятельной работы с Правилами Регистрации Объектов (ПРО) вызывает множество вопросов, так как архитектура хранения этих правил в типовых конфигурациях изменилась.
В этой статье мы подробно разберем ситуацию, когда в конфигурации отсутствует привычный модуль МенеджерРегистрации, выясним, где физически хранятся правила, и научимся их корректно выгружать, редактировать и загружать обратно.
Многие разработчики, привыкшие к КД 2.0, ожидают увидеть правила регистрации в общем модуле или макете с определенным именем, который легко выгружается стандартными обработками. При переходе на КД 3 возникает путаница:
МенеджерОбменаЧерезУниверсальныйФормат.При попытке выгрузить правила из "1С:Бухгалтерии" с помощью старых методов или обработки UploadRules часто создается пустой файл или возникает ошибка при загрузке в КД: "Загрузка правил регистрации не выполнена". Это происходит потому, что механизм хранения правил в Библиотеке Стандартных Подсистем (БСП) был изменен.
Прежде чем приступать к решению, зафиксируем важный теоретический момент, который поможет избежать ошибок.
В экосистеме "Конвертации данных 3.0" существуют два принципиально разных типа правил:
Понимание того, что ПРО для КД 3 — это по сути "старые добрые" правила регистрации, позволяет нам использовать привычные методы работы с ними, если знать, откуда их взять.
Давайте проведем расследование внутри конфигурации. В старых версиях БСП правила часто "зашивались" в общий модуль МенеджерРегистрации, откуда их можно было скопировать. В актуальных релизах (БП 3.0, ЕРП, КА, УТ 11) подход изменился.
Если мы проанализируем код конфигурации, то можем наткнуться на функцию настройки плана обмена по умолчанию. Взглянем на пример кода, который можно встретить в общих модулях обмена:
Функция НастройкиПланаОбменаПоУмолчанию(ИмяПланаОбмена) Экспорт
// ... инициализация параметров
Параметры.Вставить("ПравилаРегистрацииВМенеджере", Ложь);
Параметры.Вставить("ИмяМенеджераРегистрации", "");
// ...
КонецФункции
Параметр ПравилаРегистрацииВМенеджере со значением Ложь явно указывает системе, что искать правила в модулях бессмысленно. В этом случае БСП использует два источника:
ПравилаРегистрации в плане обмена СинхронизацияДанныхЧерезУниверсальныйФормат), либо в ветке "Общие макеты".ПравилаОбменаДляСинхронизацииДанных.Теперь, когда мы знаем теорию, перейдем к практике. Разберем последовательность действий для изменения регистрации объектов.
Самый надежный способ получить файл правил регистрации из работающей базы (например, из Бухгалтерии) — использовать пользовательский режим (Предприятие).
Рассмотрим порядок действий:
Правила обмена для синхронизации данных.RegistrationRules.xml.Альтернативный вариант (через Конфигуратор):
Если доступа в Предприятие нет, найдите в дереве метаданных План Обмена СинхронизацияДанныхЧерезУниверсальныйФормат (или ОбменУправлениеТорговлейБухгалтерияПредприятия30, зависит от версии). Раскройте ветку "Макеты". Найдите макет с правилами регистрации (обычно текстовый или двоичный данные), откройте его и сохраните содержимое как XML.
Здесь есть важный нюанс. Поскольку формат правил регистрации не изменился, для их редактирования можно использовать как КД 3.0, так и КД 2.0.
Вариант с КД 3.0:
Вариант с КД 2.0 (часто более удобный):
Многие специалисты предпочитают редактировать ПРО в КД 2, так как там более привычный интерфейс конструктора запросов.
MD83Exp.epf (идет в комплекте с КД 2).На этом этапе мы вносим необходимые изменения. Например, нам нужно отключить регистрацию документов прошлых периодов или добавить отбор по организации. Если требуется массовое изменение, может пригодиться специализированный инструмент, выполняющий регистрацию к обмену сразу всех документов, начиная с указанной даты.
Помните, что правила регистрации состоят из:
После внесения изменений сохраните правила регистрации в файл (выгрузите из КД).
Самый важный этап — применение правил. Нам нужно заставить конфигурацию использовать наш файл вместо типового макета.
Для этого выполним следующие действия в базе-приемнике (или источнике, смотря где правили):
После этого система автоматически создаст (или обновит) запись в регистре сведений ПравилаОбменаДляСинхронизацииДанных. Переключатель источника правил изменится на "Правила из файла", и сам файл будет сохранен в базе как двоичные данные.
В процессе работы могут возникнуть ошибки, упомянутые в обсуждении. Разберем их причины.
Ошибка: "Загрузка правил регистрации не выполнена" в КД 3
Причины:
Прочие технические неполадки:
Иногда при обмене возникают программные исключения, такие как ошибка "Недостаточно фактических параметров" в синхронизации между Бухгалтерией 3.0 и Управлением Торговлей 10.3, которые требуют анализа конкретных обработчиков событий в правилах.
Проблема: Выгружается 5 файлов через UploadRules
Обработка выгрузки правил часто экспортирует комплект, в котором для редактирования регистрации объектов вам нужен только один файл, в названии которого фигурирует Registration или Регистрация.
Мы выяснили, что отсутствие модуля МенеджерРегистрации — это штатная ситуация для современных конфигураций 1С. Правила регистрации "живут" в макетах и регистрах сведений.
Алгоритм успеха прост:
Чтобы убедиться в корректности выполненных настроек, рекомендуется выполнить сверку документов, выгруженных из БП в УТ. Используя этот подход, вы сможете гибко настраивать обмен данными через Универсальный формат, не ломая типовые механизмы конфигурации.