Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
Для каждого Элемент Из ЭлементРасшифровки.ПолучитьПоля() Цикл
Если НЕ Элемент.Иерархия Тогда
ЗначенияПолей.Вставить(Элемент.Поле, Элемент.Значение);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Родители = ЭлементРасшифровки.ПолучитьРодителей();
Для каждого Элемент Из Родители Цикл
ЗаполнитьЗначенияПолейРасшифровки(Элемент, ЗначенияПолей);
КонецЦикла;
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший