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

10.05.18

Учетные задачи - Розничная торговля

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Исправление ошибки в бонусной системе в типовой УТ11:
.cfe 6,23Kb
4
4 Скачать (1 SM) Купить за 1 850 руб.
Отчет-диагностика ошибки в бонусной системе в типовой УТ11:
.erf 6,84Kb
1
1 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1, ФФД 1.2). Подключайте любую онлайн кассу к практически любой конфигурации на обычных формах. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим и маркировку. Поддерживает локальный модуль честного знака для офлайн проверки. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows

6000 руб.

27.02.2017    816197    5203    9785    

2948

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих, Вики Принт и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима. Поддержка пробития чеков с новыми ставками НДС 5% и НДС 7%.

7900 руб.

25.05.2015    342164    2058    3120    

1078

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

828 руб.

15.12.2015    172772    865    370    

407

Оптовая торговля Розничная торговля Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

Подсистема призвана упростить и автоматизировать процесс расчета и начисления бонусов покупателей. Бонусная система работает с конфигурациями только 1С:УТ 10.3. Механизм реализован в начале 2013г. и работает до сих пор более 100 клиентов по РФ.

250000 руб.

02.11.2015    113944    6    89    

187

ККМ Кассовые операции Розничная торговля Программист Бухгалтер Пользователь Бухгалтерский учет Оперативный учет Управляемые формы 1С:Розница 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение для типовых конфигураций для Управляемых форм позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

9500 руб.

27.08.2018    125705    671    603    

897

ККМ Кассовые операции Розничная торговля Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Платные (руб)

«Сервер ККМ» позволяет приложениям работать с фискальными регистраторами по локальной сети или интернет, организовать печать на одном ККМ с нескольких рабочих мест с поддержкой очереди печати. Поддерживаются ВСЕ ревизии требований фирмы 1С к разработке драйверов ККТ от 2.2 до 4.4. В поставке есть драйверы для операционных систем Linux, Android, MacOs и Windows. Поддержка драйверов Атол, Штрих и 1С-совместимых драйверов для ККТ ревизии 4.4. Поддержка 54-ФЗ и разрешительного режима, ФФД 1.05,1.1,1.2. Подключается к 1С Торговля и склад 7.7, 1С:УТ 10/11, 1С:УНФ 1.6/3, 1С:Розница 1/2/3, 1С:БП 2/3, 1С КА 1/2., 1С:ERP, УПП. Ускоряет печать из терминального сеанса Windows. Работает с разрешительным режимом даже из старых конфигураций. Предоставляет REST API для печати через веб-сервис. Поддерживаются новые ставки НДС 5% и 7%.

5000 руб.

02.09.2016    139862    180    196    

196
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SinglCOOLer 217 15.07.21 11:36 Сейчас в теме
Там есть еще ситуация, когда делается возврат за другой день. У клиента было 2 покупки, 1 чек с 2 позициями, одна с бонусами, вторая без. И 2 чек с 3 позициями которые все с бонусами. Затем с 1 чека делается возврат день в день позиции с бонусами. Далее на сл день делается возврат 2 чека полностью и даже с учетом ваших исправлений сумма бонусов к возврату считается не корректно, так как в сумму "ВыборкаТовары.Сумма" попадает сумму в том числе по строке на которую вообще не было начисления бонусов и тем самым она занижает базу для распределения. Пока решил такой правкой в вашем исправленном запросе. Но данный метод не решил проблему, если в возврате за другой день, будет товар без начисленного бонуса. Надо думать.

|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|	ЕСТЬNULL(СУММА(Товары.Сумма), 0) КАК Сумма,
|	ЕСТЬNULL(СУММА(Товары.СуммаВДокументе), 0) КАК СуммаВДокументе
|ИЗ
|	(ВЫБРАТЬ
|		ТаблицаТовары.Номенклатура КАК Номенклатура,
|		ТаблицаТовары.Характеристика КАК Характеристика,
|		ТаблицаТовары.Сумма КАК Сумма,
|		0 КАК СуммаВДокументе
|	ИЗ
|		Документ.ОтчетОРозничныхПродажах.Товары КАК ТаблицаТовары
|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ Товары КАК Товары
|			ПО ТаблицаТовары.Номенклатура = Товары.Номенклатура
|				И ТаблицаТовары.Характеристика = Товары.Характеристика
|	ГДЕ
|		ТаблицаТовары.Ссылка = &ДокументОснование
|		И ТаблицаТовары.Ссылка.Проведен
|		И ТаблицаТовары.Партнер = &Партнер
|	
|	ОБЪЕДИНИТЬ ВСЕ
|	
|	ВЫБРАТЬ
|		ВозвратТоваровОтКлиентаТовары.Номенклатура,
|		ВозвратТоваровОтКлиентаТовары.Характеристика,
|		-ВозвратТоваровОтКлиентаТовары.Сумма,
|		0
|	ИЗ
|		Документ.ВозвратТоваровОтКлиента.Товары КАК ВозвратТоваровОтКлиентаТовары
|	ГДЕ
|		ВозвратТоваровОтКлиентаТовары.Ссылка.ДокументРеализации = &ДокументОснование
|		И ВозвратТоваровОтКлиентаТовары.Ссылка.Проведен
|		И ВозвратТоваровОтКлиентаТовары.Ссылка.Партнер = &Партнер
|		И ВозвратТоваровОтКлиентаТовары.Ссылка <> &Ссылка
|	
|	ОБЪЕДИНИТЬ ВСЕ
|	
|	ВЫБРАТЬ
|		Товары.Номенклатура,
|		Товары.Характеристика,
|		0,
|		Товары.Сумма
|	ИЗ
|		Товары КАК Товары) КАК Товары";
Показать
Оставьте свое сообщение