Имя: Пароль:
1C
1С v8
Условия в фигурных скобках
0 Fuas4
 
11.12.13
11:28
Объясните мне, пожалуйста, почему вот в этом запросе:
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
                        |    Товары.НоменклатураСсылка КАК НоменклатураСсылка,
                        |    Товары.НоменклатураСсылка.Наименование КАК Наименование,
                        |    Товары.НоменклатураСсылка.НаименованиеПолное КАК НаименованиеПолное,
                        |    Товары.НоменклатураСсылка.Артикул КАК Артикул,
                        |    Товары.БазоваяЕдиницаИзмерения КАК БазоваяЕдиницаИзмерения,
                        |    Товары.БазоваяЕдиницаИзмерения.Наименование КАК БазоваяЕдиницаИзмеренияНаименование,
                        |    Товары.БазоваяЕдиницаИзмерения.Код КАК БазоваяЕдиницаИзмеренияКод,
                        |    Товары.БазоваяЕдиницаИзмерения.НаименованиеПолное КАК БазоваяЕдиницаИзмеренияНаименованиеПолное,
                        |    Товары.БазоваяЕдиницаИзмерения.МеждународноеСокращение КАК БазоваяЕдиницаИзмеренияМеждународноеСокращение,
                        |    Товары.ЕдиницаХраненияОстатков КАК ЕдиницаХраненияОстатков,
                        |    Товары.ЕдиницаХраненияОстатков.Наименование КАК ЕдиницаХраненияОстатковНаименование,
                        |    Товары.ЕдиницаХраненияОстатков.Коэффициент КАК ЕдиницаХраненияОстатковКоэффициент,
                        |    Товары.ЕдиницаХраненияОстатков.Вес КАК ЕдиницаХраненияОстатковВес,
                        |    Товары.ЕдиницаХраненияОстатков.Объем КАК ЕдиницаХраненияОстатковОбъем,
                        |    Товары.НоменклатураСсылка.ЭтоГруппа КАК ЭтоГруппа,
                        |    Товары.Характеристика.Наименование КАК НаименованиеХарактеристики,
                        |    Товары.Характеристика КАК ХарактеристикаСсылка,
                        |    Товары.НоменклатураСсылка.ВидНоменклатуры КАК ВидНоменклатуры,
                        |    Товары.НоменклатураСсылка.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры,
                        |    Товары.НоменклатураСсылка.СтавкаНДС КАК СтавкаНДС,
                        |    РегистрШтрихКоды.Штрихкод КАК ШтрихКод,
                        |    Товары.НоменклатураСсылка.Родитель КАК РодительНоменклатуры,
                        |    ЗначенияСвойств.Свойство КАК Свойство,
                        |    ЗначенияСвойств.Значение КАК Значение
                        |ИЗ
                        |    (ВЫБРАТЬ
                        |        Номенклатура.Ссылка КАК НоменклатураСсылка,
                        |        Номенклатура.БазоваяЕдиницаИзмерения КАК БазоваяЕдиницаИзмерения,
                        |        Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаХраненияОстатков,
                        |        ВЫБОР
                        |            КОГДА ХарактеристикиНоменклатуры.Ссылка ЕСТЬ NULL
                        |                ТОГДА &ПустаяХарактеристика
                        |            ИНАЧЕ ХарактеристикиНоменклатуры.Ссылка
                        |        КОНЕЦ КАК Характеристика
                        |    ИЗ
                        |        Справочник.Номенклатура КАК Номенклатура
                        |            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
                        |            ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
                        |    ГДЕ
                        |        Номенклатура.ВидНоменклатуры.ТипНоменклатуры В(&МассивДопустимыхТипов)
                        |        И ВЫБОР
                        |                КОГДА НЕ Номенклатура.Ссылка.ЭтоГруппа
                        |                    ТОГДА Номенклатура.Ссылка В
                        |                                (ВЫБРАТЬ
                        |                                    ТоварыНаСкладахОстатки.Номенклатура
                        |                                ИЗ
                        |                                    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
                        |                                ГДЕ
                        |                                    ТоварыНаСкладахОстатки.КоличествоОстаток > 0)
                        |                            И НЕ Номенклатура.Ссылка В
                        |                                    (ВЫБРАТЬ
                        |                                        ХарактеристикиНоменклатуры.Владелец
                        |                                    ИЗ
                        |                                        Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры)
                        |            КОНЕЦ
                        |    {ГДЕ
                        |        Номенклатура.Ссылка.* КАК Номенклатура}) КАК Товары
                        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК РегистрШтрихКоды
                        |        ПО Товары.НоменклатураСсылка = РегистрШтрихКоды.Владелец
                        |            И Товары.Характеристика = РегистрШтрихКоды.ХарактеристикаНоменклатуры
                        |            И Товары.ЕдиницаХраненияОстатков = РегистрШтрихКоды.ЕдиницаИзмерения
                        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойств
                        |        ПО (ЗначенияСвойств.Объект = Товары.Характеристика)
                        |ИТОГИ
                        |    МАКСИМУМ(Наименование),
                        |    МАКСИМУМ(НаименованиеПолное),
                        |    МАКСИМУМ(Артикул),
                        |    МАКСИМУМ(БазоваяЕдиницаИзмерения),
                        |    МАКСИМУМ(БазоваяЕдиницаИзмеренияНаименование),
                        |    МАКСИМУМ(БазоваяЕдиницаИзмеренияКод),
                        |    МАКСИМУМ(БазоваяЕдиницаИзмеренияНаименованиеПолное),
                        |    МАКСИМУМ(БазоваяЕдиницаИзмеренияМеждународноеСокращение),
                        |    МАКСИМУМ(ЕдиницаХраненияОстатков),
                        |    МАКСИМУМ(ЕдиницаХраненияОстатковНаименование),
                        |    МАКСИМУМ(ЕдиницаХраненияОстатковКоэффициент),
                        |    МАКСИМУМ(ЕдиницаХраненияОстатковВес),
                        |    МАКСИМУМ(ЕдиницаХраненияОстатковОбъем),
                        |    МАКСИМУМ(ЭтоГруппа),
                        |    МАКСИМУМ(НаименованиеХарактеристики),
                        |    МАКСИМУМ(ХарактеристикаСсылка),
                        |    МАКСИМУМ(ВидНоменклатуры),
                        |    МАКСИМУМ(ТипНоменклатуры),
                        |    МАКСИМУМ(СтавкаНДС),
                        |    МАКСИМУМ(ШтрихКод),
                        |    МАКСИМУМ(РодительНоменклатуры)
                        |ПО
                        |    НоменклатураСсылка ИЕРАРХИЯ,
                        |    ХарактеристикаСсылка"

