ОбъектМетаданныхКонфигурация.Версия

Свойства · Version

Тип: Строка. Версия конфигурации.

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

ОбъектМетаданныхКонфигурация.Версия (ConfigurationMetadataObject.Version)

ОбъектМетаданныхКонфигурация (ConfigurationMetadataObject)

Версия (Version)

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

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

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

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

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

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

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

Составить паспорт конфигурации и отличить его от версии платформы

Имя, версия и поставщик — свойства прикладной конфигурации. Режим совместимости не равен версии установленного 1cv8.exe.

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

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

Подготовка

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

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


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

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

  1. Копируем двенадцать текстовых свойств в отдельную структуру паспорта, не меняя Метаданные.

  2. Версия — строка, заданная разработчиком конфигурации. Пустая Версия в учебной схеме допустима.

  3. РежимСовместимости выбирает поведение платформы для конфигурации; установленная платформа может быть новее.

  4. Адреса информационных страниц и каталога обновлений только выводятся, запросы по ним не выполняются.

  5. Настройки расширения читаем для диагностики; они не доказывают совместимость любого подключённого расширения.

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

  1. В структуре ровно двенадцать полей, значения совпадают со свойствами корня в Конфигураторе.

  2. Если учебная Версия не заполнена, выводится пустая строка без исключения.

  3. Не меняйте Версия на 8.5.1.1343 ради совпадения: версия прикладной конфигурации может быть, например, 11.5.x.

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

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

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

  1. Паспорт не является проверкой установки обновления или лицензии.

  2. Произвольная строка АдресКаталогаОбновлений не означает безопасный или доступный сервер.

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

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

Составить паспорт конфигурации перед интеграцией

Определяем, с какой конфигурацией работаем, считаем группы метаданных и проверяем поиск справочника по полному имени и по типу ссылки.

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

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

Подготовка

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

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


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

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

  1. Читаем имя и версию конфигурации: это не номер версии платформы 1С.

  2. Количество считает описания объектов метаданных, а не количество товаров или документов в базе.

  3. Поиск по полному имени использует Справочник.Номенклатура; по типу — СправочникСсылка.Номенклатура. Это разные строки.

  4. Проверяем принадлежность коллекции и обратный доступ по найденному индексу. При отсутствии справочника не обращаемся к несуществующему типу.

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

  1. Имя и версия совпадают с корневым объектом конфигурации в Конфигураторе, а не с 8.5.1.1343.

  2. В конфигурации с Номенклатурой три сравнения дают Истина; индекс неотрицательный.

  3. Измените полное имя на Справочник.УчебныйОтсутствующий: получите сообщение об отсутствии, а не ошибку обращения к свойству Неопределено.

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

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

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

  1. Наличие метаданных не доказывает, что текущему пользователю разрешено читать все данные соответствующего объекта.

  2. ЕстьИзмененияРасширениямиКонфигурации сообщает об изменениях структуры расширениями; это не признак ошибки и не проверка бизнес-логики.

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

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

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

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

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