Давно использую Универсальный редактор реквизитов версии 2.1 от Организации Неизбежности Светлого Будущего http://onsb.org. Он работает для обычных и управляемых форм. Но, к сожалению, он не умеет менять реквизиты адресации задач. Пришлось его допилить, чтобы мог. Правки делал для управляемой формы, потому что использовал для конфигурации «1С: Документооборот».
Когда заполняется список реквизитов, добавил:
ДобавитьРеквизитыНаФорму(МассивРеквизитов, "ОбщиеРеквизиты");
ДобавитьРеквизитыНаФорму(мдОбъекта.СтандартныеРеквизиты, "СтандартныеРеквизиты");
//Осипов - для реквизитов адресации
Если Метаданные.Задачи.Индекс(мдОбъекта) >= 0 Тогда
ДобавитьРеквизитыНаФорму(мдОбъекта.РеквизитыАдресации, "СтандартныеРеквизиты");
КонецЕсли;
И когда данные переносятся из формы в объект, добавил:
//Осипов - для реквизитов адресации
Если Метаданные.Задачи.Индекс(мдОбъекта) >= 0 Тогда
Для Каждого мдРеквизита из мдОбъекта.РеквизитыАдресации Цикл
Если НЕ (мдРеквизита.Имя = "Ссылка" или мдРеквизита.Имя = "Ref" ИЛИ мдРеквизита.Имя = "Предопределенный" или мдРеквизита.Имя = "Predefined"
ИЛИ мдРеквизита.Имя = "Проведен" ИЛИ мдРеквизита.Имя = "Posted" ИЛИ мдРеквизита.Имя = "ЭтоГруппа" ИЛИ мдРеквизита.Имя = "IsFolder") Тогда
ВыбОбъект[мдРеквизита.Имя] = ЭтаФорма["lyay" + мдРеквизита.Имя];
КонецЕсли;
КонецЦикла;
КонецЕсли;
Обратите внимание, что РеквизитыАдресации есть только у задач, поэтому делается проверка на их существование.
Journal information