Имя: Пароль:
1C
 
Внешняя обработка не создает com
0 Zombi
 
10.08.23
12:30
Есть внешняя обработка для передачи заказов из 1с в эвотор. Все работает, отправляет. Понадобилась новая версия. Скачал, пробую отправить заказ, получаю ошибку:

Ошибка при вызове конструктора (COMОбъект)
{ВнешняяОбработка.AkiTorgPrintSale11.Форма.AkiTorgConnection.Форма(450)}:Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");

по причине:
-2147221164(0x80040154): Класс не зарегистрирован

Возвращаю старую версию обработки, все работает. Хотя в старой версии абсолютно такой же код и создается тот же самый объект. В чем может быть причина?
1 Zombi
 
11.08.23
09:09
Подниму
2 YFedor
 
11.08.23
09:10
(1) А в старой как создается com объект?
3 Кондер
 
11.08.23
09:12
ну так зарегистрируй класс, посмотри как люди руками регистрируют ComConnector
4 Zombi
 
11.08.23
09:12
(2) Да точно так же. Код сравнивал, все одинаково.
5 Zombi
 
11.08.23
09:13
(3) Класс зарегистрирован. Обмен через сом работает, старая версия обработки тоже работает
6 Zombi
 
11.08.23
09:14
C:\Windows\SysWOW64\regsvr32 "C:\Program Files\1cv8\8.3.22.2143\bin\comcntr.dll"  запускал
7 Zombi
 
11.08.23
09:15
Код вот такой в обоих обработках:

Соединение = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
        
        Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
        Скрипт.language = "javascript";
        Скрипт.AddObject("WinHttp", Соединение);
        Скрипт.Eval("WinHttp.Option(4)=13056");
        
        //Соединение.SetTimeouts(250000, 250000, 250000, 250000);
        
        Соединение.Open( "GET", "https://"+ ПараметрыПодключения.Сервер +"/feedback/uc/i.php" + "?data="+ ТекстЗапроса +"&user="+ ПараметрыПодключения.Пользователь +"&password="+ ПараметрыПодключения.Пароль, 0);
        
        Соединение.setRequestHeader( "Content-Type","application/x-www-form-urlencoded");
        
        Попытка
            Соединение.Send();
        Исключение
            Возврат Ложь;
        КонецПопытки;
        
        Соединение.WaitForResponse();
        
        КодСостояния = Соединение.Status();
        
        Если НЕ КодСостояния = 200 Тогда
            Возврат Ложь;
        КонецЕсли;
        
        Стр = Соединение.ResponseText;
        
        Если Стр = Неопределено Тогда
            Стр = "";
        КонецЕсли;
8 Кондер
 
11.08.23
09:20
Не зарегистрирован, не та версия класса
9 Zombi
 
11.08.23
09:24
(8) Платформа не та? База под этой платформе работает:

https://disk.yandex.ru/i/VzLfXH2cQQ08iA
10 Zombi
 
11.08.23
09:25
Да и обработку я меняю, старую на новую и все под той же платформой у старой создается и отрабатывает, в новой нет. Обработку меняю даже 1с не перезапускаю.
11 YFedor
 
11.08.23
09:25
Вангую, может быть в старой обработке действие выполняется на клиенте, в новой на сервере
12 Zombi
 
11.08.23
09:33
(11) Да вроде все одинаково:

https://disk.yandex.ru/i/eQzAP0bTcgbjUQ
13 big
 
11.08.23
10:24
(6) Если верить написанному, то regsvr32 лежит в папке для 32-х разрядных приложений, а 1cv8 при этом лежит в папке для 64-х разрядных.
14 Zombi
 
11.08.23
10:57
(13) А в какой папке лежит regsvr32 для 64-х разрядных приложений? Мне кажется, дело не в регистрации comcntr, так как при обновлении платформы перестает работать обмен с прямым подключением, пока я не зарегистрирую comcntr новой версии. Сейчас работает и обмен и старая версия обработки. Грешил тут на режим работы внешней обработки безопасный/небезопасный, но они обе работают в безопасном. Пробовал новую в небезопасном добавить и запустить, ошибка не ушла.
15 Кондер
 
11.08.23
12:02
Все правильно ты делал
но в 64-битной версии команда будет примерно такой * :
C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
16 Zombi
 
11.08.23
12:13
(15) У меня в папке 86 платформы текущей нет. Устанавливаю 64 последнее время:

https://disk.yandex.ru/i/t9vsEsdKNLHFCQ

Или нужно что то из 86 зарегистрировать?
17 kubik_live
 
11.08.23
13:03
(0) Если платформа серверная - необходимо зарегистрировать новую comcntr.dll в службе компонентов.
Старая наверно там есть раз работает...
18 kubik_live
 
11.08.23
13:11
+(17) Да и сервер 1С перезагрузить после регистрации оболочки треба...
19 kubik_live
 
11.08.23
13:20
(16) Здесь с картинками для 8.2 - 8.3 аналогично
https://infostart.ru/1c/articles/197627/
20 Zombi
 
15.08.23
09:13
(19) Заработало. Спасибо.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn