Имя: Пароль:
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"..
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший