Имя: Пароль:
1C
1C 7.7
v7: Подключение через ole к 7.7
,
0 Топтыга
 
30.07.14
09:51
Подключаюсь к базе собираю данные по кассе, после отключения связь разрывается все нормально. При добавлении бух запроса по банку, после подключения к базе и сбора информации, не могу отключится от базы, процесс продолжает висеть. Уже гуглил, все предложенное не помогло. Ниже процедура бух запроса. Если не сохранять переменную "докБанка", то процесс отваливается, все нормально, как только пытаюсь сохранить докБанка, процесс висит, что может быть  
Процедура ОбработатьБанк (внБАза,тз_основная)
    Если ВнБаза=0 тогда
        БухЗапросПоБанку=СоздатьОбъект("бухгалтерскиеИтоги");
    Иначе
        БухЗапросПоБанку=ОлеБаза.CreateObject("БухгалтерскиеИтоги");
    КонецЕСли;
    РезультатЗапросаБанка=БухЗапросПоБанку.ВыполнитьЗапрос(НачДата,КонДата,"51",,,,"Операция",);
    Если РезультатЗапросаБанка=0 тогда
        Сообщить("По банку дв. нет");
    КонецЕСли;
БухЗапросПоБанку.ВыбратьПериоды();
Пока БухЗапросПоБанку.ПолучитьПериод()=1 Цикл
    //ДокБанк=БухЗапросПоБанку.Операция.Документ;
    ВидДокументаБанка=БухЗапросПоБанку.Операция.Документ.Вид();
    Если ВидДокументаБанка<>"Выписка" тогда
        Продолжить;
    КонецЕСли;
КонецЦикла;
БухЗапросПоБанку="";
ДокБанк="";
ВидДокументаБанка="";
    
КонецПроцедуры
1 pessok
 
30.07.14
09:55
ОлеБаза = Неопределено;
2 ikea
 
30.07.14
09:57
Чтобы Оле отвалилась нормально, нужно обнулять ВСЕ переменные Оле, иначе будет висеть.
3 Топтыга
 
30.07.14
09:59
Так я все и обнуляю, все равно висит
4 ikea
 
30.07.14
09:59
И потом, переменная докБанка хранит объект Оле, так что нужно обнулять. Если необходимо хранить ее, то попробуйте сделать строковое представление в текущей базе, а саму переменную все равно придется обнулить.
5 ikea
 
30.07.14
10:00
А внБАза обнулять пробовали?
6 Топтыга
 
30.07.14
10:02
(5) внБАза это флаг 0 или 1;
(4) докБанка=""; Не обнуляет разве?
7 Топтыга
 
30.07.14
10:03
Точно такой же запрос по кассе работает нормально и отваливается, я уже все голову сломал.
8 ikea
 
30.07.14
10:05
Так, а переменная ОлеБаза="" ?
9 Топтыга
 
30.07.14
10:07
ОлеБАза обнуляется после выхода из процедуры.
Обнулил в процедуре после цикла не помогло, в отладчике посмотрел все переменные, нет ссылки на оле
10 ikea
 
30.07.14
10:08
Ну тогда попробуйте последнее: РезультатЗапросаБанка=""; Болше нечего обнулять.
11 Топтыга
 
30.07.14
10:14
И я про тоже, что обнулять не чего
РезультатЗапросаБанка это 1 или 0 и здесь не причем, если закоментить
//ДокБанк=БухЗапросПоБанку.Операция.Документ;
все отваливается, как надо.
Ну прям, загадка.
12 Топтыга
 
30.07.14
10:32
Если еще варианты у кого нить?
13 Топтыга
 
30.07.14
11:01
А может быть что либо с системой, с самой базой?
14 ikea
 
30.07.14
12:34
БазаОЛЕ.ЗавершитьРаботуСистемы(0);?
15 Ёпрст
 
30.07.14
12:36
ОлеБаза="";
16 Ёпрст
 
30.07.14
12:37
Ну и.. Форма.Закрыть(0) однозначно разорвёт оле соединение
17 saga2
 
30.07.14
12:44
ДокБанк=БухЗапросПоБанку.Операция.Документ.НомерДок;
Потом искать по номеру.
18 ADirks
 
30.07.14
13:57
а напиши

ДокБанк=БухЗапросПоБанку.Операция.Документ;
Сообщить(""+ДокБанк);

может, натолкнёт на какие мысли
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой