Имя: Пароль:
1C
1С v8
Один элемент иерархического справочника в нескольких группах запросом
, ,
0 ДедUndead
 
12.03.18
07:27
Коллеги.
Не знаю, баян это или нет, но в поиске ничего путевого не нашел. Можно ли как-то извернуться и сделать так, чтобы в запросе к иерархическому справочнику один элемент появлялся в нескольких группах? То есть ИТОГИ ПО Что-то_там ТОЛЬКО ИЕРАРХИЯ и элемент в иерерхии в нескольких местах? Такое вообще как-то возможно сделать?
1 shadow_sw
 
12.03.18
07:28
выбор когда тогда
конец

позволит создать поле, по которому можно сделать группировку/итоги итд
2 catena
 
12.03.18
07:34
Не поняла, а физически он тоже в нескольких группах?
3 ДедUndead
 
12.03.18
07:34
(1) Есть опыт решения такой задачи? Как вы сделали? С использованием регистра сведений?
4 ДедUndead
 
12.03.18
07:35
(2) Я насколько знаю, в 1с физическое ограничение и элемент   физически не может быть в нескольких группах. Вот это и надо как-то преодолеть.
5 Туц
 
12.03.18
07:37
(0) Конкретизируйте.
Запрос такой. Результат такой. Хочу такой.
6 Рэйв
 
12.03.18
07:45
(4)Сделай элементу таб часть с группами куда он входит.
7 ДедUndead
 
12.03.18
07:47
(5) Ок. Вот запрос.

ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка = &Ссылка
ИТОГИ ПО
    Ссылка ТОЛЬКО ИЕРАРХИЯ  


Ссылка = Кабель для проектора HDMI (10 м, цвет: черный)

Вот результат.

Товары                
ЭЛЕКТРОНИКА                
Проекторы/Экраны                
Кабель для проектора HDMI (10 м, цвет: черный)

А хочу вот так, например.

Товары            
ЭЛЕКТРОНИКА            
Проекторы/Экраны            
Кабель для проектора HDMI (10 м, цвет: черный)            
Прочее            
Кабель для проектора HDMI (10 м, цвет: черный)

Проекторы/Экраны и Прочее - группы в группе Электроника.
8 ДедUndead
 
12.03.18
07:49
(6) Была такая мысль. И как потом запросом выбрать, чтобы получилось, как выше указал?
9 Рэйв
 
12.03.18
07:56
(8)Да очень просто.Обратишься к ТЗ, в ней будет ССылка на элемент и группа в которую он входит.Дальше дело техники
10 ДедUndead
 
12.03.18
08:05
(9) Реально туплю. Приведи пример, если ТЧ называется, предположим, ДопИерархия.
11 Рэйв
 
12.03.18
08:10
(10)ну выбрать можно как то так

ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка,
    Номенклатура.НазначеннаяГруппа
ИЗ
    Справочник.Номенклатура.ДопИерархия КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка = &Ссылка

потом уже крцти эту таблицу как тебе надо
12 Рэйв
 
12.03.18
08:10
*крути
13 ДедUndead
 
12.03.18
08:21
(11) Да так и сделал. вот так

ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка3,
    Номенклатура.Родитель КАК Родитель1
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка = &Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    НоменклатураДопИерархия.Ссылка,
    НоменклатураДопИерархия.Родитель
ИЗ
    Справочник.Номенклатура.ДопИерархия КАК НоменклатураДопИерархия
ГДЕ
    НоменклатураДопИерархия.Ссылка = &Ссылка
ИТОГИ ПО
    Родитель1 ТОЛЬКО ИЕРАРХИЯ


Результат такой.

[url=https://ibb.co/k0qrCn][img]https://preview.ibb.co/cXJ057/image.png[/img][/url]
14 ДедUndead
 
12.03.18
08:21
Сорри

<a href="https://ibb.co/k0qrCn"><img src="https://preview.ibb.co/cXJ057/image.png"; alt="image" border="0"></a>
15 ДедUndead
 
12.03.18
08:22
Так... ((

https://ibb.co/k0qrCn
16 ДедUndead
 
12.03.18
08:27
Не то, что хотелось бы...

Хотелось бы так.

Товары
ЭЛЕКТРОНИКА
Проекторы/Экраны
Кабель для проектора HDMI (10 м, цвет: черный)
Товары
ЭЛЕКТРОНИКА
Прочее ТСО/Расходный материал
Кабель для проектора HDMI (10 м, цвет: черный)
17 Рэйв
 
12.03.18
08:30
(13)Допили вот так:
//---
Выбрать Зап.Ссылка3,Зап.Родитель1 Из(ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка3,
    Номенклатура.Родитель КАК Родитель1
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка = &Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    НоменклатураДопИерархия.Ссылка,
    НоменклатураДопИерархия.Родитель
ИЗ
    Справочник.Номенклатура.ДопИерархия КАК НоменклатураДопИерархия
ГДЕ
    НоменклатураДопИерархия.Ссылка = &Ссылка) КАК Зап
Сгруппировать по
  Ссылка3,
  Родитель1
ИТОГИ ПО
    Родитель1 ТОЛЬКО ИЕРАРХИЯ


за синтаксис не поручусь , писал вслепую естессно:-)
18 DrZombi
 
гуру
12.03.18
08:32
(16) Эко вы загнули, захотели не автоматизируемое на уровне 1С запросов.

...Пиши в цикле, как все еже бытовое... Не получится все выполнить одним запросом.
Возможно придется отказаться от СКД или что там у вас :)
19 Туц
 
12.03.18
08:38
(16) Глянь в профайлер. Эта муйня "Итоги по" на стороне сервера как работает как несколько запросов.
20 ДедUndead
 
12.03.18
08:45
(17) вроде так же все получается.

https://ibb.co/jwrRxn
21 ДедUndead
 
12.03.18
08:47
(18) Эх. Вообще еще была идея сделать элементы-заглушки.
22 1Сергей
 
12.03.18
08:48
Запросовскую ИЕРАРХИЮ не обманешь. Думай другое решение
23 ДедUndead
 
12.03.18
08:52
(22) "Удельный вес ядра твоей планеты? Думай.... Все, хватит мозгами скрипеть." )))
24 Малыш Джон
 
