|
Розница для Беларуси. РЕШЕНИЕ ПРОБЛЕМЫ с накопительными скидками за весь период. | ☑ | ||
---|---|---|---|---|
0
CARtMEN
18.05.16
✎
20:15
|
У клиента установлена Розница для Беларуси 2.1.6.1.
Поставили задачу сделать накопительные скидки по дисконтным картам за весь период. И было замечено, что срабатывает только самый низкий порог не смотря на накопления. В общем пришлось перелопатить код. А оказалось все до боли банально. Какой-то программист не смог правильно посчитать количество таблиц в запросе. В общем модуле "СкидкиНаценкиСервер" есть функция "ТекстЗапросаСкидкаЗаНакопленныйОбъемПродажПоДисконтнойКартеЗаПериод". В коде я пометил места ошибок строкой "//%". [code] Функция ТекстЗапросаСкидкаЗаНакопленныйОбъемПродажПоДисконтнойКартеЗаПериод(ПакетЗапросов, УсловиеПредоставления, ДатаНачала, ДатаОкончания) Сегмент = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(УсловиеПредоставления, "СегментНоменклатурыОграничения"); Если ЗначениеЗаполнено(Сегмент) Тогда ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | НоменклатураСегмента.Номенклатура КАК Номенклатура, | НоменклатураСегмента.Характеристика КАК Характеристика |ПОМЕСТИТЬ НоменклатураСегментаВДанномЗапросе |ИЗ | РегистрСведений.НоменклатураСегмента КАК НоменклатураСегмента |ГДЕ | НоменклатураСегмента.Сегмент = &ИмяПараметра_СегментНоменклатуры | |СГРУППИРОВАТЬ ПО | НоменклатураСегмента.Номенклатура, | НоменклатураСегмента.Характеристика | |ИНДЕКСИРОВАТЬ ПО | Номенклатура, | Характеристика |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ЕСТЬNULL(СУММА(ПродажиПоДисконтнымКартам.Сумма), 0) КАК Сумма, | ЕСТЬNULL(СУММА(ПродажиПоДисконтнымКартам.Количество), 0) КАК Количество |ПОМЕСТИТЬ ВремТаблица |ИЗ | РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартам | ВНУТРЕННЕЕ СОЕДИНЕНИЕ НоменклатураСегментаВДанномЗапросе КАК НоменклатураСегмента | ПО (НоменклатураСегмента.Номенклатура = ПродажиПоДисконтнымКартам.Номенклатура) | И (НоменклатураСегмента.Характеристика = ПродажиПоДисконтнымКартам.Характеристика) |ГДЕ &ДисконтнаяКартаПредъявлена | И ПродажиПоДисконтнымКартам.Период МЕЖДУ &ДатаНачала_П И &ДатаОкончания_П | И ПродажиПоДисконтнымКартам.ДисконтнаяКарта В (&ДисконтныеКарты) | И ПродажиПоДисконтнымКартам.Регистратор <> &Регистратор |;"; //% Из-за этого не работали накопительные скидки //ВсегоЗапросов = 8; ВсегоЗапросов = 9; НомерТаблицыРезультата = 5; Иначе ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ЕСТЬNULL(СУММА(ПродажиПоДисконтнымКартамОбороты.Сумма), 0) КАК Сумма, | ЕСТЬNULL(СУММА(ПродажиПоДисконтнымКартамОбороты.Количество), 0) КАК Количество |ПОМЕСТИТЬ ВремТаблица |ИЗ | РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартамОбороты |ГДЕ &ДисконтнаяКартаПредъявлена | И ПродажиПоДисконтнымКартамОбороты.Период МЕЖДУ &ДатаНачала_П И &ДатаОкончания_П | И ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта В (&ДисконтныеКарты) | И ПродажиПоДисконтнымКартамОбороты.Регистратор <> &Регистратор |;"; //% Из-за этого не работали накопительные скидки //ВсегоЗапросов = 7; ВсегоЗапросов = 8; НомерТаблицыРезультата = 4; КонецЕсли; [/code] |
|||
1
Волшебник
модератор
18.05.16
✎
20:16
|
пишется "Несмотря на" и отделяется запятой
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |