Как запретить отгрузку клиентам при наличии просроченной задолженности в 1С:УТ 11.4 без использования договоров

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

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

Постановка задачи и выбор инструментария

Представим ситуацию: расчеты с клиентами ведутся в индивидуальных соглашениях, где указан порядок оплаты «по заказам» с кредитным лимитом на 10 дней. Нам необходимо запретить отгрузку всем клиентам, у которых есть хотя бы один неоплаченный заказ с датой оплаты более 10 дней назад. Поскольку переделывать структуру справочников (договоров) слишком долго, мы воспользуемся механизмом Сегментов клиентов. Это позволит нам автоматически включать должников в «черный список», для которого в системе будет установлен запрет продаж.

Шаг 1. Настройка сегмента клиентов

Для начала создадим новый сегмент партнеров. Перейдем в раздел CRM и маркетинг — Настройки и справочники — Сегменты клиентов. Создадим сегмент с наименованием «Запрет отгрузки (дебиторка)».

Важно: в поле «Способ формирования» необходимо выбрать Периодически обновлять. Это позволит системе по расписанию проверять наличие долгов и актуализировать список клиентов.

Шаг 2. Создание схемы компоновки данных (запроса)

Чтобы сегмент понимал, кого в него включать, нам нужно настроить схему компоновки данных. Мы будем использовать данные регистра накопления РасчетыСКлиентамиПоСрокам. Это ключевой регистр в УТ 11, который хранит информацию о плановых датах погашения долга в разрезе объектов расчетов.

Рассмотрим пример запроса, который выбирает партнеров с просроченным долгом. В конструкторе схемы на вкладке «Запрос» мы можем прописать следующий алгоритм:


ВЫБРАТЬ
    СУММА(РасчетыСКлиентамиПоСрокамОстатки.ДолгОстаток) - СУММА(РасчетыСКлиентамиПоСрокамОстатки.ПредоплатаОстаток) КАК ДолгОстаток,
    РасчетыСКлиентамиПоСрокамОстатки.АналитикаУчетаПоПартнерам.Партнер КАК Партнер
ИЗ
    РегистрНакопления.РасчетыСКлиентамиПоСрокам.Остатки(&НачалоДняТекДата, ДатаПлановогоПогашения < &НачалоДняТекДата) КАК РасчетыСКлиентамиПоСрокамОстатки
ГДЕ
    РасчетыСКлиентамиПоСрокамОстатки.АналитикаУчетаПоПартнерам.Партнер.Клиент = ИСТИНА
СГРУППИРОВАТЬ ПО
    РасчетыСКлиентамиПоСрокамОстатки.АналитикаУчетаПоПартнерам.Партнер
ИМЕЮЩИЕ
    СУММА(РасчетыСКлиентамиПоСрокамОстатки.ДолгОстаток) - СУММА(РасчетыСКлиентамиПоСрокамОстатки.ПредоплатаОстаток) > 0

Проанализируем этот запрос подробнее. Мы обращаемся к виртуальной таблице Остатки. В параметрах таблицы мы устанавливаем условие: брать только те записи, где ДатаПлановогоПогашения меньше текущей даты. Это и есть определение «просрочки». Дополнительно мы вычитаем сумму предоплаты из общей суммы долга, чтобы избежать ложных срабатываний, если у клиента есть авансы по другим заказам.

Шаг 3. Использование стандартной схемы «По расчетам»

Если вы не хотите писать запрос вручную, в УТ 11.4 предусмотрена типовая схема компоновки для сегментов. При создании сегмента выберите «Редактировать схему компоновки», далее Выбрать шаблон — По расчетам. В настройках отбора вы сможете указать параметры:

  1. Плановые просроченные оплаты (в валюте регл. учета) > 0
  2. ИЛИ Плановые просроченные оплаты (в валюте упр. учета) > 0

Этот способ проще в настройке и учитывает валютные нюансы системы.

Шаг 4. Установка запрета отгрузки для сегмента

После того как сегмент настроен и заполнен, нужно «заставить» систему блокировать продажи. Для этого:

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

    Критически важные нюансы работы механизма

    При использовании сегментов для оперативной блокировки отгрузок следует учитывать технические особенности платформы 1С, иначе вы рискуете либо парализовать работу отдела продаж, либо пропустить отгрузку должнику.

    1. Актуальность данных и регламентные задания. Сегменты обновляются не мгновенно. Если клиент оплатил долг минуту назад, он все еще будет числиться в сегменте «Запрещенных», пока не отработает регламентное задание Обновление сегментов партнеров. Рекомендуем настроить расписание этого задания на интервал каждые 10-15 минут.

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

    3. Проблема копеечных долгов. Из-за курсовых разниц или округлений у клиента может возникнуть мизерная просрочка (например, 1 копейка). Запрос в СКД, приведенный выше, заблокирует такого клиента. Чтобы избежать конфликтов, добавьте в условие ИМЕЮЩИЕ порог суммы, например:

    СУММА(...) > 100

    4. Графики оплаты. Помните, что регистр просрочки работает только в том случае, если в документах (Заказ или Реализация) заполнен График оплаты. Если дата платежа не указана, система не сможет определить, когда наступает просрочка, и клиент никогда не попадет в сегмент блокировки.

    Альтернативный метод: Статусы заказов

    Если блокировка через сегменты кажется вам слишком жесткой, рассмотрим вариант с использованием статусов. Мы можем настроить систему так, что при наличии просрочки заказ клиента будет автоматически записываться в статусе На согласовании. Это даст возможность кредитному менеджеру или руководителю отдела продаж вручную разрешить отгрузку (перевести в статус К отгрузке), если клиент предоставил гарантийное письмо или оплата уже «в пути». Для этого потребуется небольшое расширение конфигурации, которое будет проверять долг в момент проведения заказа.

    Выяснив все причины и проанализировав доступные инструменты, можно сделать вывод: использование динамических сегментов на основе регистра РасчетыСКлиентамиПоСрокам является самым быстрым и рабочим способом внедрить контроль дебиторской задолженности в 1С:УТ 11.4 без масштабного переучета договоров.

← На главную