Имя: Пароль:
1C
 
Не правильный запрос ... как исправить?
0 lamme
 
24.04.17
17:25
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    Номенклатура.Описание КАК Описание,
    Номенклатура.Страна КАК Страна,
    Номенклатура.Производитель КАК Производитель,
    ТутДлина.Значение КАК Длина,
    ТутВысота.Значение КАК Высота,
    Номенклатура.Производитель.ПроцентСкидкиДилеру КАК ПроизводительПроцентСкидкиДилеру
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка,
            НоменклатураДополнительныеРеквизиты.Значение КАК Значение
        ИЗ
            Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        ГДЕ
            НоменклатураДополнительныеРеквизиты.Свойство.Код = &КодДлина) КАК ТутДлина
        ПО Номенклатура.Ссылка = ТутДлина.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка,
            НоменклатураДополнительныеРеквизиты.Значение КАК Значение
        ИЗ
            Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        ГДЕ
            НоменклатураДополнительныеРеквизиты.Свойство.Код = &КодВысота) КАК ТутВысота
        ПО Номенклатура.Ссылка = ТутВысота.Ссылка
ГДЕ
    Номенклатура.Ссылка = &Ссылка


Нашел в отчете вот такое вот .
те выбираются параметры товара из ТЧ номенклатуры ..

кося к том = что таких параметров штук 9.
и каждый раз идет выборка .. ну слишком .. как бы это ..
не красивая и трудоемкая.

Как можно оптмизировать?
1 lamme
 
24.04.17
17:25
пардон.. тема наверное  "Как оптимизировать запрос"
2 Волшебник
 
модератор
24.04.17
17:28
ИЗ
    Справочник.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ
Справочник.Номенклатура.ДополнительныеРеквизиты
ПО  Номенклатура.Ссылка = ТутВысота.Ссылка
И ТутВысота.Свойство = &СвойствоВысота
3 lamme
 
24.04.17
17:31
(2)
????
4 Ёпрст
 
гуру
24.04.17
17:31
(0)

Ну, тупо case в селект и одно левое соединение на список свойств. Усё.
5 Волшебник
 
модератор
24.04.17
17:35
(4) или так
6 Ёпрст
 
гуру
24.04.17
17:35
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
   Выбор когда Хрень.Свойство = &СвойствоВысота Тогда
     Хрень.Значение Иначе 0 конец КАК Высота,

   Выбор когда

Хрень.Свойство = &СвойствоДлина Тогда
     Хрень.Значение Иначе 0 конец КАК Длина,
....
Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ  Справочник.Номенклатура.ДополнительныеРеквизиты КАК Хрень ПО
Хрень.ССылка = Номенклатура.ссылка И Хрень.Свойство в (&СписокСвойств) //или в (&СвойствоВысота,&СвойствоДлина, ...)
7 lamme
 
24.04.17
17:36
(6)
уху
спасибо
пшел разбираться
8 Ёпрст
 
гуру
24.04.17
17:36
Ну , только ЕстьNULL еще в Выбор запихнуть
9 lamme
 
25.04.17
09:36
это вот итоги запроса  http://skrinshoter.ru/s/250417/vjinaQ1d?a
это по одному товару.
как-то можно свернуть в одну строку все?
10 Волшебник
 
модератор
25.04.17
09:36
(9) Сгруппировать + Максимум
11 lamme
 
25.04.17
09:38
спасибо
точно
12 2mugik
 
26.04.17
12:09
(0)Чисто ради спортивного интереса - и что по времени быстрее стало?