Разбираем расширенное представление, пояснение, интерфейс и три свойства без описанного типа результата.
Где и как запускать
Полный серверный общий модуль собственной учебной копии КА2 Progress 2.5.20.75, только чтение схемы.
Подготовка
Используйте отдельную учебную копию КА2 Progress из C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS, конфигурация КомплекснаяАвтоматизация 2.5.20.75, платформа 8.5.1.1343. Это не инструкция запуска в рабочей базе.
Создайте серверный общий модуль УчебныеКонтрактыИнтерфейса с флагом Сервер. Вставьте полный модуль одного урока и вызовите УчебныеКонтрактыИнтерфейса.ВыполнитьПример() из серверной учебной команды.
Команды подтверждены в Catalogs\Номенклатура.xml и Documents\РеализацияТоваровУслуг.xml; форма — в Catalogs\Номенклатура\Forms\ФормаСписка.xml; нумератор — в DocumentNumerators\ДокументыРеализацииТоваров.xml.
Исходники конфигурации не меняются. Код только читает метаданные и обрабатывает собственные значения в памяти: не вызывает штатную команду, не открывает форму списка, не получает новый номер и не записывает документы.
При отличающейся версии или расширениях результат может отличаться от выгрузки. Сверяйте активную конфигурацию, а не исправляйте её ради зелёных сообщений.
Процедура ВыполнитьПример() Экспорт
Каталог = Метаданные.Справочники.Найти("Номенклатура");
Если Каталог = Неопределено Тогда
ВызватьИсключение "Нет подтверждённого справочника Номенклатура";
КонецЕсли;
ФормаМетаданных = Каталог.Формы.Найти("ФормаСписка");
Если ФормаМетаданных = Неопределено Тогда
ВызватьИсключение "Нет формы Номенклатура.ФормаСписка";
КонецЕсли;
Сообщить("Расширенное представление заполнено: " + Строка(НЕ ПустаяСтрока(ФормаМетаданных.РасширенноеПредставление)));
Сообщить("Пояснение заполнено: " + Строка(НЕ ПустаяСтрока(ФормаМетаданных.Пояснение)));
Сообщить("Использование в режиме интерфейса: " + Строка(ФормаМетаданных.ИспользованиеВРежимеСовместимостиИнтерфейса));
Попытка
Сообщить("Тип НазначенияИспользования: " + Строка(ТипЗнч(ФормаМетаданных.НазначенияИспользования)));
Исключение
Сообщить("НазначенияИспользования недоступны: " + ОписаниеОшибки());
КонецПопытки;
Попытка
Сообщить("Тип Справка: " + Строка(ТипЗнч(ФормаМетаданных.Справка)));
Исключение
Сообщить("Справка недоступна: " + ОписаниеОшибки());
КонецПопытки;
Попытка
Сообщить("Тип проектного свойства Форма: " + Строка(ТипЗнч(ФормаМетаданных.Форма)));
Исключение
Сообщить("Проектное свойство Форма недоступно: " + ОписаниеОшибки());
КонецПопытки;
Сообщить("XML-макет и код формы этим отчётом не получены; окно формы не открывалось");
КонецПроцедурыРазбор по шагам
РасширенноеПредставление и Пояснение относятся к объявленному представлению формы. Проверка заполненности не меняет текущий заголовок окна.
ИспользованиеВРежимеСовместимостиИнтерфейса — отдельный перечислимый параметр. Его диагностируем как получен: отсутствующее явное поле в XML не превращаем в выдуманный вариант.
У НазначенияИспользования, Справка и Форма в краткой справке указан тип Неопределено. Не предполагаем, что это массив, HTML-строка или исполняемый объект формы.
Три обращения защищены отдельными Попытка/Исключение: показан фактический тип либо реальная причина недоступности. Отсутствие значения не подменяется искусственным массивом.
Для чтения макета и модуля используют экспорт Catalogs\Номенклатура\Forms\ФормаСписка\Ext\Form.xml и его Module.bsl/Конфигуратор отдельно. Этот урок их не исполняет.
Как проверить результат
Шесть подписанных диагностических строк: три настройки и по одному результату каждого защищённого обращения.
Нет обещанных Истина для проектных свойств с неописанным типом. Последнее сообщение прямо указывает, чего отчёт не получил.
Ожидаемый результат
Показан полезный отчёт доступности с честной границей между описанием метаданных и runtime-экземпляром.
На что обратить внимание
Не вызывать методы окна или элементов на значении проектного свойства Форма.
Тип Неопределено в справке не является доказательством, что runtime всегда вернёт Неопределено.
Не обходить недоступность проектных данных включением привилегированного режима.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.