Почему не сходится управленческий баланс в УТ 11.4 после закрытия месяца и как это исправить?

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

При работе в конфигурации 1С:Управление торговлей (редакция 11.4), особенно на релизах ветки 11.4.9.х (в частности, 11.4.9.98), пользователи часто сталкиваются с крайне неприятной ситуацией. После выполнения всех регламентных операций по закрытию месяца отчет «Контроль управленческого баланса» оказывается незакрытым. В нем отображается множество расхождений («хвостов») по суммам, которые были сформированы автоматическими документами Распределение расхода.

Самое удивительное в данном поведении системы заключается в том, что если открыть эти автоматически созданные документы вручную и просто перепровести их, то отчет «Контроль управленческого баланса» волшебным образом закрывается «в ноль», все предупреждения исчезают, а регламентные операции остаются со статусом успешного выполнения (зеленые галочки). Давайте подробно разберем, почему возникает этот баг, как работает механизм распределения в новых релизах и какими способами можно окончательно решить данную проблему.

Выясняем причину: изменения в архитектуре распределения расходов

Начиная с релиза УТ 11.4.9, разработчики фирмы «1С» кардинально переработали схему распределения затрат и формирования финансового результата. Если раньше за доходы и расходы отвечал один общий механизм, то теперь система разделяет их:

  1. Появился новый специализированный документ Распределение расхода. Он генерируется автоматически во время процедуры закрытия месяца для всех статей расходов, у которых настроено списание на финансовый результат или на другие направления деятельности, если распределение не было введено вручную.
  2. Старый документ распределения доходов и расходов теперь сфокусирован преимущественно на выручке и доходах.

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

При этом, когда мы открываем документ интерактивно в режиме предприятия и нажимаем кнопку «Провести», система инициирует стандартную транзакцию проведения «в лоб». В этом случае все обработчики проведения отыгрывают корректно, регистр Активы и пассивы получает необходимые симметричные записи двойной записи, и баланс сходится.

Способ 1. Временное решение с помощью группового перепроведения

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

Проанализируем порядок действий после завершения закрытия месяца:

  1. Убедимся, что процедура закрытия месяца выполнена полностью и все регламентные операции горят зеленым цветом.
  2. Перейдем в меню НСИ и администрирование — Обслуживание — Корректировка данных и откроем обработку Групповое изменение реквизитов (или воспользуемся аналогичной обработкой группового перепроведения документов).
  3. Выберем тип данных Документ "Распределение расхода".
  4. Добавим отбор по периоду (текущий закрываемый месяц).
  5. Выполним команду «Провести выбранные документы».

После этого переформируем отчет «Контроль управленческого баланса». Вы увидите, что все расхождения по регистру Активы и пассивы исчезли.

Способ 2. Программное исправление в модуле менеджера (для разработчиков)

Если вы хотите устранить первопричину багов автоматического распределения и закрытия месяца без постоянного ручного вмешательства, необходимо скорректировать программный код конфигурации. Схожая проблема наблюдается не только в УТ, но и в родственных конфигурациях — 1С:Комплексная автоматизация (КА 2) и 1С:ERP Управление предприятием.

Давайте посмотрим на пример доработки. В модуле менеджера документа РаспределениеПрочихЗатрат (или соответствующем объекте, отвечающем за автоматическую генерацию распределения расходов в вашей версии конфигурации) найдем процедуру, отвечающую за финальное распределение на финансовый результат. Обычно это метод РаспределитьРасходыНаФинансовыйРезультат().

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


// Внедрение принудительной регистрации движений для корректного закрытия баланса
РеглУчетПроведениеСервер.ЗарегистрироватьОтражениеДокумента(
    ВыборкаРегистраторов.Регистратор,
    Перечисления.СтатусыОтраженияДокументовВРеглУчете.КОтражениюВРеглУчете
);

Этот код заставляет систему гарантированно зафиксировать измененные документы распределения расходов в очереди трансляции проводок и движений по активам и пассивам, предотвращая «зависание» сумм в промежуточном состоянии фонового потока.

Способ 3. Кардинальное решение — обновление и установка патчей

Описанная проблема являлась критической ошибкой платформенных механизмов интеграции контуров себестоимости и управленческого баланса в ветке 11.4.9. Фирма «1С» оперативно отреагировала на жалобы пользователей и выпустила исправления.

Рекомендуем выполнить следующие шаги для системного решения:

  1. Проверьте наличие официальных исправлений (патчей) для вашего релиза в разделе поддержки. Перейдите в Администрирование — Обслуживание — Обновление программы — Установка исправлений (патчей). Если система подключена к интернет-поддержке, она автоматически найдет и установит патч, исправляющий проведение документов автоматического распределения.
  2. Выполните обновление конфигурации до релиза 11.4.10 или выше. В последующих релизах архитектура формирования движений по регистру Активы и пассивы при автоматическом закрытии месяца была существенно оптимизирована и избавлена от проблемы «двойного проведения» документов Распределение расхода.

Также стоит помнить о циклической зависимости расчетов. Иногда, чтобы полностью выровнять баланс, требуется запустить процедуру закрытия месяца повторно 2–3 раза подряд, так как расчет себестоимости может незначительно корректировать суммы распределения расходов на каждом последующем этапе итерации.

← На главную