Как настроить накопительные скидки по картам лояльности для оптовых продаж в 1С:УТ 11?

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

Переход с УТ 10.3 на УТ 11 часто сопровождается необходимостью сохранения привычных бизнес-процессов, включая систему лояльности. В УТ 10.3 работа с дисконтными картами была реализована достаточно просто, однако УТ 11 имеет иную архитектуру, ориентированную на партнерскую модель отношений. Разберемся, как реализовать механизм накопительных скидок по картам в оптовой торговле.

Почему типовой механизм не работает «из коробки»

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

Шаг 1: Перенос остатков из УТ 10.3

Поскольку накопленные обороты по картам не являются типовым объектом УТ 11 для целей оптового учета, нам нужно создать «хранилище» для этих данных. Оптимальным решением будет использование дополнительных реквизитов справочника КартыЛояльности.

  1. Создайте дополнительный реквизит для справочника КартыЛояльности (тип Число), назовите его, например, «НакопленияНаНачало».
  2. При миграции данных перенесите накопленные суммы из УТ 10.3 в созданный реквизит для каждой конкретной карты.

Шаг 2: Реализация логики расчета скидки через внешнюю обработку

Так как штатный механизм не умеет суммировать оптовые продажи по картам, нам потребуется написать внешнюю обработку скидок. Это позволит гибко управлять процентом скидки.

Алгоритм работы такой обработки:

Рассмотрим примерный псевдокод для обработки:


// Пример логики расчета
СуммаНачало = Карта.ДополнительныеРеквизиты.НакопленияНаНачало;
СуммаОборотов = ПолучитьОборотыПоКартеИзРегистров(Карта); 
ИтогоНакоплено = СуммаНачало + СуммаОборотов;

Если ИтогоНакоплено > 10000 Тогда
    ПроцентСкидки = 2;
ИначеЕсли ИтогоНакоплено > 5000 Тогда
    ПроцентСкидки = 1;
КонецЕсли;

Шаг 3: Настройка параметров

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

Важные рекомендации

Помните, что использование внешней обработки — это единственный способ заставить УТ 11 работать так, как вы привыкли в УТ 10.3, сохраняя при этом корректность учета. Попытка переписать типовые модули может привести к проблемам при последующих обновлениях конфигурации. Использование Дополнительных сведений (вместо реквизитов) также допустимо, если вы хотите избежать изменения структуры справочника, однако Дополнительные реквизиты обычно удобнее для отображения в форме списка карт.

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

← На главную