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

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

Работа в старых базах 1С 7.7, ведущихся десятилетиями, часто сопряжена с накоплением «хвостов» в аналитическом учете. Одной из самых частых проблем является «бардак» на счете 60.1 («Расчеты с поставщиками и подрядчиками»), когда общая сумма долга по контрагенту верна, но внутри него висят встречные остатки по разным договорам или вовсе без них. В этой статье мы подробно разберем, как навести порядок в расчетах, подготовить базу к свертке или переходу на «восьмерку».

Проанализируем причину возникновения проблемы

Ситуация, когда в ОСВ по счету 60.1 мы видим море отрицательных кредитовых остатков, обычно является следствием некорректно проведенной свертки базы или отсутствия контроля за заполнением субконто Договоры. В 1С 7.7 аналитический учет на счете 60 ведется в разрезе двух субконто: Контрагенты и Договоры. Если при оплате бухгалтер выбрал один договор (или оставил его пустым), а при поступлении товара — другой, система не зачтет эти суммы автоматически.

Рассмотрим типовой сценарий: при свертке базы на определенную дату программа собирает остатки по каждому уникальному сочетанию аналитики. Если до свертки по контрагенту висел аванс на 5000 рублей без договора и задолженность 5000 рублей по «Договору №1», то после свертки мы получим две проводки Дт 00 Кт 60.1:

  1. По пустому договору: +5000 рублей.
  2. По «Договору №1»: -5000 рублей.

В итоге итоговое сальдо по поставщику равно нулю, но отчетность выглядит «грязной», а выгрузка в 1С 8.3 может длиться бесконечно из-за огромного количества лишних записей в таблицах проводок.

Вариант 1: «Командирское решение» и схлопывание аналитики

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

  1. Проведем инвентаризацию взаиморасчетов. Распечатаем ОСВ по счету 60 по всем субконто.
  2. Дадим бухгалтеру этот отчет для выверки. Бухгалтер должен отметить, какие реальные остатки должны остаться.
  3. Если детальный учет по договорам не важен, принимаем решение объединить всё на один договор (например, «Основной договор» или «Без договора»).
  4. Используем документ Корректировка долга или ручную операцию, чтобы закрыть встречные остатки внутри одного контрагента.

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


// Пример логики для схлопывания остатков по договорам
ВыбратьОперацииСПустымиДоговорами();
Пока Операция.ПолучитьПроводку() = 1 Цикл
    Если Операция.СчетКт = СчётПоКоду("60.1") Тогда
        Если ПустоеЗначение(Операция.СубконтоКт(2)) = 1 Тогда
            // Находим встречную проводку с заполненным договором и переносим сумму
            ПеренестиСуммуНаОсновнойДоговор(Операция);
        КонецЕсли;
    КонецЕсли;
КонецЦикла;

Вариант 2: Исправление документов ввода остатков

Выясним причину долгой выгрузки в 1С 8.3. В сообщении 18 автор упоминает, что в операциях ввода остатков (от 31.12.2016) присутствуют взаимоисключающие проводки: одна положительная на 5000 и пять отрицательных по -1000. Это технический мусор. Рассмотрим, как это исправить:

  1. Откроем документ Ввод начальных остатков (или ручную операцию 00 — 60.1).
  2. Если сумма положительных и отрицательных проводок по конкретному контрагенту в итоге дает ноль, мы можем смело удалить эти строки. Баланс (счет 00) не изменится, так как суммарное влияние на него было нулевым.
  3. Если после удаления остается какая-то реальная задолженность, убедимся, что она привязана к актуальному договору.

Важно: Счет 00 («Вспомогательный») должен иметь нулевое сальдо после завершения всех корректировок ввода остатков. Если баланс по 00 счету «поехал», значит, была допущена ошибка в суммах.

Вариант 3: Автоматизированное наведение порядка

Рассмотрим более продвинутый метод — использование внешних обработок. Для 1С 7.7 существуют обработки типа «Поиск и замена значений». Посмотрим, как их применить для нашей задачи:

  1. Создаем в справочнике Договоры для каждого проблемного контрагента один элемент — «Основной договор».
  2. Запускаем обработку поиска и замены.
  3. Заменяем все пустые значения (<...>) и ошибочные договоры во всех документах (или только в операциях свертки) на этот «Основной договор».
  4. После замены выполняем Технологический анализ бухгалтерского учета и перепроводим документы, чтобы восстановить правильную последовательность зачета авансов.

Особенности работы с субсчетами 60.1 и 60.2

Разберем еще один важный нюанс: пересортица может возникать не только между договорами, но и между субсчетами. В 1С 7.7 счет 60.1 предназначен для расчетов, а 60.2 — для авансов выданных. Часто бывает так, что по 60.1 висит дебетовое сальдо (оплата), а по 60.2 — кредитовое (поступление).

Проанализируем алгоритм исправления:

  1. Используем стандартный отчет Анализ счета по субконто, чтобы увидеть общую картину по поставщику.
  2. Если видим встречные суммы на 60.1 и 60.2, воспользуемся регламентной обработкой Зачет авансов.
  3. Если типовая обработка «не видит» аванс, проверьте аналитику: договор на 60.1 и 60.2 должен совпадать символ в символ. Если один договор выбран из справочника, а в другой проводке — пустой, зачет не произойдет.

Подготовка к переходу на 1С 8.3

Если планируется переход на новую платформу, порядок на счете 60 критически важен. Проанализируем ситуацию из сообщения 4: выгрузка шла два выходных и зависла. Это происходит потому, что правила обмена данными пытаются обработать каждую «кривую» проводку, создавая в 8-ке огромное количество документов корректировки записей регистров.

Чтобы миграция прошла успешно, выполним следующие шаги:

Подведем итог: исправление бардака на 60 счете в 1С 7.7 — это комбинация «командирских решений» бухгалтерии и технических манипуляций программиста. Главное — добиться того, чтобы в ОСВ по счету 60 не было «красноты» (отрицательных остатков) и пустых субконто, которые разрывают учетную цепочку.

← На главную