Ситуация, когда в отчете «Оборотно-сальдовая ведомость по счету» (ОСВ) итоговая сумма в «подвале» не соответствует сумме строк по аналитике (субконто), является классическим признаком технического сбоя в базе данных 1С. Это вызывает панику у бухгалтеров и недоумение у системных администраторов, так как стандартные механизмы перепроведения документов здесь не помогают. Разберем детально, почему это происходит и как мы можем исправить эту проблему шаг за шагом.
Для начала проанализируем, как 1С:Предприятие хранит данные. В системе существуют две основные группы таблиц для регистров бухгалтерии:
Если итог в отчете не сходится с суммой строк, это означает, что таблица итогов «живет своей жизнью», отличной от реальных проводок. Рассмотрим подробнее, как это лечится.
Поскольку проблема часто встречается именно в файловых вариантах 1Cv8.1CD, первым делом нам необходимо исключить повреждение структуры самого файла. Рассмотрим процедуру работы с утилитой chdbfl.exe:
C:\Program Files\1cv8\номер_версии\bin) файл chdbfl.exe.Автор темы на форуме совершил типичную ошибку: он выполнил ТиИ, но пропустил важные пункты. Разберем, какие настройки нам действительно необходимы для исправления итогов:
Проанализируем ситуацию: если мы не выполним реструктуризацию и полный пересчет, система может продолжать использовать поврежденный индекс или кэшированную запись в таблице агрегатов.
Иногда пересчет через ТиИ не помогает, если сбита «Граница рассчитанных итогов». Выясним, как это проверить:
Перейдем в раздел Администрирование — Обслуживание — Регламентные операции — Управление итогами. Проверим дату, по которую рассчитаны итоги. Если текущий период (например, текущий месяц) не входит в диапазон рассчитанных итогов, отчеты на базе СКД могут выдавать непредсказуемые результаты, пытаясь вычислить остатки «на лету».
Нам следует установить период рассчитанных итогов на конец текущего или следующего месяца и нажать «Установить». Это заставит систему актуализировать данные.
Если технически база исправна, но цифры все равно «разлетаются», нам нужно проверить саму аналитику. Выясним причину через «Карточку счета»:
<Объект не найден> или просто пустое значение там, где оно должно быть.Для программного поиска таких записей программист может использовать консоль запросов. Рассмотрим пример запроса, который поможет найти записи с пустым субконто (например, для счета 60.01):
ВЫБРАТЬ
ХозрасчетныйДвиженияССубконто.Регистратор,
ХозрасчетныйДвиженияССубконто.Период,
ХозрасчетныйДвиженияССубконто.Сумма
ИЗ
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК ХозрасчетныйДвиженияССубконто
ГДЕ
ХозрасчетныйДвиженияССубконто.Счет = &НужныйСчет
И (ХозрасчетныйДвиженияССубконто.Субконто1 ЕСТЬ NULL
ИЛИ ХозрасчетныйДвиженияССубконто.Субконто1 = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка))
Посмотрим на настройки самого отчета в 1С:Бухгалтерия 3.0. В настройках ОСВ по счету есть вкладка «Группировка», где для каждого субконто можно установить флаг «По субсчетам» или в основных настройках выбрать «Развернутое сальдо».
Проанализируем ситуацию: если по одному договору у вас дебет, а по другому — кредит, то при свернутом сальдо в итоге будет разница (взаимозачет). Но если отчет настроен некорректно (например, счет стал активно-пассивным, а аналитика не закрыта), в строках вы увидите огромные суммы в обеих колонках, а в итоге — лишь их разность. Убедитесь, что в настройках отчета на закладке «Показатели» не включены одновременно валютная сумма, количество и обычная сумма, если вы анализируете только рублевый эквивалент.
Если на одном компьютере отчет «врал», а на другом (под тем же пользователем) показывает правду — дело в кэше метаданных. Разберем процесс очистки:
%AppData%\1C\1cv8\ создастся с новым уникальным идентификатором).Подведем итог: чаще всего в файловых базах БП 3.0 расхождение итогов лечится связкой chdbfl.exe + ТиИ с реструктуризацией и пересчетом итогов. Если это не помогло, ищите «ручные операции», внесенные программно без заполнения обязательных разрезов аналитики (Субконто).