Если я не пользуюсь отбором, т.е. условие {ГДЕ
                        |        Номенклатура.Ссылка.* КАК Номенклатура} не отрабатывается, то ВЫБОР
                        |                КОГДА НЕ Номенклатура.Ссылка.ЭтоГруппа
                        |                    ТОГДА Номенклатура.Ссылка В
                        |                                (ВЫБРАТЬ
                        |                                    ТоварыНаСкладахОстатки.Номенклатура
                        |                                ИЗ
                        |                                    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
                        |                                ГДЕ
                        |                                    ТоварыНаСкладахОстатки.КоличествоОстаток > 0)
                        |                            И НЕ Номенклатура.Ссылка В
                        |                                    (ВЫБРАТЬ
                        |                                        ХарактеристикиНоменклатуры.Владелец
                        |                                    ИЗ
                        |                                        Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры)
                        |            КОНЕЦ

Отрабатывается, а если отбор использую, то нет.

И как это исправить?

Отбор, вроде как, должен обрабатываться после запроса, а тут он как будто затирает предыдущее условие
1 Fragster
 
модератор
11.12.13
11:37
отбор - он меняет текст запроса перед выполнением, вообще-то
2 Fuas4
 
11.12.13
11:44
(1) А как мне тогда свой ВЫБОР туда правильно поставить?
3 John83
 
11.12.13
11:50
(2) а если попробовать его в условие построителя запихнуть?
4 Fuas4
 
11.12.13
11:55
(3) Так я пробовал. {ГДЕ
                        |        Номенклатура.Ссылка.* КАК Номенклатура
И ВЫБОР
                        |                КОГДА НЕ Номенклатура.Ссылка.ЭтоГруппа
                        |                    ТОГДА Номенклатура.Ссылка В
                        |                                (ВЫБРАТЬ
                        |                                    ТоварыНаСкладахОстатки.Номенклатура
                        |                                ИЗ
                        |                                    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
                        |                                ГДЕ
                        |                                    ТоварыНаСкладахОстатки.КоличествоОстаток > 0)
                        |                            И НЕ Номенклатура.Ссылка В
                        |                                    (ВЫБРАТЬ
                        |                                        ХарактеристикиНоменклатуры.Владелец
                        |                                    ИЗ
                        |                                        Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры)
                        |            КОНЕЦ}
Так ругается

Так тоже:
{ГДЕ
                        |        Номенклатура.Ссылка.*
И ВЫБОР
                        |                КОГДА НЕ Номенклатура.Ссылка.ЭтоГруппа
                        |                    ТОГДА Номенклатура.Ссылка В
                        |                                (ВЫБРАТЬ
                        |                                    ТоварыНаСкладахОстатки.Номенклатура
                        |                                ИЗ
                        |                                    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
                        |                                ГДЕ
                        |                                    ТоварыНаСкладахОстатки.КоличествоОстаток > 0)
                        |                            И НЕ Номенклатура.Ссылка В
                        |                                    (ВЫБРАТЬ
                        |                                        ХарактеристикиНоменклатуры.Владелец
                        |                                    ИЗ
                        |                                        Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры)
                        |            КОНЕЦ
КАК Номенклатура}
5 Fuas4
 
11.12.13
11:56
В первом случае на "И", во втором на "*"
6 Rovan
 
гуру
11.12.13
11:57
(4) а так
{ГДЕ Номенклатура.Ссылка.* КАК Номенклатура }
{ГДЕ ВЫБОР
                        |                КОГДА НЕ Номенклатура.Ссылка.ЭтоГруппа
                        |                    ТОГДА Номенклатура.Ссылка В
                        |                                (ВЫБРАТЬ
                        |                                    ТоварыНаСкладахОстатки.Номенклатура
                        |                                ИЗ
                        |                                    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
                        |                                ГДЕ
                        |                                    ТоварыНаСкладахОстатки.КоличествоОстаток > 0)
                        |                            И НЕ Номенклатура.Ссылка В
                        |                                    (ВЫБРАТЬ
                        |                                        ХарактеристикиНоменклатуры.Владелец
                        |                                    ИЗ
                        |                                        Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры)
                        |            КОНЕЦ}