Как добавить дату платежа и процент оплаты в отчет Задолженность клиентов в УТ 11.4

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

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

Анализ архитектуры хранения данных о платежах

Для начала проанализируем, как система хранит информацию. В 1С:УТ 11 реализована сложная архитектура взаиморасчетов, разделенная на фактические данные и плановые показатели. Отчет Задолженность клиентов базируется на данных регистра накопления РасчетыСКлиентами. Этот регистр предназначен для хранения остатков и оборотов по взаиморасчетам, но в его структуре нет измерений или ресурсов, отвечающих за конкретные даты будущих этапов оплаты, прописанных в Заказе клиента.

Рассмотрим, где на самом деле находятся нужные нам данные:

  1. Табличная часть «Этапы оплаты»: В документах Заказ клиента или Реализация товаров и услуг информация о датах и процентах хранится внутри документа. Эти данные не попадают в регистр взаиморасчетов напрямую.
  2. Регистр «Плановые оплаты клиентов»: Именно здесь фиксируются записи о том, когда и какую сумму система ожидает получить. Однако типовой отчет Задолженность клиентов не использует этот регистр как основной источник данных.
  3. Регистр «Расчеты с клиентами по документам»: Используется для формирования отчетов по срокам дебиторской задолженности. Данные в него попадают через фоновые задания оффлайн-взаиморасчетов.

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

Вариант 1: Использование типового отчета «Задолженность клиентов по срокам»

Прежде чем приступать к программированию, рассмотрим возможности типового функционала. Отчет Задолженность клиентов по срокам (находится в разделе Продажи — Отчеты по продажам) гораздо ближе к искомому результату. Он анализирует плановые даты оплаты, но по умолчанию выводит их в виде интервалов просрочки (например, «0-5 дней», «6-10 дней»).

Чтобы увидеть более детальную информацию, выполним следующие действия:

  1. Зайдем в настройки отчета и переключимся в Расширенный вид.
  2. На вкладке Поля и сортировки проверим наличие полей, связанных с объектом расчетов.
  3. Если нам критически важно видеть именно дату, необходимо понимать, что система будет выводить дату последнего (актуального) этапа оплаты, либо придется делать расшифровку по всем этапам.

Вариант 2: Доработка отчета через расширение конфигурации (для программистов)

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

Выясним причину отсутствия данных в СКД. Основной запрос отчета соединяет виртуальные таблицы остатков регистра РасчетыСКлиентами. Чтобы «вытащить» дату и процент, нам нужно добавить левое соединение с табличной частью документа-основания или с регистром плановых оплат.

Пример логики запроса, который можно внедрить в схему:


ВЫБРАТЬ
    РасчетыОстатки.АналитикаУчетаПоПартнерам,
    РасчетыОстатки.СуммаОстаток КАК Долг,
    ЭтапыОплаты.ДатаПлатежа КАК ПлановаяДата,
    ЭтапыОплаты.ПроцентПлатежа КАК Процент
ИЗ
    РегистрНакопления.РасчетыСКлиентами.Остатки(&Период, ) КАК РасчетыОстатки
ЛЕВОЕ СОЕДИНЕНИЕ
    Документ.ЗаказКлиента.ЭтапыОплаты КАК ЭтапыОплаты
ПО
    РасчетыОстатки.ОбъектРасчетов = ЭтапыОплаты.Ссылка

Важно помнить, что при таком соединении одна строка задолженности может раздвоиться (размножиться), если в заказе несколько этапов оплаты. Это корректное поведение, так как мы хотим видеть график, но это потребует перенастройки группировок в отчете, чтобы итоговые суммы по клиенту не задваивались.

Вариант 3: Решение проблемы «Оплата не требуется»

В новых релизах УТ 11.4 (начиная с 11.4.6) пользователи часто сталкиваются с тем, что вместо автоматического заполнения дат в заказах появляется надпись «Оплата не требуется». Это напрямую влияет на то, что в отчетах поля дат остаются пустыми. Проанализируем причины этой ошибки и способы ее исправления.

Разберем по шагам, что нужно проверить:

  1. Настройки соглашения: Проверим Типовое соглашение или Индивидуальное соглашение с клиентом. В разделе «Условия оплаты» должен быть выбран вариант, подразумевающий график оплат (например, «Произвольное количество этапов»).
  2. Контроль лимита кредита: Если в системе включен контроль лимита кредита, но не указаны конкретные суммы или сроки в договоре, алгоритм может давать сбой, считая, что планирование графика не обязательно.
  3. Статус документа: В последних версиях механизм формирования этапов оплаты жестко привязан к статусу Заказа клиента. Если заказ находится в статусе Не согласован, система может не инициализировать заполнение этапов по шаблону. Попробуем перевести заказ в статус К выполнению.
  4. Регламентные задания: Убедимся, что задание Выполнение отложенных движений по расчетам с клиентами работает корректно. Без актуализации этих движений данные о плановых датах могут не отображаться в связанных регистрах.

Практические советы по настройке взаиморасчетов

Для корректного вывода данных в любые отчеты по задолженности, выполним настройку системы:

Перейдем в раздел НСИ и администрирование — Казначейство и взаиморасчеты. Здесь крайне важно проверить настройку «Детализация расчетов». Если установлена детализация «По договорам», то система будет агрегировать все данные по договору в целом, и вычленить конкретную дату платежа по конкретному заказу в стандартном отчете будет невозможно. Рекомендуется использовать детализацию «По заказам» или «По накладным».

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

Администрирование — Обслуживание — Регламентные и фоновые задания

Найдем задание «Исправление заданий по расчетам с клиентами». Если оно завершено с ошибкой, данные в отчетах по срокам долга и плановым датам будут неактуальными или пустыми.

Резюме

Таким образом, мы выяснили, что вывод Даты платежа в отчете Задолженность клиентов — это не просто настройка колонок, а вопрос понимания структуры регистров 1С. Для оперативного решения используем отчет по срокам задолженности, а для получения идеального отчета по требованиям бизнеса — внедряем расширение с модифицированным запросом СКД, который обращается к табличным частям Этапы оплаты или регистру Плановые оплаты клиентов.

← На главную