Запрос
Здравствуйте, возник вопрос!) Можно ли в запросе написать вот так
Написал так
Но он везде показывает 1. Даже там где должен 0.
Благодарю за ответ!)
Если НоменклатураА = НоменклатуреБ Тогда ....
Написал так
| ВЫБОР
| КОГДА ТаблТоваров.Родительь = ТаблНаценок1.Родителььь
| ТОГДА 0
| ИНАЧЕ 1
| КОНЕЦ КАК ЦенаПродажи,
Но он везде показывает 1. Даже там где должен 0.
Благодарю за ответ!)
По теме из базы знаний
- Модель запроса
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- Как читать чужой код? Часть 3. Разбор и доработка запросов
- Экспертный взгляд на оптимизацию производительности на примере исправления и декомпозиции запроса
- Модель запроса SQL
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(2)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1000
| ЦеныПоставщиковСрезПоследних.Номенклатура,
| ЦеныПоставщиковСрезПоследних.НастройкаЗагрузки КАК НастройкаЗагрузки,
| ЦеныПоставщиковСрезПоследних.ЦенаПродажи как Продажа,
| ЦеныПоставщиковСрезПоследних.ЦенаПоставщикаВал * КурсыВалютЦеныСрезПоследних.Курс КАК Цена,
| ЦеныПоставщиковСрезПоследних.ЦенаРекомендуемаяВал * КурсыВалютРРЦСрезПоследних.Курс КАК ЦенаПродажиРРЦ_вДокументе,
| ЦеныПоставщиковСрезПоследних.Период КАК ДатаПоследнегоПрайса,
| ЛОЖЬ КАК ЭтоНесопоставленныйТовар,
| ВЫБОР
| КОГДА ЦеныПоставщиковСрезПоследних.ЕстьВНаличии
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК Количество,
| ЦеныПоставщиковСрезПоследних.ЦенаПоставщикаВал,
| ЦеныПоставщиковСрезПоследних.Номенклатура.Номенклатура.Родитель КАК Родитель,
| ЦеныПоставщиковСрезПоследних.Номенклатура.Номенклатура.Родитель.Родитель КАК Родительь,
| ЦеныПоставщиковСрезПоследних.ЕстьВНаличии
|ПОМЕСТИТЬ ТаблТоваров
|ИЗ
| РегистрСведений.ЦеныПоставщиков.СрезПоследних(
| ,
| Номенклатура.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| И &УсловиеДляНашихТоваров) КАК ЦеныПоставщиковСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютЦеныСрезПоследних
| ПО ЦеныПоставщиковСрезПоследних.Валюта = КурсыВалютЦеныСрезПоследних.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютРРЦСрезПоследних
| ПО ЦеныПоставщиковСрезПоследних.НастройкаЗагрузки.ВалютаРекомендуемойЦены = КурсыВалютРРЦСрезПоследних.Валюта
|ГДЕ
| &УсловиеОстатков
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ ПЕРВЫЕ 1000
| ЦеныПоставщиковСрезПоследних.Номенклатура,
| ЦеныПоставщиковСрезПоследних.НастройкаЗагрузки,
| ЦеныПоставщиковСрезПоследних.ЦенаПродажи,
| ЦеныПоставщиковСрезПоследних.ЦенаПоставщикаВал * КурсыВалютЦеныСрезПоследних.Курс,
| ЦеныПоставщиковСрезПоследних.ЦенаРекомендуемаяВал * КурсыВалютРРЦСрезПоследних.Курс,
| ЦеныПоставщиковСрезПоследних.Период,
| ИСТИНА,
| ВЫБОР
| КОГДА ЦеныПоставщиковСрезПоследних.ЕстьВНаличии
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ,
| ЦеныПоставщиковСрезПоследних.ЦенаПоставщикаВал,
| ррКаталогДляНесопоставленнойНоменклатуры.Значение,
| ЦеныПоставщиковСрезПоследних.Номенклатура.Номенклатура.Родитель.Родитель,
| ЦеныПоставщиковСрезПоследних.ЕстьВНаличии
|ИЗ
| РегистрСведений.ЦеныПоставщиков.СрезПоследних(
| ,
| Номенклатура.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяССылка)
| И &УсловиеДляТоваровПоставщиков) КАК ЦеныПоставщиковСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютЦеныСрезПоследних
| ПО ЦеныПоставщиковСрезПоследних.Валюта = КурсыВалютЦеныСрезПоследних.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютРРЦСрезПоследних
| ПО ЦеныПоставщиковСрезПоследних.НастройкаЗагрузки.ВалютаРекомендуемойЦены = КурсыВалютРРЦСрезПоследних.Валюта,
| Константа.ррКаталогДляНесопоставленнойНоменклатуры КАК ррКаталогДляНесопоставленнойНоменклатуры
|ГДЕ
| &УсловиеОстатков
|
|ИНДЕКСИРОВАТЬ ПО
| НастройкаЗагрузки,
| Цена
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВложенныйЗапрос1.НастройкаЗагрузки,
| ВложенныйЗапрос1.Наценки КАК Наценки,
| ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 1) КАК КурсНаценки
|ПОМЕСТИТЬ ТаблНаценок
|ИЗ
| (ВЫБРАТЬ
| ВложенныйЗапрос.НастройкаЗагрузки КАК НастройкаЗагрузки,
| МАКСИМУМ(ЕСТЬNULL(ВидыЦенПоставщиковТаблицаПрайсов.Ссылка, ЕСТЬNULL(ВидыЦенПоставщиков.Ссылка, ВидыЦенПоставщиковПоВсемОрг.Ссылка))) КАК Наценки
| ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблТоваров.НастройкаЗагрузки КАК НастройкаЗагрузки
| ИЗ
| ТаблТоваров КАК ТаблТоваров) КАК ВложенныйЗапрос
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦенПоставщиков.ТаблицаПрайсов КАК ВидыЦенПоставщиковТаблицаПрайсов
| ПО ВложенныйЗапрос.НастройкаЗагрузки = ВидыЦенПоставщиковТаблицаПрайсов.НастройкаЗагрузки
| И (ВидыЦенПоставщиковТаблицаПрайсов.Ссылка.Организация = &Организация)
| И (НЕ ВидыЦенПоставщиковТаблицаПрайсов.Ссылка.ОсновнаяНастройка)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦенПоставщиков КАК ВидыЦенПоставщиков
| ПО (ВидыЦенПоставщиков.ОсновнаяНастройка)
| И (ВидыЦенПоставщиков.Организация = &Организация)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦенПоставщиков КАК ВидыЦенПоставщиковПоВсемОрг
| ПО (ВидыЦенПоставщиковПоВсемОрг.ИмяПредопределенныхДанных = ""ПоУмолчанию"")
|
| СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.НастройкаЗагрузки) КАК ВложенныйЗапрос1
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних
| ПО ВложенныйЗапрос1.Наценки.Валюта = КурсыВалютСрезПоследних.Валюта
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТаблНаценок.НастройкаЗагрузки КАК НастройкаЗагрузки,
| ВидыЦенПоставщиковГраницыНаценок.ЦенаНач * ТаблНаценок.КурсНаценки КАК ЦенаНач,
| ВидыЦенПоставщиковГраницыНаценок.ЦенаКон * ТаблНаценок.КурсНаценки КАК ЦенаКон,
| ВидыЦенПоставщиковГраницыНаценок.ПроцентНаценки,
| ВидыЦенПоставщиковГраницыНаценок.Номенклатура.Родитель.Родитель как Родителььь,
| ВидыЦенПоставщиковГраницыНаценок.ФиксированнаяДобавкаКЦене * ТаблНаценок.КурсНаценки КАК ФиксированнаяДобавкаКЦене,
| ЛОЖЬ КАК ЭтоРекомендуемыеНаценки,
| ВидыЦенПоставщиковГраницыНаценок.МинимальнаяСуммаНаценки * ТаблНаценок.КурсНаценки КАК МинимальнаяСуммаНаценки,
| ВидыЦенПоставщиковГраницыНаценок.НаценкаМаксимальная * ТаблНаценок.КурсНаценки КАК МаксимальнаяСуммаНаценки
|ПОМЕСТИТЬ ТаблНаценок1
|ИЗ
| ТаблНаценок КАК ТаблНаценок
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВидыЦенПоставщиков.ГраницыНаценок КАК ВидыЦенПоставщиковГраницыНаценок
| ПО ТаблНаценок.Наценки = ВидыЦенПоставщиковГраницыНаценок.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблНаценок.НастройкаЗагрузки,
| ВидыЦенПоставщиковГраницыНаценокРекомендуемые.ЦенаНач * ТаблНаценок.КурсНаценки,
| ВидыЦенПоставщиковГраницыНаценокРекомендуемые.ЦенаКон * ТаблНаценок.КурсНаценки,
| ВидыЦенПоставщиковГраницыНаценокРекомендуемые.ПроцентНаценки,
| ВидыЦенПоставщиковГраницыНаценокРекомендуемые.Номенклатура.Родитель.Родитель,
| ВидыЦенПоставщиковГраницыНаценокРекомендуемые.ФиксированнаяДобавкаКЦене * ТаблНаценок.КурсНаценки,
| ИСТИНА,
| 0,
| 0
|ИЗ
| ТаблНаценок КАК ТаблНаценок
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВидыЦенПоставщиков.ГраницыНаценокРекомендуемые КАК ВидыЦенПоставщиковГраницыНаценокРекомендуемые
| ПО ТаблНаценок.Наценки = ВидыЦенПоставщиковГраницыНаценокРекомендуемые.Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| НастройкаЗагрузки,
| ЦенаНач,
| ЦенаКон
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТаблТоваров.Номенклатура,
| ТаблТоваров.НастройкаЗагрузки,
| ТаблТоваров.Продажа,
// | ТаблТоваров.Цена,
| ТаблТоваров.Цена КАК ЦенаПоставщика,
| ТаблТоваров.ЦенаПродажиРРЦ_вДокументе,
| ВЫБОР
| КОГДА ТаблТоваров.Родительь = ТаблНаценок1.Родителььь
| ТОГДА 0
// | ТОГДА (ВЫРАЗИТЬ(ТаблТоваров.Цена * (1 + ЕСТЬNULL(ТаблНаценок1.ПроцентНаценки, 0) / 100) КАК ЧИСЛО(15, 2))) + ЕСТЬNULL(ТаблНаценок1.ФиксированнаяДобавкаКЦене, 0)
| ИНАЧЕ 1
//| ИНАЧЕ(ВЫРАЗИТЬ(ТаблТоваров.Цена * (1 + ЕСТЬNULL(ТаблНаценок1.ПроцентНаценки, 0) / 100) КАК ЧИСЛО(15, 2))) + ЕСТЬNULL(ТаблНаценок1.ФиксированнаяДобавкаКЦене, 0)
| КОНЕЦ КАК ЦенаПродажи,
| ВЫБОР
| КОГДА ТаблТоваров.ЕстьВНаличии
| ТОГДА (ВЫРАЗИТЬ(ТаблТоваров.ЦенаПродажиРРЦ_вДокументе * (1 + ЕСТЬNULL(ТаблНаценок1РРЦ.ПроцентНаценки, 0) / 100) КАК ЧИСЛО(15, 2))) + ЕСТЬNULL(ТаблНаценок1РРЦ.ФиксированнаяДобавкаКЦене, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК ЦенаПродажиРРЦ,
| ВЫБОР
| КОГДА ТаблТоваров.ЕстьВНаличии
| ТОГДА ТаблТоваров.Цена + ЕСТЬNULL(ТаблНаценок1.МинимальнаяСуммаНаценки, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК ЦенаПоставщикаСМинНаценкойДляПлощадок,
| ВЫБОР
| КОГДА ТаблТоваров.ЕстьВНаличии
| ТОГДА ТаблТоваров.Цена + ЕСТЬNULL(ТаблНаценок1.МаксимальнаяСуммаНаценки, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК ЦенаПоставщикаСМаксНаценкойДляПлощадок,
| ТаблТоваров.ДатаПоследнегоПрайса,
| ТаблТоваров.ЭтоНесопоставленныйТовар,
| ВЫБОР
| КОГДА ТаблТоваров.ЭтоНесопоставленныйТовар
| ТОГДА ТаблТоваров.Номенклатура
| ИНАЧЕ ТаблТоваров.Номенклатура.Номенклатура
| КОНЕЦ КАК НоменклатураОбщая,
| ТаблТоваров.Количество,
| ТаблТоваров.ЦенаПоставщикаВал,
| ТаблТоваров.Родитель,
| ТаблТоваров.Родительь,
| ТаблТоваров.ЕстьВНаличии
|ПОМЕСТИТЬ ТаблТоваровВсех
|ИЗ
| ТаблТоваров КАК ТаблТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблНаценок1 КАК ТаблНаценок1
| ПО ТаблТоваров.НастройкаЗагрузки = ТаблНаценок1.НастройкаЗагрузки
| И ТаблТоваров.Цена >= ТаблНаценок1.ЦенаНач
| И ТаблТоваров.Цена < ТаблНаценок1.ЦенаКон
| И (НЕ ТаблНаценок1.ЭтоРекомендуемыеНаценки)
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблНаценок1 КАК ТаблНаценок1РРЦ
| ПО ТаблТоваров.НастройкаЗагрузки = ТаблНаценок1РРЦ.НастройкаЗагрузки
| И ТаблТоваров.ЦенаПродажиРРЦ_вДокументе >= ТаблНаценок1РРЦ.ЦенаНач
| И ТаблТоваров.ЦенаПродажиРРЦ_вДокументе < ТаблНаценок1РРЦ.ЦенаКон
| И (ТаблНаценок1РРЦ.ЭтоРекомендуемыеНаценки)
|
|ИНДЕКСИРОВАТЬ ПО
| НоменклатураОбщая
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТаблТоваровВсех.Номенклатура КАК Номенклатура,
| ТаблТоваровВсех.НастройкаЗагрузки,
| ТаблТоваровВсех.ЦенаПоставщика,
| ТаблТоваровВсех.ЦенаПродажиРРЦ_вДокументе,
| ТаблТоваровВсех.ЦенаПродажи,
| ТаблТоваровВсех.ЦенаПродажиРРЦ,
| ВЫБОР
| КОГДА ТаблТоваровВсех.ЦенаПоставщикаСМинНаценкойДляПлощадок < ЕСТЬNULL(ВложенныйЗапрос.ЦенаПродажиРРЦ, 0)
| ТОГДА ЕСТЬNULL(ВложенныйЗапрос.ЦенаПродажиРРЦ, 0)
| ИНАЧЕ ТаблТоваровВсех.ЦенаПоставщикаСМинНаценкойДляПлощадок
| КОНЕЦ КАК ЦенаПоставщикаСМинНаценкойДляПлощадок,
| ТаблТоваровВсех.ЦенаПоставщикаСМаксНаценкойДляПлощадок,
| ТаблТоваровВсех.ДатаПоследнегоПрайса,
//
| ТаблТоваровВсех.Родительь,
| ТаблТоваровВсех.Продажа,
| ТаблТоваровВсех.ЭтоНесопоставленныйТовар,
| ТаблТоваровВсех.НоменклатураОбщая КАК НоменклатураОбщая,
| ЕСТЬNULL(ВложенныйЗапрос.ЦенаПродажиРРЦ, 0) КАК ЦенаПродажиРРЦ_Общая,
| ТаблТоваровВсех.Количество,
| ТаблТоваровВсех.ЦенаПоставщикаВал,
| ТаблТоваровВсех.Родитель,
| ТаблТоваровВсех.ЕстьВНаличии,
| ТаблТоваровВсех.НоменклатураОбщая.Структура1.Наименование КАК Модель,
| ТаблТоваровВсех.НоменклатураОбщая.Структура1.Родитель.Наименование КАК Производитель,
| ТаблТоваровВсех.НоменклатураОбщая.Структура1.Родитель.Родитель.Наименование КАК Раздел,
| ТаблТоваровВсех.Номенклатура.Наименование КАК НоменклатураНаименование
|ПОМЕСТИТЬ ТаблТоваровВсехСРРЦ
|ИЗ
| ТаблТоваровВсех КАК ТаблТоваровВсех
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ТаблТоваровВсех.НоменклатураОбщая КАК НоменклатураОбщая,
| МИНИМУМ(ТаблТоваровВсех.ЦенаПродажиРРЦ) КАК ЦенаПродажиРРЦ
| ИЗ
| ТаблТоваровВсех КАК ТаблТоваровВсех
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ТаблТоваровВсех.НоменклатураОбщая КАК НоменклатураОбщая,
| МАКСИМУМ(ТаблТоваровВсех.ДатаПоследнегоПрайса) КАК ДатаПоследнегоПрайса
| ИЗ
| ТаблТоваровВсех КАК ТаблТоваровВсех
| ГДЕ
| ТаблТоваровВсех.ЦенаПродажиРРЦ > 0
|
| СГРУППИРОВАТЬ ПО
| ТаблТоваровВсех.НоменклатураОбщая) КАК ВложенныйЗапрос
| ПО ТаблТоваровВсех.НоменклатураОбщая = ВложенныйЗапрос.НоменклатураОбщая
| И ТаблТоваровВсех.ДатаПоследнегоПрайса = ВложенныйЗапрос.ДатаПоследнегоПрайса
| И (ТаблТоваровВсех.ЦенаПродажиРРЦ > 0)
|
| СГРУППИРОВАТЬ ПО
| ТаблТоваровВсех.НоменклатураОбщая) КАК ВложенныйЗапрос
| ПО ТаблТоваровВсех.НоменклатураОбщая = ВложенныйЗапрос.НоменклатураОбщая
|
|ИНДЕКСИРОВАТЬ ПО
| НоменклатураОбщая,
| Номенклатура,
| Модель,
| Производитель,
| Раздел,
| НоменклатураНаименование
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТаблТоваровНаших.Номенклатура,
| ТаблТоваровНаших.НастройкаЗагрузки,
| ТаблТоваровНаших.ЦенаПоставщика,
| ТаблТоваровНаших.ЦенаПродажиРРЦ_вДокументе,
| ТаблТоваровНаших.ЦенаПродажи,
| ТаблТоваровНаших.ЦенаПродажиРРЦ,
| ТаблТоваровНаших.ЦенаПоставщикаСМинНаценкойДляПлощадок,
| ТаблТоваровНаших.ЦенаПоставщикаСМаксНаценкойДляПлощадок,
| ТаблТоваровНаших.ДатаПоследнегоПрайса,
//
| ТаблТоваровНаших.Родительь,
| ТаблТоваровНаших.Продажа,
| ТаблТоваровНаших.ЭтоНесопоставленныйТовар,
| ТаблТоваровНаших.НоменклатураОбщая,
| ТаблТоваровНаших.ЦенаПродажиРРЦ_Общая,
| ЕСТЬNULL(ВложенныйЗапрос.ЦенаСайтаОнлайнер, 0) КАК ЦенаОнлайнер,
| ЕСТЬNULL(ВложенныйЗапрос.ЦенаСайта1К, 0) КАК Цена1К,
| ТаблТоваровНаших.НастройкаЗагрузки.Контрагент КАК Склад,
| ТаблТоваровНаших.Количество,
| ТаблТоваровНаших.ЦенаПоставщикаВал,
| ТаблТоваровНаших.ЦенаПродажи КАК Цена,
| ЕСТЬNULL(ВложенныйЗапрос1.ЦенаПродажи_Общая, 0) КАК ЦенаПродажи_Общая,
| ТаблТоваровНаших.Родитель КАК Родитель
|ПОМЕСТИТЬ ТаблицаЦенТоваров
|ИЗ
| ТаблТоваровВсехСРРЦ КАК ТаблТоваровНаших
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| МАКСИМУМ(ВложенныйЗапрос.ЦенаСайтаОнлайнер) КАК ЦенаСайтаОнлайнер,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| МАКСИМУМ(ВложенныйЗапрос.ЦенаСайта1К) КАК ЦенаСайта1К
| ИЗ
| (ВЫБРАТЬ
| ВЫБОР
| КОГДА ррСтруктураСайтаОнлайнер.Цена1 = 0
| ТОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМаксНаценкойДляПлощадок
| КОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок <= ррСтруктураСайтаОнлайнер.Цена1
| ТОГДА ррСтруктураСайтаОнлайнер.Цена1
| КОГДА ррСтруктураСайтаОнлайнер.Цена2 = 0
| ТОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок
| КОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок <= ррСтруктураСайтаОнлайнер.Цена2
| ТОГДА ррСтруктураСайтаОнлайнер.Цена2
| КОГДА ррСтруктураСайтаОнлайнер.Цена3 = 0
| ТОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок
| КОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок <= ррСтруктураСайтаОнлайнер.Цена3
| ТОГДА ррСтруктураСайтаОнлайнер.Цена3
| КОГДА ррСтруктураСайтаОнлайнер.Цена4 = 0
| ТОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок
| КОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок <= ррСтруктураСайтаОнлайнер.Цена4
| ТОГДА ррСтруктураСайтаОнлайнер.Цена4
| КОГДА ррСтруктураСайтаОнлайнер.Цена5 = 0
| ТОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок
| КОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок <= ррСтруктураСайтаОнлайнер.Цена5
| ТОГДА ррСтруктураСайтаОнлайнер.Цена5
| ИНАЧЕ ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок
| КОНЕЦ КАК ЦенаСайтаОнлайнер,
| ТаблТоваровВсехСРРЦ.Номенклатура КАК Номенклатура,
| 0 КАК ЦенаСайта1К
| ИЗ
| ТаблТоваровВсехСРРЦ КАК ТаблТоваровВсехСРРЦ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ррСтруктураСайтаОнлайнер КАК ррСтруктураСайтаОнлайнер
| ПО ТаблТоваровВсехСРРЦ.Раздел = ррСтруктураСайтаОнлайнер.Раздел
| И ТаблТоваровВсехСРРЦ.Производитель = ррСтруктураСайтаОнлайнер.Производитель
| И ТаблТоваровВсехСРРЦ.Модель = ррСтруктураСайтаОнлайнер.Модель
| И (ррСтруктураСайтаОнлайнер.Сайт = ЗНАЧЕНИЕ(Перечисление.ррСайтДляЗагрузкиЦенКонкурентов.СайтОнлайнер))
| ГДЕ
| НЕ ТаблТоваровВсехСРРЦ.ЭтоНесопоставленныйТовар
| И &РассчитыватьЦенуСайта
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| 0,
| ТаблТоваровВсехСРРЦ.Номенклатура,
| ВЫБОР
| КОГДА ррСтруктураСайтаОнлайнер.Цена1 = 0
| ТОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМаксНаценкойДляПлощадок
| КОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок <= ррСтруктураСайтаОнлайнер.Цена1
| ТОГДА ррСтруктураСайтаОнлайнер.Цена1
| КОГДА ррСтруктураСайтаОнлайнер.Цена2 = 0
| ТОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок
| КОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок <= ррСтруктураСайтаОнлайнер.Цена2
| ТОГДА ррСтруктураСайтаОнлайнер.Цена2
| КОГДА ррСтруктураСайтаОнлайнер.Цена3 = 0
| ТОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок
| КОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок <= ррСтруктураСайтаОнлайнер.Цена3
| ТОГДА ррСтруктураСайтаОнлайнер.Цена3
| КОГДА ррСтруктураСайтаОнлайнер.Цена4 = 0
| ТОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок
| КОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок <= ррСтруктураСайтаОнлайнер.Цена4
| ТОГДА ррСтруктураСайтаОнлайнер.Цена4
| КОГДА ррСтруктураСайтаОнлайнер.Цена5 = 0
| ТОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок
| КОГДА ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок <= ррСтруктураСайтаОнлайнер.Цена5
| ТОГДА ррСтруктураСайтаОнлайнер.Цена5
| ИНАЧЕ ТаблТоваровВсехСРРЦ.ЦенаПоставщикаСМинНаценкойДляПлощадок
| КОНЕЦ
| ИЗ
| ТаблТоваровВсехСРРЦ КАК ТаблТоваровВсехСРРЦ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ррСтруктураСайтаОнлайнер КАК ррСтруктураСайтаОнлайнер
| ПО ТаблТоваровВсехСРРЦ.НоменклатураНаименование = ррСтруктураСайтаОнлайнер.Модель
| И (ррСтруктураСайтаОнлайнер.Сайт = ЗНАЧЕНИЕ(Перечисление.ррСайтДляЗагрузкиЦенКонкурентов.Сайт1К))
| ГДЕ
| НЕ ТаблТоваровВсехСРРЦ.ЭтоНесопоставленныйТовар
| И &РассчитыватьЦенуСайта) КАК ВложенныйЗапрос
|
| СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Номенклатура) КАК ВложенныйЗапрос
| ПО ТаблТоваровНаших.Номенклатура = ВложенныйЗапрос.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ТаблТоваровВсехСРРЦ.НоменклатураОбщая КАК НоменклатураОбщая,
| МИНИМУМ(ВЫБОР
| КОГДА ТаблТоваровВсехСРРЦ.ЦенаПродажи < ТаблТоваровВсехСРРЦ.ЦенаПродажиРРЦ_Общая
| ТОГДА ТаблТоваровВсехСРРЦ.ЦенаПродажиРРЦ_Общая
| ИНАЧЕ ТаблТоваровВсехСРРЦ.ЦенаПродажи
| КОНЕЦ) КАК ЦенаПродажи_Общая
| ИЗ
| ТаблТоваровВсехСРРЦ КАК ТаблТоваровВсехСРРЦ
| ГДЕ
| ТаблТоваровВсехСРРЦ.ЕстьВНаличии
|
| СГРУППИРОВАТЬ ПО
| ТаблТоваровВсехСРРЦ.НоменклатураОбщая) КАК ВложенныйЗапрос1
| ПО ТаблТоваровНаших.НоменклатураОбщая = ВложенныйЗапрос1.НоменклатураОбщая";
Запрос.УстановитьПараметр("Организация", ПараметрыЗапроса.Организация);
Показать
(8)Я как бы разобрался!) все заработало как часы!) но только заходит с конца!))) Надо заполнить весь столбец номенклатуры. А поиск он делает по цене товара. Он сначала находит цену товара. Если она входит в определенный интервал(цена нач). Тогда она получает нужную строчку. А потом начинает проверять сходит ли родитель номенклатуры или нет. Вот как она работает.
А надо наоборот. Что бы он прошелся по номенклатуре. И выбрал нужную строчку по номенклатуре а не по цене.
А надо наоборот. Что бы он прошелся по номенклатуре. И выбрал нужную строчку по номенклатуре а не по цене.
Прикрепленные файлы:
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)