Bug 3163

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
Объект 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

Надо разобраться, что нам нужно, чтобы это работало.
Comment 1 Денис Баранов 2008-12-30 11:51:11 MSK
Изменил ссылку.
Проверил с установленным Scripting Control 1С взаимодействует..
Рекомендуется добавить в релиз 1.0.10, лицензия позволяет.
Comment 2 Vitaly Lipatov 2008-12-30 19:53:49 MSK
Я просил указать путь к компоненте у нас в pvt.
Comment 3 Денис Баранов 2008-12-31 15:13:32 MSK
Компонента:
ftp/pvt/Windows/MS/Components/MS Script Control/sct10en.exe
Comment 4 Vitaly Lipatov 2008-12-31 17:18:25 MSK
Уже давно поставляется в закрытой части, но не регистрируется.
Временное решение:
$ 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
Comment 5 Денис Баранов 2009-02-21 20:28:59 MSK
Принято
eter42\eter18
Comment 6 Калюхович Юрий 2010-04-12 13:52:36 MSD
скрипт генерации случайных чисел в 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 - не решает
проблему. не помогла загрузка и других
пакетов

нужно еще раз перепроверить
Comment 7 Калюхович Юрий 2010-04-12 15:03:41 MSD
> Запускать так:
> 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.
Comment 8 Денис Баранов 2010-04-12 16:05:11 MSD
Видимо опять что то случилось с установкой Компонента:
ftp/pvt/Windows/MS/Components/MS Script Control/sct10en.exe

Т.к. помогает только установка (регистрация не помогает)
Comment 9 Александр Морозов 2010-06-04 16:05:55 MSD
> 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 данная ошибка не воспроизвелась.
Comment 10 Александр Желтиков 2010-11-23 16:08:19 MSK
Еще ошибка относящаяся к задаче 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"));
Comment 11 Денис Баранов 2011-09-08 14:29:54 MSK
Проверить на eterhack.
Comment 12 Marat Sharipov 2011-09-28 13:34:56 MSK
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
регистрация скрипта проходит успешно но проблему не решает
Comment 13 Vitaly Lipatov 2014-09-11 18:52:56 MSK
Откладываем задачи, к которым не обращались более 100 дней.
Comment 14 Vitaly Lipatov 2016-02-01 11:56:32 MSK
Закрываю как неактуальные.
Comment 15 Vitaly Lipatov 2016-02-01 11:59:13 MSK
Закрываю.