При настройке распределенной информационной базы (РИБ) в конфигурации 1С:Управление нашей фирмой (УНФ) часто возникает ситуация, когда типовые объекты обмениваются данными успешно, а добавленные вами самодельные справочники остаются только в центральной базе. Давайте разберем, почему это происходит и как заставить систему «видеть» ваши изменения.
Первая и самая важная причина, по которой данные не уходят в периферийную базу, — это отсутствие объекта в составе Плана обмена. По умолчанию, когда вы создаете новый справочник, он не включается в механизмы обмена автоматически.
Полный).Разрешить, Запретить или Авто. Для большинства стандартных задач значение Авто является оптимальным.После внесения изменений в Конфигуратор, вам необходимо обновить конфигурацию базы данных (клавиша F7). Это действие обязательно нужно выполнить как в центральном узле, так и во всех периферийных узлах, участвующих в обмене. Структура метаданных должна быть идентичной во всех базах, иначе при получении данных система выдаст ошибку несоответствия.
Простого добавления объекта в план обмена недостаточно для того, чтобы уже созданные элементы справочника улетели в периферийную базу. Система обмена работает по принципу «регистрации изменений». Если элемент справочника был создан до того, как вы внесли изменения в план обмена, система не считает его измененным.
Чтобы заставить систему отправить данные, необходимо выполнить принудительную регистрацию объектов:
После этого при очередном сеансе обмена система увидит, что данные помечены для отправки, и успешно передаст их в другой узел.
Если после регистрации данных они все равно не передаются, стоит проанализировать Подписки на события. В типовой УНФ регистрация данных при записи элемента обычно происходит автоматически через подписки типа ПриЗаписи... или ПередЗаписью....
Если ваши справочники не попадают в обмен автоматически при их создании или изменении в пользовательском режиме, проверьте, назначены ли для них соответствующие обработчики:
// Пример программной регистрации объекта для обмена
ПланыОбмена.Полный.ЗарегистрироватьИзменения(УзелОбмена, СсылкаНаВашОбъект);
Если обмен завершается без явных ошибок, но данные не появляются, всегда проверяйте Журнал регистрации (Администрирование -> Обслуживание -> Журнал регистрации). Отфильтруйте события по категории Обмен данными. Там вы сможете увидеть, не возникают ли ошибки при получении или отправке, например, из-за конфликта уникальных идентификаторов или отсутствия правил конвертации, если обмен настроен через КД 2.0 или КД 3.0.
Помните: РИБ требует строгого соблюдения порядка метаданных. Всегда обновляйте конфигурацию везде, прежде чем начинать активную пересылку данных. Если вы внесли правки в план обмена, убедитесь, что обе базы «знают» о новых объектах.