Имя: Пароль:
1C
1С v8
Заморочка с левым соединением в работающем запросе
,
0 servicenn
 
11.10.13
17:21
Есть часть работающего запроса по определению количества дней нахождения товаров на складе , нашёл на этом же сайте на мисте (http://kb.mista.ru/article.php?id=359)

Что означает ПО (ИСТИНА) ?



ВЫБРАТЬ
            ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура               КАК Номенклатура,
            ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            ПартииТоваровНаСкладахОстаткиИОбороты1.Склад                      КАК Склад,
            ПартииТоваровНаСкладахОстаткиИОбороты1.Период                     КАК Период,
            ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток  КАК КоличествоКонечныйОстаток,
            МАКСИМУМ(ПартииТоваровНаСкладахОстаткиИОбороты2.Период)           КАК ПредыдущийПериод
        ИЗ
            РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , Номенклатура В ИЕРАРХИИ  (&Номенклатура)) КАК ПартииТоваровНаСкладахОстаткиИОбороты1
            ЛЕВОЕ СОЕДИНЕНИЕ
            РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , Номенклатура В ИЕРАРХИИ  (&Номенклатура)) КАК ПартииТоваровНаСкладахОстаткиИОбороты2
            ПО (ИСТИНА)
                И ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура               = ПартииТоваровНаСкладахОстаткиИОбороты2.Номенклатура
                И ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстаткиИОбороты2.ХарактеристикаНоменклатуры
                И ПартииТоваровНаСкладахОстаткиИОбороты1.Склад                      = ПартииТоваровНаСкладахОстаткиИОбороты2.Склад
                И ПартииТоваровНаСкладахОстаткиИОбороты1.Период > ПартииТоваровНаСкладахОстаткиИОбороты2.Период
    
        СГРУППИРОВАТЬ ПО
            ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура,
            ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры,
            ПартииТоваровНаСкладахОстаткиИОбороты1.Склад,
            ПартииТоваровНаСкладахОстаткиИОбороты1.Период,
            ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток
1 Spieluhr
 
11.10.13
17:24
(0) наверное дальше есть код типа
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "(ИСТИНА)", трам-пам-пам);
2 servicenn
 
11.10.13
17:25
Вроде не было такого вот полный работающий запрос http://kb.mista.ru/article.php?id=359  :)
3 servicenn
 
11.10.13
17:27
Или это уже вне тела запроса, но и без замены всё работает
4 servicenn
 
11.10.13
17:27
А на что кстати можно заменить?
5 MrStomak
 
11.10.13
17:29
(0) Вопрос непонятен, по (истина) - никак не влияющее условие соединения, но наличие таких конструкций может упрощать динамическое формирование текста запроса.
6 servicenn
 
11.10.13
17:36
Тоесть на результаты запроса не влияет? ускоряет выполнение запроса?
7 servicenn
 
11.10.13
17:37
ТОчней наверно можно добавить к существующему новый текст запроса
8 servicenn
 
11.10.13
17:39
интересно на скд можно так добалять
9 Spieluhr
 
11.10.13
17:43
(6) никак не влияет
сейчас в типовых используют метки вида %1, %2 и т.п. и заменяют на нужный текст
10 runoff_runoff
 
11.10.13
18:46
"выбрать из Таблица1 левое соединение Таблица2 по (истина)" равносильно декартовому произведению таблиц, то есть "выбрать из Таблица 1, Таблица2"..