Уведомления
Очистить все
1С:Предприятие 8.x
1
Записи
1
Пользователи
0
Likes
2,040
Просмотры
Создатель темы 25/07/2020 9:28 пп
Бывает, что нам нужно сделать в системе что-то специфичное, а необходимый функционал вы нашли в каком-нибудь vb-скрипте, ниже представлен шаблон, который можно использовать в данной ситуации:
wshShell = Новый COMОбъект("wScript.shell"); ПутьКСкрипту = wshShell.expandEnvironmentStrings("%HOMEDRIVE%") + wshShell.expandEnvironmentStrings("%HOMEPATH%") + "\VBSFrom1C.vbs"; СкриптVBS = Новый ТекстовыйДокумент; ТекстСкрипта = "MsgBox " + Символ(34) + "Hello World!" + Символ(34); СкриптVBS.ДобавитьСтроку(ТекстСкрипта); Попытка СкриптVBS.Записать(ПутьКСкрипту, КодировкаТекста.OEM); ЗапуститьПриложение(ПутьКСкрипту); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки;
Но вдруг запуск скриптов запрещён локальной политикой безопасности? В таком случае нам поможет HTML-приложение, которое по умолчанию имеет доступ к файловой системе, ниже представлен шаблон:
wshShell = Новый COMОбъект("wScript.shell"); ПутьКСкрипту = wshShell.expandEnvironmentStrings("%HOMEDRIVE%") + wshShell.expandEnvironmentStrings("%HOMEPATH%") + "\JavascriptFrom1C.hta"; СкриптJavascript = Новый ТекстовыйДокумент; Символ34 = Символ(34); ТекстСкрипта = "<!-- saved from url=(0014)about:internet --><!doctype> |<html> |<head> | <HTA:APPLICATION ID=" + Символ34 + "oHTA" + Символ34 + " | APPLICATIONNAME=" + Символ34 + "WMPTour" + Символ34 + " | BORDER=" + Символ34 + "thin" + Символ34 + " | BORDERSTYLE=" + Символ34 + "normal" + Символ34 + " | CAPTION=" + Символ34 + "yes" + Символ34 + " | maximizeButton=" + Символ34 + "no" + Символ34 + " | minimizeButton=" + Символ34 + "no" + Символ34 + " | ICON=" + Символ34 + "img/wmptour.ico" + Символ34 + " | SHOWINTASKBAR=" + Символ34 + "no" + Символ34 + " | SINGLEINSTANCE=" + Символ34 + "yes" + Символ34 + " | SYSMENU=" + Символ34 + "yes" + Символ34 + " | VERSION=" + Символ34 + "1.0" + Символ34 + " | WINDOWSTATE=" + Символ34 + "normal" + Символ34 + "> |</head> |<body> |<script> | alert( 'Hello, World!'); |</script> |</body> |</html> |"; СкриптJavascript.ДобавитьСтроку(ТекстСкрипта); Попытка СкриптJavascript.Записать(ПутьКСкрипту, КодировкаТекста.OEM); ЗапуститьПриложение(ПутьКСкрипту); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки;