![]() |
![]() |
![]() |
|
Выборка родителей элемента в запросе | ☑ | ||
---|---|---|---|---|
0
A 008
25.08.05
✎
18:57
|
Видимо, все же я туповат... не могу осилить алгоритм.
Может, кто подскажет? Все очень просто - есть справочник, есть какой элемент его (параметр запроса). В выборке должны присутствовать только родители этого элемента. |
|||
1
Волшебник
модератор
25.08.05
✎
19:05
|
Как частный случай, когда глубина иерархии ограничена:
Выбрать Различные Родитель ИЗ ( Выбрать Родитель Из Справочник.Имя Где Ссылка = &Выб ОБЪЕДИНИТЬ Выбрать Родитель.Родитель Из Справочник.Имя Где Ссылка = &Выб ОБЪЕДИНИТЬ Выбрать Родитель.Родитель.Родитель Из Справочник.Имя Где Ссылка = &Выб ) Как Вложенный |
|||
2
A 008
25.08.05
✎
19:13
|
Нет, в том-то и дело, что уровень элемента может быть какой угодно... и вообще, так некрасиво. Чем так, то проще и надежнее простым перебором затолкать в СЗ, да и все... Хочу заготовку сделать для других запросов... Я тут пытался сделать, используя В ИЕРАРХИИ... валится 8-ка под это дело.
Вот на таком коде валится однозначно: ЫБРАТЬ Подразделения.Ссылка ИЗ Справочник.Подразделения КАК Подразделения ГДЕ &Подразделение В ИЕРАРХИИ (ВЫБРАТЬ Родители.Ссылка ИЗ Справочник.Подразделения КАК Родители ГДЕ Родители.Ссылка = Подразделения.Ссылка ) Туповато, конечно... но другое либо построитель по ошибке не дает, либо... в голову не приходит. |
|||
3
Волшебник
модератор
25.08.05
✎
19:17
|
На практике подразделения имеют ограниченную, причем, небольшую иерархию. Даже 10 уровней хватит для самых больших корпораций.
|
|||
4
Волшебник
модератор
25.08.05
✎
19:19
|
Можно использовать не запрос, а методы ПолныйКод, ПолноеНаименование.
Еще можно использовать цикл Родители = Новый Массив; Тек = Элемент; Пока НЕ Тек.Родитель.Пустая() Цикл Родители.Добавить(Тек.Родитель); Тек = Тек.Родитель; КонецЦикла; |
|||
5
A 008
25.08.05
✎
19:20
|
Мне не только подразделения. Есть еще развесистые склады, есть другие зависимости... не всегда логичные (УПП приходится затачивать под сеть розничных магазинов). Я не хочу привязываться к конретным уровням и количествам... Говорю же, родителей перебором получить не проблема, но хочется запросом! ;) Я тут часа два уже над этим парюсь... впечатление такое, что задача крайне простая, а решить не могу. Поэтому и запостил...
|
|||
6
Asmody
25.08.05
✎
19:22
|
ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка, ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка = &Ссылка ИТОГИ ПО Ссылка ИЕРАРХИЯ |
|||
7
Волшебник
модератор
25.08.05
✎
19:23
|
(6) Умничка!
|
|||
8
A 008
25.08.05
✎
19:23
|
Кстати, "&Подразделение В ИЕРАРХИИ" нигде в описаниях не встречается. Везде наоборот. Это моя грубая ошибка или "дырка" в платформе?
|
|||
9
Asmody
25.08.05
✎
19:23
|
гы! решение задачи практической пользы не имеет :)
|
|||
10
A 008
25.08.05
✎
19:24
|
О! Спсибо, Asmody!
|
|||
11
Asmody
25.08.05
✎
19:25
|
(10) не за что. это решение практической пользы не имеет. хотя бы потому, что во вложенных запросах нельзя использовать итоги
|
|||
12
A 008
25.08.05
✎
19:29
|
Имеет... еще какое! Подразделения - олицетворение магазина. К ним привязана куча складов (по группам и еще как). При установках отбора в списках складов так изголяться приходиться... то принадлежит ли склад подразделению, то ли нет, то наоборот. Привязки указаны не везде, и выбирать нужно по ближайшему родителю.
Спасибо еще раз. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |