РасширениеКонфигурации.Версия

Свойства · Version

Тип: Строка. Версия расширения.

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

РасширениеКонфигурации.Версия (ConfigurationExtension.Version)

РасширениеКонфигурации (ConfigurationExtension)

Версия (Version)

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

Использование:
Только чтение.
Описание:
Тип: Строка.
Версия расширения.
Доступность:

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

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

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

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

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

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

Имя, версия, идентификатор и хеш описывают подготовленное расширение. Назначение Дополнение не является показателем успешности выполнения его кода.

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

Полный серверный модуль собственной УчебнаяКонфигурацияСинтаксиса. Чтение своего расширения, без его установки/обновления кодом.

Подготовка

  1. Создайте отдельную пустую учебную конфигурацию с именем УчебнаяКонфигурацияСинтаксиса. Защитная проверка имени не допускает выполнение этих уроков в КА2, УТ или другой рабочей конфигурации.

  2. В Конфигураторе этой учебной базы вручную создайте минимальное расширение УчебноеРасширениеСинтаксиса с назначением Дополнение, синонимом Учебное расширение и версией 1.0. Не добавляйте бизнес-код или новые таблицы.

  3. Оставьте безопасный режим и защиту от опасных действий включёнными; не выдавайте через расширение дополнительные основные роли всем пользователям. Установите расширение только в собственной учебной базе и начните новый сеанс.

  4. В серверном общем модуле УчебныеЗадачи разместите полный модуль одного урока. Запускайте свою серверную команду с правами, разрешёнными администратором учебной базы. Код не переключает привилегированный режим.

  5. Примеры только читают паспорт, данные и диагностику. Они не записывают/удаляют расширение, не экспортируют CFE на диск и не отключают защиту.

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

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

  1. Получить возвращает массив расширений. Ищем по точному собственному имени, а не берём первый элемент и не считаем его главным.

  2. Имя и Синоним служат разным целям. Версия — строка, не Число: значение 1.0 не используем для арифметического сравнения релизов.

  3. УникальныйИдентификатор отличает объект расширения; ХешСумма характеризует его данные. Не выдумываем алгоритм хеша и не называем строку доказательством цифровой подписи.

  4. Назначение сравниваем с контейнером Метаданные.СвойстваОбъектов. Все три варианта поясняются, но подготовлено именно Дополнение.

  5. ОбластьДействия может быть Неопределено; читаем её фактический тип без вызова несуществующих методов.

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

  1. Три основные контрольные Истина: имя, тип идентификатора и подготовленное назначение. Остальное — фактические строки и признаки.

  2. Ни имя, ни версия, ни назначение расширения не присваиваются.

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

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

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

  1. Имя, версия и хеш не заменяют тесты бизнес-логики после обновления.

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

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

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

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

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

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