Имя: Пароль:
1C
1С v8
Запросик
0 Shooroopik111
 
24.11.14
09:57
Всем доброе утро.

Имею две таблицы

таблица 1
Ключ Группа(номенклатуры)
1 Сардельки
1 Сосиски
2 Сардельки

Вторая таблица это непосредственно номенклатура.

Как мне правильно соединить чтобы получить следующее:

Ключ Группа Номенклатура
1 Сардельки Сардельки "Делко 250 г"
1 Сосиски Сосиски "Делко 250 г"
2 Сардельки Сардельки "Делко 250 г"

Ключ- числовое поле.Уникальный ключ.Нужен для дальнейшей связи
Группа-Группа номенклатуры.

Мне нужно получить всю номенклатуру содержащуюся в этих группах в разрезе ключей.
1 Kamas
 
24.11.14
09:58
можно глупый вопрос как должен выглядеть итог запроса??
2 Cube
 
24.11.14
10:00
(0) Ты давай запрос, покажи что получилось, а что нет...
3 Shooroopik111
 
24.11.14
10:00
(1)
Ключ Группа      Номенклатура
1    Сардельки   Сардельки "Делко 250 г"
1    Сосиски     Сосиски "Делко 250 г"
2    Сардельки   Сардельки "Делко 250 г
4 pessok
 
24.11.14
10:01
сардельки левое соединение номенклатура сгруппировать по сардельки
5 pessok
 
24.11.14
10:02
номенклатура в иерархии сардельки
6 pessok
 
24.11.14
10:02
хз... ключ есть в сардельках, а в номенклатуре он есть?
7 Shooroopik111
 
24.11.14
10:03
(6) В группах ключ есть. В номенклатуре нет ключа.
8 Kamas
 
24.11.14
10:05
ключи есть у всех родителей...
или мы ищем родителей у которых есть ключи...
или ключи есть у некоторых родителей но нужны все а ключ берем у верхнего
9 Kamas
 
24.11.14
10:06
(7)номенклатура.родитель.ключ
10 pessok
 
24.11.14
10:07
выбрать сосиска.ссылка из справочник.номенклатура как сосиска где сосиска.родитель.ключ = &ключ
11 Shooroopik111
 
24.11.14
10:08
(9) Ключ и группа сопоставляются в РС
Ключ есть у всех групп. Но эта связь только в РС.
Мы ищем всю номенклатуру входящую в эти группы.
12 Shooroopik111
 
24.11.14
10:08
(10) сосиска.родитель.ключ  ключ это измерение РС. не реквизит.
13 pessok
 
24.11.14
10:10
(12) ну тащи тогда из рс, в чем трабл?

выбрать номенклатура.ссылка где номенклатура.родитель в (выбрать группы.группа из регистрсведений.группы как группы где группы.ключ = &ключ)
14 Kamas
 
24.11.14
10:10
(11) ну так сделай левое соединение с рС в котором у вас группы группа =номенклатура.родитель
15 Shooroopik111
 
24.11.14
10:12
(14) Так в группах то тоже группы могут быть вложенные.
16 Shooroopik111
 
24.11.14
10:14
(13) Оператор "В" не подойдет. нужен "В иерархии".
Во вторых если так сделать, то получим элементы которых нет в этой группе и во вложенных.
17 pessok
 
24.11.14
10:16
(16) ты это. нормально объясни что у тебя есть и что тебе надо. гадать на кофейной гуще с утра в понедельник - не самое приятное занятие
18 Shooroopik111
 
24.11.14
10:20
Пишу оч подробно:
1)имеем в справочнике Номенклатура группы:
а)Сардельки(в ней номенклатура Сардельки "Делко 250 г")
б)Сосиски (в ней номенклатура Сосиски "Делко 250 г")
В этих группах могут находится еще подгруппы, и так до бесконечности.

2)имеем РС Измерения:
а)Ключ- числовое уникальное поле.
б)ГруппаНоменклатуры- соответсвенно группа номенклатуры.

3)РС заполнен следующим образом:
Ключ ГруппаНоменклатуры
1    Сардельки
1    Сосиски
2    Сардельки

Вопрос:Как получить

Ключ ГруппаНоменклатуры Номенклатура
1 Сардельки Сардельки "Делко 250 г"
1 Сосиски Сосиски "Делко 250 г"
2 Сардельки Сардельки "Делко 250 г"
19 Shooroopik111
 
