Почему в 1С 7.7 остатки ТМЦ на текущую дату выводятся некорректно, а за прошлые даты правильно?

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

В практике работы с конфигурацией «Торговля и Склад» на платформе 1С:Предприятие 7.7 встречается специфическая проблема: отчет «Ведомость по остаткам ТМЦ» показывает неверные данные, если формировать его на текущий день (или на точку актуальности — ТА). Однако если сформировать тот же самый отчет на любую прошлую дату, остатки выводятся абсолютно корректно. Проанализируем причину такого поведения платформы и разберем способы решения данной проблемы.

Выясним причину проблемы в архитектуре 1С 7.7

Для понимания сути происходящего проанализируем устройство регистров накопления платформы 1С 7.7. Хранение данных регистра разделено на две основные таблицы базы данных:

  1. Таблица актуальных итогов (таблицы вида RG*): хранит готовые рассчитанные остатки на точку актуальности (ТА).
  2. Таблица движений (таблицы вида RA*): хранит все записи (приходы и расходы), созданные проведенными документами.

Когда мы формируем отчет на точку актуальности (или на текущую дату, когда ТА установлена на сегодня), платформа не пересчитывает все движения с начала времен, а мгновенно берет срез из таблицы актуальных итогов RG. Если же мы запрашиваем отчет на прошлую дату, платформа выполняет временный расчет: она берет за основу ближайшие рассчитанные месячные итоги и последовательно прибавляет или вычитает движения из таблицы RA.

Если в процессе ежедневного сдвига ТА, сбоев сети, некорректного завершения работы или повреждения индексов произошел сбой, таблица актуальных итогов RG рассинхронизируется с таблицей движений RA. В результате расчет на ТА считывает поврежденные «зависшие» данные из RG, а расчет на прошлую дату вычисляется по реальным движениям RA и дает правильный результат.

Обратим внимание на интервал отчета: «ПО дату» или «НА дату»

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

Разберем способы устранения проблемы

Способ 1. Пересчет итогов и тестирование информационной базы

Наиболее надежный способ устранить расхождение между таблицами движений и актуальных итогов — выполнить регламентный пересчет через Конфигуратор:

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

В процессе пересчета platform полностью очищает и заново переформирует таблицы актуальных итогов RG на основе проверенных записей из таблиц RA.

Способ 2. Выгрузка и загрузка данных (для файлового режима DBF)

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

  1. В Конфигураторе выберем пункт меню Администрирование — Выгрузка данных и сохраним zip-архив.
  2. Создадим новую пустую папку для информационной базы и пропишем её в окне запуска.
  3. Запустим Конфигуратор в новой базе и выполним Администрирование — Загрузка данных.

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

Способ 3. Перемещение точки актуальности (ТА)

В некоторых случаях для принудительного каскадного пересчета итогов помогает ручной сдвиг ТА:

  1. Откроем журнал документов в режиме «1С:Предприятие».
  2. Переместим точку актуальности на один или несколько дней назад (например, на конец прошлого месяца).
  3. После этого установим ТА обратно на самый последний проведенный документ текущего дня.

При последовательном сдвиге ТА платформа заставляет регистры пересчитать актуальные значения для текущего периода.

Способ 4. Особенности для баз на MS SQL Server

Если информационная база работает под управлением MS SQL Server и имеет большой объем, процедура тестирования и исправления через штат Конфигуратора может занять продолжительное время. В таких случаях рекомендуем использовать специализированные внешние обработки для пересчета регистров или выполнить очистку битых записей напрямую с помощью SQL-скриптов с последующим пересчетом итогов из интерфейса программы.

← На главную