При построении отчетов или выполнении запросов к виртуальным таблицам регистров накопления можно столкнуться с аномальным поведением платформы: при изменении даты начала периода расчетов изменяется конечный остаток, хотя никаких движений по номенклатуре в эти даты не производилось. Например, при выборе периода с 30 ноября конечный остаток пуст, а при сдвиге периода на 01 декабря появляется отрицательный остаток. Проанализируем причины такого поведения 1С и разберем по шагам варианты решения этой проблемы.
Виртуальная таблица ОстаткиИОбороты рассчитывает начальные и конечные остатки, опираясь на физическую таблицу итогов регистра накопления и таблицу записей (движений). Если граница начала периода меняется, платформа выбирает разные опорные точки из таблицы итогов и считывает обороты между ними.
Рассмотри основные причины, почему конечный остаток начинает меняться в зависимости от даты начала интервала:
00:00:00 могут исключаться или включаться в начальные остатки в зависимости от настроек границ периода.Для файлового варианта информационной базы стандартная процедура «Тестирование и исправление» из Конфигуратора может оказаться неэффективной, если повреждена физическая структура файла 1Cv8.1CD. Проанализируем порядок действий:
bin и запустим утилиту chdbfl.exe.Разберем процедуру выполнения пересчета итогов и реструктуризации таблиц через Конфигуратор:
Посмотрим, как можно выполнить перерасчет итогов конкретного регистра накопления с помощью встроенного языка 1С:
// Отключаем использование итогов для сброса поврежденной таблицы
РегистрыНакопления.ТоварыНаСкладах.УстановитьИспользованиеИтогов(Ложь);
// Включаем использование итогов обратно
РегистрыНакопления.ТоварыНаСкладах.УстановитьИспользованиеИтогов(Истина);
// Выполняем принудительный пересчет итогов регистра
РегистрыНакопления.ТоварыНаСкладах.ПересчитатьИтоги();
Этот метод позволяет перезаписать таблицу итогов, приведя её в точное соответствие с таблицей движений регистра.
Рассмотрим еще один надежный способ исправления структурных сбоев файловой базы. Выгрузка и последующая загрузка информационной базы полностью перестраивает внутренние таблицы СУБД:
.dt.