|
Пакет запросов | ☑ | ||
---|---|---|---|---|
0
арах
27.01.12
✎
13:17
|
народ чето я туплю ... почему запрос возвращает нули когда рельно по етой позиции есть и цены и остатки?
ВЫБРАТЬ Номенклатура.Ссылка КАК НоменклатураСсылка, ХарактеристикиНоменклатуры.Ссылка КАК Характеристика ПОМЕСТИТЬ ВТЗ ИЗ Справочник.Номенклатура КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец ГДЕ Номенклатура.ЭтоГруппа = ЛОЖЬ И Номенклатура.ВидНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар) И НЕ Номенклатура.Родитель В ИЕРАРХИИ (&группа) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТЗ.НоменклатураСсылка.Код, ВТЗ.НоменклатураСсылка.НаименованиеПолное, ВТЗ.Характеристика.Наименование, СУММА(ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.ВидЦены = &видцен1 ТОГДА ЦеныНоменклатурыСрезПоследних.Цена ИНАЧЕ 0 КОНЕЦ) КАК цена1, СУММА(ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.ВидЦены = &видцен2 ТОГДА ЦеныНоменклатурыСрезПоследних.Цена ИНАЧЕ 0 КОНЕЦ) КАК цена2, СУММА(ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.ВидЦены = &видцен3 ТОГДА ЦеныНоменклатурыСрезПоследних.Цена ИНАЧЕ 0 КОНЕЦ) КАК цена3, СУММА(ВЫБОР КОГДА НоменклатураСегмента.Сегмент = &Сегмент ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК ВИнтернетМагазин, СУММА(ТоварыНаСкладахОстатки.ВНаличииОстаток) КАК ВНаличииОстаток ИЗ ВТЗ КАК ВТЗ ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОстатков, ) КАК ЦеныНоменклатурыСрезПоследних ПО ВТЗ.НоменклатураСсылка = ЦеныНоменклатурыСрезПоследних.Номенклатура И ВТЗ.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураСегмента КАК НоменклатураСегмента ПО ВТЗ.НоменклатураСсылка = НоменклатураСегмента.Номенклатура И ВТЗ.Характеристика = НоменклатураСегмента.Характеристика ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки( &ДатаОстатков, Склад = &Склад1 ИЛИ Склад = &Склад2 ИЛИ Склад = &Склад3) КАК ТоварыНаСкладахОстатки ПО ВТЗ.НоменклатураСсылка = ТоварыНаСкладахОстатки.Номенклатура И ВТЗ.Характеристика = ТоварыНаСкладахОстатки.Характеристика ГДЕ ВТЗ.НоменклатураСсылка = &НоменклатураСсылка СГРУППИРОВАТЬ ПО ВТЗ.НоменклатураСсылка.Код, ВТЗ.НоменклатураСсылка.НаименованиеПолное, ВТЗ.Характеристика.Наименование |
|||
1
depthzer0
27.01.12
✎
13:20
|
ГДЕ
ВТЗ.НоменклатураСсылка = &НоменклатураСсылка |
|||
2
арах
27.01.12
✎
13:22
|
(1) и че? это только для отбора конкретной позиции если убрать условие проблемма остатеся тка выподает весь справочник)
|
|||
3
depthzer0
27.01.12
✎
13:23
|
попробуй условие перенести в связь
|
|||
4
арах
27.01.12
✎
13:24
|
какое?
|
|||
5
арах
27.01.12
✎
13:24
|
оно мне воще не нужно это я для отладки наложил
|
|||
6
depthzer0
27.01.12
✎
13:25
|
пардон, невнимательно
так а параметр &ДатаОстатков - на эту дату есть цены? |
|||
7
арах
27.01.12
✎
13:25
|
да есть и цены и остатки
|
|||
8
арах
27.01.12
✎
13:27
|
тут фишка в том что при пробеге по ВТЗ он выдает тока одну строку даже еслли не делать группировку
|
|||
9
pessok
27.01.12
✎
13:29
|
(0) а зачем такие сложности для простейшего отчета?
ВЫБРАТЬ РАЗЛИЧНЫЕ СпрНом.Ссылка КАК Номенклатура, ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК ЦенаЗакупочная, ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаПродажная, ЦеныНоменклатурыСрезПоследних.Регистратор КАК РегистраторЦенПродажи, ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистратор КАК РегистраторЦенПоставщика, ЦеныНоменклатурыКонтрагентовСрезПоследних.Валюта, ТоварыНаСкладахОстатки.КоличествоОстаток ИЗ Справочник.Номенклатура КАК СпрНом ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(КОНЕЦПЕРИОДА(&Период, ДЕНЬ), ) КАК ТоварыНаСкладахОстатки ПО (ТоварыНаСкладахОстатки.Номенклатура = СпрНом.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&Период, ДЕНЬ), ) КАК ЦеныНоменклатурыСрезПоследних ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНом.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(КОНЕЦПЕРИОДА(&Период, ДЕНЬ), ) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних ПО (ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура = СпрНом.Ссылка) не? |
|||
10
pessok
27.01.12
✎
13:30
|
(8) по твоему запросу, затык наверняка в
НЕ Номенклатура.Родитель В ИЕРАРХИИ (&группа) |
|||
11
арах
27.01.12
✎
13:36
|
(10)в том точно затыка нет ВТЗ формируется как надо... проверено в консоли:) это воще просто услове дл отбора не нежной группы:)
|
|||
12
арах
27.01.12
✎
13:37
|
(9)не так все просто фишка что нужна еще и характеристика и цены хранятся в 1 регистре:)
|
|||
13
арах
27.01.12
✎
13:39
|
отчет конечно простейший если делать несколькими запросами или разбором результата запроса...
а я захотел просто все сделать 1 запросом:) |
|||
14
kinsm
27.01.12
✎
13:42
|
Что за конфа? Что за измерение ВидЦены?
Заем Родитель в НЕ Номенклатура.Родитель В ИЕРАРХИИ (&группа)? |
|||
15
pessok
27.01.12
✎
13:44
|
(14) вот и я об том. Номенклатура.Ссылка В ИЕРАРХИИ (&группа)
|
|||
16
арах
27.01.12
✎
13:46
|
(14) Ут11
ВидЦены = типЦены в 7.7 Родитель в НЕ Номенклатура.Родитель В ИЕРАРХИИ (&группа) для того чтобы убрать не нужную группу из ВТЗ че непонятного?:) |
|||
17
pessok
27.01.12
✎
13:47
|
(16) ну неправильно условие написано, говорят же тебе :)
|
|||
18
pessok
27.01.12
✎
13:48
|
+(17) тебе же надо ВСЮ номенклатуру из группы исключить, правильно?
|
|||
19
арах
27.01.12
✎
13:50
|
да, но эта группа имет кучу подгрупп... для етого наложено условие
|
|||
20
pessok
27.01.12
✎
13:51
|
(19) тебе надо ВСЕ подгруппы исключить?
|
|||
21
арах
27.01.12
✎
13:51
|
короче с ВТЗ все гуд вопорс во 2 запросе
|
|||
22
арах
27.01.12
✎
13:52
|
да все подгруппы из этой группы)
|
|||
23
арах
27.01.12
✎
13:52
|
||||
24
kinsm
27.01.12
✎
13:52
|
Все, понял походу. Теде нужно это условие ЦеныНоменклатурыСрезПоследних.ВидЦены = &видцен впихнуть в параметры виртуальной таблицы среза последних. Иначе неверно отработает
|
|||
25
pessok
27.01.12
✎
13:53
|
(21) если бы в ВТЗ было все гуд, то при ЛЕВОМ соединении у тебя выходили быб все записи... Логично?
|
|||
26
kinsm
27.01.12
✎
13:53
|
(23) Дык мы говорим, что РОДИТЕЛЬ!!! не верно
|
|||
27
ptiz
27.01.12
✎
13:54
|
У тебя первая часть запроса в ВТЗ возвращает для товаров без характеристик NULL в характеристике.
|
|||
28
pessok
27.01.12
✎
13:57
|
(26) кстати, и так взлетает, что странно. Только что в консоль загнал...
(27) дальше идет левое соединение, все равно должно все выводить... |
|||
29
pessok
27.01.12
✎
14:00
|
ВЫБРАТЬ
Номенклатура.Ссылка КАК НоменклатураСсылка, ХарактеристикиНоменклатуры.Ссылка КАК Характеристика ПОМЕСТИТЬ ВТЗ ИЗ Справочник.Номенклатура КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец ГДЕ Номенклатура.ЭтоГруппа = ЛОЖЬ И Номенклатура.ВидНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар) И (НЕ Номенклатура.Родитель В ИЕРАРХИИ (&группа)) СГРУППИРОВАТЬ ПО ХарактеристикиНоменклатуры.Ссылка, Номенклатура.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТЗ.НоменклатураСсылка.Код, ВТЗ.НоменклатураСсылка.НаименованиеПолное, ВТЗ.Характеристика.Наименование, ЦеныНоменклатурыСрезПоследних.Цена ИЗ ВТЗ КАК ВТЗ ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОстатков, ) КАК ЦеныНоменклатурыСрезПоследних ПО ВТЗ.НоменклатураСсылка = ЦеныНоменклатурыСрезПоследних.Номенклатура вот так отрабатывает нормально... |
|||
30
арах
27.01.12
✎
14:01
|
(24) как его туды загнать если надо 3 цены вернуть?:)
(27) я в курсе... это не мешает. (25)ну ачто там не верно? загни в консоль проверь |
|||
31
pessok
27.01.12
✎
14:03
|
(30) на правах телепат-бота. А ты результат запроса случаем не в СКД обрабатываешь?
|
|||
32
kinsm
27.01.12
✎
14:03
|
ВЫБРАТЬ
Номенклатура.Ссылка КАК НоменклатураСсылка, ЕСТЬNULL(ХарактеристикиНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК Характеристика ПОМЕСТИТЬ ВТЗ ИЗ Справочник.Номенклатура КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец ГДЕ Номенклатура.ЭтоГруппа = ЛОЖЬ И Номенклатура.ВидНоменклатуры.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар) И (НЕ Номенклатура.Родитель В ИЕРАРХИИ (&группа)) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТЗ.НоменклатураСсылка.Код, ВТЗ.НоменклатураСсылка.НаименованиеПолное, ВТЗ.Характеристика.Наименование, СУММА(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихВид1.Цена, 0)) КАК цена1, СУММА(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихВид2.Цена, 0)) КАК цена2, СУММА(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихВид3.Цена, 0)) КАК цена3, СУММА(ВЫБОР КОГДА НоменклатураСегмента.Сегмент = &Сегмент ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК ВИнтернетМагазин, СУММА(ТоварыНаСкладахОстатки.ВНаличииОстаток) КАК ВНаличииОстаток ИЗ ВТЗ КАК ВТЗ ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОстатков, ВидЦены = &видцен1) КАК ЦеныНоменклатурыСрезПоследнихВид1 ПО ВТЗ.НоменклатураСсылка = ЦеныНоменклатурыСрезПоследнихВид1.Номенклатура И ВТЗ.Характеристика = ЦеныНоменклатурыСрезПоследнихВид1.Характеристика ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураСегмента КАК НоменклатураСегмента ПО ВТЗ.НоменклатураСсылка = НоменклатураСегмента.Номенклатура И ВТЗ.Характеристика = НоменклатураСегмента.Характеристика ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки( &ДатаОстатков, Склад = &Склад1 ИЛИ Склад = &Склад2 ИЛИ Склад = &Склад3) КАК ТоварыНаСкладахОстатки ПО ВТЗ.НоменклатураСсылка = ТоварыНаСкладахОстатки.Номенклатура И ВТЗ.Характеристика = ТоварыНаСкладахОстатки.Характеристика ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОстатков, ВидЦены = &видцен1) КАК ЦеныНоменклатурыСрезПоследнихВид2 ПО ВТЗ.НоменклатураСсылка = ЦеныНоменклатурыСрезПоследнихВид2.Номенклатура И ВТЗ.Характеристика = ЦеныНоменклатурыСрезПоследнихВид2.Характеристика ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОстатков, ВидЦены = &видцен3) КАК ЦеныНоменклатурыСрезПоследнихВид3 ПО ВТЗ.НоменклатураСсылка = ЦеныНоменклатурыСрезПоследнихВид3.Номенклатура И ВТЗ.Характеристика = ЦеныНоменклатурыСрезПоследнихВид3.Характеристика ГДЕ ВТЗ.НоменклатураСсылка = &НоменклатураСсылка СГРУППИРОВАТЬ ПО ВТЗ.НоменклатураСсылка.Код, ВТЗ.НоменклатураСсылка.НаименованиеПолное, ВТЗ.Характеристика.Наименование |
|||
33
kinsm
27.01.12
✎
14:03
|
Вот так должен отработать
|
|||
34
pessok
27.01.12
✎
14:09
|
(33) ну если оно и отработает, то все равно это страшно :)
этож сколько таблиц запрос обходить будет?) |
|||
35
арах
27.01.12
✎
14:11
|
(30)я его еще ни как не отрабатываю.. по консоле гоняю тока...
(32) спс так получается... я подозревал что надо сделать кучу соединений на один регистр но думал какнить без этого обойтись:) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |