Имя: Пароль:
1C
1С v8
Ошибка СУБД SQL Server: Case expressions may only be nested to level 10
0 Mikhail Volkov
 
19.09.17
19:11
Если по русски: Количество уровней вложенности выражений CASE не может превышать 10.
Альфа-Авто содержит такой фрагмент запроса:

                |ВЫБРАТЬ РАЗРЕШЕННЫЕ
                |    ТаблицаПодразделений.Уровень КАК Уровень,
                |    ТаблицаЦен.Номенклатура,
                |    ТаблицаЦен.ТипЦен,
                |    (ВЫБОР КОГДА ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = 1 ТОГДА
                |        ВЫРАЗИТЬ((ТаблицаЦен.Цена + 0.05) * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета КАК ЧИСЛО(15, 1))
                |    ИНАЧЕ ВЫБОР КОГДА ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = 0 ТОГДА
                |        ВЫРАЗИТЬ((ТаблицаЦен.Цена + 0.0) * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета КАК ЧИСЛО(15, 0))
                |    ИНАЧЕ ВЫБОР КОГДА ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = -1 ТОГДА
                |        (ВЫРАЗИТЬ((ТаблицаЦен.Цена + 5) * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета / 10 КАК ЧИСЛО(15, 0))) * 10
                |    ИНАЧЕ ВЫБОР КОГДА ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = -2 ТОГДА
                |        (ВЫРАЗИТЬ((ТаблицаЦен.Цена + 50) * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета / 100 КАК ЧИСЛО(15, 0))) * 100
                |    ИНАЧЕ ВЫБОР КОГДА ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = -3 ТОГДА
                |        (ВЫРАЗИТЬ((ТаблицаЦен.Цена + 500) * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета / 1000 КАК ЧИСЛО(15, 0))) * 1000
                |    ИНАЧЕ ВЫБОР КОГДА ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = 2 ТОГДА
                |        ТаблицаЦен.Цена * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета
                |    ИНАЧЕ ВЫБОР КОГДА НЕ ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = 1 ТОГДА
                |        ВЫРАЗИТЬ(ТаблицаЦен.Цена * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета КАК ЧИСЛО(15, 1))
                |    ИНАЧЕ ВЫБОР КОГДА НЕ ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = 0 ТОГДА
                |        ВЫРАЗИТЬ(ТаблицаЦен.Цена * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета КАК ЧИСЛО(15, 0))
                |    ИНАЧЕ ВЫБОР КОГДА НЕ ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = -1 ТОГДА
                |        (ВЫРАЗИТЬ(ТаблицаЦен.Цена * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета / 10 КАК ЧИСЛО(15, 0))) * 10
                |    ИНАЧЕ ВЫБОР КОГДА НЕ ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = -2 ТОГДА
                |        (ВЫРАЗИТЬ(ТаблицаЦен.Цена * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета / 100 КАК ЧИСЛО(15, 0))) * 100
                |    ИНАЧЕ ВЫБОР КОГДА НЕ ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = -3 ТОГДА
                |        (ВЫРАЗИТЬ(ТаблицаЦен.Цена * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета / 1000 КАК ЧИСЛО(15, 0))) * 1000
                |    ИНАЧЕ ВЫБОР КОГДА НЕ ТаблицаЦен.ТипЦен.ОкруглятьВБольшуюСторону И ТаблицаЦен.ТипЦен.Точность = 2 ТОГДА
                |        ТаблицаЦен.Цена * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета
                |    ИНАЧЕ 0
                |    КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ) КАК Цена

и что, их (не единственный) переписывать? Другого выхода нет?
1 mehfk
 
19.09.17
19:20
Переписывай. Убирай "ИНАЧЕ", тут достаточно одного CASE.
2 mehfk
 
19.09.17
19:21
* убирай "ИНАЧЕ ВЫБОР"
3 Господин ПЖ
 
19.09.17
19:21
(0) научи их писать

выбор
когда тогда
когда тогда
когда тогда
когда тогда
4 Филиал-msk
 
19.09.17
19:22
КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ

Внушаеть!
5 Господин ПЖ
 
19.09.17
19:23
(4) ай да рарус! ай да сукин сын
6 mehfk
 
19.09.17
19:23
Альфа - это сборник примеров как делать не надо.
7 Mikhail Volkov
 
20.09.17
11:12
(3) А эта конструкция не превысит вложенности выражений CASE?
Всю эту хрень одной строчкой в запросе заменил:
|    (ВЫРАЗИТЬ((ТаблицаЦен.Цена + ПоправкаЦеныПрайсЛист) * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета ВыражениеИзПоправкиЦеныПрайсЛист КАК Цена

В конце добавил:
ВыражениеИзПоправкиЦеныПрайсЛист = "";    //+МВ 20.09.2017
ТекстТаблицЦенБазовыхТиповЦен = СтрЗаменить(ТекстТаблицЦенБазовыхТиповЦен, "ПоправкаЦеныПрайсЛист", мвДоработки.ПоправкаЦеныПрайсЛист(БазовыйТипЦен, ВыражениеИзПоправкиЦеныПрайсЛист));
ТекстТаблицЦенБазовыхТиповЦен = СтрЗаменить(ТекстТаблицЦенБазовыхТиповЦен, "ВыражениеИзПоправкиЦеныПрайсЛист", ВыражениеИзПоправкиЦеныПрайсЛист);    //-МВ

Работает в SQL
8 Йохохо
 
20.09.17
11:22
(7) обфускация изменения ВыражениеИзПоправкиЦеныПрайсЛист в второй строке
9 Mikhail Volkov
 
20.09.17
11:46
(8) Да, еще:

// Возвращает поправку цены Прайс-листа
//
Функция ПоправкаЦеныПрайсЛист(ТипЦен, Выражение = "") Экспорт

    Поправка = "";
    Если ТипЦен.Точность = 1 Тогда
        Поправка = "0.05";
        Выражение = "КАК ЧИСЛО(15, 1)))";
    ИначеЕсли ТипЦен.Точность = 0 Тогда
        Выражение = "КАК ЧИСЛО(15, 0)))";
    ИначеЕсли ТипЦен.Точность = -1 Тогда
        Поправка = "5";
        Выражение = "/ 10 КАК ЧИСЛО(15, 0))) * 10";
    ИначеЕсли ТипЦен.Точность = -2 Тогда
        Поправка = "50";
        Выражение = "/ 100 КАК ЧИСЛО(15, 0))) * 100";
    ИначеЕсли ТипЦен.Точность = -3 Тогда
        Поправка = "500";
        Выражение = "/ 1000 КАК ЧИСЛО(15, 0))) * 1000";
    КонецЕсли;
    Возврат ?(ТипЦен.ОкруглятьВБольшуюСторону, Поправка, 0);

КонецФункции // ПоправкаЦеныПрайсЛист()
10 mistеr
 
20.09.17
11:53
(0) Все эти варианты прямо в тексте или генерируются?

Как-то не верится, что у всех работает, а у тебя нет.
11 Господин ПЖ
 
20.09.17
11:58
такая ошибка на линкованных серверах всплывает
12 Mikhail Volkov
 
20.09.17
12:20
(10) Прямо в тексте. Старая Альфа-Авто 4.1.01.30 на 8.3.10.2466
13 Ненавижу 1С
 
гуру
20.09.17
12:30
(11) расшифруй
14 Фрэнки
 
20.09.17
12:35
(13) наверное, он хотел сказать о постгри на линухах
15 Господин ПЖ
 
20.09.17
12:36
(14) садись, два
16 Господин ПЖ
 
20.09.17
12:36
17 Ненавижу 1С
 
гуру
20.09.17
12:59
(16) там о 10 ветках WHEN в одном CASE

а у автора о 10 вложенных операторах CASE
18 Вафель
 
20.09.17
13:02
(17) Там ответ
19 Вафель
 
20.09.17
13:02
Not in the query text, no. But the parser always expands CASE expressions to the nested form
Так что написал (0) так сам скл делает всегда
20 Mikhail Volkov
 
21.09.17
15:42
Прислали еще ошибку:
{ОбщийМодуль.отОтчеты.Модуль(6947)}: Ошибка при установке значения атрибута контекста (Текст): {(145, 1)}: Ожидается выражение ")"
<<?>>ПОМЕСТИТЬ ТаблицаЦенТипЦен9685bde5_e9b7_11e0_a4c7_68b599b4ac4e
{ОбщийМодуль.зфЗащищенныеФункции.Модуль(2538)}: Метод объекта не обнаружен (СформироватьТабличныйДокумент)
У себя ее получить не смог. Но отчет ПрайсЛист работает как-то странно: в фильтре по номенклатуре меняю только каталог номенклатуры. Для одних работает, для других кроме шапки - пусто!?
Вернулся в файловую копию (где нет моих исправлений) - тоже самое!?
21 mehfk
 
21.09.17
15:54
22 Mikhail Volkov
 
23.09.17
14:37
Если есть отбор по Номенклатуре, то в запросе должно быть &Номенклатура? Смотрю текст запроса в начальной стадии формирования - &Номенклатура не нахожу!? Пытаюсь его извлечь на окончательной стадии, выражение ТекстЗапроса = ПостроительОтчета.Текст(); ошибку дает? Хотя отладчик его показывает!? Что ни так? Он большой, хочу в сообщение его вывести, и поискать &Номенклатура.
23 Mikhail Volkov
 
23.09.17
16:08
Текст запроса получил ПостроительОтчета.ПолучитьЗапрос().Текст перед самым выполнением:

ТекстЗапроса = "
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    |    ПрайсЛисты.Ссылка КАК ПрайсЛист,
    |    ПрайсЛисты.Номенклатура КАК Номенклатура
    |ПОМЕСТИТЬ ТаблицаПрайсЛистов
    |ИЗ
    |    Справочник.ПрайсЛист КАК ПрайсЛисты
    |ГДЕ
    |    ПрайсЛисты.Владелец = &ВидПрайсЛиста
    |    И ПрайсЛисты.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    |    И ПрайсЛисты.Номенклатура В ИЕРАРХИИ (&Параметр1)
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    Номенклатура
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ПрайсЛисты.ПрайсЛист КАК ПрайсЛист,
    |    ПрайсЛисты.Номенклатура КАК Номенклатура,
    |    ВЫБОР
    |        КОГДА ОстаткиТоваровКомпанииОстатки.Номенклатура ЕСТЬ NULL
    |            ТОГДА 0
    |        ИНАЧЕ (ОстаткиТоваровКомпанииОстатки.КоличествоОстаток - ОстаткиТоваровКомпанииОстатки.РезервОстаток) / ОстаткиТоваровКомпанииОстатки.Номенклатура.ОсновнаяЕдиницаИзмерения.Коэффициент
    |    КОНЕЦ КАК Количество
    |ПОМЕСТИТЬ ТаблицаОстатков
    |ИЗ
    |    ТаблицаПрайсЛистов КАК ПрайсЛисты
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваровКомпании.Остатки(
    |                &ДатаКон,
    |                ((Номенклатура В
    |                    (ВЫБРАТЬ РАЗЛИЧНЫЕ
    |                        ТаблицаПрайсЛистов.Номенклатура
    |                    ИЗ
    |                        ТаблицаПрайсЛистов КАК ТаблицаПрайсЛистов)) И Номенклатура В ИЕРАРХИИ(&Параметр2)) И Номенклатура В ИЕРАРХИИ(&Параметр3)) КАК ОстаткиТоваровКомпанииОстатки
    |        ПО ПрайсЛисты.Номенклатура = ОстаткиТоваровКомпанииОстатки.Номенклатура
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    Номенклатура
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |УНИЧТОЖИТЬ ТаблицаПрайсЛистов
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ТаблицаПодразделений.Родитель КАК Родитель,
    |    ТаблицаПодразделений.Уровень КАК Уровень
    |ПОМЕСТИТЬ ТаблицаПодразделений
    |ИЗ
    |    (ВЫБРАТЬ
    |        ЗНАЧЕНИЕ(Справочник.ПодразделенияКомпании.ПустаяСсылка) КАК Родитель,
    |        2 КАК Уровень
    |    
    |    ОБЪЕДИНИТЬ
    |    
    |    ВЫБРАТЬ
    |        &Подразделение0,
    |        0
    |    
    |    ОБЪЕДИНИТЬ
    |    
    |    ВЫБРАТЬ
    |        &Подразделение1,
    |        1) КАК ТаблицаПодразделений
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    Родитель
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ТаблицаПодразделений.Уровень КАК Уровень,
    |    ТаблицаЦен.Номенклатура КАК Номенклатура,
    |    ТаблицаЦен.Цена * КурсыВалютСрезПоследних.Курс / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) / &КурсВалютыОтчета КАК Цена
    |ПОМЕСТИТЬ ТаблицаЦенТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e
    |ИЗ
    |    ТаблицаПодразделений КАК ТаблицаПодразделений
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних(
    |                &ДатаКон,
    |                ТипЦен = &ТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e
    |                    И Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
    |                    И ПодразделениеКомпании В
    |                        (ВЫБРАТЬ
    |                            ТаблицаПодразделений.Родитель
    |                        ИЗ
    |                            ТаблицаПодразделений КАК ТаблицаПодразделений)
    |                    И ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
    |                    И ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)) КАК ТаблицаЦен
    |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, Валюта = &ВалютаТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e) КАК КурсыВалютСрезПоследних
    |            ПО (ИСТИНА)
    |        ПО ТаблицаПодразделений.Родитель = ТаблицаЦен.ПодразделениеКомпании
    |ГДЕ
    |    ТаблицаЦен.Цена > 0
    |    И ТаблицаЦен.Номенклатура В ИЕРАРХИИ (&Параметр4)
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    МИНИМУМ(ТаблицаЦен.Уровень) КАК Уровень,
    |    ТаблицаЦен.Номенклатура КАК Номенклатура
    |ПОМЕСТИТЬ ТаблицаОтбораЦенТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e
    |ИЗ
    |    ТаблицаЦенТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e КАК ТаблицаЦен
    |ГДЕ
    |    ТаблицаЦен.Номенклатура В ИЕРАРХИИ (&Параметр5)
    |
    |СГРУППИРОВАТЬ ПО
    |    ТаблицаЦен.Номенклатура
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    Номенклатура
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ТаблицаЦен.Номенклатура КАК Номенклатура,
    |    ТаблицаЦен.Цена КАК Цена
    |ПОМЕСТИТЬ ТаблицаЦенПодразделенияТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e
    |ИЗ
    |    ТаблицаЦенТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e КАК ТаблицаЦен
    |ГДЕ
    |    (ТаблицаЦен.Уровень, ТаблицаЦен.Номенклатура) В
    |            (ВЫБРАТЬ
    |                ТаблицаЦен.Уровень,
    |                ТаблицаЦен.Номенклатура
    |            ИЗ
    |                ТаблицаОтбораЦенТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e КАК ТаблицаЦен)
    |    И ТаблицаЦен.Номенклатура В ИЕРАРХИИ (&Параметр6)
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    ТаблицаЦен.Номенклатура
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |УНИЧТОЖИТЬ ТаблицаЦенТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ТаблицаОстатков.ПрайсЛист КАК Товар,
    |    ТаблицаОстатков.Номенклатура КАК Номенклатура,
    |    ТаблицаОстатков.Количество КАК Количество,
    |    ЕСТЬNULL(ТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e.Цена, 0) КАК Ценаd01dde69_2607_11e1_baf9_68b599b4ac4e
    |ИЗ
    |    ТаблицаОстатков КАК ТаблицаОстатков
    |        ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаЦенПодразделенияТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e КАК ТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e
    |        ПО ТаблицаОстатков.Номенклатура = ТипЦенd01dde69_2607_11e1_baf9_68b599b4ac4e.Номенклатура
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихКоды КАК ШтрихКоды
    |        ПО ТаблицаОстатков.Номенклатура = ШтрихКоды.Объект
    |            И (НЕ ШтрихКоды.Запрет)
    |            И (ВЫБОР
    |                КОГДА ТаблицаОстатков.ПрайсЛист.Номенклатура.ТипНоменклатуры.ИспользованиеШтрихКодов = 1
    |                    ТОГДА ШтрихКоды.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
    |                            И ШтрихКоды.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
    |                КОГДА ТаблицаОстатков.ПрайсЛист.Номенклатура.ТипНоменклатуры.ИспользованиеШтрихКодов = 2
    |                    ТОГДА ШтрихКоды.ЕдиницаИзмерения = ТаблицаОстатков.Номенклатура.ОсновнаяЕдиницаИзмерения
    |                КОГДА ТаблицаОстатков.ПрайсЛист.Номенклатура.ТипНоменклатуры.ИспользованиеШтрихКодов = 3
    |                    ТОГДА ШтрихКоды.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
    |                ИНАЧЕ ШтрихКоды.ЕдиницаИзмерения = ТаблицаОстатков.Номенклатура.ОсновнаяЕдиницаИзмерения
    |                        И ШтрихКоды.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
    |            КОНЕЦ)
    |ГДЕ
    |    ТаблицаОстатков.ПрайсЛист.Номенклатура В ИЕРАРХИИ (&Параметр7)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Товар,
    |    ТаблицаОстатков.Номенклатура.Наименование
    |ИТОГИ
    |    МАКСИМУМ(Количество),
    |    ВЫБОР
    |        КОГДА НЕ Номенклатура ЕСТЬ NULL
    |            ТОГДА МАКСИМУМ(Ценаd01dde69_2607_11e1_baf9_68b599b4ac4e)
    |        ИНАЧЕ 0
    |    КОНЕЦ КАК Ценаd01dde69_2607_11e1_baf9_68b599b4ac4e
    |ПО
    |    Товар ТОЛЬКО ИЕРАРХИЯ КАК Товар,
    |    Номенклатура КАК Номенклатура";

Но не пойму как реализован отбор по номенклатуре!? Тексты запроса одни и те же независимо от выбранного каталога номенклатуры.
24 Mikhail Volkov
 
23.09.17
17:01
Блин, оказывается в Альфа-Авто есть специальный справочник "Прайс-лист", сперва его надо заполнить, отобрать только нужное для Прайс-листа.
25 mexanik_96
 
23.09.17
22:50
(6) да ладно? а как надо покажи. художники разные бывают. анси 1с нет, так что не надо.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн