Имя: Пароль:
1C
1С v8
Закрытие COM соединения
,
0 Сергиус
 
02.11.12
10:55
Попытка
  Коннектор = Новый COMОбъект("V82.COMConnector");
    Соединение = Коннектор.Connect("Usr=Имя;Pwd=Пароль;Srvr=Сервер;Ref=база;");
       //КонецЕсли;
   Исключение
       Сообщить(ОписаниеОшибки());
   КонецПопытки;

Как в процессе выполнения процедуры принудительно закрыть COM-соединение?

Если ставлю Коннектор = Неопределено, то это не помогает. В активных пользователях той базы, куда подключаюсь, все равно висит COM соединение под данным пользователем. Исчезает оно только когда заканчивается выполнение процедуры.
1 xXeNoNx
 
02.11.12
10:57
Коннектор = "";
2 Reset
 
02.11.12
10:58
Соединение=Неопределено;
3 Сергиус
 
02.11.12
10:58
(1) Это не тоже самое, что Коннектор = Неопределено?
4 Reset
 
02.11.12
10:58
(3) То же самое
5 Сергиус
 
02.11.12
10:59
(2)Пробовал - все равно висит соединение. ЧЯДНТ?
6 Сергиус
 
02.11.12
10:59
+(5) COMСоединение в той базе, куда подключаюсь
7 GenV
 
02.11.12
11:00
(5) Проверь, что сбросил все объекты которые получал через СОМ.
8 xXeNoNx
 
02.11.12
11:01
(2) Не совсем
9 xXeNoNx
 
02.11.12
11:02
+(7) А ну да.., те объекты которые ты создал через COM надо = "";
10 Reset
 
02.11.12
11:03
(7) +1, Логично
11 Сергиус
 
02.11.12
11:03
(7) Делаю запрос - в результате получаю Табл = Запрос.Выполнить().Выгрузить() - надо сделать так:

1)Табл = "";
2)Коннектор = "";

Такая последовательность?
12 xXeNoNx
 
02.11.12
11:04
(11) Да, сначала объекты, затем Коннектор
13 Сергиус
 
02.11.12
11:07
(12) Пробовал - все также..не помогает
14 GenV
 
02.11.12
11:10
(13) Значит все таки какой-то объект пропустил. Раз при выходе сбрасывается (неявно 1С очищает твои объекты).
ЗЫ Пошагово убирай работу с объектами СОМ и смотри на каком остается.
15 Сергиус
 
02.11.12
11:12
Все, народ, спасибо, разобрался. Надо было так:

Запрос = "";
Коннектор = "";

И все закрывается.
16 xXeNoNx
 
02.11.12
11:13
(15) Запрос жеш тож COM-ский)
Ошибка? Это не ошибка, это системная функция.