Тип: КоллекцияЗначенийСвойстваОбъектаМетаданных. Список макетов, сохраняемых в хранилище настроек.
Полное описание, параметры и ограничения
ОбъектМетаданных: ХранилищеНастроек.Макеты (MetadataObject: SettingsStorage.Templates)
ОбъектМетаданных: ХранилищеНастроек (MetadataObject: SettingsStorage)
Макеты (Templates)
Доступен, начиная с версии 8.2.
Использование:
Только чтение.
Описание:
Тип: КоллекцияЗначенийСвойстваОбъектаМетаданных.
Список макетов, сохраняемых в хранилище настроек.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Отделить метаданные модуля менеджера от его выполнения
Свойство МодульМенеджера проектное; доступность чтения в исполняемом серверном контексте проверяется, код модуля не выполняется.
Где и как запускать
Полный серверный общий модуль учебной копии КА2 Progress 2.5.20.75; только чтение метаданных.
Подготовка
Отдельная учебная копия КА2 Progress из C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS, конфигурация КомплекснаяАвтоматизация 2.5.20.75, платформа 8.5.1.1343. Код не изменяет исходную выгрузку.
Создайте серверный общий модуль УчебныеМетаданныеХранилища с флагом Сервер. Каждый урок — отдельный полный текст с процедурой ВыполнитьПример() Экспорт.
Подтверждённый источник: SettingsStorages\ХранилищеВариантовОтчетов.xml. Формы находятся в SettingsStorages\ХранилищеВариантовОтчетов\Forms, модуль менеджера — в Ext\ManagerModule.bsl.
Из серверной команды учебной обработки вызовите УчебныеМетаданныеХранилища.ВыполнитьПример(). Метаданные — описание схемы, не менеджер чтения/сохранения пользовательских вариантов.
Уроки только читают описание: не открывают штатные формы, не выполняют модуль менеджера, не загружают отчётные варианты и не меняют настройки пользователя.
Проверки формы/количества основаны на этой выгрузке. При другой версии или расширениях перепроверьте источник, не изменяйте активную конфигурацию ради совпадения чисел.
Процедура ВыполнитьПример() Экспорт
Хранилище = Метаданные.ХранилищаНастроек.Найти("ХранилищеВариантовОтчетов");
Если Хранилище = Неопределено Тогда
ВызватьИсключение "В активной учебной копии не найдено подтверждённое хранилище вариантов";
КонецЕсли;
Сообщить(Хранилище.Имя = "ХранилищеВариантовОтчетов");
Сообщить(Хранилище.Формы.Количество() = 13);
Сообщить(Хранилище.Макеты.Количество() = 0);
Попытка
МодульМетаданных = Хранилище.МодульМенеджера;
Сообщить("Чтение проектного свойства МодульМенеджера: " + Строка(ТипЗнч(МодульМетаданных)));
Исключение
Сообщить("Проектное свойство МодульМенеджера недоступно в этом контексте: " + ОписаниеОшибки());
КонецПопытки;
Сообщить("Исходный ManagerModule.bsl смотрите в указанной выгрузке; вызовов сохранения/загрузки здесь нет");
КонецПроцедурыРазбор по шагам
Подтверждаем имя и реальные коллекции объекта по XML перед проектной диагностикой.
Пытаемся прочитать МодульМенеджера и выводим только тип; не получаем/выполняем его текст.
Если свойство недоступно данному контексту, явно сообщаем причину, не подставляем фиктивный модуль.
Исходник ManagerModule.bsl находится в выгрузке. Его наличие не доказывает запуск какого-либо обработчика.
Этот объект метаданных не подменяем менеджером ХранилищаНастроек.ХранилищеВариантовОтчетов.
Как проверить результат
Три сравнения Истина, затем диагностический тип проектного свойства либо явная причина недоступности.
Ни Загрузить, ни Сохранить, ни Удалить вариантов и файлов не вызываются.
Ожидаемый результат
Показана граница метаданных и исполняемого менеджера на конкретном объекте КА2.
На что обратить внимание
Справочный список свойств не гарантирует одинаковую доступность каждого проектного свойства на сервере и в конфигураторе.
Ошибка этого проектного чтения не означает, что хранилище пользовательских вариантов сломано.
Не вызывайте модуль рабочего хранилища ради диагностического типа.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Перечислить тринадцать форм, не открывая их
Число 13 взято из ChildObjects подтверждённого XML. Формы и макеты — разные коллекции.
Где и как запускать
Полный серверный общий модуль учебной копии КА2 Progress 2.5.20.75; только чтение метаданных.
Подготовка
Отдельная учебная копия КА2 Progress из C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS, конфигурация КомплекснаяАвтоматизация 2.5.20.75, платформа 8.5.1.1343. Код не изменяет исходную выгрузку.
Создайте серверный общий модуль УчебныеМетаданныеХранилища с флагом Сервер. Каждый урок — отдельный полный текст с процедурой ВыполнитьПример() Экспорт.
Подтверждённый источник: SettingsStorages\ХранилищеВариантовОтчетов.xml. Формы находятся в SettingsStorages\ХранилищеВариантовОтчетов\Forms, модуль менеджера — в Ext\ManagerModule.bsl.
Из серверной команды учебной обработки вызовите УчебныеМетаданныеХранилища.ВыполнитьПример(). Метаданные — описание схемы, не менеджер чтения/сохранения пользовательских вариантов.
Уроки только читают описание: не открывают штатные формы, не выполняют модуль менеджера, не загружают отчётные варианты и не меняют настройки пользователя.
Проверки формы/количества основаны на этой выгрузке. При другой версии или расширениях перепроверьте источник, не изменяйте активную конфигурацию ради совпадения чисел.
Процедура ВыполнитьПример() Экспорт
Хранилище = Метаданные.ХранилищаНастроек.Найти("ХранилищеВариантовОтчетов");
Если Хранилище = Неопределено Тогда
ВызватьИсключение "В активной учебной копии не найдено подтверждённое хранилище вариантов";
КонецЕсли;
Формы = Хранилище.Формы;
Сообщить(Формы.Количество() = 13);
Проверенных = 0;
Для Каждого ФормаМетаданных Из Формы Цикл
Если Формы.Найти(ФормаМетаданных.Имя) <> ФормаМетаданных Тогда
ВызватьИсключение "Поиск по имени не вернул собственную дочернюю форму";
КонецЕсли;
Проверенных = Проверенных + 1;
Сообщить(ФормаМетаданных.Имя + " — " + ФормаМетаданных.Представление());
КонецЦикла;
Сообщить(Проверенных = 13);
Сообщить(Формы.Найти("ВыборФинансовогоПериода") <> Неопределено);
Сообщить(Формы.Найти("НеСуществуетGuideOwnedФорма") = Неопределено);
Сообщить(Хранилище.Макеты.Количество() = 0);
КонецПроцедурыРазбор по шагам
Получаем дочерние Формы именно выбранного хранилища, не все общие формы конфигурации.
Обход выводит имя и представление каждой формы; её модуль не вызывается.
Для каждой формы поиск по точному имени должен вернуть тот же объект метаданных.
Отдельно показываем существующую форму выбора периода и безопасный поиск отсутствующего имени.
Макеты пусты в этой выгрузке, несмотря на тринадцать форм. Это не число сохранённых вариантов отчёта.
Как проверить результат
Пять булевых сообщений Истина, тринадцать строк каталога форм и отсутствие исключения при поиске каждой.
В каталоге есть СохранениеВариантаОтчетаВФайл, но сам файл этим обходом не создаётся.
Ожидаемый результат
Построен реальный каталог дочерних форм без запуска их действий.
На что обратить внимание
Расширения/версия могут добавить формы: пересверяйте XML, не удаляйте лишние формы ради числа 13.
Не путайте поиск формы по имени с выполнением её команды.
Макеты объекта хранилища не равны всем макетам отчётов конфигурации.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.