Имя: Пароль:
1C
 
Как узнать, есть ли данная группа среди родителей текущего элемента ?
,
0 antihacker
 
18.04.16
12:59
Есть справочник номенклатуры. Есть группа и элемент справочника номенклатуры. Как узнать ? Пренадлежить ли элемент в данную группу. Думаю можно брать ссылку на группу и пробежаться вверх по родителям элемента сравнивая с данной группой. Другой более грамотный вариант есть ?

Пока вхНоменклатура.Уровень() <> 0 цикл
    Если ТекГруппа.Ссылка = вхНоменклатура.Уровень().Ссылка Тогда
         Сообщить("Элемент в этой группе !");
    КонецЕсли;    
Конеццикла;
1 ДенисЧ
 
18.04.16
13:01
ПринадлежитЭлементу()
2 ДенисЧ
 
18.04.16
13:01
кроме того, вхНоменклатура.Уровень() даст тебе число.
3 antihacker
 
18.04.16
13:06
СПС брат !
4 Heckfy
 
18.04.16
13:07
ВИерархии не подходит?
5 antihacker
 
18.04.16
13:11
Так проще
6 Heckfy
 
18.04.16
13:12
(5) Да ладно?!?!?
7 Heckfy
 
18.04.16
13:12
Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
|    Номенклатура.Ссылка
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|    Номенклатура.Ссылка В ИЕРАРХИИ(&Ссылка)"
;
8 antihacker
 
18.04.16
13:13
Если нет необходиимости, то не нужно использовать запрос.
9 vde69
 
18.04.16
13:20
(8) наоборот, если нет необходимости то нужно использовать запросы вместо объектной модели доступа к данным...
10 antihacker
 
18.04.16
13:23
ДОКАЖИ !!!
11 vde69
 
18.04.16
13:27
(10) зачем??? мне не надо....

1с сама писала, что объектная модель оставлена в языке только для совместимости....

по факту объектная модель трансформируется в те-же запросы, только все дело в том, что СУБД разные и планы запросов - то же разные...

я замерял на 8.0 кучу ситуаций, объектная модель тогда работала быстрее на файловой базе, но на скуле она проигрывала даже тогда... а сейчас скуль куда продвинутей стал :)
12 vde69
 
18.04.16
13:28
(10) ну и потом - открой типовую и поищи...
13 antihacker
 
18.04.16
14:44
Для совместимости означает использовать лучше запрос ?
14 floody
 
18.04.16
15:15
(9) прав (10) нуб