Или же я туплю.
Конкретно у клиента 11.4.6.166. В части бонусной системы доработок не было. Типовой отчет Остатки бонусных баллов тоже не изменялся.
Посмотрел, у клиентов с более ранними релизами ситуация точно такая же, то есть не ошибка релиза.
В качестве примера привожу непосредственно РН "Бонусные баллы" и простой ручной расчет.
По правилам бонусной системы, у нас неиспользуемые бонусы сгорают через 3 месяца.
Соответственно то, что выделено зеленым цветом в столбце начислено "сгорает" зелеными движениями столбца к списанию.
Таким образом к продаже от 30.04.20 остается сумма бонусов, выделенная красным цветом (111.60). Если формируем типовой отчет Остатки бонусных баллов на 29.04.20, то вопросов нет, показывает 111.60, собственно полную сумму клиент и списывает в рамках продажи от 30.04.20.
И тут баланс клиента должен стать 0. НО! Отчет показывает 84 балла.
Отчет строится на простом запросе:
ВЫБРАТЬ
БонусныеБаллыОстатки.БонуснаяПрограммаЛояльности КАК БонуснаяПрограммаЛояльности,
БонусныеБаллыОстатки.Партнер КАК Партнер,
БонусныеБаллыОстатки.НачисленоОстаток КАК НачисленоОстаток,
БонусныеБаллыОстатки.КСписаниюОстаток КАК КСписаниюОстаток,
ВЫБОР
КОГДА БонусныеБаллыОстатки.НачисленоОстаток - ВЫБОР
КОГДА БонусныеБаллыОстатки.КСписаниюОстаток > 0
ТОГДА БонусныеБаллыОстатки.КСписаниюОстаток
ИНАЧЕ 0
КОНЕЦ >= 0
ТОГДА БонусныеБаллыОстатки.НачисленоОстаток - ВЫБОР
КОГДА БонусныеБаллыОстатки.КСписаниюОстаток > 0
ТОГДА БонусныеБаллыОстатки.КСписаниюОстаток
ИНАЧЕ 0
КОНЕЦ
ИНАЧЕ 0
КОНЕЦ КАК НачисленоОстатокД
ИЗ
РегистрНакопления.БонусныеБаллы.Остатки(&ДатаОстатка, Партнер = &Партнер) КАК БонусныеБаллыОстатки
ГДЕ
ВЫБОР
КОГДА БонусныеБаллыОстатки.НачисленоОстаток - ВЫБОР
КОГДА БонусныеБаллыОстатки.КСписаниюОстаток > 0
ТОГДА БонусныеБаллыОстатки.КСписаниюОстаток
ИНАЧЕ 0
КОНЕЦ >= 0
ТОГДА БонусныеБаллыОстатки.НачисленоОстаток - ВЫБОР
КОГДА БонусныеБаллыОстатки.КСписаниюОстаток > 0
ТОГДА БонусныеБаллыОстатки.КСписаниюОстаток
ИНАЧЕ 0
КОНЕЦ
ИНАЧЕ 0
КОНЕЦ <> 0
Показать
По которому Остаток баллов считается как разность между суммой баллов столбца начислено и неминусовой суммы столбца к списанию. Но прикол в том, что продажа от 30.04.20 дает расход по столбцу к списанию, делая остаток по нему отрицательным. И получается, что в общем остатке НЕ учитываются те баллы, которые "сгорели" спустя 3 месяца после начисления (то, что выделено зеленым в к списанию).
Вот я и не понимаю. То ли отчет некорректный, то ли алгоритм проведения по регистру (но неужто бы никто этого не заметил?), то ли я неправильную логику выстраиваю. Хотя казалось бы...) Помогите разобраться!
В общем-то ларчик просто открывался.
Мало в настройке скидок выставить параметр "Ограничен периодом N месяцев". Эта настройка будет только лишь добавлять запись в РН по бонусам с суммой "к списанию". А непосредственно списание таких бонусов нужно делать регламентным заданием, которое фактически настраивается через справочник "Правила начисления и списания бонусных баллов".
(2)
Скрин приложил. Ну и исходя из запроса, 84 он и должен показывать) Вопрос в том, правильно ли построен запрос, и правильно ли пишутся движения в регистр)
(7)
"В части бонусной системы доработок не было. " и тем не менее думаю все же ваши доработки его затронули, на копии попробуйте на базу накатить полностью типовую конфигурацию и провести эксперимент по этому же отчету
(8) Вы запрос-то видели, который я приложил? Запрос отрабатывает ровно так, как и должен. Тут или запрос в принципе некорректный (но он типовой, что, само собой, подтверждается сравнением с конфигурацией поставщика), или что-то не так с движениями по регистру бонусных баллов. Но алгоритмы проведения тоже не менялись.
Просто накатить типовой конфиг на базу не даст ровным счетом ничего. Если только потом полностью заново моделировать ситуацию и смотреть, как лягут движения. Но, по-моему, пустая трата времени, т.к. я у других клиентов смотрю (с другими релизами УТ) и логика записи в регистр ровно такая же.
Мне нужны советы от людей, которые непосредственно работают с данным функционалом и могут проверить, так же у них, или что-то отличается.
А ваши попытки помочь - вилами по воде без конструктива. Но спасибо за отклик!
Просто накатить типовой конфиг на базу не даст ровным счетом ничего
Вы даже попробовать не хотите? После этого я бы обновил конфигурацию, вы просто больше будете искать проблему, чем банально воспользовались добрым старым методом тыка
В общем-то ларчик просто открывался.
Мало в настройке скидок выставить параметр "Ограничен периодом N месяцев". Эта настройка будет только лишь добавлять запись в РН по бонусам с суммой "к списанию". А непосредственно списание таких бонусов нужно делать регламентным заданием, которое фактически настраивается через справочник "Правила начисления и списания бонусных баллов".
(12) Да как бы вопросов с этим нет. Просто запрос по остаткам такой "хитрый", что пока не произошло списание бонусов в рамках продажи, он корректно учитывает бонусы, по которым срок истек. А как только происходит такое списание в рамках продажи, то и начинается балаган. И это нельзя заметить или протестировать на стадии внедрения - объективно минимум месяц делают срок действия бонусов. А кто-то даже год. То есть проблема выльется только через этот период.
1С следовало бы в настройке скидки при указании срока годности примечание прописывать, что все будет работать корректно только при использовании регламентного задания. А этого ведь даже нет в справке, если вызывать ее из настройки скидки) И курсы1с-рф у себя не поднимают в курсах этот момент)) хотя может я мимо ушей пропустил, когда смотрел)
(13)в 1с нету настолько очевидных вещей. например подбора в списании, а так же просто не работающих вещей, что тут надо просто принимать это как данность.
(14) к сожалению да) А сама ТП 1С так работает, что им описываешь запрос, и вместо того, чтобы ответить сразу, они просят сначала обновить базу до последнего релиза, потом им базу отправить. Хотя там-то должны понимать, что дело тут простое. И попробуй им объясни, что уже посмотрел, что в новых релизах алгоритмы-то точно такие же, и обновление не даст ничего.
Кстати, в последней книге Богачевой (как и в более старых редакциях) момент про регламентное задание тоже опущен))