|
Из javascript получить COM-объект 1с | ☑ | ||
---|---|---|---|---|
0
Dmitriy_
Kolesnikov 25.01.13
✎
13:14
|
Код должен вызывать одну единственную функцию из глобального модуля:
var DataN = '20121101'; var DataK = '20121201'; var ID = 89; //СтрокаПодключения = "srvr='" + Сервер + "'; ref='" + БазаДанных + "'; usr='" + Пользователь + "'; pwd='" + Пароль + "';"; usr = 'script'; pwd = '123123123'; srvr = 'tserv'; database = 'kvantdb'; ConnString = "srvr='" + srvr + "'; ref='" + database + "'; usr='" + usr + "'; pwd='" + pwd + "';"; var v8=new ActiveXObject("V8.COMConnector"); conn = v8.Connect(ConnString); ArchivePath = conn.Квант.ВыгрузитьПлатежныеДокументыЗаПериод(DataN, DataK, ID); //if (ArchivePath <> false) //{ printf(ArchivePath); //} //else //{ // printf('Error occured'); //} В строке 10 - ошибка, не может создать объект. Пробовал var v8=new ActiveXObject("V8.COMConnector"); var v8=new ActiveXObject("V81.COMConnector"); (у меня 8.1) - всё равно не может создать объект. Где я ошибся? |
|||
1
rs_trade
25.01.13
✎
13:21
|
(0) Из 1С создается? С ком-коннектором все в порядке?
|
|||
2
dk
25.01.13
✎
13:27
|
точно ActiveXObject?
|
|||
3
rs_trade
25.01.13
✎
13:29
|
(2) Да. Вот код из обработки обновления конфы
var ComConnector = new ActiveXObject(comConnectorName); ComConnection = ComConnector.Connect(connectionString); |
|||
4
vicof
25.01.13
✎
13:37
|
printf(ConnString) что пишет?
|
|||
5
Dmitriy_
Kolesnikov 25.01.13
✎
13:53
|
Да погодите, до Connect дело не доходит.
Ошибка в строке new ActiveXObject А ошибка такая: "невозможно создание объекта сервером программирования объектов" Проверяю в реестре: ProgID V81.COMConnector существует. |
|||
6
eklmn
гуру
25.01.13
✎
14:01
|
(5) ты не в реестре проверяй, а запущен ли он :)
|
|||
7
Dmitriy_
Kolesnikov 25.01.13
✎
14:03
|
На другом компе 10-я строка отрабатывает успешно. И 11-я тоже. Запинается на 12-й, на вызове ф-и:
Ошибка такая: Общий модуль: Квант (153,12): переменная не определена (БиблиотекаКартинок). Буду разбираться. Предполагаю, предшественники чего-то понаписали без расчета на то, что 1с будет запускаться не как обычное приложение, а как COM-объект. |
|||
8
eklmn
гуру
25.01.13
✎
14:05
|
(7) это у тебя уже ошибка процедуры, изначально у тебя другая ошибка :) определись ))
|
|||
9
Dmitriy_
Kolesnikov 25.01.13
✎
14:33
|
Да всё заработало на другом компе, но выдает ересь. Скажите, я даты правильно передаю из Яваскрипта в 1С?
|
|||
10
Torquader
26.01.13
✎
02:27
|
С JavaScript нужно аккуратнее, так как у него есть особенность - блокировать ActiveX объекты до вызова сборки мусора, что может приводить к блокировке данных, когда объект по мнению программы уже освобождён, а JavaScript его ещё не освободил.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |