Имя: Пароль:
1C
1C 7.7
v7: Как получить все группы верхнего уровня
0 Gluk
 
05.12.11
14:07
Иерархический справочник "Номенклатура".
Нужно получить все первые группы этого справочника.
Пробую получить через выборку элементов по пустому значению, но почему то получаю все элементы:

СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
СпрНоменклатура.ИспользоватьРодителя(ПолучитьПустоеЗначение("Справочник.Номенклатура"));
СпрНоменклатура.ВыбратьЭлементы(1);
Пока СпрНоменклатура.ПолучитьЭлемент() = 1 Цикл
Сообщить(СпрНоменклатура.Наименование);    
КонецЦикла;
1 Эльниньо
 
05.12.11
14:10
ЭтоГруппа()
2 SnarkHunter
 
05.12.11
14:10
СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
СпрНоменклатура.ВыбратьЭлементы();
Пока СпрНоменклатура.ПолучитьЭлемент() = 1 Цикл
 Если (СпрНоменклатура.ЭтоГруппа() = 1) И (СпрНоменклатура.Уровень() = 1) Тогда
   Сообщить(СпрНоменклатура.Наименование);
 КонецЕсли;
КонецЦикла;
3 Gluk
 
05.12.11
14:12
(1),(2) долго
4 Ёпрст
 
гуру
05.12.11
14:15
(0)
СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
СпрНоменклатура.ВыбратьЭлементы();
Пока СпрНоменклатура.ПолучитьЭлемент(0) = 1 Цикл
 Если (СпрНоменклатура.ЭтоГруппа() = 1) Тогда
   Сообщить(СпрНоменклатура.Наименование);
 КонецЕсли;
КонецЦикла;
5 Ковычки
 
05.12.11
14:24
удалить нафиг все
6 Gluk
 
05.12.11
14:24
(4) блаодарю, не знал
7 SnarkHunter
 
05.12.11
14:30
(3)
SELECT
 id as [Группа $Справочник.Номенклатура]
FROM $Справочник.Номенклатура (NOLOCK)
WHERE
 (isfolder = 1)
 AND (parentid = $ПустойИД)
8 Ёпрст
 
гуру
05.12.11
14:32
(5) зачем ?
9 Ёпрст
 
гуру
05.12.11
14:41
(6) можно еще ВключатьПодчиненные(0), что, равносильно..
10 Gluk
 
05.12.11
15:38
(9) пасиб, покурю