При работе с конфигурациями на платформе 1С:Предприятие 8, такими как Управление торговлей 11, ERP или Комплексная автоматизация, специалисты часто сталкиваются с ситуацией, когда в виртуальной таблице остатков регистра РасчетыСКлиентамиПоДокументам по одному и тому же заказу висят две строки: одна с положительным остатком, другая с отрицательным. При этом общая сумма взаиморасчетов по заказу в целом равна нулю. Разберем подробно, почему так происходит и как привести данные в порядок.
Первым делом проанализируем структуру регистра накопления РасчетыСКлиентамиПоДокументам. В отличие от многих простых регистров, здесь ключевую роль играет измерение РасчетныйДокумент. Рассмотрим ситуацию: у нас есть основной документ (например, РеализацияТоваровУслуг) и документ, который его корректирует или оплачивает (например, КорректировкаРеализации или ВзаимозачетЗадолженности).
Если в системе для одной записи в качестве расчетного документа указан сам ЗаказКлиента, а для другой — КорректировкаРеализации, то с точки зрения платформы 1С — это разные значения измерений. Виртуальная таблица остатков всегда группирует данные в разрезе всех измерений. Если хотя бы одно измерение отличается, записи никогда не «схлопнутся» в одну строку. Именно это мы и наблюдаем, когда видим две строки с одинаковыми суммами и разными знаками.
Важно понимать разницу в архитектуре подсистемы взаиморасчетов. Рассмотрим два основных регистра:
РасчетныйДокумент тут является обязательным и определяющим.Именно поэтому часто возникает ситуация, когда в отчете «Ведомость по расчетам с клиентами» остатки по нулям (так как отчет может группировать данные или брать их из регистра по срокам), а в консоли запросов по регистру «По документам» мы видим «хвосты».
Проанализируем еще одну важную особенность современных версий УТ 11. Система использует механизм отложенного распределения расчетов. Это означает, что при проведении документов (например, ПриходныйКассовыйОрдер или Взаимозачет) программа не всегда сразу понимает, какой конкретно документ реализации закрывает данный платеж.
Для окончательного закрытия остатков должен отработать регламентный процесс. Рассмотрим последовательность действий для исправления ситуации:
ВыполнениеОтложенныхДвиженийПоРасчетамСПартнерами. Если задание отключено или завершилось с ошибкой, остатки «раздвоятся» и не будут закрыты.НСИ и администрирование — Настройка НСИ и разделов — Казначейство может быть установлен режим «Онлайн» или «Оффлайн». В режиме «Оффлайн» остатки по документам всегда будут выглядеть некорректно до момента запуска процедуры закрытия месяца или актуализации расчетов.Посмотрим на ситуацию глубже. В системе существуют скрытые справочники, такие как КлючиАналитикиУчетаПоПартнерам. Они хранят в себе комбинации реквизитов:
Если в документе корректировки или взаимозачета ошибочно указано другое направление деятельности или другой договор (даже если визуально в заказе все верно), система создаст новый ключ аналитики. Разные ключи аналитики в регистре — это гарантированные «раздвоенные» остатки, которые не исправляются простым перепроведением без исправления самих данных.
Чтобы точно определить, какие именно измерения мешают закрытию остатков, рекомендуется использовать консоль запросов. Напишем простой запрос к виртуальной таблице остатков:
ВЫБРАТЬ
Взаиморасчеты.АналитикаУчетаПоПартнерам КАК Аналитика,
Взаиморасчеты.ОбъектРасчетов КАК ОбъектРасчетов,
Взаиморасчеты.РасчетныйДокумент КАК РасчетныйДокумент,
Взаиморасчеты.Валюта КАК Валюта,
Взаиморасчеты.СуммаОстаток КАК Сумма
ИЗ
РегистрНакопления.РасчетыСКлиентамиПоДокументам.Остатки(&Период, ) КАК Взаиморасчеты
ГДЕ
Взаиморасчеты.ОбъектРасчетов = &НужныйЗаказ
После выполнения этого запроса мы четко увидим, в каких колонках значения различаются. Если в колонке РасчетныйДокумент в одной строке стоит Заказ, а в другой — Корректировка, значит, распределение не произошло. Если же расчетные документы одинаковые, но строки две — ищем различия в АналитикаУчетаПоПартнерам.
Для исправления «висящих» остатков выполним следующие действия:
СверкаВзаиморасчетов. При его формировании система часто принудительно инициирует пересчет и распределение движений по данному контрагенту.Взаимозачет задолженности), и убедиться, что в табличной части в поле Документ расчетов выбран именно тот документ, который висит в «плюсе».НСИ и администрирование — Обслуживание — Регламентные операции — Исправление данных. Здесь можно найти инструменты для пересчета и актуализации ключей аналитики.Таким образом, наличие двух остатков по одному объекту — это не ошибка программы, а следствие работы аналитического учета. Система требует четкого соответствия всех измерений для того, чтобы задолженность считалась погашенной. Тщательный анализ измерений через консоль запросов и контроль выполнения регламентных заданий позволяют быстро устранить подобные расхождения.