В процессе работы с конфигурацией 1С:Управление торговлей версии 11.4 пользователи часто сталкиваются с ситуацией, когда после проведения документа (например, «Реализация товаров и услуг») данные во взаиморасчетах обновляются не сразу. Это происходит из-за механизма так называемого «отложенного» проведения или фонового расчета. Рассмотрим подробно, почему так происходит, где находятся нужные переключатели в интерфейсе и как заставить систему рассчитывать данные мгновенно.
Для начала проанализируем, зачем вообще в системе реализовано разделение проведения. В современных версиях УТ 11 (начиная с 11.4) используется архитектура «Планируемые расчеты». Ее главная цель — повысить скорость работы пользователя. Когда документ записывается и проводится, система делает записи только в основные оперативные регистры, а детальный расчет (распределение оплат по накладным, расчет курсовых разниц, зачет авансов) выносит «за скобки».
Если этот механизм включен, мы получаем следующее:
Давайте выясним, как изменить это поведение и перейти к «онлайн» режиму, когда расчет происходит в момент нажатия кнопки «Провести и закрыть».
Путь к настройке может незначительно меняться в зависимости от конкретного релиза (11.4.11, 11.4.13 и т.д.), но общая логика остается неизменной. Разберем шаги по порядку:
Если мы установим эту галочку, система перейдет в режим немедленного расчета. Это может немного замедлить проведение документов, но зато данные во всех отчетах будут актуальны сразу после проведения.
Если через стандартный интерфейс найти настройку не удается (например, из-за особенностей прав доступа или специфической доработки интерфейса), проанализируем ситуацию с точки зрения разработчика. За данное поведение в системе отвечает конкретная константа.
Рассмотрим название этой константы: АктуализироватьВзаиморасчетыПриПроведенииДокументов. Вы можете найти ее через «Все функции» (или «Функции для технического специалиста»):
АктуализироватьВзаиморасчетыПриПроведенииДокументов.Также стоит обратить внимание на связанную настройку фоновых заданий. Посмотрим на еще одну важную опцию: «Выполнять фоновый расчет взаиморасчетов при проведении документов». Если основная галочка расчета снята, но эта опция включена, система будет пытаться выполнить расчет сразу после проведения, но в отдельном потоке на сервере. Это компромиссный вариант между скоростью и актуальностью.
Бывают ситуации, когда настройки выставлены верно, но данные все равно «висят». Выясним причину в регламентных операциях. За актуальность данных при выключенном онлайн-расчете отвечает регламентное задание «Актуализация расчетов с клиентами/поставщиками».
Рассмотрим, как проверить его работу:
Актуализация расчетов с клиентами.Почему именно для документа РеализацияТоваровУслуг так важно отключить отложенное проведение? Рассмотрим практический пример. Вы отгружаете товар клиенту, который ранее внес предоплату. В момент проведения документа система должна «увидеть» этот аванс и зачесть его. Если расчет отложен, то в печатную форму УПД или Счета-фактуры данные о платежно-расчетном документе (строка 5) могут не попасть, так как физическая запись в регистре расчетов еще не создана.
Для программистов, желающих программно проверить состояние этой настройки в коде, можно использовать следующий подход:
// Проверим состояние константы программно
ЗначениеНастройки = Константы.АктуализироватьВзаиморасчетыПриПроведенииДокументов.Получить();
Если Не ЗначениеНастройки Тогда
Сообщить("Внимание: включен режим отложенного расчета взаиморасчетов!");
КонецЕсли;
Подведем итог нашему анализу. Если ваша компания требует мгновенной сходимости данных в отчетах и корректного заполнения печатных форм сразу «из-под ножа», выполните следующие действия:
АктуализироватьВзаиморасчетыПриПроведенииДокументов установлена в значение Истина.8.3.Таким образом, совместная работа администратора и бухгалтера по настройке этих параметров позволит избежать путаницы в расчетах и обеспечит корректность ведения управленческого учета в 1С:УТ 11.4.