Отличить версию платформы от совместимости и варианта языка

Учебные задачи

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

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

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

Подготовка

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

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

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

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

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

Варианты = Метаданные.СвойстваОбъектов;
Сообщить("Совместимость конфигурации: " + Строка(Метаданные.РежимСовместимости));
Сообщить("Совместимость интерфейса: " + Строка(Метаданные.РежимСовместимостиИнтерфейса));
Сообщить("Вариант языка: " + Строка(Метаданные.ВариантВстроенногоЯзыка));
Если Метаданные.РежимСовместимости = Варианты.РежимСовместимости.НеИспользовать Тогда
    Сообщить("Ограничение старым режимом не выбрано; всё равно проверяйте доступность API и контекст");
Иначе
    Сообщить("Изучайте особенности именно указанного режима совместимости");
КонецЕсли;
Если Метаданные.РежимСовместимостиИнтерфейса = Варианты.РежимСовместимостиИнтерфейса.Версия8_5 Тогда
    Сообщить("Интерфейс настроен на вариант 8.5; это не номер сборки платформы");
КонецЕсли;
Если Метаданные.ВариантВстроенногоЯзыка = Варианты.ВариантВстроенногоЯзыка.Русский Тогда
    Сообщить("Конфигурация использует русский вариант встроенного языка");
КонецЕсли;
Сообщить(Варианты.ТипФормы.Обычная <> Варианты.ТипФормы.Управляемая);
Сообщить(Варианты.РежимИспользованияМодальности.НеИспользовать
    <> Варианты.РежимИспользованияМодальности.Использовать);

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

  1. Читаем настройки конфигурации, а не выводим их из пути установки платформы.

  2. СвойстваОбъектов предоставляет значения для точного сравнения без сравнения представлений строк.

  3. Тип формы, язык, совместимость платформы и совместимость интерфейса — отдельные понятия.

  4. Различие вариантов модальности показывает причину использовать подходящий асинхронный API, а не переключать настройку рабочей базы.

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

  1. В начале выводятся фактические три настройки учебной копии; их значения зависят от конфигурации.

  2. Два последних сравнения Истина: обычная и управляемая формы различаются, как и два режима модальности.

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

Зафиксирована среда для выбора подходящих примеров API без изменения настроек.

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

  1. Не утверждайте, что все новые возможности 8.5 доступны только по установленному номеру сборки.

  2. Смена режима совместимости или модальности требует отдельной проверки всей конфигурации.

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

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

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

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

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