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