Как устроена механика бонусных баллов в 1С:УНФ и как ее анализировать?

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

Бонусная система в 1С:УНФ часто вызывает вопросы из-за кажущейся непрозрачности процессов. Чтобы понять, как начисляются, списываются и сгорают баллы, давайте проанализируем архитектуру этой подсистемы и разберем инструменты, которые помогут вам контролировать движения.

Структура бонусной системы

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

Анализ бонусных операций

Если вы столкнулись с «черным ящиком» и хотите объяснить клиенту, куда делись баллы, используйте встроенные отчеты, которые дают представление о движениях:

  1. Анализ начислений бонусных баллов — позволяет увидеть, за какие товары и в каком объеме начислены баллы.
  2. Движения бонусных баллов — показывает полный аудит транзакций (приход/расход) за выбранный период.
  3. Остатки бонусных балов — отчет для проверки текущего баланса на картах клиентов на конкретную дату.

Чтобы понять процесс списания более детально, рекомендуется разворачивать отчеты по видам начислений. Если типовых данных недостаточно, анализируйте регистр Бонусные баллы в консоли запросов, обращая внимание на регистраторов — именно документы-регистраторы указывают, что именно стало причиной изменения баланса.

Настройка правил и сгорание баллов

Логика работы системы задается через Справочник.БонусныеПрограммы или Обработка.БонусныеПрограммы. Именно здесь настраиваются:

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

Интеграция бонусов с внешним сайтом

При интеграции с сайтом через метод writeoffclientbonuses3_0 возникает сложность: данные попадают в регистр Бонусные баллы к списанию и начислению, но не проходят финальную стадию обработки. Чтобы списать баллы из Заказа покупателя, рассмотрите следующие подходы:

  1. Использование документа Начисление и списание бонусных баллов: Вы можете программно создавать этот документ на основании заказа. Хотя он не всегда доступен в списке «Создать на основании», вы можете реализовать это через расширение конфигурации.
  2. Прямые движения в расширении: Если задача требует гибкости, вы можете добавить движения по регистрам бонусов непосредственно в обработчики проведения Заказа покупателя.

Важное предостережение: При создании собственной логики списания баллов через расширения, помните о необходимости учитывать правила списания (FIFO). Если вы жестко пропишете списание в коде, не забывайте, что стандартное регламентное задание по «сгоранию» баллов ожидает целостности данных в регистрах. Любое вмешательство может привести к расхождениям, поэтому всегда тестируйте влияние ваших движений на отчет Остатки бонусных баллов.

Разбираясь в логике кода, обратите внимание на общий модуль ДисконтныеКартыСервер. В процедурах ПолучитьДанныеКарты и НачислитьБаллыПриРегистрацииКарты скрыты фундаментальные принципы, по которым 1С:УНФ управляет бонусным счетом клиента.

← На главную