Данная обработка позволяет просматривать установленные системные переменные Windows.
Какая же польза от использования системных переменных в 1С спросите Вы у меня ?
Пример №1:
Нам нужно удалить файлы кэша IE.
Как это сделать средствами 1С.
// Удалим в каталоге все файлы JS
Попытка УдалитьФайлы(КаталогКэша, "*.js");
Исключение
#Если Клиент Тогда
Сообщить(ОписаниеОшибки());
#КонецЕсли
КонецПопытки;
Переменная КаталогКэша у меня будет равна "C:\Users\Администратор\AppData\Local\Microsoft\Windows\Temporary Internet Files";
У Васи "C:\Users\Vasya\AppData\Local\Microsoft\Windows\Temporary Internet Files";
У Пети "C:\Users\Peter\AppData\Local\Microsoft\Windows\Temporary Internet Files";
И вот тут на помощь приходит системная переменная %LOCALAPPDATA%, т.е. можно для каждого пользователя можно записать
КаталогКэша = "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files";
Тут правда возникает еще одна проблема, дело в том что 1С не поймет такой путь.
И тут нам на помощь приходит старый добрый Windows Script Host.
Shell = Новый COMОбъект("WScript.Shell");
LOCALAPPDATA = Shell.ExpandEnvironmentStrings("%LOCALAPPDATA%");
КаталогКэша = LOCALAPPDATA + "\Microsoft\Windows\Temporary Internet Files";
Пример №2:
Например, возникла потребность удалить или скопировать настройки пользователей 1С.
Для Win 7 настройки хранятся в каталогах:
%userprofile%\AppData\Roaming\1C\1Cv82
%userprofile%\AppData\Local\1C\1Cv82
У меня полный путь выглядет так:
C:\Users\Администратор\AppData\Local\1C\1Cv82\
Соответственно получить путь к настройкам:
Shell = Новый COMОбъект("WScript.Shell");
APPDATA = Shell.ExpandEnvironmentStrings("%APPDATA%");
КаталогНастроек = APPDATA + "\1C\1Cv82";
Прикрепленная обработка содержит в себе список некоторых системных переменных Windows и позволяет узнать установленное им значение.
P. S. По многочисленным просьбам добавил версию 2.0. Функционал тот же, отличается только тем, что все значения отображает в табличном поле.
UPD: Версия 2.1 - работает теперь не только на управляемых но и на обычных формах.