ОбъектМетаданных: ХранилищеНастроек.Формы

Свойства · Forms

Тип: КоллекцияЗначенийСвойстваОбъектаМетаданных. Содержит список форм, которые используются при сохранении пользовательских настроек.

Полное описание, параметры и ограничения

ОбъектМетаданных: ХранилищеНастроек.Формы (MetadataObject: SettingsStorage.Forms)

ОбъектМетаданных: ХранилищеНастроек (MetadataObject: SettingsStorage)

Формы (Forms)

Доступен, начиная с версии 8.2.

Использование:
Только чтение.
Описание:
Тип: КоллекцияЗначенийСвойстваОбъектаМетаданных.
Содержит список форм, которые используются при сохранении пользовательских настроек.
Доступность:

Сервер, толстый клиент, внешнее соединение.

Использование в версии:

Доступен, начиная с версии 8.2.

Методическая информация

Практические примеры

Разобрать основные и дополнительные формы хранилища

XML явно задаёт ВыборВариантаОтчета и СохранениеВариантаОтчета; дополнительные формы не назначены.

Где и как запускать

Полный серверный общий модуль учебной копии КА2 Progress 2.5.20.75; только чтение метаданных.

Подготовка

  1. Отдельная учебная копия КА2 Progress из C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS, конфигурация КомплекснаяАвтоматизация 2.5.20.75, платформа 8.5.1.1343. Код не изменяет исходную выгрузку.

  2. Создайте серверный общий модуль УчебныеМетаданныеХранилища с флагом Сервер. Каждый урок — отдельный полный текст с процедурой ВыполнитьПример() Экспорт.

  3. Подтверждённый источник: SettingsStorages\ХранилищеВариантовОтчетов.xml. Формы находятся в SettingsStorages\ХранилищеВариантовОтчетов\Forms, модуль менеджера — в Ext\ManagerModule.bsl.

  4. Из серверной команды учебной обработки вызовите УчебныеМетаданныеХранилища.ВыполнитьПример(). Метаданные — описание схемы, не менеджер чтения/сохранения пользовательских вариантов.

  5. Уроки только читают описание: не открывают штатные формы, не выполняют модуль менеджера, не загружают отчётные варианты и не меняют настройки пользователя.

  6. Проверки формы/количества основаны на этой выгрузке. При другой версии или расширениях перепроверьте источник, не изменяйте активную конфигурацию ради совпадения чисел.

Процедура ВыполнитьПример() Экспорт
    Хранилище = Метаданные.ХранилищаНастроек.Найти("ХранилищеВариантовОтчетов");
    Если Хранилище = Неопределено Тогда
        ВызватьИсключение "В активной учебной копии не найдено подтверждённое хранилище вариантов";
    КонецЕсли;
    ФормаЗагрузки = Хранилище.ОсновнаяФормаЗагрузки;
    ФормаСохранения = Хранилище.ОсновнаяФормаСохранения;
    Если ФормаЗагрузки = Неопределено ИЛИ ФормаСохранения = Неопределено Тогда
        ВызватьИсключение "В активной копии отличаются основные формы хранилища";
    КонецЕсли;
    Сообщить(ФормаЗагрузки.Имя = "ВыборВариантаОтчета");
    Сообщить(ФормаСохранения.Имя = "СохранениеВариантаОтчета");
    Сообщить(Хранилище.Формы.Найти("ВыборВариантаОтчета") = ФормаЗагрузки);
    Сообщить(Хранилище.Формы.Найти("СохранениеВариантаОтчета") = ФормаСохранения);
    Сообщить(Хранилище.ДополнительнаяФормаЗагрузки = Неопределено);
    Сообщить(Хранилище.ДополнительнаяФормаСохранения = Неопределено);
    Сообщить("Загрузка, полное имя: " + ФормаЗагрузки.ПолноеИмя());
    Сообщить("Сохранение, полное имя: " + ФормаСохранения.ПолноеИмя());
КонецПроцедуры

Разбор по шагам

  1. Получаем основные формы через свойства метаданных, не через ОткрытьФорму.

  2. Проверяем наличие обеих форм и сопоставляем их с точными дочерними именами в XML.

  3. Подтверждаем, что это те же объекты, что возвращает собственная коллекция Формы хранилища.

  4. Дополнительные назначения пусты: документированный результат свойства — Неопределено.

  5. Основная форма загрузки не является уже загруженным вариантом отчёта; её пользовательский сценарий не выполняется.

