Данная обработка позволяет просматривать установленные системные переменные Windows.
Какая же польза от использования системных переменных в 1С спросите Вы у меня ?
Пример №1:
Нам нужно удалить файлы кэша IE.
Как это сделать средствами 1С.
// Удалим в каталоге все файлы JS
Попытка УдалитьФайлы(КаталогКэша, «*.js»);
Исключение
#Если Клиент Тогда
Сообщить(ОписаниеОшибки());
#КонецЕсли
КонецПопытки;
Переменная КаталогКэша у меня будет равна «C:UsersАдминистраторAppDataLocalMicrosoftWindowsTemporary Internet Files«;
У Васи «C:UsersVasyaAppDataLocalMicrosoftWindowsTemporary Internet Files«;
У Пети «C:UsersPeterAppDataLocalMicrosoftWindowsTemporary Internet Files«;
И вот тут на помощь приходит системная переменная %LOCALAPPDATA%, т.е. можно для каждого пользователя можно записать
КаталогКэша = «%LOCALAPPDATA%MicrosoftWindowsTemporary Internet Files«;
Тут правда возникает еще одна проблема, дело в том что 1С не поймет такой путь.
И тут нам на помощь приходит старый добрый Windows Script Host.
Shell = Новый COMОбъект(«WScript.Shell»);
LOCALAPPDATA = Shell.ExpandEnvironmentStrings(«%LOCALAPPDATA%»);
КаталогКэша = LOCALAPPDATA + «MicrosoftWindowsTemporary Internet Files»;
Пример №2:
Например, возникла потребность удалить или скопировать настройки пользователей 1С.
Для Win 7 настройки хранятся в каталогах:
%userprofile%AppDataRoaming1C1Cv82
%userprofile%AppDataLocal1C1Cv82
У меня полный путь выглядет так:
C:UsersАдминистраторAppDataLocal1C1Cv82
Соответственно получить путь к настройкам:
Shell = Новый COMОбъект(«WScript.Shell»);
APPDATA = Shell.ExpandEnvironmentStrings(«%APPDATA%»);
КаталогНастроек = APPDATA + «1C1Cv82»;
Прикрепленная обработка содержит в себе список некоторых системных переменных Windows и позволяет узнать установленное им значение.
P. S. По многочисленным просьбам добавил версию 2.0. Функционал тот же, отличается только тем, что все значения отображает в табличном поле.
UPD: Версия 2.1 — работает теперь не только на управляемых но и на обычных формах.
А че все в табличном виде сразу вычислить нельзя разве?
(1) tormozit, кажыся зреет версия 2.0:)
(1) tormozit,
В версии 2.0 пожелание будет исполнено.
(3) С нетерпением будем ждать версию 2.0!
(4) Обновил, скачиваем и голосуем.
А почему не указываешь для какого пользователя и компьютера получены значения переменных?
(6) Не понял вопроса. Для разных рабочих станций значения будут разными .
(7) Это если переменные на клиенте вычисляются.
(8) Это Вы к тому , потому что в версии 2.0 получение переменных происходит внутри процедуры помеченной директивой &НаСервере ?
Сервера у меняя нет, только файловая версия, потому проверить не могу. Вставил код в процедуру с директивой &НаКлиенте.
Спасибо!