СистемнаяИнформация.ВерсияПриложения

Свойства · AppVersion

Тип: Строка. Содержит версию используемого 1С:Предприятия 8 в формате <основная версия>.<младшая версия>.<релиз>.<дополнительный номер релиза>. Например, 8.2.9.200.

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

СистемнаяИнформация.ВерсияПриложения (SystemInfo.AppVersion)

СистемнаяИнформация (SystemInfo)

ВерсияПриложения (AppVersion)

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

Использование:
Только чтение.
Описание:
Тип: Строка.
Содержит версию используемого 1С:Предприятия 8 в формате <основная версия>.<младшая версия>.<релиз>.<дополнительный номер релиза>. Например, 8.2.9.200.
Доступность:

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

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

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

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

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

Сравнить версии и окружение клиента и сервера без сетевого запроса

Отчёт различает место исполнения и недоступные аппаратные данные. Версия платформы, версия ОС и признак специальной поставки не являются одним показателем.

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

Учебная управляемая форма: тонкий/толстый клиент Windows или веб-клиент; указанное место вызова принципиально. Код только читает сведения и выводит локальные сообщения.

Подготовка

  1. В учебной базе создайте новую внешнюю обработку с пустой управляемой формой. Добавьте команду УчебныйПример, назначьте её Действие одноимённой клиентской процедуре и создайте кнопку этой команды.

  2. Код — полный модуль собственной формы. Реквизиты, права администратора кластера, сетевые сервисы, печать и сохранение файлов для этих уроков не нужны.

  3. Проверяйте на своём реально запущенном клиенте. СистемнаяИнформация сообщает окружение места вызова, а не обязательно тот же компьютер, что исполняет серверный код.

&НаКлиенте
Процедура УчебныйПример(Команда)
    Клиент = СводкаОкружения();
    Сервер = СводкаСерверногоОкружения();
    Сообщить("КЛИЕНТ: платформа " + Клиент.Версия1С + "; ОС " + Клиент.ВерсияОС);
    Сообщить("СЕРВЕРНЫЙ КОНТЕКСТ: платформа " + Сервер.Версия1С + "; ОС " + Сервер.ВерсияОС);
    Сообщить("Тип платформы клиента: " + Клиент.ТипПлатформы);
    Сообщить("Тип платформы серверного контекста: " + Сервер.ТипПлатформы);
    Если Клиент.Вариант = "" Тогда
        Сообщить("Клиент: обычный вариант поставки по свойству ВариантПриложения");
    Иначе
        Сообщить("Клиент: специальный вариант поставки: " + Клиент.Вариант);
    КонецЕсли;
    Сообщить("Версии клиента и сервера совпали: " + Строка(Клиент.Версия1С = Сервер.Версия1С));
    Сообщить("Сведения о процессоре доступны клиенту: " + Строка(Клиент.Процессор <> ""));
    Сообщить("Есть строка User-Agent клиента: " + Строка(Клиент.UserAgent <> ""));
    Если Клиент.ПамятьAPI = 0 Тогда
        Сообщить("Клиент: размер памяти этим вызовом не определён; в веб-клиенте API всегда возвращает 0");
    Иначе
        Сообщить("Клиент: исходное значение ОперативнаяПамять = " + Строка(Клиент.ПамятьAPI));
        Сообщить("Единица в локальном описании свойства не указана: не подписываем результат как МБ или ГБ без проверки");
    КонецЕсли;
    Сообщить(ТипЗнч(Клиент.Версия1С) = Тип("Строка"));
    Сообщить(ТипЗнч(Клиент.ПамятьAPI) = Тип("Число"));
КонецПроцедуры

&НаСервереБезКонтекста
Функция СводкаСерверногоОкружения()
    Возврат СводкаОкружения();
КонецФункции

&НаКлиентеНаСервереБезКонтекста
Функция СводкаОкружения()
    Информация = Новый СистемнаяИнформация;
    Сводка = Новый Структура;
    Сводка.Вставить("Версия1С", Информация.ВерсияПриложения);
    Сводка.Вставить("ВерсияОС", Информация.ВерсияОС);
    Сводка.Вставить("Вариант", Информация.ВариантПриложения);
    Сводка.Вставить("Процессор", Информация.Процессор);
    Сводка.Вставить("ПамятьAPI", Информация.ОперативнаяПамять);
    Сводка.Вставить("UserAgent", Информация.ИнформацияПрограммыПросмотра);
    Если Информация.ТипПлатформы = Неопределено Тогда
        Сводка.Вставить("ТипПлатформы", "API не определил тип платформы");
    Иначе
        Сводка.Вставить("ТипПлатформы", Строка(Информация.ТипПлатформы));
    КонецЕсли;
    Возврат Сводка;
КонецФункции

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

  1. СводкаОкружения вызывается локально на клиенте и отдельно через серверную функцию. Общая функция компилируется для обоих мест исполнения.

  2. Возвращаем обычную структуру чисел и строк, а не объект СистемнаяИнформация из другого контекста.

  3. ВерсияПриложения — версия 1С, ВерсияОС — операционной системы, ВариантПриложения — специальной поставки. Пустой вариант означает обычную поставку, не ошибку версии.

  4. В клиент-серверной базе сведения могут относиться к разным машинам. В файловой базе совпадение ОС ожидаемо, но не доказывает наличие отдельного сервера кластера.

  5. Пустые сведения и Неопределено не подменяем вымышленными аппаратными характеристиками. В веб-клиенте ОперативнаяПамять всегда 0 по справке 8.5.1.

  6. User-Agent и процессор не печатаем полностью: показываем только наличие. Исходное значение памяти не переводим в неподтверждённую единицу.

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

  1. Последние две проверки типов Истина. В отчёте отдельно подписаны клиент и серверный контекст.

  2. Совпадение версий может быть Истина или Ложь: это результат диагностики, не заранее гарантированный контрольный ответ.

  3. В веб-клиенте ноль памяти сопровождается пояснением недоступности, а не фразой «на компьютере нет оперативной памяти».

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

Получена локальная диагностическая сводка с корректной трактовкой контекста, версии и отсутствующих сведений.

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

  1. СистемнаяИнформация не измеряет текущую загрузку CPU, свободную память процесса или производительность бизнес-операции.

  2. ТипПлатформы веб-клиента характеризует поддерживаемый вариант браузера и может быть Неопределено; не считайте его безусловным доказательством разрядности ОС.

  3. Диагностические данные окружения могут раскрывать инфраструктуру. Не отправляйте их наружу автоматически.

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

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

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

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

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