|
Обход иерархического справочника в запросе | ☑ | ||
---|---|---|---|---|
0
gul_Sayan
28.02.24
✎
06:14
|
Нужно получить значение доп реквизита справочника причем не только самого но и его родителей. Обращение через точку, а тем более несколько не приветствуется, не подскажите как лучше организовать запрос?
Попробовал получать доп. реквизиты обработкой, но тоже очень медленно. |
|||
1
steep1
28.02.24
✎
07:44
|
(0) Сколько уровней вложенности ?
|
|||
2
gul_Sayan
28.02.24
✎
07:50
|
(1)7-9
|
|||
3
gul_Sayan
28.02.24
✎
07:51
|
(1)правда может быть и 1-2 уровень. но до 9ти.
|
|||
4
Волшебник
28.02.24
✎
07:51
|
(0) Обращайтесь через точку.
|
|||
5
Смотрящий
28.02.24
✎
08:04
|
https://infostart.ru/1c/articles/158512/
Читани. Работает. |
|||
6
gul_Sayan
28.02.24
✎
08:17
|
(5) Спасибо.
|
|||
7
Одинист
28.02.24
✎
09:06
|
Если подглядеть как у 1С сделано:
Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ | Справочник1.Ссылка КАК Элемент, | Справочник1.Родитель КАК Родитель1, | Справочник2.Родитель КАК Родитель2, | Справочник3.Родитель КАК Родитель3, | Справочник4.Родитель КАК Родитель4, | Справочник5.Родитель КАК Родитель5 |ИЗ | Справочник.Номенклатура КАК Справочник1 | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Справочник2 | ПО (Справочник2.Ссылка = Справочник1.Родитель) | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Справочник3 | ПО (Справочник3.Ссылка = Справочник2.Родитель) | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Справочник4 | ПО (Справочник4.Ссылка = Справочник3.Родитель) | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Справочник5 | ПО (Справочник5.Ссылка = Справочник4.Родитель) |ГДЕ | Справочник1.Ссылка В(&МассивСсылок)"; |
|||
8
Волшебник
28.02.24
✎
09:08
|
(7) Ужасный программный код. Лучше так
ВЫБРАТЬ Спр.Ссылка КАК Элемент, Спр.Родитель КАК Родитель1, Спр.Родитель.Родитель КАК Родитель2, Спр.Родитель.Родитель.Родитель КАК Родитель3, Спр.Родитель.Родитель.Родитель.Родитель КАК Родитель4, Спр.Родитель.Родитель.Родитель.Родитель.Родитель КАК Родитель5 ИЗ Справочник.Номенклатура КАК Спр |
|||
9
Волшебник
28.02.24
✎
09:09
|
А ещё можно сделать
ИТОГИ ПО поле ИЕРАРХИЯ он соберёт всех родителей |
|||
10
Одинист
28.02.24
✎
09:09
|
(8) > Ужасный программный код.
1С |
|||
11
Волшебник
28.02.24
✎
09:10
|
(10) и чо?
|
|||
12
lodger
28.02.24
✎
09:41
|
(0) пиши 2 отдельных запроса.
первый выводит ИТОГИ ПО ИЕРАРХИЯ, обходишь, собираешь ссылки в одну колонку. второй к этим итогам приделывает левый джойн твоей таблицы. готово. |
|||
13
Ненавижу 1С
гуру
28.02.24
✎
09:55
|
В типовых сделали РС ИерархияПартнеров, скрытые данные, которые заполняются при записи справочника. Удобно получать иерархию
|
|||
14
АгентБезопасной Нацио
28.02.24
✎
10:37
|
(12) решение без всяких дополнительных обходов - в (5)
|
|||
15
Eiffil123
28.02.24
✎
11:32
|
(12) помоему самое оптимальное решение. И код будет читаемый.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |