Имя: Пароль:
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с нет, так что не надо.
Основная теорема систематики: Новые системы плодят новые проблемы.