|
v7: Подскажите плиз, как определить является ли выбранная группа справочника (номенк
| ☑ |
0
box
10.01.15
✎
13:17
|
Подскажите плиз, как определить является ли выбранная группа справочника (номенклатура) родителем (вернее сказать, имеются ли у нее потомки)?
|
|
1
Волшебник
модератор
10.01.15
✎
13:20
|
запросом
Выбрать Первые 1 Из Справочник.Номенклатура
Где Родитель = &ВыбГруппа
если выборка не пустая, значит является.
|
|
2
Фокусник
10.01.15
✎
13:21
|
(0) запросом прочитать первого "подчиненного" этой группы, если пустой запрос, значит нет подчинённых...
|
|
3
iceman2112
10.01.15
✎
13:24
|
Это надо заскринить)))))))
|
|
4
box
10.01.15
✎
13:24
|
Спасибо!
|
|
5
Chameleon1980
10.01.15
✎
13:32
|
(1) Станислав совсем про 77 забыл
|
|
6
Chameleon1980
10.01.15
✎
13:33
|
(5) или автор промахнулся
|
|
7
box
10.01.15
✎
13:36
|
(6) ответили конечно для 8... у меня вопрос был по 7.7
|
|
8
spectre1978
10.01.15
✎
13:42
|
Спр.ИспользоватьРодителя (ГруппаДляПроверки);
Если Спр.ВыбратьЭлементы (1)=1 Тогда
// в группе чего-то есть
Иначе
// в группе ничего нет
КонецЕсли;
|
|
9
Дмитрий
10.01.15
✎
13:44
|
Ном = СоздатьОбъект("Справочник.Номенклатура");
Ном.ИспользоватьРодителя(ВыбГруппа);
Ном.ВыбратьЭлементы();
ЕстьПотомки=0;
Пока Ном.ПолучитьЭлемент()=1 Цикл
ЕстьПотомки=1;
Прервать;
Конеццикла;
|
|
10
spectre1978
10.01.15
✎
13:45
|
(9)
ВыбратьЭлементы(<Режим>)
Назначение:
Открыть выборку элементов справочника.
Возвращает: 1 - если действие выполнено и в выборке есть хотя бы один элемент;
0 - если действие не выполнено или в выборке нет ни одного элемента.
Так что можно и проще :)
|
|
11
box
10.01.15
✎
13:49
|
Ого!!! Благодарю!
|
|
12
Дмитрий
10.01.15
✎
13:50
|
(10)
Согласен, но если нужно определять, например, есть ли потомки именно элементы, а не группы; либо есть ли потомки, удовлетворяющие определенному условию, то тогда вот.
|
|
13
b_ru
10.01.15
✎
14:00
|
(10) Глаза кровоточат от такого кода
Ном = СоздатьОбъект("Справочник.Номенклатура");
Ном.ИспользоватьРодителя(ВыбГруппа);
Ном.ВыбратьЭлементы();
ЕстьПотомки=Ном.ПолучитьЭлемент();
|
|
14
b_ru
10.01.15
✎
14:07
|
(13) к (9)
|
|
15
spectre1978
10.01.15
✎
14:10
|
(9) красивее и грамотнее вот так
Если Спр.ВыбратьЭлементы (1)=1 Тогда
Пока Спр.ПолучитьЭлемент ()=1 Цикл
//...
КонецЦикла;
КонецЕсли;
в этом случае не будет лишних обращений к ПолучитьЭлемент (), если выборка пуста, и код более логичный и читаемый.
|
|