Бонусная система в 1С:УНФ часто вызывает вопросы из-за кажущейся непрозрачности процессов. Чтобы понять, как начисляются, списываются и сгорают баллы, давайте проанализируем архитектуру этой подсистемы и разберем инструменты, которые помогут вам контролировать движения.
Для корректного понимания работы бонусов важно различать объекты, отвечающие за хранение и движение данных. Система опирается на следующие структуры:
Регистры накопления: Начисления бонусных баллов и Бонусные баллы. Именно здесь фиксируются остатки и транзакции.Регистры сведений: Бонусные баллы к списанию и начислению и Состояние бонусов. Эти регистры служат для фиксации оперативных состояний и очереди списания.Если вы столкнулись с «черным ящиком» и хотите объяснить клиенту, куда делись баллы, используйте встроенные отчеты, которые дают представление о движениях:
Анализ начислений бонусных баллов — позволяет увидеть, за какие товары и в каком объеме начислены баллы.Движения бонусных баллов — показывает полный аудит транзакций (приход/расход) за выбранный период.Остатки бонусных балов — отчет для проверки текущего баланса на картах клиентов на конкретную дату.Чтобы понять процесс списания более детально, рекомендуется разворачивать отчеты по видам начислений. Если типовых данных недостаточно, анализируйте регистр Бонусные баллы в консоли запросов, обращая внимание на регистраторов — именно документы-регистраторы указывают, что именно стало причиной изменения баланса.
Логика работы системы задается через Справочник.БонусныеПрограммы или Обработка.БонусныеПрограммы. Именно здесь настраиваются:
За «сгорание» баллов отвечает регламентное задание, которое периодически проверяет сроки действия начислений. Процедура РаботаСБонусами.АвтоматическоеНачислениеИСписаниеБонусныхБаллов является ключевой точкой входа для автоматических операций. Если баллы не списываются, в первую очередь стоит проверить настройки регламентных заданий и корректность параметров в бонусной программе.
При интеграции с сайтом через метод writeoffclientbonuses3_0 возникает сложность: данные попадают в регистр Бонусные баллы к списанию и начислению, но не проходят финальную стадию обработки. Чтобы списать баллы из Заказа покупателя, рассмотрите следующие подходы:
Начисление и списание бонусных баллов: Вы можете программно создавать этот документ на основании заказа. Хотя он не всегда доступен в списке «Создать на основании», вы можете реализовать это через расширение конфигурации.Заказа покупателя.Важное предостережение: При создании собственной логики списания баллов через расширения, помните о необходимости учитывать правила списания (FIFO). Если вы жестко пропишете списание в коде, не забывайте, что стандартное регламентное задание по «сгоранию» баллов ожидает целостности данных в регистрах. Любое вмешательство может привести к расхождениям, поэтому всегда тестируйте влияние ваших движений на отчет Остатки бонусных баллов.
Разбираясь в логике кода, обратите внимание на общий модуль ДисконтныеКартыСервер. В процедурах ПолучитьДанныеКарты и НачислитьБаллыПриРегистрацииКарты скрыты фундаментальные принципы, по которым 1С:УНФ управляет бонусным счетом клиента.