Почему не синхронизируется номенклатура и цены в 1С:УНФ через РИБ и как это исправить

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

Работа с распределенными информационными базами (РИБ) в 1С:Управление нашей фирмой — это удобный способ объединить склад и удаленные торговые точки. Однако часто пользователи сталкиваются с ситуацией, когда документы (например, «Перемещение товаров») успешно передаются из главной базы в подчиненную, а сама номенклатура внутри этих документов отображается как <Объект не найден>. Вместе с этим часто перестают обновляться и цены. Проанализируем, почему это происходит и как наладить корректный обмен данными.

Выясняем причину появления «битых ссылок»

Когда в подчиненном узле вместо названия товара мы видим надпись <Объект не найден>, это означает, что ссылка на объект (УИД) в документе есть, но сама карточка справочника Номенклатура в базу не пришла. Рассмотрим основные причины:

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

Решение 1: Ручная регистрация изменений

Самый быстрый способ заставить систему «увидеть» новые данные — это принудительная регистрация. Разберем этот процесс по шагам:

Перейдем в раздел Компания — Администрирование — Синхронизация данных. Найдем нашу настройку РИБ и нажмем кнопку Состав отправляемых данных (в некоторых версиях она находится в меню «Еще»).

В открывшемся окне мы увидим дерево объектов. Найдем справочник Номенклатура и регистр сведений Цены номенклатуры. Чтобы данные ушли в ближайшем сеансе связи, выполним следующие действия:

  1. Нажмем кнопку Зарегистрировать изменения всех объектов выбранных типов.
  2. Выберем нужные справочники.
  3. Выполним синхронизацию.

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

Решение 2: Проверка настроек состава плана обмена

Если ручная регистрация помогает только один раз, а новые товары снова не передаются автоматически, проанализируем настройки в Конфигураторе. Нам нужно убедиться, что для справочника включена автоматическая регистрация.

Посмотрим на свойства плана обмена (обычно это ПланОбмена.УдаленныеКассы или ПланОбмена.ПоМагазину):

  1. Откроем вкладку Состав.
  2. Найдем в списке Справочник.Номенклатура.
  3. Проверим значение в колонке Авторегистрация. Должно стоять значение Разрешить.

Если установлено Запретить, это означает, что разработчики заложили логику программной регистрации (например, только при записи документа). В этом случае номенклатура может не уходить «просто так» при создании карточки.

Специфика синхронизации цен номенклатуры

В 1С:УНФ цены хранятся в регистре сведений Цены номенклатуры. Часто они не переходят в РИБ из-за того, что пользователи меняют цену прямо в карточке товара. Рассмотрим, как система фиксирует это изменение:

Когда мы меняем цену в карточке, создается запись в регистре. Однако в плане обмена может быть не настроена автоматическая регистрация именно для этого регистра. Чтобы цены гарантированно попадали в магазины, проанализируем ситуацию в окне Регистрация изменений для обмена и убедимся, что записи регистра Цены номенклатуры также присутствуют в очереди на отправку.

Если цены не передаются, попробуем перепровести документ Установка цен, если он используется, либо воспользуемся обработкой «Регистрация изменений», чтобы добавить весь набор записей регистра по нужным позициям.

Проблема с реквизитом «Недействителен»

Бывают случаи (как описано в практике пользователей), когда номенклатура синхронизируется, но флаг Недействителен (архивный товар) в подчиненной базе не устанавливается. Разберем, почему так происходит:

В правилах конвертации данных (ПВД), зашитых внутри конфигурации 1С:УНФ, может стоять условие на исключение этого реквизита из обмена. Это делается для того, чтобы в магазинах случайно не скрыли товар, который еще есть в остатках. Если нам критично передавать этот признак, придется внести изменения в правила обмена или использовать расширение конфигурации, которое будет принудительно регистрировать изменение этого реквизита.

Рекомендации по стабильной работе РИБ

Чтобы избежать проблем с «Объектами не найденными», рекомендуем придерживаться следующего алгоритма работы:

  1. Сначала синхронизация, потом перемещение: После создания новой номенклатуры на главном узле, выполните один цикл обмена ДО того, как будете отправлять документы перемещения. Это гарантирует, что справочная информация уже будет в подчиненной базе.
  2. Контроль версий: Убедитесь, что версии платформы 1С на всех точках одинаковы. Например, на платформе 8.3.13 были замечены ошибки в механизме регистрации изменений, которые лечатся обновлением до актуальных версий (8.3.20 и выше).
  3. Очистка кэша: Если регистрация изменений выполнена, но данные упорно не уходят, попробуйте очистить кэш сервера (или локальный кэш пользователя) на главном узле. Иногда «зависшие» записи в таблицах регистрации мешают формированию корректного файла обмена.

Для программной проверки наличия зарегистрированных изменений можно использовать следующий фрагмент кода (для ознакомления программистам):


ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелОбмена, НомерСообщения);
Пока ВыборкаИзменений.Следующий() Цикл
    Данные = ВыборкаИзменений.Получить();
    // Здесь можно проанализировать, какие объекты попали в обмен
КонецЦикла;

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

← На главную