24.11.14
10:23
Если использовать:
Номенклатура.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ
ГруппыНомеклатурыИзРС.Группы ИЗ
ГруппыНомеклатурыИзРС КАК ГруппыНомеклатурыИзРС)

Получаем хрень. Так как в итоговый запрос к группа привязывается номенклатура которой нет в этой группе.
20 pessok
 
24.11.14
10:24
(19) в моем запросе еще условие было у запроса-условия
21 Shooroopik111
 
24.11.14
10:25
(20) нужно для всей таблици РС. без отборов по ключам и прочей нечести.
22 elCust
 
24.11.14
10:26
(19) А если будет подгруппа, то родителя не выводим?

"Сардельки группируются только с жаренной картошечкой и солеными огурчиками..."
23 Shooroopik111
 
24.11.14
10:27
(22) Выводим все конченые элементы которые есть в этой группе.
24 pessok
 
24.11.14
10:27
(21) тогда левое соединение
25 pessok
 
24.11.14
10:28
если у тебя в рс идет
1 сардельки
а в номенклатура
сардельки - свежие - блабла 250 грамм
то эти блабла тоже в группу 1 должны попасть?
26 Shooroopik111
 
24.11.14
10:30
(24) ну пусть хоть внутренне. Непонятно как сделать соединение. Потому что используя соединение со справочником номенклатура с условием соединения:
В ИЕРАРХИИ (ВЫБРАТЬ
ГруппыНомеклатурыИзРС.Группы ИЗ МойРС)

Поучаем те элементы которых нет в группе.
27 pessok
 
24.11.14
10:33
выбрать рс.группаноменклатуры как группа, ном.ссылка как номенклатура из регистрсведений.ГруппыНомеклатурыИзРС как рс
левое соедиенение справочник.номенклатура как ном по рс.группаноменклатура = ном.родитель
28 Kamas
 
24.11.14
10:34
(26) Логично они есть в другой группе вы же условие на рс не на кладываете
29 Oleg_ka
 
24.11.14
10:35
Читаем:
>>>
а)Ключ- числовое уникальное поле.
>>>
3)РС заполнен следующим образом:
Ключ ГруппаНоменклатуры
1    Сардельки
1    Сосиски

Почему ключ не уникален (два раза единичка)?
Так ключ уникален или это уже другой РС?
30 Shooroopik111
 
24.11.14
10:36
(29) он уникален с другой точки зрения.В РС он может повторятся. Ну это собственно и не так важно.
31 Shooroopik111
 
24.11.14
10:37
(28) Да логично. Но как реализовать то что необходимо непонятно....
32 pessok
 
24.11.14
10:37
(29) я вообще не понимаю, откровенно говоря, причем тут этот ключ, если говорить о той результрующей табличке, которая нужна
33 pessok
 
24.11.14
10:37
(31) см 27
34 Shooroopik111
 
24.11.14
10:39
(33)рс.группаноменклатура = ном.родитель
Ну а если вложенная группа?
35 Kamas
 
24.11.14
10:39
в общем 2 выхода
1) получая рс для каждого элемента ищем максимальный уровень и программно создаем запрос вида номенклатура.родитель=рс.группа или номенклатура.родитель.родитель=РС.группа или.... потом работаем как нужно
2)В цикле ищем всю номенклатуры для каждой группы и пхаем в тз  и тз потом пихаем в другой запрос

первый вариант лучше
36 Shooroopik111
 
24.11.14
10:39
(32) А ключ мне для дальнейшего соединения необходим.
37 pessok
 
24.11.14
10:40
значит в первом пакете построй иерархию, а во втором уже соединеняй эту иерархию, а не рс
38 pessok
 
24.11.14
10:40
(35) вариант с пакетным запросом еще лучше ;)
39 Shooroopik111
 
24.11.14
10:43
(35) Тоже склоняюсь к костылю типа такого.
40 Shooroopik111
 
24.11.14
10:44
(35) А есть где нибудь пример первого?
41 Kamas
 
24.11.14
10:44
42 Shooroopik111
 
24.11.14
10:48
Отлично. нашел то что нужно http://infostart.ru/public/160707/

Всем спасибо ребят.