В форме для поля "Результат" определим для события "ОбработкаРасшифровки" процедуру "РезультатОбработкиРасшифровки". И, соответствено, тело процедуры будет следующим:
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
//Значение текущего поля
Поле = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0];
Сообщить("Поле: " + Поле.Поле + ", значение: " + Поле.Значение);
//Значения всех вышестоящих группировок
ВывестиЗначениеГруппировки(Расшифровка);
КонецПроцедуры
Где процедура "ВывестиЗначениеГруппировки" имеет следующее содержание:
Процедура ВывестиЗначениеГруппировки(ТекРасшифровка)
МассивРодителей = ДанныеРасшифровки.Элементы[ТекРасшифровка].ПолучитьРодителей();
Для СчРодителей = 1 По МассивРодителей.Количество() Цикл
ПолеРодитель = МассивРодителей[СчРодителей-1];
Если Число(ПолеРодитель.Идентификатор) > 0 Тогда
//Получим текущее поле
Если ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
МассивПолей = ПолеРодитель.ПолучитьПоля();
ИначеЕсли ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
МассивПолей = ПолеРодитель.ПолучитьРодителей()[0].ПолучитьПоля();
КонецЕсли;
Для СчПолей = 1 По МассивПолей.Количество() Цикл
Поле = МассивПолей[СчПолей-1];
//Выведем значения текущей расшифровки
Сообщить("Поле: " + Поле.Поле + ", значение: " + Поле.Значение);
//Рекурсивный вызов процедуры.
РасшифровкиВыше = ПолеРодитель.ПолучитьРодителей()[0].Идентификатор;
ВывестиЗначениеГруппировки(РасшифровкиВыше);
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Пример работы данных процедур можно посмотреть здесь