Как проверить результат

  1. Шесть сравнений Истина для этой выгрузки.

  2. Ни одна форма не открыта; кнопки сохранения/загрузки и обработчики не запускались.

Ожидаемый результат

Разобраны четыре разных назначения форм на реальном объекте схемы.

На что обратить внимание

  1. Название формы СохранениеВариантаОтчета не означает, что код уже что-либо сохранил.

  2. Метаданные формы — не ФормаКлиентскогоПриложения: у них разные методы и жизненный цикл.

  3. Не заменяйте пустое дополнительное назначение произвольной первой формой.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Отделить метаданные модуля менеджера от его выполнения

Свойство МодульМенеджера проектное; доступность чтения в исполняемом серверном контексте проверяется, код модуля не выполняется.

Где и как запускать

Полный серверный общий модуль учебной копии КА2 Progress 2.5.20.75; только чтение метаданных.

Подготовка

  1. Отдельная учебная копия КА2 Progress из C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS, конфигурация КомплекснаяАвтоматизация 2.5.20.75, платформа 8.5.1.1343. Код не изменяет исходную выгрузку.

  2. Создайте серверный общий модуль УчебныеМетаданныеХранилища с флагом Сервер. Каждый урок — отдельный полный текст с процедурой ВыполнитьПример() Экспорт.

  3. Подтверждённый источник: SettingsStorages\ХранилищеВариантовОтчетов.xml. Формы находятся в SettingsStorages\ХранилищеВариантовОтчетов\Forms, модуль менеджера — в Ext\ManagerModule.bsl.

  4. Из серверной команды учебной обработки вызовите УчебныеМетаданныеХранилища.ВыполнитьПример(). Метаданные — описание схемы, не менеджер чтения/сохранения пользовательских вариантов.

  5. Уроки только читают описание: не открывают штатные формы, не выполняют модуль менеджера, не загружают отчётные варианты и не меняют настройки пользователя.

  6. Проверки формы/количества основаны на этой выгрузке. При другой версии или расширениях перепроверьте источник, не изменяйте активную конфигурацию ради совпадения чисел.

Процедура ВыполнитьПример() Экспорт
    Хранилище = Метаданные.ХранилищаНастроек.Найти("ХранилищеВариантовОтчетов");
    Если Хранилище = Неопределено Тогда
        ВызватьИсключение "В активной учебной копии не найдено подтверждённое хранилище вариантов";
    КонецЕсли;
    Сообщить(Хранилище.Имя = "ХранилищеВариантовОтчетов");
    Сообщить(Хранилище.Формы.Количество() = 13);
    Сообщить(Хранилище.Макеты.Количество() = 0);
    Попытка
        МодульМетаданных = Хранилище.МодульМенеджера;
        Сообщить("Чтение проектного свойства МодульМенеджера: " + Строка(ТипЗнч(МодульМетаданных)));
    Исключение
        Сообщить("Проектное свойство МодульМенеджера недоступно в этом контексте: " + ОписаниеОшибки());
    КонецПопытки;
    Сообщить("Исходный ManagerModule.bsl смотрите в указанной выгрузке; вызовов сохранения/загрузки здесь нет");
КонецПроцедуры

Разбор по шагам

  1. Подтверждаем имя и реальные коллекции объекта по XML перед проектной диагностикой.

  2. Пытаемся прочитать МодульМенеджера и выводим только тип; не получаем/выполняем его текст.

  3. Если свойство недоступно данному контексту, явно сообщаем причину, не подставляем фиктивный модуль.

  4. Исходник ManagerModule.bsl находится в выгрузке. Его наличие не доказывает запуск какого-либо обработчика.

  5. Этот объект метаданных не подменяем менеджером ХранилищаНастроек.ХранилищеВариантовОтчетов.

Как проверить результат

  1. Три сравнения Истина, затем диагностический тип проектного свойства либо явная причина недоступности.

  2. Ни Загрузить, ни Сохранить, ни Удалить вариантов и файлов не вызываются.

Ожидаемый результат

Показана граница метаданных и исполняемого менеджера на конкретном объекте КА2.

На что обратить внимание

  1. Справочный список свойств не гарантирует одинаковую доступность каждого проектного свойства на сервере и в конфигураторе.

  2. Ошибка этого проектного чтения не означает, что хранилище пользовательских вариантов сломано.

  3. Не вызывайте модуль рабочего хранилища ради диагностического типа.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.