IE2017

1С:Предприятие и системные переменные Windows.

Обработки - Универсальные обработки

Данная обработка позволяет просматривать установленные системные переменные Windows.


Данная обработка позволяет просматривать установленные системные переменные 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 - работает теперь не только на управляемых но и на обычных формах.

Скачать файлы

Наименование Файл Версия Размер
Системные переменные
.epf 9,27Kb
24.11.12
38
.epf 9,27Kb 38 Скачать

См. также

Комментарии
1. Сергей Старых (tormozit) 4338 22.11.12 17:26 Сейчас в теме
А че все в табличном виде сразу вычислить нельзя разве?
2. Юрий Зайцев (Yury1001) 1429 22.11.12 17:36 Сейчас в теме
(1) tormozit, кажыся зреет версия 2.0:)
3. abc2000 (abc2000) 74 22.11.12 17:41 Сейчас в теме
(1) tormozit,
В версии 2.0 пожелание будет исполнено.
4. Сергей Старых (tormozit) 4338 22.11.12 17:50 Сейчас в теме
(3) С нетерпением будем ждать версию 2.0!
5. abc2000 (abc2000) 74 22.11.12 19:03 Сейчас в теме
(4) Обновил, скачиваем и голосуем.
6. Сергей Старых (tormozit) 4338 22.11.12 19:10 Сейчас в теме
А почему не указываешь для какого пользователя и компьютера получены значения переменных?
7. abc2000 (abc2000) 74 22.11.12 19:16 Сейчас в теме
(6) Не понял вопроса. Для разных рабочих станций значения будут разными .
8. Сергей Старых (tormozit) 4338 22.11.12 19:35 Сейчас в теме
(7) Это если переменные на клиенте вычисляются.
9. abc2000 (abc2000) 74 22.11.12 19:41 Сейчас в теме
(8) Это Вы к тому , потому что в версии 2.0 получение переменных происходит внутри процедуры помеченной директивой &НаСервере ?
10. abc2000 (abc2000) 74 22.11.12 19:59 Сейчас в теме
Сервера у меняя нет, только файловая версия, потому проверить не могу. Вставил код в процедуру с директивой &НаКлиенте.
11. Павел Мокосеев (pvl_mksv) 19 16.04.13 15:06 Сейчас в теме
Оставьте свое сообщение