Добрый день! Столкнулся с очередной проблемой. Имеется справочник "Скидки" с табличной частью (реквизиты "КоличествоПосещений" и "РазмерСкидки"). Имеется регистр сведений, который учитывает движения документа, оформляющего посещение клиента. Моя задача из модуля формы вывести стоимость посещения без скидки и со скидкой на саму форму. Вывод без скидки я, разумеется, сделал, а вот вывод со скидкой я сделать не могу, не могу понять, как именно его делать.
Логика у меня была такова:
ЗапросНаСкидку = Новый Запрос ("ВЫБРАТЬ
| Скидки.РазмерСкидок.(
| ВЫБОР
| КОГДА КОЛИЧЕСТВО(ЗанятыеНомераФакт.Клиент) >= Скидки.РазмерСкидок.КоличествоПосещений
| ТОГДА Скидки.РазмерСкидок.РазмерСкидки
| ИНАЧЕ 1
| КОНЕЦ КАК СкидкаКлиенту
| ) КАК РазмерСкидок
|ИЗ
| Справочник.Скидки КАК Скидки,
| РегистрСведений.ЗанятыеНомераФакт КАК ЗанятыеНомераФакт
|ГДЕ
| ЗанятыеНомераФакт.Клиент = &Клиент
|
|СГРУППИРОВАТЬ ПО
| Скидки.РазмерСкидок.(КоличествоПосещений,
| РазмерСкидки),
| Скидки.РазмерСкидок.(Скидки.РазмерСкидок.КоличествоПосещений,
| Скидки.РазмерСкидок.РазмерСкидки)");
Показать
То есть, я достаю количество определённого клиента (которого передаю, как параметр), после чего сравниваю, сколько раз он появлялся в регистре (т.е. его количество посещений) с количеством посещений, которое необходимо для получения скидки.
Например, клиент сходил всего 2 раза, а минимальную скидку мы предоставляем от 10 раз. Или наоборот, клиент был у нас 30 раз, значит он получит максимальную скидку (например при 25 посещениях - 30%).
Вопрос: где я свернул не туда? Везде или только частично?