УНФ «втихую» не начисляло баллы клиенту

Было обнаружено, что некоторым клиентам не начисляются бонусы.

Проверка чеков показала, что в них указан клиент, но не указана бонусная карта.

Поиск показал, что некоторое количество таких чеков присутствует.

Я предложил сделать запрет на запись чека, если есть клиент, но нет карты, идею одобрили. Написал вот такое небольшое расширение в модуль чека:


&Перед("ПередЗаписью")
Процедура конндкч_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;
	Если ЗначениеЗаполнено(ЭтотОбъект.Контрагент) И Не ЗначениеЗаполнено(ЭтотОбъект.ДисконтнаяКарта) Тогда
		Сообщить("В чеке указан клиент: " + ЭтотОбъект.Контрагент + ", но не указана дисконтная карта!");
		Отказ = истина;
	КонецЕсли;
КонецПроцедуры

При срабатывании выдавало ошибку:

В итоге оказалось, что так получалось для клиентов, созданных в справочнике контрагенты, у которых нет дисконтной карты. Вот так УНФ втихомолку не начисляла бонусы клиентам!

Заплатку оставили на будущее, чтобы кассиры не ошибались, а клиенты не теряли свои бонусы.

Среда: УНФ 3.0.6.200 Объем: 0.8 час

Сделано с @GPT4AgentsBot Модель: Nano Banana 2