12.03.18
09:09
(22) пфф! да легко!
25 ДедUndead
 
12.03.18
09:12
(24) С удовольствием послушаю.
26 Малыш Джон
 
12.03.18
09:19
(25) Ну вот например покопайся:

http://start1c.blogspot.ru/2017/01/blog-post.html
27 ДедUndead
 
12.03.18
10:05
(26) Это не то. У меня гораздо более широкая задача.
28 Малыш Джон
 
12.03.18
10:07
(27) я и не говорю, что "то". Просто пример того, как построить иерархию в СКД, отличающуюся от иерархии справочника. А уж как под свою задачу приспособить - тут сам подумай.
29 ДедUndead
 
12.03.18
10:09
(28) Мне не подойдет решение, привязанное к СКД.
30 Малыш Джон
 
12.03.18
10:11
(29) хреново, тогда возможности сужаются

а количество уровней в справочнике фиксировано?
31 ДедUndead
 
12.03.18
10:14
(30) К сожалению, нет...
32 ДедUndead
 
12.03.18
10:15
(30) просто там целый набор довольно разнородных задач, где понадобится функционал с несколькими родителями. И поэтому пытаюсь найти наиболее универсальное решение, чтобы не делать отдельно каждую задачу.
33 FIXXXL
 
12.03.18
10:16
(29) у нас такая хрень через доп.справочник иерархии и РС связи двух справочников организована
34 ДедUndead
 
12.03.18
10:17
(33) Интересно! А детали можно.
35 mistеr
 
12.03.18
10:23
(0) Иерархию классификации (категорий) описываешь в отдельном справочнике. Принадлежность номенклатуры к категориям описываешь в РС. В запросе их соединяешь.
36 DeeK
 
12.03.18
10:28
(0) явно хромает постановка задачи
37 FIXXXL
 
12.03.18
10:49
(35) именно так
38 FIXXXL
 
12.03.18
10:51
(37) +
по сути  - делаешь независимый справочник Иерархии, можно скопировать с реальной иерархии, можно своего накрутить, тут от задачи

ну и вопрос поддержания актуальности этого хозяйства
39 ДедUndead
 
12.03.18
10:56
(38) "независимый справочник иерархии" -  Я правильно понимаю, что там иерархия не только групп, но и элементов?
40 FIXXXL
 
12.03.18
11:04
(39) нет, только групп, а "принадлежность", вместо Родитель - это РС
41 ДедUndead
 
12.03.18
11:12
(40) А нетрудно привести пример запроса, который выводит данные в таком виде, например

Товары
ЭЛЕКТРОНИКА
Проекторы/Экраны
Кабель для проектора HDMI (10 м, цвет: черный)
Товары
ЭЛЕКТРОНИКА
Прочее ТСО/Расходный материал
Кабель для проектора HDMI (10 м, цвет: черный)

То есть один товар появляется в группах Проекторы/Экраны и Прочее ТСО/Расходный материал. ИТОГИ ПО Ссылка ТОЛЬКО ИЕРАРХИЯ.
42 Вафель
 
12.03.18
11:27
нужно делать иерархию на СКД, тогда можно как угодно
43 Вафель
 
12.03.18
11:28
или можно сделать запрос
Товар1, ролитель1
Товар1, Родитель2
Итоги
родитель ИЕРАРХИЯ, Товар
44 ДедUndead
 
12.03.18
11:48
(43) Спасибо! Уже ближе.

https://ibb.co/bB2itS
45 ДедUndead
 
12.03.18
11:51
(43) Видимо, идеальную иерархию по требованиям не получить
46 Tankur
 
12.03.18
13:21
(45) запросом думаю можно получить,
Левым соединением с самим собой и использовать В ИЕРАРХИИ
47 ДедUndead
 
12.03.18
13:22
(46) Попробую
48 Малыш Джон
 
12.03.18
13:31
(46) нельзя соединить по условию В ИЕРАРХИИ
49 Tankur
 
12.03.18
13:39
(48) Соединить нельзя, но можно наложить условие, все элементы в указанной группе.
50 Tankur
 
12.03.18
13:41
51 Малыш Джон
 
12.03.18
13:42
(50) "Полученное дерево нужно будет обработать функцией для удаления лишних дублей"
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший