|   |   | 
| 
 | Помогите переделать многострадальный запрос | ☑ | ||
|---|---|---|---|---|
| 0
    
        Мисти 04.02.14✎ 19:08 | 
        У меня не выводятся позиции, по которым нет остатков.     | |||
| 1
    
        Мисти 04.02.14✎ 19:08 | 
        "ВЫБРАТЬ
 | ЕСТЬNULL(СвободныеОстаткиОстатки.Склад, ТоварыНаСкладахОстатки.Склад) КАК Склад, | ЕСТЬNULL(СвободныеОстаткиОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура) КАК Номенклатура, | ЕСТЬNULL(СвободныеОстаткиОстатки.ВРезервеОстаток, 0) КАК ВРезерве, | ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличии, | ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК ПолныйОстаток, | СвободныеОстаткиОстатки.Номенклатура.ВидНоменклатуры КАК ВидНомен |ПОМЕСТИТЬ ВТ_СвободныеОстатки |ИЗ | РегистрНакопления.СвободныеОстатки.Остатки( | &НаДату, | ВЫБОР | КОГДА &СкладВыбран | ТОГДА Склад = &ВыбСклад | ИНАЧЕ ИСТИНА | КОНЕЦ | И ВЫБОР | КОГДА &ВыбТМЦВыбран | ТОГДА Номенклатура В ИЕРАРХИИ (&ВыбТМЦ) | ИНАЧЕ ИСТИНА | КОНЕЦ | И ВЫБОР | КОГДА &ВидНоменВыбран | ТОГДА Номенклатура.ВидНоменклатуры = &ВыбВидНомен | ИНАЧЕ ИСТИНА | КОНЕЦ {(Номенклатура)}) КАК СвободныеОстаткиОстатки | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки( | &НаДату, | ВЫБОР | КОГДА &СкладВыбран | ТОГДА Склад = &ВыбСклад | ИНАЧЕ ИСТИНА | КОНЕЦ | И ВЫБОР | КОГДА &ВыбТМЦВыбран | ТОГДА Номенклатура В ИЕРАРХИИ (&ВыбТМЦ) | ИНАЧЕ ИСТИНА | КОНЕЦ | И ВЫБОР | КОГДА &ВидНоменВыбран | ТОГДА Номенклатура.ВидНоменклатуры = &ВыбВидНомен | ИНАЧЕ ИСТИНА | КОНЕЦ {(Номенклатура)}) КАК ТоварыНаСкладахОстатки | ПО СвободныеОстаткиОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура | И СвободныеОстаткиОстатки.Склад = ТоварыНаСкладахОстатки.Склад |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЕСТЬNULL(СвободныеОстатки.Склад, ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)) КАК Склад, | ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, | ЕСТЬNULL(СвободныеОстатки.ВРезерве, 0) КАК ВРезерве, | ЕСТЬNULL(СвободныеОстатки.ВНаличии, 0) КАК ВНаличии, | ЕСТЬNULL(СвободныеОстатки.ПолныйОстаток, 0) КАК ПолныйОстаток, | ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа, | ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения) КАК ТовЕд, | ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул КАК Артикул, | ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату | , | ВидЦены = &Св4 | И ВЫБОР | КОГДА &ВыбТМЦВыбран | ТОГДА Номенклатура В ИЕРАРХИИ (&ВыбТМЦ) | ИНАЧЕ ИСТИНА | КОНЕЦ) КАК ЦеныНоменклатурыСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СвободныеОстатки КАК СвободныеОстатки | ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = СвободныеОстатки.Номенклатура |УПОРЯДОЧИТЬ ПО Артикул |ИТОГИ | СУММА(ВРезерве), | СУММА(ВНаличии), | СУММА(ПолныйОстаток), | МАКСИМУМ(Цена) |ПО | Склад, | Номенклатура ИЕРАРХИЯ" | |||
| 2
    
        ТогдаКонецЕсли 04.02.14✎ 19:13 | 
        а просто запрос к РС.ценыНоменклатуры дает эти самые позиции, по которым нет остатков?     | |||
| 3
    
        Мисти 04.02.14✎ 19:33 | 
        Там своя песня, там может не быть цен вовсе!     | |||
| 4
    
        Мисти 04.02.14✎ 19:34 | 
        Мне уже подсказывали умную мысль, что нужно начинать со справочника, к нему - соединение, но я не умею!     | |||
| 5
    
        sanja26 04.02.14✎ 19:45 | 
        (4) учись     | |||
| 6
    
        Мисти 04.02.14✎ 19:45 | 
        (5) Спасибо!!     | |||
