Имя: Пароль:
1C
1С v8
COM соединение
0 kolts23381
 
06.10.14
14:16
Подключаюсь через COM к другой базе. База находится на другом компьютере. При потере соединения все зависает. Как сделать чтоб по таймауту система раздуплялась а com соединение обрывалось?
1 palpetrovich
 
06.10.14
14:23
хз, может проверять периодически "живость" соединения?
2 kolts23381
 
06.10.14
14:26
Изначально если нет соединения, то все нормально выбивает исключение. Но если пропадет когда соединение установилось то все виснет. Пока я только проверяю, вытаскиваю кабель. Чтоб быть готовым к этому. Самое интересное что система оживает если кабель обратно поставить.
3 palpetrovich
 
06.10.14
14:32
(2) а если периодически вызывать нечто типа такого:
Функция ПроверитьСоединение(КомОбъектНоменклатура)
    Попытка
        Возврат    КомОбъектНоменклатура.НайтиПоКоду(1);
    Исключение
        Возврат Ложь
    КонецПопытки    
КонецФункции

"система оживает если кабель обратно поставить." - ну это тоже работает не вечно :)
4 palpetrovich
 
06.10.14
14:33
* хм
Возврат    КомОбъектНоменклатура.НайтиПоКоду(1);
заменить на что-то типа
Если  КомОбъектНоменклатура.НайтиПоКоду(1)...
Возврат  Истина
5 kolts23381
 
06.10.14
14:40
А куда поместить эту функцию? В базе приемнике или в подключаемой базе?
6 palpetrovich
 
06.10.14
14:48
(5) в той базе где комОбъект создается :)
Если соединение создается для переноса информации и есть некий общий цикл - функцию можно поместить в этой-же обработке и вызывать в этом цикле
Если что-то другое - можно организовать обработкуОжидания или может задачу...
зы: сам я не проверял, все в порядке бреда :)
Ошибка? Это не ошибка, это системная функция.