Как сравнить остатки в 1С:Бухгалтерии 7.7 до и после свертки базы

Программист 1С v7.7 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

Свертка информационной базы в системе 1С:Предприятие 7.7 — это ответственный процесс, требующий обязательного контроля корректности перенесенных остатков. Если в компоненте «Оперативный учет» для этих целей часто используется знаменитая утилита SrReg, то в «Бухгалтерском учете» ситуация сложнее, так как данные хранятся не в регистрах, а в бухгалтерских итогах. Рассмотрим подробно, как можно автоматизировать процесс проверки остатков и какие инструменты для этого существуют.

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

Основная сложность заключается в том, что после свертки база данных физически изменяется: документы за прошлые периоды удаляются, а вместо них создаются операции по вводу остатков. Чтобы убедиться, что ни одна копейка не потерялась, необходимо зафиксировать состояние счетов до процедуры и сравнить его с состоянием после. Простого формирования Оборотно-сальдовой ведомости (ОСВ) часто бывает недостаточно, так как расхождения могут возникнуть на уровне глубокой аналитики (субконто), которую сложно отследить глазами в печатной форме.

Метод 1: Использование стандартных отчетов и Excel

Разберем самый доступный, но трудоемкий способ, который упоминался в обсуждении. Этот метод не требует программирования, но требует внимательности:

  1. Сформируем Оборотно-сальдовую ведомость на дату свертки со всеми установленными флажками детализации: по субсчетам и по всем субконто.
  2. Сохраним отчет в формате Excel через меню «Файл — Сохранить как».
  3. Выполним свертку информационной базы.
  4. Сформируем аналогичную ОСВ в уже свернутой базе.
  5. Сохраним ее во второй файл Excel.
  6. Используем стандартные функции Excel (например, ВПР или простое вычитание ячеек из двух листов), чтобы найти расхождения.

Важный нюанс: при таком подходе легко пропустить развернутое сальдо по счетам расчетов (60, 62, 76), поэтому в настройках ОСВ обязательно нужно проверять признак вывода развернутого сальдо.

Метод 2: Создание снимка итогов через Таблицу Значений

Проанализируем более профессиональный подход, который программно реализует логику работы утилиты SrReg для бухгалтерского учета. Мы можем написать внешнюю обработку (.ert), которая выгружает все остатки в файл, а затем загружает их для сравнения. Рассмотрим пример алгоритма получения данных:


БИ = СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(); // Перебираем все виды субконто
БИ.ВыполнитьЗапрос(ДатаСвертки, ДатаСвертки);

ТЗ_Остатков = СоздатьОбъект("ТаблицаЗначений");
ТЗ_Остатков.НоваяКолонка("Счет");
ТЗ_Остатков.НоваяКолонка("Субконто1");
ТЗ_Остатков.НоваяКолонка("Субконто2");
ТЗ_Остатков.НоваяКолонка("Субконто3");
ТЗ_Остатков.НоваяКолонка("Сумма");

БИ.ВыбратьСчета();
Пока БИ.ПолучитьСчет() = 1 Цикл
    Если БИ.Счет.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли;
    
    // Здесь должна быть логика перебора субконто
    // В 7.7 это реализуется вложенными циклами ВыбратьСубконто/ПолучитьСубконто
    ТЗ_Остатков.НоваяСтрока();
    ТЗ_Остатков.Счет = БИ.Счет;
    ТЗ_Остатков.Сумма = БИ.СКД() - БИ.СКК();
КонецЦикла;

После формирования такой таблицы её можно сохранить в файл (например, в формате .dbf или текстовый файл с разделителями). После свертки обработка запускается снова, считывает файл и сравнивает каждую строку с текущими итогами в базе.

Метод 3: Использование специализированных обработок

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

На что обратить внимание при сверке

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

  1. Забалансовые счета: Свертка часто игнорирует счета 001, 002 и другие забалансовые счета. Проверьте, включены ли они в ваш алгоритм сравнения.
  2. Валютный учет: При сравнении остатков по валютным счетам (например, 52 или 60.11) необходимо сравнивать не только рублевый эквивалент, но и валютную сумму.
  3. Количественный учет: На счетах учета ТМЦ (10, 41, 43) расхождения могут быть в количестве при нулевой сумме или наоборот.
  4. Развернутое сальдо: Это «бич» всех сверток. Если до свертки по контрагенту была одновременно дебиторская и кредиторская задолженность по разным договорам, а после свертки они «схлопнулись», общая сумма по счету может совпасть, но аналитика будет нарушена.

Резюме по выбору инструмента

Если вам нужно разово проверить небольшую базу, воспользуйтесь методом сохранения ОСВ в Excel с максимальной детализацией. Однако, если вы занимаетесь сопровождением 1С 7.7 профессионально, рекомендуем написать или скачать обработку, работающую через Таблицу Значений. Как правильно заметили в обсуждении, код утилиты SrReg технически можно адаптировать под БухгалтерскиеИтоги, заменив обращение к регистрам на перебор счетов и субконто. Это позволит вам иметь под рукой универсальный инструмент для любой конфигурации на платформе 7.7, использующей бухгалтерский компонент.

← На главную