ВЫБРАТЬ РАЗРЕШЕННЫЕ
СоглашениеСКлиентомШапка.Ссылка КАК Соглашение,
СоглашениеСКлиентомШапка.ВидЦен КАК ВидЦен,
СоглашениеСКлиентомШапка.Валюта КАК Валюта,
ДействиеСкидокНаценокСрезПоследних.СкидкаНаценка,
ДействиеСкидокНаценокСрезПоследних.СкидкаНаценка.ЗначениеСкидкиНаценки КАК ЗначениеСкидкиНаценки,
ДействиеСкидокНаценокПоНоменклатуреСрезПоследних.Номенклатура
ПОМЕСТИТЬ СоглашениеСКлиентомШапка
ИЗ
Справочник.СоглашенияСКлиентами КАК СоглашениеСКлиентомШапка
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДействиеСкидокНаценок.СрезПоследних(&Период, Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыДействияСкидок.Действует)) КАК ДействиеСкидокНаценокСрезПоследних
ПО (ДействиеСкидокНаценокСрезПоследних.Источник = СоглашениеСКлиентомШапка.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДействиеСкидокНаценокПоНоменклатуре.СрезПоследних КАК ДействиеСкидокНаценокПоНоменклатуреСрезПоследних
ПО (ДействиеСкидокНаценокСрезПоследних.СкидкаНаценка.Ссылка = ДействиеСкидокНаценокПоНоменклатуреСрезПоследних.Источник.Ссылка)
{ГДЕ
(СоглашениеСКлиентомШапка.Ссылка В (&Документ)),
(СоглашениеСКлиентомШапка.Типовое = &ТолькоТиповые
И НЕ СоглашениеСКлиентомШапка.ПометкаУдаления
И СоглашениеСКлиентомШапка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСКлиентами.Действует)),
(СоглашениеСКлиентомШапка.Партнер = &Партнер
И НЕ СоглашениеСКлиентомШапка.ПометкаУдаления
И СоглашениеСКлиентомШапка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСКлиентами.Действует))}
ИНДЕКСИРОВАТЬ ПО
Соглашение,
ВидЦен
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
СоглашениеСКлиентомЦеновыеГруппы.Ссылка КАК Соглашение,
СоглашениеСКлиентомЦеновыеГруппы.ВидЦен КАК ВидЦен,
СоглашениеСКлиентомЦеновыеГруппы.ЦеноваяГруппа КАК ЦеноваяГруппа
ПОМЕСТИТЬ СоглашениеСКлиентомЦеновыеГруппы
ИЗ
Справочник.СоглашенияСКлиентами.ЦеновыеГруппы КАК СоглашениеСКлиентомЦеновыеГруппы
{ГДЕ
(СоглашениеСКлиентомЦеновыеГруппы.Ссылка В (&Документ)),
(СоглашениеСКлиентомЦеновыеГруппы.Ссылка.Типовое = &ТолькоТиповые
И НЕ СоглашениеСКлиентомЦеновыеГруппы.Ссылка.ПометкаУдаления
И СоглашениеСКлиентомЦеновыеГруппы.Ссылка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСКлиентами.Действует)),
(СоглашениеСКлиентомЦеновыеГруппы.Ссылка.Партнер = &Партнер
И НЕ СоглашениеСКлиентомЦеновыеГруппы.Ссылка.ПометкаУдаления
И СоглашениеСКлиентомЦеновыеГруппы.Ссылка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСКлиентами.Действует))}
ИНДЕКСИРОВАТЬ ПО
Соглашение,
ЦеноваяГруппа,
ВидЦен
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
СоглашениеСКлиентомТовары.Ссылка КАК Соглашение,
СоглашениеСКлиентомТовары.ВидЦены КАК ФиксВидЦеныСоглашения,
СоглашениеСКлиентомТовары.Номенклатура КАК Номенклатура,
СоглашениеСКлиентомТовары.Характеристика КАК Характеристика,
СоглашениеСКлиентомТовары.Упаковка КАК Упаковка,
СоглашениеСКлиентомТовары.Цена КАК ФиксЦенаТовара,
ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ФиксВидЦены,
ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаФиксВидаЦены,
ВЫБОР
КОГДА СоглашениеСКлиентомТовары.Цена <> 0
ТОГДА СоглашениеСКлиентомТовары.Цена
ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена
КОНЕЦ КАК ИтоговаяЦенаПоСоглашению1,
ВЫБОР
КОГДА СоглашениеСКлиентомТовары.Цена <> 0
ТОГДА СоглашениеСКлиентомТовары.ВидЦены.ВалютаЦены
ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Валюта
КОНЕЦ КАК ИтоговаяВалютаПоСоглашению
ПОМЕСТИТЬ СоглашениеСКлиентомТовары
ИЗ
Справочник.СоглашенияСКлиентами.Товары КАК СоглашениеСКлиентомТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ПО СоглашениеСКлиентомТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И СоглашениеСКлиентомТовары.ВидЦены = ЦеныНоменклатурыСрезПоследних.ВидЦены
И СоглашениеСКлиентомТовары.Упаковка = ЦеныНоменклатурыСрезПоследних.Упаковка
{ГДЕ
(СоглашениеСКлиентомТовары.Ссылка В (&Документ)),
(СоглашениеСКлиентомТовары.Ссылка.Типовое = &ТолькоТиповые
И НЕ СоглашениеСКлиентомТовары.Ссылка.ПометкаУдаления
И СоглашениеСКлиентомТовары.Ссылка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСКлиентами.Действует)),
(СоглашениеСКлиентомТовары.Ссылка.Партнер = &Партнер
И НЕ СоглашениеСКлиентомТовары.Ссылка.ПометкаУдаления
И СоглашениеСКлиентомТовары.Ссылка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСКлиентами.Действует))}
ИНДЕКСИРОВАТЬ ПО
Соглашение,
Номенклатура,
Характеристика,
ФиксВидЦеныСоглашения
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СоглашениеСКлиентомШапка.Соглашение КАК СоглашениеШапка,
СоглашениеСКлиентомШапка.ВидЦен КАК ВидЦенШапка,
СоглашениеСКлиентомШапка.Валюта КАК ВалютаШапка,
СоглашениеСКлиентомШапка.СкидкаНаценка КАК СкидкаНаценкаШапка,
СоглашениеСКлиентомШапка.ЗначениеСкидкиНаценки,
СоглашениеСКлиентомШапка.Номенклатура,
NULL КАК ФиксВидЦеныСоглашения,
NULL КАК Характеристика,
NULL КАК Упаковка,
NULL КАК ФиксЦенаТовара,
NULL КАК ФиксВидЦены,
NULL КАК ЦенаФиксВидаЦены,
NULL КАК ИтоговаяЦенаПоСоглашению1,
NULL КАК ИтоговаяВалютаПоСоглашению
ПОМЕСТИТЬ ОбъединениеТаблицШапкаИТовары
ИЗ
СоглашениеСКлиентомШапка КАК СоглашениеСКлиентомШапка
СГРУППИРОВАТЬ ПО
СоглашениеСКлиентомШапка.Номенклатура,
СоглашениеСКлиентомШапка.Соглашение,
СоглашениеСКлиентомШапка.ВидЦен,
СоглашениеСКлиентомШапка.Валюта,
СоглашениеСКлиентомШапка.СкидкаНаценка,
СоглашениеСКлиентомШапка.ЗначениеСкидкиНаценки
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
СоглашениеСКлиентомТовары.Соглашение,
NULL,
NULL,
NULL,
NULL,
СоглашениеСКлиентомТовары.Номенклатура,
СоглашениеСКлиентомТовары.ФиксВидЦеныСоглашения,
СоглашениеСКлиентомТовары.Характеристика,
СоглашениеСКлиентомТовары.Упаковка,
СоглашениеСКлиентомТовары.ФиксЦенаТовара,
СоглашениеСКлиентомТовары.ФиксВидЦены,
СоглашениеСКлиентомТовары.ЦенаФиксВидаЦены,
СоглашениеСКлиентомТовары.ИтоговаяЦенаПоСоглашению1,
СоглашениеСКлиентомТовары.ИтоговаяВалютаПоСоглашению
ИЗ
СоглашениеСКлиентомТовары КАК СоглашениеСКлиентомТовары
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Упаковка,
ЦеныНоменклатурыСрезПоследних.Цена,
ВЫРАЗИТЬ(ВЫБОР
КОГДА ОбъединениеТаблицШапкаИТовары.ИтоговаяЦенаПоСоглашению1 ЕСТЬ НЕ NULL
ТОГДА ОбъединениеТаблицШапкаИТовары.ИтоговаяЦенаПоСоглашению1
ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена
КОНЕЦ - ВЫБОР
КОГДА ОбъединениеТаблицШапкаИТовары.ИтоговаяЦенаПоСоглашению1 ЕСТЬ НЕ NULL
ТОГДА ОбъединениеТаблицШапкаИТовары.ИтоговаяЦенаПоСоглашению1
ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена
КОНЕЦ / 100 * ОбъединениеТаблицШапкаИТовары.ЗначениеСкидкиНаценки КАК ЧИСЛО(15, 2)) КАК ЦенаСоСкидкой,
ВЫБОР
КОГДА ОбъединениеТаблицШапкаИТовары.ИтоговаяЦенаПоСоглашению1 ЕСТЬ НЕ NULL
ТОГДА ОбъединениеТаблицШапкаИТовары.ИтоговаяВалютаПоСоглашению
ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Валюта
КОНЕЦ КАК Валюта,
ОбъединениеТаблицШапкаИТовары.СоглашениеШапка,
ОбъединениеТаблицШапкаИТовары.ВидЦенШапка,
ОбъединениеТаблицШапкаИТовары.ВалютаШапка,
ОбъединениеТаблицШапкаИТовары.СкидкаНаценкаШапка,
ОбъединениеТаблицШапкаИТовары.ЗначениеСкидкиНаценки,
ОбъединениеТаблицШапкаИТовары.Номенклатура,
ОбъединениеТаблицШапкаИТовары.ФиксВидЦеныСоглашения,
ОбъединениеТаблицШапкаИТовары.Характеристика,
ОбъединениеТаблицШапкаИТовары.ФиксЦенаТовара,
ОбъединениеТаблицШапкаИТовары.ФиксВидЦены,
ОбъединениеТаблицШапкаИТовары.ЦенаФиксВидаЦены,
ОбъединениеТаблицШапкаИТовары.ИтоговаяЦенаПоСоглашению1,
ОбъединениеТаблицШапкаИТовары.ИтоговаяВалютаПоСоглашению
ПОМЕСТИТЬ Конечная
ИЗ
ОбъединениеТаблицШапкаИТовары КАК ОбъединениеТаблицШапкаИТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних
ПО ОбъединениеТаблицШапкаИТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ОбъединениеТаблицШапкаИТовары.ВидЦенШапка = ЦеныНоменклатурыСрезПоследних.ВидЦены
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Конечная.Упаковка,
Конечная.Цена,
Конечная.ЦенаСоСкидкой,
Конечная.Валюта,
Конечная.СоглашениеШапка КАК Соглашение,
Конечная.ВидЦенШапка КАК ВидЦены,
Конечная.СкидкаНаценкаШапка КАК Скидка,
Конечная.ЗначениеСкидкиНаценки КАК ПроцентСкидки,
Конечная.Номенклатура,
Конечная.ФиксВидЦеныСоглашения КАК ФиксированнаяЦенаПоВидуЦеныНоменклатуры,
Конечная.Характеристика,
Конечная.ФиксЦенаТовара КАК ФиксированнаяЦенаТовара,
Конечная.ФиксВидЦены КАК ВидЦеныФиксированныйПоНоменклатуре,
Конечная.ЦенаФиксВидаЦены КАК ЦенаПоФиксированномуВидуЦены,
Конечная.ИтоговаяЦенаПоСоглашению1 КАК ЦенаПоСоглашению,
Конечная.ИтоговаяВалютаПоСоглашению КАК ВалютаПоСоглашению,
ВЫРАЗИТЬ(ВЫБОР
КОГДА Конечная.Цена > 0
ТОГДА Конечная.Цена * КурсыВалютСрезПоследних.Курс
КОНЕЦ КАК ЧИСЛО(15, 2)) КАК ЦенаВРублях,
ВЫРАЗИТЬ(КурсыВалютСрезПоследних.Курс КАК ЧИСЛО(15, 2)) КАК Курс,
ВЫРАЗИТЬ((ВЫБОР
КОГДА Конечная.ИтоговаяЦенаПоСоглашению1 ЕСТЬ НЕ NULL
ТОГДА Конечная.ИтоговаяЦенаПоСоглашению1
ИНАЧЕ Конечная.Цена
КОНЕЦ - ВЫБОР
КОГДА Конечная.ИтоговаяЦенаПоСоглашению1 ЕСТЬ НЕ NULL
ТОГДА Конечная.ИтоговаяЦенаПоСоглашению1
ИНАЧЕ Конечная.Цена
КОНЕЦ / 100 * Конечная.ЗначениеСкидкиНаценки) * КурсыВалютСрезПоследних.Курс КАК ЧИСЛО(15, 2)) КАК ЦенаВРубляхСоСкидкой
ИЗ
Конечная КАК Конечная
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Период, ) КАК КурсыВалютСрезПоследних
ПО Конечная.Валюта = КурсыВалютСрезПоследних.Валюта
Показать