Имя: Пароль:
1C
1С v8
Почему запросы дают разные результаты?
0 DenSpb
 
09.10.12
19:15
Запрос.Текст="ВЫБРАТЬ
                    |    РеализацияТоваровУслугАгентскиеУслуги.НомерСтроки КАК Ном,
                    |    ВЫБОР
                    |        КОГДА ПОДСТРОКА(РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.НаименованиеПолное, 1, 100) <> &ПустаяСтрока
                    |            ТОГДА РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.НаименованиеПолное
                    |        ИНАЧЕ РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.Наименование
                    |    КОНЕЦ КАК Наименование,
                    |    РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения,
                    |    РеализацияТоваровУслугАгентскиеУслуги.Количество КАК Количество,
                    |    РеализацияТоваровУслугАгентскиеУслуги.Цена,
                    |    ВЫБОР
                    |        КОГДА &СуммаВключаетНДС
                    |            ТОГДА РеализацияТоваровУслугАгентскиеУслуги.Сумма - РеализацияТоваровУслугАгентскиеУслуги.СуммаНДС
                    |        ИНАЧЕ РеализацияТоваровУслугАгентскиеУслуги.Сумма
                    |    КОНЕЦ КАК СуммаБезНДС,
                    |    РеализацияТоваровУслугАгентскиеУслуги.СтавкаНДС,
                    |    РеализацияТоваровУслугАгентскиеУслуги.СуммаНДС КАК НДС,
                    |    ВЫБОР
                    |        КОГДА &СуммаВключаетНДС
                    |            ТОГДА РеализацияТоваровУслугАгентскиеУслуги.Сумма
                    |        ИНАЧЕ РеализацияТоваровУслугАгентскиеУслуги.Сумма + РеализацияТоваровУслугАгентскиеУслуги.СуммаНДС
                    |    КОНЕЦ КАК Сумма,
                    |    ЕСТЬNULL(УслугиПортаУслуги.Контейнер.Наименование, """") КАК Контейнер,
                    |    ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, ""Без типа"") КАК ТипУслуги
                    |ИЗ
                    |    Документ.РеализацияТоваровУслуг.АгентскиеУслуги КАК РеализацияТоваровУслугАгентскиеУслуги
                    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.УслугиПорта.Услуги КАК УслугиПортаУслуги
                    |        ПО РеализацияТоваровУслугАгентскиеУслуги.Номенклатура = УслугиПортаУслуги.Услуга
                    |            И РеализацияТоваровУслугАгентскиеУслуги.Ссылка = УслугиПортаУслуги.СчетВыставленный
                    |            И РеализацияТоваровУслугАгентскиеУслуги.Сумма = УслугиПортаУслуги.Сумма
                    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
                    |        ПО РеализацияТоваровУслугАгентскиеУслуги.Номенклатура = ЗначенияСвойствОбъектов.Объект
                    |ГДЕ
                    |    РеализацияТоваровУслугАгентскиеУслуги.Ссылка = &Ссылка
                    |    И ЗначенияСвойствОбъектов.Свойство = &Свойство
                    |
                    |УПОРЯДОЧИТЬ ПО
                    |    Контейнер
                    |ИТОГИ
                    |    СУММА(Количество),
                    |    СУММА(СуммаБезНДС),
                    |    СУММА(НДС),
                    |    СУММА(Сумма)
                    |ПО
                    |    ОБЩИЕ";
И
Запрос.Текст="ВЫБРАТЬ
                            |    РеализацияТоваровУслугАгентскиеУслуги.НомерСтроки КАК Ном,
                            |    ВЫБОР
                            |        КОГДА ПОДСТРОКА(РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.НаименованиеПолное, 1, 100) <> &ПустаяСтрока
                            |            ТОГДА РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.НаименованиеПолное
                            |        ИНАЧЕ РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.Наименование
                            |    КОНЕЦ КАК Наименование,
                            |    РеализацияТоваровУслугАгентскиеУслуги.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения,
                            |    РеализацияТоваровУслугАгентскиеУслуги.Количество КАК Количество,
                            |    РеализацияТоваровУслугАгентскиеУслуги.Цена,
                            |    ВЫБОР
                            |        КОГДА &СуммаВключаетНДС
                            |            ТОГДА РеализацияТоваровУслугАгентскиеУслуги.Сумма - РеализацияТоваровУслугАгентскиеУслуги.СуммаНДС
                            |        ИНАЧЕ РеализацияТоваровУслугАгентскиеУслуги.Сумма
                            |    КОНЕЦ КАК СуммаБезНДС,
                            |    РеализацияТоваровУслугАгентскиеУслуги.СтавкаНДС,
                            |    РеализацияТоваровУслугАгентскиеУслуги.СуммаНДС КАК НДС,
                            |    ВЫБОР
                            |        КОГДА &СуммаВключаетНДС
                            |            ТОГДА РеализацияТоваровУслугАгентскиеУслуги.Сумма
                            |        ИНАЧЕ РеализацияТоваровУслугАгентскиеУслуги.Сумма + РеализацияТоваровУслугАгентскиеУслуги.СуммаНДС
                            |    КОНЕЦ КАК Сумма,
                            |    ЕСТЬNULL(УслугиПортаУслуги.Контейнер.Наименование, """") КАК Контейнер
                            |ИЗ
                            |    Документ.РеализацияТоваровУслуг.АгентскиеУслуги КАК РеализацияТоваровУслугАгентскиеУслуги
                            |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.УслугиПорта.Услуги КАК УслугиПортаУслуги
                            |        ПО РеализацияТоваровУслугАгентскиеУслуги.Номенклатура = УслугиПортаУслуги.Услуга
                            |            И РеализацияТоваровУслугАгентскиеУслуги.Ссылка = УслугиПортаУслуги.СчетВыставленный
                            |            И РеализацияТоваровУслугАгентскиеУслуги.Сумма = УслугиПортаУслуги.Сумма
                            |ГДЕ
                            |    РеализацияТоваровУслугАгентскиеУслуги.Ссылка = &Ссылка
                            |
                            |УПОРЯДОЧИТЬ ПО
                            |    Контейнер
                            |ИТОГИ
                            |    СУММА(Количество),
                            |    СУММА(СуммаБезНДС),
                            |    СУММА(НДС),
                            |    СУММА(Сумма)
                            |ПО
                            |    ОБЩИЕ";
Дают разные результаты, почему?
1 Wobland
 
09.10.12
19:26
|    И ЗначенияСвойствОбъектов.Свойство = &Свойство

во втором нет. это не глядя
2 DenSpb
 
09.10.12
19:28
(1) там же левое соединение, это это справа крепится. Не должно же влиять
3 DenSpb
 
09.10.12
19:31
(1) как тогда надо сделать, чтобы присоединить регистр "Значения свойств объектов"?
4 shuhard
 
09.10.12
19:37
(3) в 100500 раз
- подзапрос
- ВТ
- виртуальный таблица
5 DenSpb
 
09.10.12
20:35
(4) я вообще знал, но забыл, давно не делал. Спасибо!:)
6 Лефмихалыч
 
09.10.12
20:47
(0) в первом случае соединение со свойствами внутреннее, а во втором - левое
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший