Имя: Пароль:
1C
1С v8
Получить Верхнего родителя справочника
☑
0 Pusto32
 
09.11.26
✎
09:25
Помню в 7.7 видел:
ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр(Номенклатура"+СтрЗаменить(Формат("","С"+(Номенклатура.Уровень()-2))," ",".Родитель")+")]")).

а как в 8.3 можно было бы получить что-то подобное?
1 maxab72
 
09.11.26
✎
09:36
Можно, через ПолныйКод()
2 Мультук
 
гуру
09.11.26
✎
09:37
Без понятия, как работает (и работает ли) ваш волшебный код

В 8.3 нужно прочитать вот это "Транзитивное замыкание запросом"

https://infostart.ru/1c/articles/160707/

Функции ПолучитьВерхнегоРодителя(ссылкаНоменклатура) там нет,
но удочку вам дадут.

Если вы никуда не спишите, то тривиальная рекурсия пишется за 5 мин, но работает медленно.
3 Волшебник
 
09.11.26
✎
09:40
Функция РодительВерхнегоУровня(ссылка)
   а = ссылка.Родитель;
   Пока НЕ а.Родитель.Пустая() Цикл
	  а = а.Родитель;
   КонецЦикла;
   Возврат а;
КонецФункции