Summary: | Поддержка MSScriptControl | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Vitaly Lipatov <lav> |
Component: | Печать ; Диалог печати | Assignee: | Александр Морозов <amorozov> |
Status: | CLOSED FIXED | QA Contact: | Andrey Vusik <night> |
Severity: | normal | ||
Priority: | P3 | CC: | a.zheltikov, amorozov, goga, mackuzzz |
Version: | 1.0.12 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
URL: | http://www.microsoft.com/downloads/details.aspx?familyid=D7E31492-2595-49E6-8C02-1426FEC693AC&displaylang=en&Hash=YqXsPRjK7kQlRZ0yV3YeoepEfQ4wzOefjw4qT716kMlUB5ZLzvjOdUUlkMh1Sr8psbX5HFzPaL2zcrRXZAbzQQ%3d%3d | ||
Whiteboard: | |||
Заявки RT: | 13419, 14357 | Связано с: | |
Дата напоминания: | |||
Bug Depends on: | 1877 | ||
Bug Blocks: | 8900 |
Description
Vitaly Lipatov
2008-12-25 18:20:33 MSK
Изменил ссылку. Проверил с установленным 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 дней. Закрываю как неактуальные. Закрываю. |