Переменные окружения

Для работы с переменными окружения и системными свойствами текущей JVM предназначен тип МенеджерСредыИсполнения. Экземпляр этого типа можно получить из свойства глобального контекста СредаИсполнения.

Операционные системы, под управлением которых может работать «1С:Исполнитель», используют такое понятие, как переменная окружения. Переменная окружения — это переменная, которая предоставляется операционной системой и хранит некоторое текстовое значение. Некоторые переменные окружения создает собственно операционная система, некоторые может создать пользователь. У виртуальной машины Java (JVM) существует аналог переменных окружения, которые называются системными свойствами. Эти свойства частично формируются самой виртуальной машиной при запуске, частично могут быть указаны пользователем в виде параметров запуска виртуальной машины.

Сценарий во время своей работы может использовать различные переменные окружения. Например, для получения доступа к каталогу пользователя при работе под управлением ОС Windows можно использовать переменную окружения USERPROFILE. Использование этой переменной окружения позволит получать гарантированный доступ к каталогу пользователя вне зависимости от того, какой пользователь запустил данный сценарий. Для получения конкретной переменной окружения можно использовать метод ПолучитьПеременную(). Если нужно получить все доступные переменные окружения, то можно использовать метод ПолучитьВсеПеременные(). Переменные окружения можно задавать специально для конкретного сценария — например, для передачи в сценарий списка постоянно задаваемых параметров (если сценарий поддерживает такое действие).

Кроме переменных окружения сценарий может использовать системные свойства виртуальной машины Java. Схема и назначение использования системных свойств аналогичны переменным окружения. Из системных свойств JVM можно получить, например, имя используемой операционной системы (как это принято в JVM) или домашний каталог пользователя. Получение домашнего каталога пользователя (свойство user.home) через системные свойства JVM будет более универсальным способом, так как JVM берет на себя все подробности взаимодействия с используемой операционной системой. Для получения конкретного системного свойства следует использовать метод ПолучитьСвойство(), а для получения всех системных свойств, соответственно, ПолучитьВсеСвойства().

Переменные окружения и системные свойства

метод Скрипт()
    // вывод всех переменных окружения
    для Переменная из СредаИсполнения.ПолучитьВсеПеременные()
        Консоль.Записать("Имя: " + Переменная.Ключ + " = " + Переменная.Значение)
    ;
    // вывод всех системных свойств
    для Переменная из СредаИсполнения.ПолучитьВсеСвойства()
        Консоль.Записать("Имя: " + Переменная.Ключ + " = " + Переменная.Значение)
    ;
    // определение используемой операицонной системы
    пер ИмяОС = СредаИсполнения.ПолучитьСвойство("os.name")
    выбор
    когда ИмяОС.НачинаетсяС("windows", Истина)
        Консоль.Записать("Это Windows")
    когда ИмяОС.Содержит("mac", Истина)
        Консоль.Записать("Это OS X")
    когда ИмяОС.Содержит("nux", Истина)
        Консоль.Записать("Это Linux")
    иначе
        Консоль.Записать("Это неизвестная система")
    ;
    Консоль.Записать("Версия ОС - " + СредаИсполнения.ПолучитьСвойство("os.version"))
;