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