Есть справочник где содержатся клиенты. Имеется документ Оказание Услуги, где есть сумма, на которую воспользовался клиент услугами и товарами. Хочу сделать систему скидок, где будут выводиться скидки в зависимости от той суммы, на которую клиент купил товары и воспользовался услугами.
Код документа ОказаниеУслуги (Модуль Менеджера)
Код:
Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.ОказаниеУслуги.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОказаниеУслуги.Дата,
| ОказаниеУслуги.Клиент,
| ОказаниеУслуги.Мастер,
| ОказаниеУслуги.Номер,
| ОказаниеУслуги.Склад,
| ОказаниеУслуги.ПереченьНоменклатуры.(
| НомерСтроки,
| Номенклатура,
| Количество,
| Цена,
| Сумма
| )
|ИЗ
| Документ.ОказаниеУслуги КАК ОказаниеУслуги
|ГДЕ
| ОказаниеУслуги.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьПереченьНоменклатурыШапка = Макет.ПолучитьОбласть("ПереченьНоменклатурыШапка");
ОбластьПереченьНоменклатуры = Макет.ПолучитьОбласть("ПереченьНоменклатуры");
ОбластьИтог = Макет.ПолучитьОбласть("Всего");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
СуммаИтог = 0;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьПереченьНоменклатурыШапка);
ВыборкаПереченьНоменклатуры = Выборка.ПереченьНоменклатуры.Выбрать();
Пока ВыборкаПереченьНоменклатуры.Следующий() Цикл
ОбластьПереченьНоменклатуры.Параметры.Заполнить(ВыборкаПереченьНоменклатуры);
ТабДок.Вывести(ОбластьПереченьНоменклатуры, ВыборкаПереченьНоменклатуры.Уровень());
СуммаИтог = СуммаИтог + ВыборкаПереченьНоменклатуры.Сумма;
КонецЦикла;
ВставлятьРазделительСтраниц = Истина;
ОбластьИтог.Параметры.ВсегоПоДокументу = СуммаИтог;
ТабДок.Вывести(ОбластьИтог);
КонецЦикла;
//}}
КонецПроцедуры
В общем я думаю, что надо обойти всю табличную часть данного документа и в зависимости от значения в поле СуммаИтог выводить определённую скидку с использованием условий Если и Иначе.
Есть вопросы:
1) Где лучше выводить скидку: в справочнике Клиенты или документе ОказаниеУслуги?
2) При выводе скидки надо создавать реквизит Скидка?
3) Процедуру установления скидок прописывать в модуле менеджера документа Оказание Услуги или справочнике Клиенты?
СуммаИтог выводится после печати!!!
Социальные закладки