|
В запросе получить уровень элемента справочника? |
☑ |
0
Новичок v8
30.01.07
✎
11:02
|
Собственно Subj.
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
//Имеем это
Уровень = Выборка.Ссылка.Уровень();
//А хотелось бы это
Уровень = Выборка.Уровень;
КонецЦикла;
Что надо добавить в запрос?
|
|
1
alexsy
30.01.07
✎
11:05
|
в запросе функции не работают.
или проверят как у тебя сделанно или:
сделать реквизит "уровень", заполнять его при записи в справочник.
для начала работы нужно будет обработку сделать которая оббежить текущие записи и пропишет в них уровни.
|
|
2
Новичок v8
30.01.07
✎
11:14
|
С реквизитом "Уровень" - много будет мороки, ещё надо будет отслеживать куда юзер перетащил элемент...
И для одного запроса ( хоть и очень нужного ) огород городить.
|
|
3
Волшебник
модератор
30.01.07
✎
11:16
|
Для неглубоких справочников: Выбор Когда Родитель = &Пустая Тогда 1 Когда Родитель.Родитель = &Пустая Тогда 2 Когда Родитель.Родитель.Родитель = &Пустая Тогда 3 Конец КАК Уровень
|
|
4
alexsy
30.01.07
✎
11:20
|
(2) Если придумаешь красивше решение - крикни мне в аську или как - очень интересно.
(3) не универсально, те же номенклатуры обычно глубокие по иерархии :(
|
|
5
Feanor
30.01.07
✎
11:23
|
(1) прав, реквизит - самое нормальное. Перед записью объекта сделай
что нить типа "Уровень = Уровень();" и проблем-то...
|
|
6
колодина
30.01.07
✎
11:24
|
а если использовать полный код?
|
|
7
Новичок v8
30.01.07
✎
11:24
|
Беру лопату - иду лопатить запросы. :)
|
|
8
Волшебник
модератор
30.01.07
✎
11:24
|
выгружай результат в таблицу значений, добавляй колонку, заполняй в цикле есть еще метод Уровень() у объекта ВыборкаИзРезультатаЗапроса
|
|
9
Feanor
30.01.07
✎
11:26
|
(6) "ПолныйКод" - тоже метод, так что для запроса не катит
|
|