Почему пропадает сальдо в карточке счета при отборе по статье движения денежных средств и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При формировании стандартных бухгалтерских отчетов, таких как Карточка счета или Оборотно-сальдовая ведомость по кассовым или банковским счетам (например, по субсчету 50.02 «Операционная касса»), пользователи нередко сталкиваются с ситуацией: при общем формировании отчета начальное и конечное сальдо отображаются корректно, но стоит установить отбор по конкретной статье движения денежных средств (ДДС), как сальдо полностью обнуляется. Разберем детально, с чем связано такое поведение системы и какими способами можно скорректировать работу программы.

Проанализируем техническую причину такого механизма. В платформе 1С:Предприятие для регистров бухгалтерии предусмотрен механизм оборотных субконто (признак Только обороты в плане счетов). Если субконто отмечено как оборотное, платформа формирует записи исключительно в физической таблице оборотов регистра. В таблице остатков регистра бухгалтерии данная аналитика намеренно отсекается — сальдо рассчитывается и хранится исключительно по счету в целом и тем видам субконто, которые являются остаточными. Поскольку поле оборотного субконто в таблице остатков отсутствует, платформа возвращает нулевое сальдо при любых попытках отфильтровать остатки по данной аналитике. В типовой конфигурации 1С:Бухгалтерия предприятия 3.0 субконто Статьи движения денежных средств по счетам учета денежных средств является исключительно оборотным, поэтому отсутствие остатков по статьям ДДС заложено архитектурно.

Рассмотрим, что делать в ситуации, когда бизнес-требования или запросы бухгалтерии категорически требуют видеть остатки именно в разрезе статей ДДС на счете 50.02.

Способ 1. Программное снятие признака «Только обороты» через внешнюю обработку

Поскольку счет 50.02 является предопределенным, типовой интерфейс конфигурации блокирует редактирование признаков субконто в режиме предприятия. Чтобы не снимать конфигурацию с поддержки и не модифицировать типовой код, снимем признак Только обороты программно через внешнюю обработку.

Разберем по шагам создание программного кода:

  1. Создадим внешнюю обработку и добавим команду с серверной процедурой.
  2. Получим объект предопределенного счета ОперационнаяКасса из плана счетов Хозрасчетный.
  3. Найдем в табличной части ВидыСубконто строку с видом субконто Статьи движения денежных средств.
  4. Установим реквизит ТолькоОбороты в значение Ложь и запишем объект.

Посмотрим на пример программной реализации:


&НаСервере
Процедура СнятьПризнакОборотногоСубконтоНаСервере()
    ПланСчетовСсылка = ПланыСчетов.Хозрасчетный.ОперационнаяКасса;
    СчетОбъект = ПланСчетовСсылка.ПолучитьОбъект();
    
    ВидСубконтоДДС = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиДвиженияДенежныхСредств;
    
    Для Каждого СтрокаСубконто Из СчетОбъект.ВидыСубконто Цикл
        Если СтрокаСубконто.ВидСубконто = ВидСубконтоДДС Тогда
            СтрокаСубконто.ТолькоОбороты = Ложь;
        КонецЕсли;
    КонецЦикла;
    
    СчетОбъект.Записать();
КонецПроцедуры

Способ 2. Редактирование модуля менеджера плана счетов

Если конфигурация уже снята с поддержки или находится на частичной поддержке с возможностью изменения, разблокировать интерактивное редактирование счета в пользовательском интерфейсе можно через расширение или модуль менеджера плана счетов.

В конфигурации 1С:Бухгалтерия предприятия доступность предопределенных счетов для редактирования регулируется функцией ПолучитьСчетаИсключения в модуле менеджера плана счетов Хозрасчетный. Добавим нужный счет в список исключений:


Функция ПолучитьСчетаИсключения() Экспорт
    МассивСчетовИсключений = Новый Массив;
    
    // Добавляем счет 50.02 в исключения для разблокировки формы
    МассивСчетовИсключений.Добавить(ПланыСчетов.Хозрасчетный.ОперационнаяКасса);
    
    Возврат Новый ФиксированныйМассив(МассивСчетовИсключений);
КонецФункции

После сохранения изменений форма счета 50.02 в режиме «1С:Предприятие» станет доступной для редактирования, и признак Только обороты можно будет снять вручную. Обратите внимание: после выполнения настройки рекомендуется вернуть исходный код модуля менеджера на место, чтобы не нарушать типовую логику обновления конфигурации.

Обязательные действия: пересчет итогов регистра бухгалтерии

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

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

  1. Создадим резервную копию информационной базы (обязательный шаг перед любыми системными операциями).
  2. Запустим информационную базу в режиме Конфигуратор.
  3. Перейдем в главное меню: Администрирование → Тестирование и исправление...
  4. Установим флаг исключительно напротив пункта Пересчет итогов.
  5. Нажмем кнопку Выполнить и дождемся завершения процесса пересчета итогов регистра бухгалтерии.

После завершения процедуры таблица остатков регистра бухгалтерии будет пересчитана с учетом новой остаточной аналитики по статьям ДДС.

Методологические и технические последствия отключения признака «Только обороты»

Перед принятием решения о включении остаточного учета по статьям ДДС необходимо оценить риски и последствия такого шага:

  1. Неизбежное возникновение «красного» сальдо: В стандартной методологии приход денежных средств оформляется по одним статьям (например, «Поступление от покупателей»), а расход — по совершенно другим («Оплата поставщикам», «Выплата заработной платы»). В типовом учете статьи ДДС не закрываются между собой в конце месяца. Это приведет к тому, что по всем расходным статьям сальдо будет бесконечно накапливаться в минус (красным), а по доходным — в плюс. Реального финансового смысла такое развернутое сальдо не отражает.
  2. Падение производительности и рост базы данных: Таблица итогов регистра бухгалтерии начинает хранить комбинации остатков по каждой статье ДДС, когда-либо участвовавшей в проводках. Это существенно увеличивает объем базы и замедляет проведение кассовых и банковских документов.
  3. Сброс настроек при типовых обновлениях: Поскольку счет является предопределенным, при установке очередных обновлений конфигурации механизм синхронизации метаданных может автоматически вернуть типовой признак Только обороты, и остатки пропадут снова.

Альтернативные варианты решения задачи без изменения плана счетов

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

  1. Использование специализированных отчетов: Вместо карточки счета используем стандартный отчет Анализ субконто с отбором по виду субконто «Статьи движения денежных средств» или отчет Обороты между субконто. Они предназначены именно для анализа оборотов.
  2. Учет целевых денег и фондов: Если требуется контролировать остатки денежных средств под конкретные цели или проекты, правильнее использовать отдельные расчетные субсчета (например, счет 55), вести раздельный учет по банковским счетам/кассам либо добавить на счет учета дополнительное пользовательское субконто (например, «Проекты» или «Направления деятельности»), по которому в проводках будут одновременно отражаться и приход, и расход.
← На главную