|   |   | 
| 
 | Запрос, сортировка списка номенклатуры по ТЧ справочника | ☑ | ||
|---|---|---|---|---|
| 0
    
        Acemore 31.05.17✎ 10:37 | 
        Добрый день.
 Есть результат запроса со списков номенклатуры, есть необходимо отсортировать в соответствии с порядком строк номенклатуры, заданным в ТЧ справочника. ТЧ может не содержать некоторые элементы результата запроса, в связи с этим, левое соединение обрезает результат основного запроса. Есть идеи? | |||
| 1
    
        Acemore 31.05.17✎ 10:38 | 
        (0) Да, сортировать собираюсь по номеру строки     | |||
| 2
    
        lodger 31.05.17✎ 10:39 | 
        не делать левое соединение.     | |||
| 3
    
        Letum 31.05.17✎ 10:40 | 
        Левое соединение с тч + ЕСТЬNULL(ТЧ.НомерСтроки, 99999999) Как порядок.     | |||
| 4
    
        lodger 31.05.17✎ 10:41 | 
        (3) у тебя nullов не будет при левом соединении.     | |||
| 5
    
        Acemore 31.05.17✎ 10:46 | 
        (3) Так не работает     | |||
| 6
    
        Acemore 31.05.17✎ 10:46 | 
        (2) без соединения все вместе выкатывает     | |||
| 7
    
        dezss 31.05.17✎ 10:47 | 
        А может тогда делать правое соединение?
 Я чета не понимаю, каким образом левое может обрезать. Только если делать левое К ТЧ, а если делать левое к результату запроса, то никаких обрезаний просто не может быть, могут быть null-ы. Хотя если накладывать какие-то ограничения в ГДЕ, то левое легким мановением руки превращается во внутреннее. | |||
| 8
    
        Acemore 31.05.17✎ 10:52 | 
        (7) 
 <code> //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТГотовый.Номенклатура КАК Номенклатура, ВТГотовый.Номенклатура.Родитель КАК ГруппаНоменклатуры, ВТГотовый.Номенклатура.ЕдиницаИзмеренияМест КАК Единица, СпискиНоменклатурыСписокНоменклатуры.НомерСтроки КАК Порядок ИЗ ВТГотовый КАК ВТГотовый ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпискиНоменклатуры.СписокНоменклатуры КАК СпискиНоменклатурыСписокНоменклатуры ПО ВТГотовый.Номенклатура = СпискиНоменклатурыСписокНоменклатуры.Номенклатура ГДЕ СпискиНоменклатурыСписокНоменклатуры.Ссылка = &СписокНоменклатуры </code> результат 12 из 53 | |||
| 9
    
        lodger 31.05.17✎ 10:53 | 
        (8) попробуй полное.     | |||
| 10
    
        Acemore 31.05.17✎ 10:54 | 
        (8) левое так же себя ведет
 правое, соответственно, дополняет пустыми строчками Номенклатуру (не из нее же беру), но номера строк отлично проставляет) Только результат теряю | |||
| 11
    
        Acemore 31.05.17✎ 10:56 | 
        (9) Полное как правое ведет - режет начальный результат заппроса под ТЧ     | |||
| 12
    
        Acemore 31.05.17✎ 10:57 | 
        НомерСтроки никак хитро себя не ведет при соединениях?     | |||
| 13
    
        Mort 31.05.17✎ 11:01 | 
        Автор условие накладывает после джойна, поэтому и не взлетает     | |||
| 14
    
        lodger 31.05.17✎ 11:02 | 
        (12) а как он может себя вести? это число в таблице.     | |||
| 15
    
        dezss 31.05.17✎ 11:06 | 
        (8) а теперь расскажи сколько элементов в &СписокНоменклатуры
 и в Справочник.СпискиНоменклатуры.СписокНоменклатуры | |||
| 16
    
        Acemore 31.05.17✎ 11:08 | 
        (15) это ссылка на элемент справочника и название ТЧ (ну да, сбивает с мысли))     | |||
| 17
    
        Acemore 31.05.17✎ 11:08 | 
        (13) т.е. в вт ранее список выгрузить?     | |||
| 18
    
        Letum 31.05.17✎ 11:10 | 
        (17) Можно сделать так:
 Справочник левое соединение ТЧ по Справочник.Ссылка = ТЧ.Номенклатура И ТЧ.Ссылка = &СписокНоменклатуры | |||
| 19
    
        dezss 31.05.17✎ 11:11 | 
        (16) ну я спрашивал про количество, а не про то, что это...мну с мысли не сбился))
 попробуй сперва сделать список Справочник.СпискиНоменклатуры.СписокНоменклатуры с наложенным условием, помести во временную таблицу, а потом левым присоединяй к ВТГотовый. Или как в (18). | |||
| 20
    
        Acemore 31.05.17✎ 11:12 | 
        (13) (19) Да, это сработало.
 В ВТ получил список по конкретному справочнику и с ним уже левое соединение. Спасибо! | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |