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

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

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

Анализируем механизм регистрации изменений

Для начала выясним причину «избирательной» синхронизации. В 1С обмен данными в РИБ работает по принципу регистрации изменений. Когда вы создаете или записываете объект (например, карточку товара), система делает запись в специальной таблице регистрации. При очередном сеансе связи программа «смотрит» в эту таблицу и отправляет только то, что там отмечено. Если объект не зарегистрирован, он не попадет в файл выгрузки, даже если сама синхронизация прошла успешно.

Для проверки регистрации объектов выполним следующие действия:

  1. Перейдем в раздел Администрирование — Синхронизация данных.
  2. Выберем нужную настройку синхронизации и нажмем кнопку Состав отправляемых данных (иконка в виде списка с карандашом).
  3. В открывшемся окне найдем в списке Справочник.Номенклатура.
  4. Проанализируем колонку «Количество»: если там стоит «0», значит, изменения по номенклатуре не зарегистрированы к отправке.

Ручная регистрация номенклатуры к обмену

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

  1. В окне Состав отправляемых данных выделим строку Номенклатура.
  2. Нажмем кнопку Зарегистрировать — Все объекты данного типа (если нужно отправить весь справочник) или Одиночный объект (для проверки конкретной позиции).
  3. Важный момент: регистрацию необходимо проводить только в той базе, из которой должны уйти данные (как правило, это центральный узел). В подчиненной базе регистрировать данные нужно только в том случае, если вы создали товар именно там и хотите передать его «наверх».

Решаем проблему синхронизации цен

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

Проанализируем основные причины отсутствия цен:

Почему не передается флаг «Недействительна»?

Рассмотрим специфический случай: вы установили в карточке товара галочку Недействительна, но в другой базе товар по-прежнему активен. Это происходит из-за особенностей правил регистрации объектов (ПРО):

Во многих типовых правилах 1С:УНФ прописано условие: не регистрировать к обмену объекты, помеченные как недействительные. Это сделано для оптимизации трафика — предполагается, что если товар выведен из оборота, то и синхронизировать его изменения в другие узлы не имеет смысла.

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

  1. Временно снимите флаг Недействительна в главной базе и запишите объект.
  2. Дождитесь синхронизации (товар обновится в подчиненной базе).
  3. Снова установите флаг Недействительна и вручную зарегистрируйте этот конкретный объект к обмену через «Состав отправляемых данных».

Риски при регистрации «всех галочек»

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

Итоговый чек-лист для проверки синхронизации

Если после ручной регистрации данные всё равно не переходят, проанализируем следующие технические моменты:

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

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

← На главную