Тип: Строка. Версия конфигурации.
Полное описание, параметры и ограничения
ОбъектМетаданныхКонфигурация.Версия (ConfigurationMetadataObject.Version)
ОбъектМетаданныхКонфигурация (ConfigurationMetadataObject)
Версия (Version)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: Строка.
Версия конфигурации.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Составить паспорт конфигурации и отличить его от версии платформы
Имя, версия и поставщик — свойства прикладной конфигурации. Режим совместимости не равен версии установленного 1cv8.exe.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Паспорт = Новый Структура;
Паспорт.Вставить("Имя", Метаданные.Имя);
Паспорт.Вставить("Синоним", Метаданные.Синоним);
Паспорт.Вставить("Версия", Метаданные.Версия);
Паспорт.Вставить("Поставщик", Метаданные.Поставщик);
Паспорт.Вставить("АвторскиеПрава", Метаданные.АвторскиеПрава);
Паспорт.Вставить("Заголовок", Метаданные.Заголовок);
Паспорт.Вставить("КраткаяИнформация", Метаданные.КраткаяИнформация);
Паспорт.Вставить("ПодробнаяИнформация", Метаданные.ПодробнаяИнформация);
Паспорт.Вставить("Комментарий", Метаданные.Комментарий);
Паспорт.Вставить("АдресИнформацииОКонфигурации", Метаданные.АдресИнформацииОКонфигурации);
Паспорт.Вставить("АдресИнформацииОПоставщике", Метаданные.АдресИнформацииОПоставщике);
Паспорт.Вставить("АдресКаталогаОбновлений", Метаданные.АдресКаталогаОбновлений);
Для Каждого Поле Из Паспорт Цикл
Сообщить(Поле.Ключ + ": " + Строка(Поле.Значение));
КонецЦикла;
Сообщить("Режим совместимости: " + Строка(Метаданные.РежимСовместимости));
Сообщить("Совместимость расширений: " + Строка(Метаданные.РежимСовместимостиРасширенияКонфигурации));
Сообщить("Вариант встроенного языка: " + Строка(Метаданные.ВариантВстроенногоЯзыка));
Сообщить("Назначение расширения: " + Строка(Метаданные.НазначениеРасширенияКонфигурации));
Сообщить("Сопоставление по внутренним ID: " + Строка(Метаданные.ПоддерживатьСоответствиеОбъектамРасширяемойКонфигурацииПоВнутреннимИдентификаторам));
Сообщить(Паспорт.Количество() = 12);Разбор по шагам
Копируем двенадцать текстовых свойств в отдельную структуру паспорта, не меняя Метаданные.
Версия — строка, заданная разработчиком конфигурации. Пустая Версия в учебной схеме допустима.
РежимСовместимости выбирает поведение платформы для конфигурации; установленная платформа может быть новее.
Адреса информационных страниц и каталога обновлений только выводятся, запросы по ним не выполняются.
Настройки расширения читаем для диагностики; они не доказывают совместимость любого подключённого расширения.
Как проверить результат
В структуре ровно двенадцать полей, значения совпадают со свойствами корня в Конфигураторе.
Если учебная Версия не заполнена, выводится пустая строка без исключения.
Не меняйте Версия на 8.5.1.1343 ради совпадения: версия прикладной конфигурации может быть, например, 11.5.x.
Ожидаемый результат
Получен читаемый паспорт прикладной конфигурации без ошибочного смешения с версией платформы.
На что обратить внимание
Паспорт не является проверкой установки обновления или лицензии.
Произвольная строка АдресКаталогаОбновлений не означает безопасный или доступный сервер.
Совместимость расширения требует анализа заимствований и проверок конкретного расширения; одного свойства корня мало.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Составить паспорт конфигурации перед интеграцией
Определяем, с какой конфигурацией работаем, считаем группы метаданных и проверяем поиск справочника по полному имени и по типу ссылки.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Сообщить(СтрШаблон("Конфигурация: %1 (%2)", Метаданные.Имя, Метаданные.Синоним));
Сообщить("Версия конфигурации: " + Метаданные.Версия);
Сообщить("Поставщик: " + Метаданные.Поставщик);
Сообщить(Метаданные.РежимСовместимости);
Сообщить(Метаданные.Комментарий);
Сообщить(СтрШаблон("Справочников: %1; документов: %2; регистров сведений: %3; общих модулей: %4",
Метаданные.Справочники.Количество(), Метаданные.Документы.Количество(),
Метаданные.РегистрыСведений.Количество(), Метаданные.ОбщиеМодули.Количество()));
Сообщить(Метаданные.ЕстьИзмененияРасширениямиКонфигурации());
Описание = Метаданные.НайтиПоПолномуИмени("Справочник.Номенклатура");
Если Описание = Неопределено Тогда
Сообщить("Справочник.Номенклатура отсутствует — проверьте выбранную конфигурацию");
Иначе
ПоТипу = Метаданные.НайтиПоТипу(Тип("СправочникСсылка.Номенклатура"));
Сообщить(Описание = ПоТипу);
Сообщить(Метаданные.Справочники.Содержит(Описание));
Индекс = Метаданные.Справочники.Индекс(Описание);
Сообщить(Индекс);
Сообщить(Метаданные.Справочники.Получить(Индекс) = Описание);
КонецЕсли;Разбор по шагам
Читаем имя и версию конфигурации: это не номер версии платформы 1С.
Количество считает описания объектов метаданных, а не количество товаров или документов в базе.
Поиск по полному имени использует Справочник.Номенклатура; по типу — СправочникСсылка.Номенклатура. Это разные строки.
Проверяем принадлежность коллекции и обратный доступ по найденному индексу. При отсутствии справочника не обращаемся к несуществующему типу.
Как проверить результат
Имя и версия совпадают с корневым объектом конфигурации в Конфигураторе, а не с 8.5.1.1343.
В конфигурации с Номенклатурой три сравнения дают Истина; индекс неотрицательный.
Измените полное имя на Справочник.УчебныйОтсутствующий: получите сообщение об отсутствии, а не ошибку обращения к свойству Неопределено.
Ожидаемый результат
Получен паспорт текущей конфигурации и проверена связь описания метаданных с типом ссылки.
На что обратить внимание
Наличие метаданных не доказывает, что текущему пользователю разрешено читать все данные соответствующего объекта.
ЕстьИзмененияРасширениямиКонфигурации сообщает об изменениях структуры расширениями; это не признак ошибки и не проверка бизнес-логики.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.