|
Есть запрос в котором связана номенклатура из табличной части документа со всей | ☑ | ||
---|---|---|---|---|
0
Ivan_495
03.11.16
✎
15:27
|
Есть запрос в котором связана номенклатура из табличной части документа со всей номенклатурой из справочника номенклатуры, в том числе с номенклатурой расположенной внутри групп элементов? В справочнике номенклатуры используется иерархия элементов.
При этом получаются все аналоги номенклатуры общим списком. Как исправить запрос, чтобы аналоги были отдельно, сначала для одной номенклатуры , потом для другой? ВЫБРАТЬ РасходнаяНакладнаяСписокНоменклатуры.Номенклатура, СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество, СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма, РасходнаяНакладнаяСписокНоменклатуры.НомерСтроки КАК НомерСтроки ПОМЕСТИТЬ ДокТЧ ИЗ Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры ГДЕ РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка СГРУППИРОВАТЬ ПО РасходнаяНакладнаяСписокНоменклатуры.Номенклатура, РасходнаяНакладнаяСписокНоменклатуры.НомерСтроки ИНДЕКСИРОВАТЬ ПО НомерСтроки ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДокТЧ.Номенклатура КАК Номенклатура, Ном.Ссылка КАК Аналог, ВЫБОР КОГДА Ном.Ссылка = ДокТЧ.Номенклатура ТОГДА 1 ИНАЧЕ 2 КОНЕЦ КАК Приоритет ИЗ ДокТЧ КАК ДокТЧ ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Ном ПО ДокТЧ.Номенклатура = Ном.Ссылка ГДЕ Ном.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ ДокТч.Номенклатура ИЗ ДокТч) |
|||
1
bodri
03.11.16
✎
15:30
|
группировка с начало номенклатура, а потом аналог
|
|||
2
iITmenedger
03.11.16
✎
15:31
|
(0) а вот это зачем
ВЫБОР КОГДА Ном.Ссылка = ДокТЧ.Номенклатура ТОГДА 1 ИНАЧЕ 2 КОНЕЦ КАК Приоритет правильнее проверять на ЕСТЬNULL И почему используешь именно ПОЛНОЕ СОЕДИНЕНИЕ? |
|||
3
Ivan_495
03.11.16
✎
15:38
|
||||
4
Ivan_495
03.11.16
✎
15:39
|
в (3) результат работы запроса
в первой колонке вместо NULL д.б. номенклатура связанная с аналогами во второй колонке |
|||
5
d546
03.11.16
✎
15:43
|
И почему используешь именно ПОЛНОЕ СОЕДИНЕНИЕ?
|
|||
6
d546
03.11.16
✎
15:43
|
флеш-моб :)
|
|||
7
DrShad
03.11.16
✎
15:44
|
я за попкорном
|
|||
8
Ivan_495
03.11.16
✎
15:52
|
при полном соединении попадают все нужные элементы
|
|||
9
iITmenedger
03.11.16
✎
15:52
|
(4)у тебя при соединении номенклатура связывается сама с собой:
ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Ном ПО ДокТЧ.Номенклатура = Ном.Ссылка "в первой колонке вместо NULL д.б. номенклатура связанная с аналогами во второй колонке" Правильнее использовать ЕСТЬNULL() |
|||
10
iITmenedger
03.11.16
✎
15:55
|
(8) Если при выборке элемента номенклатуры у тебя не будет найдено такой номенклатуры в ТЧ Документа у тебя будет ДокТЧ.Номенклатура = NULL в первой колонке, во второй ты просто получишь Номенклатуру
В чем смысл этого всего? |
|||
11
Ivan_495
03.11.16
✎
16:12
|
основной смысл здесь
ГДЕ Ном.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ ДокТч.Номенклатура ИЗ ДокТч) но это для спецов |
|||
12
Ivan_495
03.11.16
✎
16:13
|
если есть специалисты подскажите
|
|||
13
azernot
03.11.16
✎
16:18
|
Если аналог - это любая номенклатура лежащая в той же группе, то проще соединять по родителю, и слева:
ДокТЧ КАК ДокТЧ Левое СОЕДИНЕНИЕ Справочник.Номенклатура КАК Ном ПО ДокТЧ.Номенклатура.Родитель = Ном.Родитель Тогда и эта муть Ном.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ ДокТч.Номенклатура не нужна |
|||
14
iITmenedger
03.11.16
✎
16:21
|
(11) о каких спецах ты говоришь?
Смысл полного соединения если ты делаешь условие по номенклатуре из ТЧ документа??? ты сам понимаешь что делаешь? |
|||
15
DrShad
03.11.16
✎
16:28
|
(14) ты не спец ))))
|
|||
16
iITmenedger
03.11.16
✎
16:32
|
(15) аха-ха-ха)))) точно нужны спецы по обсуждению ламерских корявых запросов
|
|||
17
DrShad
03.11.16
✎
16:36
|
(16) обсуждению!? акстись ирод
|
|||
18
iITmenedger
03.11.16
✎
16:40
|
(17) не понимаю твоего черного юмора)))
|
|||
19
DrShad
03.11.16
✎
16:41
|
(18) запомни ТС, потом поймешь
|
|||
20
iITmenedger
03.11.16
✎
16:44
|
(19)ТС делает ПОЛНОЕ СОЕДИНЕНИЕ и при этом ограничивает в условии выборку
Ном.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ ДокТч.Номенклатура Я не вижу, что этот запрос написан спецом |
|||
21
Ivan_495
03.11.16
✎
19:39
|
это решение задачи 1.19 экзамена на спеца
|
|||
22
Ivan_495
03.11.16
✎
19:40
|
кто решал, просьба прокомментировать
|
|||
23
bootini
03.11.16
✎
19:59
|
Толком то объясни как аналог с номенклатурой связан, тебе (13) ответили, что через родителя если аналоги это вся номенклатура одной группы.
|
|||
24
Ivan_495
04.11.16
✎
12:52
|
да связь через родителя, но не так просто как в (13),есть еще связь родитель.родитель, и надо не забывать,что используется ирархия элементов
|
|||
25
Ivan_495
04.11.16
✎
12:54
|
каждый элемент связан с веткой аналогов, родителем этой ветки он и является
|
|||
26
Ivan_495
04.11.16
✎
12:59
|
глубина ирархии ветки может быть несколько уровней,а не один как в (13)
|
|||
27
azernot
04.11.16
✎
14:31
|
ДокТЧ КАК ДокТЧ
Левое СОЕДИНЕНИЕ Справочник.Номенклатура КАК Ном ПО ДокТЧ.Номенклатура= Ном.Родитель ИЛИ ДокТЧ.Номенклатура= Ном.Родитель.Родитель ИЛИ ДокТЧ.Номенклатура= Ном.Родитель.Родитель.Родитель ИЛИ ДокТЧ.Номенклатура= Ном.Родитель.Родитель.Родитель.Родитель и т.п. А вообще, давай оригинальный текст задачи 1.19 Сдаётся мне, что-то ты не договариваешь |
|||
28
Ivan_495
04.11.16
✎
14:34
|
а если 10 уровней вложенности, то при использовании (13) делать десять левых соединений?
|
|||
29
azernot
04.11.16
✎
14:43
|
(28) Одно, но с десятью условиями.
Ну нет возможности соединения по условию В ИЕРАРХИИ в запросе. Смирись. Если бы это был к примеру отчёт на СКД, там можно было бы связать два набора. Нужно до конца и чётко понимать задачу, со всеми условиями и нюансами. Ты стойко переносишь все пытки и хранишь свою тайну. Дело твоё. |
|||
30
azernot
04.11.16
✎
14:45
|
Тьфу блин, я вспомнил ТС.
Нафиг-нафиг. С этим куском неадеквта лучше не связываться... так что - без меня. |
|||
31
bootini
04.11.16
✎
15:18
|
(26) сделай как все нормальные люди через регистр сведений, номенклатура - аналог.
|
|||
32
Ivan_495
04.11.16
✎
18:55
|
(30) Слышь ты засранюка малолетняя, это ты папе своему скажешь, что он кусок говна, не научил тебя с людьми разговаривать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |