ОбъектМетаданных: ПараметрФункциональныхОпций.Синоним

Свойства · Synonym

Тип: Строка. Строка произвольных символов - синоним имени объекта метаданных.

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

ОбъектМетаданных: ПараметрФункциональныхОпций.Синоним (MetadataObject: FunctionalOptionsParameter.Synonym)

ОбъектМетаданных: ПараметрФункциональныхОпций (MetadataObject: FunctionalOptionsParameter)

Синоним (Synonym)

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

Использование:
Только чтение.
Описание:
Тип: Строка.
Строка произвольных символов - синоним имени объекта метаданных.
Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

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

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

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

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

Сравнить происхождение опции, параметра, подсистемы, типа и перечисления

Проверяем базовые описания пяти разных видов. Принадлежность и расширение описывают схему, не значение настройки или бизнес-запись.

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

  4. В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.

  5. Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.

Опция = Метаданные.ФункциональныеОпции.Найти("ИспользоватьЗаказыКлиентов");
Если Опция = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует ФункциональныеОпции.ИспользоватьЗаказыКлиентов";
КонецЕсли;
Параметр = Метаданные.ПараметрыФункциональныхОпций.Найти("Организация");
Если Параметр = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует ПараметрыФункциональныхОпций.Организация";
КонецЕсли;
Подсистема = Метаданные.Подсистемы.Найти("БанкИКассаБазовая");
Если Подсистема = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует Подсистемы.БанкИКассаБазовая";
КонецЕсли;
ОпределяемыйТип = Метаданные.ОпределяемыеТипы.Найти("Артикул");
Если ОпределяемыйТип = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует ОпределяемыеТипы.Артикул";
КонецЕсли;
Перечисление = Метаданные.Перечисления.Найти("АмортизационныеГруппы");
Если Перечисление = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует Перечисления.АмортизационныеГруппы";
КонецЕсли;
Объекты = Новый Массив;
Объекты.Добавить(Опция);
Объекты.Добавить(Параметр);
Объекты.Добавить(Подсистема);
Объекты.Добавить(ОпределяемыйТип);
Объекты.Добавить(Перечисление);
Для Каждого Описание Из Объекты Цикл
    Сообщить(СтрШаблон("%1 (%2): %3", Описание.Имя, Описание.Синоним, Описание.ПолноеИмя()));
    Сообщить(Описание.Представление());
    Сообщить("Комментарий: " + Описание.Комментарий);
    Сообщить(Описание.Родитель() = Метаданные);
    Сообщить(Описание.ПринадлежностьОбъекта);
    Сообщить(Описание.ОбъектРасширяемойКонфигурации);
    Сообщить("Изменён расширениями: " + Строка(Описание.ЕстьИзмененияРасширениямиКонфигурации()));
    Расширение = Описание.РасширениеКонфигурации();
    Если Расширение = Неопределено Тогда
        Сообщить("Добавившее расширение не получено");
    Иначе
        Сообщить("Добавившее расширение: " + Расширение.Имя);
    КонецЕсли;
КонецЦикла;

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

  1. Получаем пять конкретных корневых описаний, проверяя каждый поиск.

  2. ПолноеИмя различает вид объекта; Синоним, Представление и Комментарий нужны человеку.

  3. Все выбранные объекты корневые, поэтому сравниваем их родителя с Метаданные; не распространяем это на вложенную подсистему или значение перечисления.

  4. Не меняем расширения и не смешиваем добавление объекта с изменением уже существующего.

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

  1. Вывод содержит пять блоков, а пять сравнений родителя — Истина.

  2. Без добавившего расширения его Имя не читается; версия конфигурации и настройки остаются прежними.

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

Разобран единый контракт происхождения разных корневых описаний.

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

  1. Наличие изменений расширением не доказывает конфликт или ошибку.

  2. Проверка происхождения не вычисляет функциональную опцию и не меняет её значение.

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

Понять, почему параметр Организация не меняет опцию с хранением в константе

Специальный урок для опции-константы: переданный параметр игнорируется по контракту платформы. Это не образец получения параметризованной опции из регистра.

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

  4. В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.

  5. Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.

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

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

  1. Параметр функциональных опций — описание конфигурации, не выбранная организация.

  2. Использование описывает связь параметра с объектами схемы; оно не является текущим значением параметра.

  3. Для констант параметр структуры игнорируется, поэтому намеренно передаём Неопределено только в этом специальном сравнении.

  4. Для реквизита справочника или ресурса регистра такое значение нельзя считать корректным: там нужен настоящий параметр соответствующего типа.

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

  1. В неизменяемой учебной базе оба чтения одной опции-константы дают одинаковое значение и сравнение Истина.

  2. При изменённом хранилище код останавливается до получения опции; не переносите вывод на другие опции.

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

Показано различие между общей настройкой-константой и параметризованным хранилищем.

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

  1. Сравнение может измениться при параллельном изменении настройки: запускайте в спокойной учебной копии.

  2. Не используйте Неопределено вместо реальной организации в параметризованной опции.

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

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

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

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

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