При переходе на новые версии «1С:Управление торговлей» (начиная с 11.5.7 и выше), многие технические специалисты и администраторы баз данных сталкиваются с неожиданным поведением системы: регистры накопления РасчетыСКлиентамиПоДокументам и РасчетыСПоставщикамиПоДокументам перестают заполняться. Это вызывает закономерные опасения, так как привычные отчеты и механизмы сверки могут показывать пустые или некорректные данные. Давайте вместе разберемся, почему это происходит и как настроить систему под ваши нужды.
Первым делом выясним причину изменений. В версии 11.5 разработчики 1С окончательно внедрили так называемую Онлайн-архитектуру взаиморасчетов. Проанализируем, в чем ее суть. В старых версиях распределение авансов и задолженностей по конкретным документам (накладным, заказам, платежкам) происходило либо при закрытии месяца, либо с помощью фонового задания «оффлайн». Это часто приводило к блокировкам базы данных, когда несколько пользователей одновременно проводили документы по одному контрагенту.
В новой онлайн-архитектуре система старается распределить расчеты мгновенно в транзакции проведения документа. При этом основные данные теперь записываются в новые регистры:
РасчетыСКлиентамиПоСрокамРасчетыСПоставщикамиПоСрокамЕсли в настройках программы включен режим Онлайн, движения по старым регистрам «по документам» больше не формируются — система считает их избыточными. Это штатное поведение для 11.5, но оно может быть неудобным, если ваши доработки или внешние отчеты завязаны на старую структуру данных. Для получения нужной детализации можно использовать отчет по взаиморасчетам с покупателями по расчетным документам для УТ 11.5.
Если вашей организации критически важно видеть движения именно в регистре РасчетыСКлиентамиПоДокументам, мы можем переключить систему в режим оффлайн. Рассмотрим, как это сделать через пользовательский интерфейс:
Важный момент: После переключения в режим «Оффлайн», движения в регистрах не появятся мгновенно. Система перейдет в режим ожидания фонового выполнения. Проанализируем следующий шаг.
Для того чтобы регистры «по документам» начали заполняться, необходимо активировать и настроить специальное регламентное задание. Без него, даже в режиме оффлайн, данные будут «висеть» в очереди на распределение. Выполним следующие действия:
Выполнение отложенных движений по расчетам с клиентами/поставщиками.После запуска этого задания система начнет обрабатывать таблицу ЗаданияКРаспределениюРасчетов и формировать привычные движения в регистре РасчетыСКлиентамиПоДокументам.
В некоторых случаях, даже после смены настроек в интерфейсе, система может продолжать вести себя некорректно из-за программных флагов. Рассмотрим способ, который помог пользователям на форуме — управление константой НоваяАрхитектураВзаиморасчетов.
Проанализируем программный метод проверки и установки этого флага (это можно сделать через консоль запросов или обработку «Групповое изменение реквизитов»):
// Пример логики проверки состояния константы (для ознакомления)
ЗначениеФлага = Константы.НоваяАрхитектураВзаиморасчетов.Получить();
Если ЗначениеФлага = Истина Тогда
// Система работает в режиме Онлайн, движения "по документам" отключены
Константы.НоваяАрхитектураВзаиморасчетов.Установить(Ложь);
КонецЕсли;
Внимание: Мы крайне не рекомендуем отключать эту константу программно в новых релизах (начиная с 11.5.12+), так как 1С постепенно вырезает код поддержки старых регистров. Это может привести к ошибкам при обновлении конфигурации или к неверному формированию отчета «Ведомость расчетов».
Разберем преимущества, которые мы теряем при откате к оффлайн-схеме. Новая архитектура была создана для решения конкретных проблем:
Если вы обнаружили пустые регистры, мы рекомендуем не возвращать оффлайн-режим, а пересмотреть свои алгоритмы. Вместо обращения к РасчетыСКлиентамиПоДокументам, попробуйте использовать данные из регистра РасчетыСКлиентамиПоСрокам. В нем присутствует вся необходимая аналитика: ОбъектРасчетов, РасчетныйДокумент, Предоплата и Долг. Для построения аналитики на базе этих данных можно использовать отчет по долгам клиентов на регистре по срокам.
Если вы решили все же вернуть движения в старый регистр, следуйте этому алгоритму:
ЗаданияКРаспределениюРасчетовСКлиентами. Если они там есть, значит, регламентное задание еще не обработало данные.Выполнение отложенных движений по расчетам... и дождитесь его завершения.Таким образом, мы выяснили, что отсутствие движений — это не программная ошибка, а результат эволюции архитектуры 1С. Выбор между «старым» и «новым» режимом остается за вами, но помните о долгосрочной поддержке вашей конфигурации.