Ошибка в бонусной системе в типовой УТ11

Программирование - Ошибки в отраслевых решениях

бонусные баллы ошибки типовых конфигураций глюк баг бонусная программа

6
При проведении нескольких розничных возвратов по одному клиенту по одному отчету о розничных продажах расчет бонусных баллов в типовой конфигурации выполняется некорректно. В данной статье рассмотрено исправление этой ошибки.

Обнаружили вот такую не очень приятную ошибку в бонусной системе УТ11: при оформлении нескольких возвратов по одному клиенту по одному сменному отчету бонусные баллы не списываются, а добавляются.

Создадим бонусную программу лояльности:

Создадим вид карт лояльности:

Создадим вид скидки бонусом для нашего вида карт лояльности:

Сделаем разовое начисление баллов

Теперь оформим продажу - Чек ККМ на какую-либо позицию в количестве 2-х штук, и закроем смену

Посмотрим остатки бонусных баллов:

Теперь проведем последовательно два документа возврата:

После проведения возвратов остаток бонусных баллов должен вернуться в исходное состояние, но не тут-то было:

Две ошибки содержатся в процедуре ЗаполнитьБонусныеБаллыВозвратТоваровОтКлиента модуля БонусныеБаллыСервер.

Во-первых, в запросе к оплатам бонусными баллами - при учете уже выполненных возвратов - разработчики учитывают их со знаком "-":

	|		ТаблицаБонусныеБаллы.БонуснаяПрограммаЛояльности,
	|		ТаблицаБонусныеБаллы.ДатаОплаты,
	|		-ТаблицаБонусныеБаллы.СуммаБонусныхБаллов
	|	ИЗ
	|		Документ.ВозвратТоваровОтКлиента.ОплатаБонуснымиБаллами КАК ТаблицаБонусныеБаллы

Хотя по смыслу вот этого участка кода в запросе надо брать со знаком "+":

НоваяСтрока = ТекущийОбъект.ОплатаБонуснымиБаллами.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ, "БонуснаяПрограммаЛояльности, ДатаОплаты");
НоваяСтрока.СуммаБонусныхБаллов = -КСписанию;

Во-вторых, для пропорционального распределения возвращаемых бонусных баллов неправильно берется база распределения - берутся все товары из отчета о розничных продажах, а надо за вычетом уже сделанных возвратов.

В итоге правильный запрос должен выглядеть так:

 
 Текст запроса

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

Также приложено расширение конфигурации для исправления указанной ошибки (подключать со снятым флагом "безопасный режим").

Протестировано на релизе УТ 11.4.3.144

Для дополнительного контроля движения бонусных баллов можно воспользоваться отчетом Отчет по движениям (оборотам) бонусных баллов в УТ11

Для информирования клиентов о начислении бонусных баллов по СМС можно посмотреть публикацию СМС о начислении баллов в УТ 11.4

6

Скачать файлы

Наименование Файл Версия Размер
Исправление ошибки в бонусной системе в типовой УТ11:
.cfe 6,23Kb
09.05.18
0
.cfe 6,23Kb Скачать
Отчет-диагностика ошибки в бонусной системе в типовой УТ11:
.erf 6,84Kb
09.05.18
0
.erf 6,84Kb Скачать

См. также

Избранное Подписка Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение