Имя: Пароль:
1C
1С v8
Подключение через OLE
0 Sun125
 
15.08.11
14:53
Подскажите, пожалйста, как подключиться в 8.2 к базе 8.1 через OLE?
           Открыта = База.Initialize(База.RMTrade, "/D"+""""+СокрЛП(Каталог)+"\"+""""+"/N"+Имя+" /P"+Пароль, "NO_SPLASH_SHOW");  // Ошибка: поле "RMTrade" не обнаружено
1 Alexion124
 
15.08.11
14:55
Открыта = База.Initialize(RMTrade, "/D"+""""+СокрЛП(Каталог)+"\"+""""+"/N"+Имя+" /P"+Пароль, "NO_SPLASH_SHOW");
2 Alexion124
 
15.08.11
14:55
+1 может так
3 Sun125
 
15.08.11
14:56
RMTrade переменная??
4 Sun125
 
15.08.11
14:57
ошибку выдает
5 Rie
 
15.08.11
14:59
(3) RMTrade - свойство База.
Надо писать База.RMTrade
6 Sun125
 
15.08.11
15:01
(5) выдает ошибку, что такое поле не обнаружено
7 Rie
 
15.08.11
15:03
(6) И правильно выдаёт!
У тебя же к 8.1, а не к 7.7!
Совсем другое подключение - через Connect, и строка подключения другая!
8 Sun125
 
15.08.11
15:04
может у кого есть пример подключения к 8.1? подскажите, пожалуйста
9 Rie
 
15.08.11
15:06
(8) У тебя есть.
Справка - Содержание справки - Встроенный язык - Средства интеграции - COM-соединитель - методы - Connect
10 Sun125
 
15.08.11
15:34
спасибо, получилось! вопрос только: а почему после этого обработка не закрывается? висит
11 palpetrovich
 
15.08.11
15:38
(10) может на "закрыть" тыцнуть? :)
12 Sun125
 
15.08.11
15:42
(11) ну серьезно не закрывается))тыкаю на закрыть и начинает висеть
13 Sun125
 
15.08.11
15:45
если не закрывая обработку, снова ее запускаю на выполнение, где происходит соединение, то обработка так же висит
14 Rie
 
15.08.11
15:48
(12) Начинает висеть - хорошо сказано. Что при закрытии обработки происходит? Что происходит при закрытии соединения?
15 Sun125
 
15.08.11
15:55
(14) При закрытии обработки ничего не происходит, процедуры такой вообще нет. а при закрытии соединения не знаю даже, его закрытие нужно как-то прописывать? у меня просто соединение с базой, вот и весь код.
16 Rie
 
15.08.11
16:36
(15) Пока существует переменная, хранящая соединение, - существует и соединение. Равно как и если есть ссылка на какой-то объект из соединения - оно продолжает существовать. Может, у тебя какая-то из этих переменных - сильно глобальная?

Сильного подвисания при закрытии соединения быть не должно. Так что что-то в твоём коде неладно.
17 palpetrovich
 
15.08.11
17:01
(15) действие на кнопке закрыть есть надеюсь?


Функция ПодключитьсяКбазеУТ()
   
   ПодключаемаяБаза = Новый COMObject("V81.ComConnector");
   Попытка
       Соединение = ПодключаемаяБаза.Connect("File="+КаталогПодключаемойБазы+"; Usr="+ПользовательПодключаемойБазы+"; Pwd="+ПарольПодключаемойБазы);
       Возврат Истина;
   Исключение
       Предупреждение("Не удалось подключиться к базе !");
       Возврат Ложь;
   КонецПопытки;
 
КонецФункции


Процедура ПриЗакрытии()
   
   ПодключаемаяБаза = 0;    
   Соединение = 0;    
   
КонецПроцедуры
18 sol
 
15.08.11
17:06
(10) В базе которую открываешь сделай настройку, чтобы она закрывалась без подтверждения.
AdBlock убивает бесплатный контент. 1Сергей