Как определить в запросе возможную скидку для номенклатуры Ут 11

1. PhoenixAOD 62 14.03.25 11:25 Сейчас в теме
Доброго времени суток всем читающим. Друзья, у меня возникла очень интересная задача по созданию отчета для манагеров который они именуют ПРАЙС (курс рубля им в зад). Картинки, ШК, все есть, добавил серии, остатки по ним, цены по видам, НО теперь хотят видеть еще и скидку по текущей строке, которая применяется к серии, ну и соответственно исходят из этой скидки по серии они хотят видеть по каждой серии уже итоговую цену с учетом этой скидки в разрезе серий. Вопрос в следующем, может быть кто-нибудь, когда-то пытался раскурить этот процесс формирования скидок и подскажет функцию/процедуры где можно отловить возможные примененные скидки? За ранее благодарен.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. PhoenixAOD 62 02.04.25 04:30 Сейчас в теме
Если кому понадобится выложу свое решение данной проблемы:
ЗапросСкидка = Новый Запрос; 
    	ЗапросСкидка.Текст = 
    	"ВЫБРАТЬ
    	|	ДействиеСкидокНаценокСрезПоследних.СкидкаНаценка.ХранилищеНастроекКомпоновкиДанных КАК ХранилищеНастроекКомпоновкиДанных,
    	|	ДействиеСкидокНаценокСрезПоследних.СкидкаНаценка.ЗначениеСкидкиНаценки КАК Процент
    	|ИЗ
    	|	РегистрСведений.ДействиеСкидокНаценок.СрезПоследних(
    	|			&Дата,
    	|			ИСТИНА
    	|				И Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыДействияСкидок.Действует)
    	|				И СкидкаНаценка.СпособПредоставления = ЗНАЧЕНИЕ(Перечисление.СпособыПредоставленияСкидокНаценок.Процент)) КАК ДействиеСкидокНаценокСрезПоследних";
    	ЗапросСкидка.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата()));
    	ВыборкаСкидка = ЗапросСкидка.Выполнить().Выгрузить();
    		
    	Для Каждого ТекСтрокаСкидки из ВыборкаСкидка Цикл
    		Стр = ВременнаяТаблицаТовары.Добавить();
    		Стр.КлючСвязи =  ТекСтрокаСкидки.Процент;
    		Стр.КоличествоДнейДоОкончанияСрокаГодности =  ТекСтрока.ОстатокДней;
    		Стр.Номенклатура =  ТекСтрока.Ссылка;
    			
    		ЗапросПроцент = Новый Запрос;
    		ЗапросПроцент.Текст =	ТекСтрокаСкидки.ХранилищеНастроекКомпоновкиДанных.Получить().Запрос.ТекстЗапроса;
    		ЗапросПроцент.Текст = СтрЗаменить(ЗапросПроцент.Текст, "ВременнаяТаблицаТовары", "&ВременнаяТаблицаТовары");
    		ЗапросПроцент.УстановитьПараметр("ВременнаяТаблицаТовары", ВременнаяТаблицаТовары);
    		ЗапросПроцент.Параметры.Вставить("П3Кэшируется", ТекСтрокаСкидки.ХранилищеНастроекКомпоновкиДанных.Получить().Запрос.Параметры.П3Кэшируется);
    		ВыборкаПроцент = ЗапросПроцент.Выполнить().Выбрать();
    		ВыборкаПроцент.Следующий();
    		Если ВыборкаПроцент.Количество() > 0 Тогда
    			СтрТЗ.Скидка = ТекСтрокаСкидки.Процент;
    		КонецЕсли;
    		ВременнаяТаблицаТовары.Очистить();
    	КонецЦикла;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот