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