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

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

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

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

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

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

метод ПеременныеОкружения()
    пер ВсеПеременные: Массив<Строка>
    пер ВсеСвойства: Массив<Строка>
    пер ОС: Массив<Строка>
    // Перечисление переменных окружения
    для Переменная из СредаИсполнения.ПолучитьВсеПеременные()
        ВсеПеременные.Добавить("Имя: " + Переменная.Ключ + " = " + Переменная.Значение)
    ;
    // Перечисление системных свойств
    для Переменная из СредаИсполнения.ПолучитьВсеСвойства()
        ВсеСвойства.Добавить("Имя: " + Переменная.Ключ + " = " + Переменная.Значение)
    ;
    // Определение используемой операционной системы и ее версии
    ОС.Добавить("Имя ОС: " + СредаИсполнения.ПолучитьСвойство("os.name"))
    ОС.Добавить("Версия ОС: " + СредаИсполнения.ПолучитьСвойство("os.version"))
;