|
Com соединение в регламентном задании | ☑ | ||
---|---|---|---|---|
0
СЕсин
06.12.14
✎
21:12
|
Всем доброго времени суток! Помогите пожалуйста, не знаю как победить. Есть регламентное задание в самописной конфигурации, которое запускается, подсоединяется к другой базе через com, вытаскивает данные и отправляет их.
Вот проблема в том, что задание срабатывает раза 2 или 3 (всегда по-разному). А потом перестает выполняться и при попытке создания com объекта выдает такую ошибку: Ошибка при вызове конструктора (COMObject) по причине: по причине: -2147221008(0x800401F0): Не был произведен вызов CoInitialize. Помогает перезагрузка сервера. Перезапуск 1С не помогает. |
|||
1
Casey1984
07.12.14
✎
05:11
|
Ком-объект уничтожаешь при выходе из процедуры рег. задания?
|
|||
2
СЕсин
08.12.14
✎
02:26
|
(1) Я переменной, в которой был Com объект присваиваю Неопределено. Это считается уничтожением? Или как-то по-особенному надо уничтожать?
И ещё забавный момент. Если этот код не из регламентного задания вызывается, а из обработки внешней, например. То все ок. Т.е. видимо, в сеансе регламентного задания какие-то вещи происходят. |
|||
3
Wobland
08.12.14
✎
04:59
|
оно, конечно, считается уничтожением, но я в своей практике встречал ситуации опровергающие. пусть меня поправят более бородатые
|
|||
4
goleaff2006
08.12.14
✎
05:11
|
ком объект создается на сервере если через регламентное задание, а там не все так просто.
|
|||
5
DrZombi
гуру
08.12.14
✎
07:50
|
(2) А БД закрываешь? "V8_ОЛЕ.Exit();"
|
|||
6
DrZombi
гуру
08.12.14
✎
07:51
|
(3) Это 1С, от создателей этой платформы, можно и нужно ожидать всего :)
|
|||
7
СЕсин
08.12.14
✎
15:13
|
(5) нет, так не закрываю командой Exit. А у меня же не ОЛЕ, а Comconnector. Когда обнуляю переменную, подключение к базе теряется, не?
|
|||
8
DrZombi
гуру
08.12.14
✎
15:20
|
(7) Сомнения меня терзают :)
|
|||
9
DrZombi
гуру
08.12.14
✎
15:24
|
(7) А ты все сторонние ветви переменных ты тоже очищаешь?
Ну там, то что ты на создавал, от Документов до Запросов. Особенно уделить внимание какой-либо ТЗ в ТЗ :) |
|||
10
СЕсин
08.12.14
✎
22:44
|
(9) ну идея интересная. Добавил:
Результат = Неопределено; ИтогиТЗ = Неопределено; База = Неопределено; ТоргЗапрос = Неопределено; cntr = Неопределено; Сейчас перезапущу, посмотрим, что получится. Подключение у меня выглядит так: cntr = Новый COMObject("V83.COMConnector"); База = cntr.Connect("File="""+ПутьКБазе+"""; Usr="""+ИмяПользователя+"""; Pwd="""+Пароль+""";"); А кстати, есть метод обратный? Что-то типа Disconnect. Дело в том, что я раньше не парился. Обнуляю переменную, смотрю: соединение разорвано. |
|||
11
СЕсин
10.12.14
✎
11:22
|
Нифига... та же самая ошибка. Уже и разные платформы пробовал, пока не ясно в чем дело.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |