1.
user2059325
17.03.24 17:35
Сейчас в теме
Пишу программу для реализации автоматического расчета скидки в ячейке "Скидка" табличной части "ПродажаТоваров" Расходной накладной, используя регистр накопления "Продажи".
Основная цель программы: Создать автоматический расчет скидки покупателю при оформлении расходной накладной. Размер скидки зависит от суммы уже произведенных продаж этому покупателю в предыдущем месяце.
Ниже описан код программы, который находится в программном модуле "ФормаДокумента" ячейки "Скидка".
&НаКлиенте
Процедура ПродажаТоваровСкидкаПриИзменении(Элемент)
Скидка(Покупатель,Дата);
КонецПроцедуры
Функция Скидка(Покупатель,Дата)
ПроцСкидки = 0;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ПродажиОбороты.Покупатель КАК Покупатель,
| ПродажиОбороты.СуммаПродажиОборот КАК СуммаПродажиОборот
|ИЗ
| РегистрНакопления.Продажи.Обороты(&НачДата, &КонДата, Месяц, Покупатель = &Покупатель) КАК ПродажиОбороты";
Запрос.УстановитьПараметр("НачДата",ДобавитьМесяц(НачалоМесяца(Дата),-1));
Запрос.УстановитьПараметр("КонДата",ДобавитьМесяц(КонецМесяца(Дата),-1));
Запрос.УстановитьПараметр("Покупатель",Покупатель);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
СтрокаТабличнойЧасти = Элементы.ПродажаТоваров.ТекущиеДанные;
Пока Выборка.Следующий() Цикл
Если Выборка.СуммаПродажиОборот>=1000 и Выборка.СуммаПродажиОборот<3000 Тогда
СтрокаТабличнойЧасти.Скидка = "2%";
ПроцСкидки = 2;
ИначеЕсли Выборка.СуммаПродажиОборот>=3000 и Выборка.СуммаПродажиОборот<5000 Тогда
СтрокаТабличнойЧасти.Скидка = "5%";
ПроцСкидки = 5;
ИначеЕсли Выборка.СуммаПродажиОборот>=5000 и Выборка.СуммаПродажиОборот<10000 Тогда
СтрокаТабличнойЧасти.Скидка = "10%";
ПроцСкидки = 10;
Иначе
СтрокаТабличнойЧасти.Скидка = "15%";
ПроцСкидки = 15;
КонецЕсли;
КонецЦикла;
Возврат ПроцСкидки;
КонецФункции
При запуске конфигурации возникают ошибки:
{Документ.РасходнаяНакладная.Форма.ФормаДокумента.Форма(4,19)}: Переменная не определена (Покупатель)
Элемент = Скидка(<<?>>Покупатель,Дата); (Проверка: Тонкий клиент)
{Документ.РасходнаяНакладная.Форма.ФормаДокумента.Форма(4,30)}: Переменная не определена (Дата)
Элемент = Скидка(Покупатель,<<?>>Дата); (Проверка: Тонкий клиент)
Помогите, пожалуйста, понять, что я упустила.