| 7
    
        m-serg74 04.02.14✎ 19:45 | 
        (4) а чем соединение двух регистров отличается от соединения справочника с регистрами? только наверное лучше объединение, чем соединение     | |||
| 8
    
        sanja26 04.02.14✎ 19:56 | 
        (7) она же из остатков выбирает, а не из оборотов. Объединение не поможет     | |||
| 9
    
        m-serg74 04.02.14✎ 20:12 | 
        (8) с чего бы не поможет то?     | |||
| 10
    
        Мисти 04.02.14✎ 20:22 | 
        Мне нужно объединение справочника со всеми остальными данными.     | |||
| 11
    
        m-serg74 04.02.14✎ 20:23 | 
        (8) типа
 
просто регистры поставил какие были в наличии :) | |||
| 12
    
        viktor_vv 04.02.14✎ 20:32 | 
        (11) Мне кажется проще
 |Выбрать СпрНом.Ссылка КАК Номенклатура, .... |ИЗ | Справочник.Номенклатура КАК СПрНом | Левое соединение | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату | , | ВидЦены = &Св4 | И ВЫБОР | КОГДА &ВыбТМЦВыбран | ТОГДА Номенклатура В ИЕРАРХИИ (&ВыбТМЦ) | ИНАЧЕ ИСТИНА | КОНЕЦ) КАК ЦеныНоменклатурыСрезПоследних | ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНом.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СвободныеОстатки КАК СвободныеОстатки | ПО СпрНом.Ссылка = СвободныеОстатки.Номенклатура | |||
| 13
    
        viktor_vv 04.02.14✎ 20:33 | 
        (12) + Ну еще в 
 |Где СпрНом.Ссылка В ИЕРАРХИИ (&ВыбТМЦ) | |||
| 14
    
        Мисти 04.02.14✎ 20:35 | 
        А мой запрос можно переделать?
 Или в (12) вторая половина запроса, а первую оставить как есть? | |||
| 15
    
        viktor_vv 04.02.14✎ 20:38 | 
        (14) Вторая, в первой номенклатуру только замени и вид номенклатуры.     | |||
| 16
    
        Мисти 04.02.14✎ 21:00 | 
        |Где СпрНом.Ссылка В ИЕРАРХИИ (&ВыбТМЦ)
 А ВыбТМЦ может быть не выбрана, или группа, или номенклатура. Надо как-то похитрее? Что значит - заменить номенклатуру? | |||
| 17
    
        viktor_vv 04.02.14✎ 21:01 | 
        (16) 
 |Выбрать СпрНом.Ссылка КАК Номенклатура, вместо ЕСТЬNULL(СвободныеОстаткиОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура) КАК Номенклатура, | |||
| 18
    
        viktor_vv 04.02.14✎ 21:04 | 
        Ну вот это " или группа, или номенклатура" номрально отработает.
 Добавь параметр, проверяй заполненость, устанавливай. |Где (&НоменклатураНеЗаполнена или СпрНом.Ссылка В ИЕРАРХИИ (&ВыбТМЦ)) формируй динамически текст, вставляй метки , потом заменяй на куски кода. | |||
| 19
    
        GANR 04.02.14✎ 21:30 | 
        (6) Опять обновлять надо? Опять 2-х недель нету, как и здесь v8: Помогите с запросом! ?     | |||
| 20
    
        Torquader 04.02.14✎ 23:49 | 
        А может мы начнём с того, а всё же что мы хотим увидеть в результате и для чего это нам нужно, а то насоединяют всякого и сидят с печальными глазами.     | |||
| 21
    
        zak555 05.02.14✎ 00:35 | 
        ТоварыНаСкладахОстатки левое соединение  СвободныеОстаткиОстатки левое соединение ЦеныНоменклатуры     | |||
| 22
    
        Мисти 05.02.14✎ 20:21 | 
        (19) Да это тот же самый запрос!     | |||
| 23
    
        Мисти 05.02.14✎ 20:22 | 
        Мне нужно, чтоб была вся номенклатура, с доп. условиями, но плясать надо от справочника.     | |||
| 24
    
        viktor_vv 05.02.14✎ 20:32 | 
        (23) И что с танцами не получается ? В (12) как минимум направление куда танцевать есть.     | |||
| 25
    
        Torquader 05.02.14✎ 21:17 | 
        (23) Горе вы наше.
 Ну и что не получается. "Мне нужно, чтоб была вся номенклатура" - значит - выбираем справочник "Номенклатура". Причём, если не хочется возиться с папками, то можно смело сначала выбрать справочник во временную таблицу, фильтруя папки. Потом, эту таблицу соединяем с регистрами, в которых хотим найти какие-то дополнительные данные для вывода. Что ещё можно сделать, чтобы вы написали этот несчастный отчёт ? | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |