Как исправить расхождение остатков и цен между центральной и периферийной базой в 1С 7.7 ТиС при УРБД?

Программист 1С v7.7 Управленческий учет Торговля и дистрибуция
← На главную

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

Почему нельзя напрямую редактировать таблицы базы данных

Рассмотрим, как устроен механизм распределенных баз в платформе 1С 7.7. Пакеты обмена УРБД переносят между узлами не готовые остатки, а только сами документы и связанные с ними движения регистров (таблицы движений RA*). Таблицы итогов и остатков (RG*) формируются локально на каждом узле на основании проведенных документов.

Если внести ручные правки в файлы базы данных (например, изменить количество в таблице остатков или цену в 1SCONST):

  1. Изменения не зафиксируются в системных таблицах регистрации обмена (1SDN* и 1SUP*), а значит, никогда не будут переданы в другие узлы распределенной информационной базы.
  2. Любой штатный пересчет итогов, перепроведение документов или реиндексация базы данных полностью перезапишут внесенные вручную значения реальными расчетными данными из движений документов.
  3. Возникает риск нарушения физической целостности таблиц и индексов базы данных, что может полностью заблокировать работу узла.

Архитектурные причины расхождения данных в УРБД

Проанализируем основные факторы, вызывающие несоответствие остатков и цен между центральной базой (ЦБ) и периферийной базой (ПБ):

  1. Нарушение локального расчета итогов: сбой индексных файлов (.CDX) на удаленной точке приводит к тому, что движения документов в базе присутствуют, но выборка итогов по регистру ОстаткиТМЦ рассчитывается некорректно.
  2. Особенности хранения периодических реквизитов: цены номенклатуры хранятся в таблице периодических значений 1SCONST. Если установка цен производилась нестандартными обработками без вызова механизмов регистрации изменений УРБД либо в конфигурации ограничена миграция периодических реквизитов, новые цены на точку не передаются.
  3. Нарушение хронологической последовательности документов: списание партий в «Торговля и Склад 7.7» зависит от точного времени документов. Проведение расходных накладных на точке раньше, чем был загружен пакет с приходом из центра, приводит к разрыву партионного учета и фиксации разных партий списания.
  4. Ограничения правил миграции: если для определенных типов документов или складов в конфигураторе установлена фильтрация по подразделениям, часть движений правомерно не попадает в периферийную базу.
  5. Смещение точки актуальности (ТА): если документы на точке проводятся задним числом без автоматического перемещения ТА вперед, оперативные отчеты могут отображать неактуальные данные.

Пошаговая диагностика расхождений

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

  1. Определение проблемных позиций: формируем отчет «Остатки ТМЦ» в центральной и периферийной базе на одну и ту же дату и фиксируем список позиций, по которым обнаружены расхождения в количестве.
  2. Анализ динамики движений: формируем стандартный отчет «Ведомость по остаткам ТМЦ» за проверяемый период одновременно в ЦБ и в ПБ. Этот отчет содержит начальный остаток, оборот по приходу, оборот по расходу и конечный остаток. Сравнивая эти показатели, выясняем, в каком именно месяце или дне разошлись обороты.
  3. Детализация до первичных документов: в отчете «Ведомость по остаткам ТМЦ» делаем группировку по документам движения. Сопоставляем список документов в центральной базе и на торговой точке. Это позволяет точно найти отсутствующий или лишний документ, вызвавший разрыв остатков.
  4. Проверка партий: если количество сходится, но плывет себестоимость или списываются не те партии, формируем отчет «Ведомость по партиям ТМЦ» для проверки соответствия партионных цепочек.

Методы устранения расхождений

После выявления характера проблемы применим один из штатных способов восстановления синхронизации:

  1. Тестирование и исправление на удаленной точке:

    Запускаем конфигуратор периферийной базы в монопольном режиме и открываем меню «Администрирование» → «Тестирование и исправление ИБ». Отмечаем флажками обязательные пункты: «Проверка физической целостности», «Реиндексация» и «Пересчет итогов». Данная процедура полностью пересчитывает таблицы остатков по имеющимся движениям документов и устраняет ошибки поврежденных индексов.

  2. Принудительная повторная выгрузка объектов и цен:

    Если на точку не передались актуальные периодические цены или реквизиты номенклатуры, открываем центральную базу, заходим в проблемный элемент справочника Номенклатура или документ Переоценка, вносим незначительное изменение (или перевыбираем значение цены) и сохраняем объект. Это действие принудительно регистрирует изменения в очереди выгрузки УРБД для отправки в следующем пакете обмена.

  3. Восстановление последовательности документов:

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

  4. Пересоздание образа периферийной базы:

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

← На главную