Объект Microsoft Script Control в среде 1С:Предприятие v7.7 может быть создан следующим образом: ScrCtrl = СоздатьОбъект("MSScriptControl.ScriptControl"); http://www.script-coding.info/MSScriptControl.html http://www.kuban.ru/forum_new/forum9/arhiv/8517.html Насколько я понимаю, компонент ScriptControl ставится отдельно из http://www.microsoft.com/scripting/downloads/v55/other/scr55ru.exe Надо разобраться, что нам нужно, чтобы это работало.
Изменил ссылку. Проверил с установленным Scripting Control 1С взаимодействует.. Рекомендуется добавить в релиз 1.0.10, лицензия позволяет.
Я просил указать путь к компоненте у нас в pvt.
Компонента: ftp/pvt/Windows/MS/Components/MS Script Control/sct10en.exe
Уже давно поставляется в закрытой части, но не регистрируется. Временное решение: $ regsvr32 msscript.ctx в каталоге windows/system32 Регистрация будет начиная с 1.0.9-alt17 Программа 1.vbs для проверки: Dim a Dim ScriptControl Set ScriptControl = Wscript.CreateObject("MSScriptControl.ScriptControl") ScriptControl.Language = "vbscript" a = "(2 * 5) + 3" Result = ScriptControl.Eval(a) Wscript.StdOut.WriteLine( Result) Запускать так: wine cscript.exe /E:vbscript 1.vbs 2>&1 | iconv -f cp866
Принято eter42\eter18
скрипт генерации случайных чисел в 1С: Функция СлучайноеЧисло(Знач Предел=1) ScrCtrl=CreateObject("MSScriptControl.ScriptControl"); * ScrCtrl.Language="VBscript"; ScrCtrl.ExecuteStatement("randomize"); СлучайноеЧисло=ScrCtrl.Eval("rnd"); Если Предел>1 Тогда СлучайноеЧисло=1+Цел(СлучайноеЧисло*Цел(Предел)); КонецЕсли; Возврат СлучайноеЧисло; КонецФункции // СлучайноеЧисло() На строке помеченной * --- 1С выдает ошибку: ScrCtrl.Language="VBscript"; {Документ.Счет.Форма.Модуль(670)}: ScriptControl: A script engine for the specified language can not be created. подтвердилась у нас, $ winetricks wsh56vb - не решает проблему. не помогла загрузка и других пакетов нужно еще раз перепроверить
> Запускать так: > wine cscript.exe /E:vbscript 1.vbs 2>&1 | iconv -f cp866 > этот пример работает. бутылка bugs/3163 в 1С-ке в демоконфигурации Бух написал тестовую обработку ExtForms/test.ert, через winetricks ничего дополнительно не ставил, тестовая обработка ошибку воспроизводит: ScrCtrl.Language="VBScript"; {C:\PROGRAM FILES\1CV77\1SBDB\EXTFORMS\TEST.ERT(5)}: ScriptControl: A script engine for the specified language can not be created.
Видимо опять что то случилось с установкой Компонента: ftp/pvt/Windows/MS/Components/MS Script Control/sct10en.exe Т.к. помогает только установка (регистрация не помогает)
> ScrCtrl.Language="VBScript"; > {C:\PROGRAM FILES\1CV77\1SBDB\EXTFORMS\TEST.ERT(5)}: ScriptControl: A script > engine for the specified language can not be created. На 1.0.12-eter6/8 данная ошибка не воспроизвелась.
Еще ошибка относящаяся к задаче 3163 "Поддержка MSScriptControl" {Обработка.ПереносДанныхИзИнформационныхБаз1СПредприятия77.Форма.Форма.Форма(660)}: Ошибка при вызове метода контекста (Run): Неверное число параметров 1С:Предприятие 8.2 (8.2.12.96) Конфигурация Бухгалтерия предприятия, редакция 2.0 (2.0.15.10) WINE@Etersoft 1.0 Network 1.0.12-eter7/12 кусок кода из 1С ScrptCtrl=Новый COMObject("MSScriptControl.ScriptControl"); ScrptCtrl.Language="vbscript"; ScrptCtrl.AddCode(" |Function Get1CV77Titles() | const HKEY_CURRENT_USER = &H80000001 | Set oReg=GetObject(""winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv"") | strKeyPath = ""Software\1C\1Cv7\7.7\Titles"" | oReg.EnumValues HKEY_CURRENT_USER, strKeyPath, arrValues | strInfo=vbNullString | Get1CV77Titles = strInfo | On Error Resume Next | For i = LBound(arrValues) To UBound(arrValues) | call oReg.GetStringValue(HKEY_CURRENT_USER,strKeyPath,arrValues(i),Value) | strInfo=strInfo & arrValues(i) & vbTab & Value & vbCrLf | Next | Get1CV77Titles = strInfo |End Function |"); Текст=СокрЛП(ScrptCtrl.Run("Get1CV77Titles"));
Проверить на eterhack.
WINE@Etersoft 1.0 SQL 1.3.27/1.0.12-eter1.15/26 бутылка bugs/3163 Ставил MSScriptControl из ftp/pvt/Windows/MS/Components/MS Script Control/ а так же через winetricks при установке в консоли err:setupapi:SetupDefaultQueueCallbackW copy error 5 L"C:\\windows\\temp\\IXP001.TMP\\msscript.cnt" -> L"C:\\Program Files\\Microsoft Windows Script\\Windows Script Control\\msscript.cnt" err:setupapi:SetupDefaultQueueCallbackW copy error 5 L"C:\\windows\\temp\\IXP001.TMP\\msscript.hlp" -> L"C:\\Program Files\\Microsoft Windows Script\\Windows Script Control\\msscript.hlp" во время запуска скрипта err:ole:CoGetClassObject class {6c736db1-bd94-11d0-8a23-00aa00b58e10} not registered err:ole:CoGetClassObject no class object {6c736db1-bd94-11d0-8a23-00aa00b58e10} could be created for context 0x1 err:ole:CoGetClassObject class {6c736db1-bd94-11d0-8a23-00aa00b58e10} not registered err:ole:CoGetClassObject no class object {6c736db1-bd94-11d0-8a23-00aa00b58e10} could be created for context 0x1 13 регистрация скрипта проходит успешно но проблему не решает
Откладываем задачи, к которым не обращались более 100 дней.
Закрываю как неактуальные.
Закрываю.