Ситуация, когда в оборотно-сальдовой ведомости (ОСВ) по счету 62 «Расчеты с покупателями и заказчиками» появляются странные «разрывы» — когда дебет и кредит висят на пустых строках и не закрывают друг друга — является одной из самых распространенных и в то же время запутанных проблем в практике 1С. Визуально мы видим две пустые строки, но система упорно отказывается их суммировать. Разберем детально технические и методические причины этого явления, а также рассмотрим пошаговые алгоритмы решения проблемы.
Проанализируем ситуацию с точки зрения архитектуры базы данных 1С:Предприятие. Главная причина, по которой обороты не «схлопываются», заключается в том, что для системы 1С существует несколько видов «пустоты», которые визуально в отчете выглядят абсолютно идентично — как пустая ячейка или прочерк.
Рассмотрим подробнее эти состояния:
ДокументСсылка.РеализацияТоваровУслуг), которое указывает в «никуда». В отличие от Неопределено, здесь система знает, что это за объект, но он не выбран.В ОСВ группировка выполняется по значениям. С точки зрения системы Неопределено не равно Пустой ссылке. Поэтому программный код формирования отчета создает две разные строки в группировке. Чтобы убедиться в этом, мы можем воспользоваться отладчиком в подписке на событие ПередЗаписью регистра бухгалтерии или проанализировать движения документа через консоль запросов.
Выясним причину, связанную с настройкой конфигурации. Часто пользователи или начинающие программисты добавляют субконто на счет 62 самостоятельно, не учитывая логику типовых механизмов зачета авансов. Разберем по шагам, что нужно проверить в Плане счетов:
Во-первых, посмотрим на состав субконто для счетов 62.01 и 62.02. Они должны быть идентичны по типам данных и порядку следования. Если на счете 62.01 субконто «Документы расчетов» имеет составной тип, включающий Реализацию, а на 62.02 оно отсутствует или имеет другой набор типов, то при проведении документов «Списание с расчетного счета» или «Корректировка долга» аналитика может заполниться некорректно.
Во-вторых, обратим внимание на признак «Только обороты». Если этот флаг установлен для субконто «Документы расчетов», то остатки по этому разрезу храниться не будут. В результате в ОСВ при попытке вывести конечное сальдо по этой аналитике система выдаст хаотичные пустые строки, так как в регистре накопления остатков эти данные просто не зафиксированы.
Если в вашу конфигурацию вносились изменения (как упоминалось в обсуждении, например, было добавлено субконто «Документы реализации»), стандартные алгоритмы проведения документов перестают работать корректно. Рассмотрим пример кода, который может быть использован для проверки заполнения аналитики в подписке на событие:
Процедура ПередЗаписьюРегистраХозрасчетный(Источник, Отказ, Замещение)
Для Каждого Запись Из Источник Цикл
Если Запись.Счет = ПланыСчетов.Хозрасчетный.РасчетыСПокупателями Тогда
// Проверяем тип третьего субконто
Если ТипЗнч(Запись.Субконто3) = Тип("Неопределено") Тогда
Сообщить("Обнаружена запись с незаполненным типом аналитики в документе: " + Запись.Регистратор);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Проанализируем ситуацию: если программист добавил новое субконто, но не обновил модули менеджеров документов (например, РеализацияТоваровУслуг или ПоступлениеНаРасчетныйСчет), то при проведении система просто не будет знать, что в новое субконто нужно записывать ссылку на документ. В итоге по дебету (в реализации) будет стоять Пустая ссылка, а по кредиту (в оплате) — Неопределено.
Чтобы окончательно разобраться, почему строки не схлопываются, рекомендуем использовать Универсальный отчет. Он позволяет заглянуть «под капот» бухгалтерских итогов глубже, чем стандартная ОСВ.
Выполним следующие шаги для настройки отчета:
Субконто1 (Контрагент), Субконто2 (Договор) и Субконто3 (Документ расчетов).62.Субконто3.Тип или выведите детальные записи.В таком отчете вы четко увидите разницу в представлении. Строка с типом <...> обычно означает Неопределено, в то время как пустая строка с возможностью «провалиться» в пустой документ означает Пустую ссылку.
Рассмотрим несколько способов исправления ситуации, от простых бухгалтерских до технических.
Это наиболее безопасный и методически верный способ для бухгалтера. Разберем по шагам:
Корректировка долга с видом операции «Взаимозачет».62.Если проблема массовая и вызвана тем, что документы были проведены с незаполненной аналитикой (например, при отключенном флаге «Вести расчеты по документам» в учетной политике), можно воспользоваться типовой обработкой Групповое изменение реквизитов.
Важно: Перед этим необходимо убедиться, что в Параметрах учета включена аналитика по документам расчетов, иначе перепроведение не даст результата.
В случаях, когда «пустые» строки вызваны наличием «битых» ссылок (в отчете написано <Объект не найден>), следует выполнить тестирование и исправление информационной базы. Рассмотрим настройки:
Для того чтобы избежать подобных проблем в будущем, необходимо придерживаться следующих правил:
Проанализировав ситуацию комплексно — от типов данных до настроек учетной политики — мы сможем добиться идеального состояния оборотно-сальдовой ведомости, где каждый рубль дебетового оборота находит свое соответствие в кредите.