|
Помогите переделать многострадальный запрос | ☑ | ||
---|---|---|---|---|
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) Горе вы наше.
Ну и что не получается. "Мне нужно, чтоб была вся номенклатура" - значит - выбираем справочник "Номенклатура". Причём, если не хочется возиться с папками, то можно смело сначала выбрать справочник во временную таблицу, фильтруя папки. Потом, эту таблицу соединяем с регистрами, в которых хотим найти какие-то дополнительные данные для вывода. Что ещё можно сделать, чтобы вы написали этот несчастный отчёт ? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |