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

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

8.3 иерархия Выборка


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

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

Комментарии

15-03-2017 10:25: #1 babys

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


TurboConf

Удобный поиск шаблонов кода

прямо в Конфигураторе

Узнать подробнее