Обход иерархии справочника 2

Добавил: Максим1C

Иерархия добавим в массив

8.3 иерархия Выборка
Функция ПолучитьВерхнегоРодителяНоменклатуры(мНом)
	
	ЗапросПодразделения = Новый Запрос; 
		ЗапросПодразделения.Текст = 
			"ВЫБРАТЬ
			|   Номенклатура.Ссылка КАК Ссылка
			|ИЗ
			|    Справочник.Номенклатура КАК Номенклатура
			|ГДЕ
			|    Номенклатура.Ссылка = &Ссылка
			|ИТОГИ ПО
			|    Ссылка ТОЛЬКО ИЕРАРХИЯ";
		ЗапросПодразделения.УстановитьПараметр("Ссылка",мНом);

		Выборка = ЗапросПодразделения.Выполнить().Выбрать();
		МассивРодителей = Новый Массив;
		Пока Выборка.Следующий() Цикл 
			
			Если Выборка.Ссылка.ЭтоГруппа Тогда
				МассивРодителей.Добавить(Выборка.Ссылка);
			КонецЕсли;	
		КонецЦикла;	
Возврат МассивРодителей
Назад к списку

Комментарии

babys
15 марта 2017 10:25: #1

Нахрена весь этот гиморой? ВЫБРАТЬ ДоговорыКонтрагентов.Ссылка КАК Ссылка ИЗ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов ГДЕ НЕ ДоговорыКонтрагентов.ПометкаУдаления И ДоговорыКонтрагентов.ЭтоГруппа И ДоговорыКонтрагентов.Родитель = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) Пользуйся :)


FastCode - сервис поиска кода 1С

Уже более 1000 разработчиков используют FastCode в работе!