Имя: Пароль:
1C
1C 7.7
v7: Подскажите что не так при подключении к базе по OLE
,
0 aptomilov
 
17.08.11
10:41
ОЛЕ=СоздатьОбъект("V77.Application");
Путь="D:\v77_v8\ПУБ2009";
Парам=" /n логин /пароль";

СтатусПодключения =      ОЛЕ.Initialize(ОЛЕ.RMTrade, "/d"+СокрЛП(Путь)+Парам,"NO_SPLASH_SHOW");

СпрКупр=ОЛЕ.CreateObject("Справочник.Контрагенты");

Ошибка:
СпрКупр=ОЛЕ.CreateObject("Справочник.Контрагенты");
{D:\V77_V8\RARUS\TRANS_NULL\EXTFORMS\СИНХРОНИЗАЦИЯСПР_КОНТРТОЧКИ_КОНТР.ERT(42)}: 1С:Предприятие: Неудачная попытка создания объекта (Документ.Требование): 0
1 aptomilov
 
17.08.11
10:43
последнюю строку читать как

{D:\V77_V8\RARUS\TRANS_NULL\EXTFORMS\СИНХРОНИЗАЦИЯСПР_КОНТРТОЧКИ_КОНТР.ERT(42)}: 1С:Предприятие: Неудачная попытка создания объекта (Справочник.Контрагенты): 0
2 aptomilov
 
17.08.11
10:43
справочник там точно есть
3 chelentano
 
17.08.11
10:44
(0) нет такого объекта?
4 Ork
 
17.08.11
10:45
(0) Где проверка СтатусПодключения?
Откуда берется переменная ОЛЕ?
И где все-таки обращение к документу "Требование"?

Вся надежда на местных телепатов?
5 chelentano
 
17.08.11
10:45
(2) ну тогда хз, может буковку не ту воткнул, на латинице что-нибудь написал?
6 Ork
 
17.08.11
10:46
(2) Справочник то может и есть. Только ошибка связана с _документом_.
7 chelentano
 
17.08.11
10:46
(0) а может реально база не подключилась просто?
8 palpetrovich
 
17.08.11
10:47
проверь на
Если ПустоеЗначение(ОЛЕ.Метаданные) = 1 Тогда
9 aka AMIGO
 
17.08.11
10:47
(2) справочник-то есть, а проверку подключения не произвел.. подключение наверняка не выполнено
10 andrewks
 
17.08.11
10:47
как связан
Справочник.Контрагенты
и
Документ.Требование?
11 aptomilov
 
17.08.11
10:47
Процедура СоздатьЭлементыПапками()
   СпрКупр=ОЛЕ.CreateObject("Документ");
КонецПроцедуры    

Процедура Подключиться()  
   Если Подключение()=1 Тогда
       Сообщить ("Успешно подключились");
   Иначе
       Сообщить("Подключение не удалось");
   КонецЕсли;
КонецПроцедуры


??????????? ?? ???????
???????=???.CreateObject("????????");
{D:\V77_V8\RARUS\TRANS_NULL\EXTFORMS\????????????????_??????????_?????.ERT(42)}: 1?:???????????: ????????? ???????
12 aka AMIGO
 
17.08.11
10:48
(10) это ТС ошибся..
13 aptomilov
 
17.08.11
10:48
СпрКупр=ОЛЕ.CreateObject("Документ");
{D:\V77_V8\RARUS\TRANS_NULL\EXTFORMS\СИНХРОНИЗАЦИЯСПР_КОНТРТОЧКИ_КОНТР.ERT(42)}: 1С:Предприятие: Неудачная попытка создания объекта (Документ): 0
14 aptomilov
 
17.08.11
10:48
к базе подключается
15 aptomilov
 
17.08.11
10:49
даже объект документ не хочет создавать
16 andrewks
 
17.08.11
10:50
Процедура Подключиться()  
Рез=Подключение();
Сообщить("Рез="+Рез);
   Если Рез=1 Тогда
       Сообщить ("Успешно подключились");
   Иначе
       Сообщить("Подключение не удалось");
   КонецЕсли;
КонецПроцедуры

что в Рез?
17 palpetrovich
 
17.08.11
10:51
(14) проверь таки (8)
18 andrewks
 
17.08.11
10:52
Парам=" /N логин /P пароль";
19 пипец
 
17.08.11
10:52
V77=СоздатьОбъект("V77.Application");
   Если V77.Initialize(V77.RMTrade,,"NO_SPLASH_SHOW") = 0 тогда
       Сообщить("Неудачная попытка инициализации.");
       Возврат ;
       
   Иначе
   
       
   КонецЕсли;
20 smaharbA
 
17.08.11
10:53

Если ОЛЕ.Initialize(...)=0 Тогда
   Сообщить("Фигня какая то","!!!");
КонецЕсли;


+ давай целиком сюда

Путь=...;
Парам=...;
21 aptomilov
 
17.08.11
10:53
говорит что есть метаданные

Процедура Подключиться()  
   Если Подключение()=1 Тогда
       Сообщить ("Успешно подключились");
   Иначе
       Сообщить("Подключение не удалось");
   КонецЕсли;  
   Если ПустоеЗначение(ОЛЕ.Метаданные) = 1 Тогда
       Сообщить("Есть метаданные");
   КонецЕсли;    
КонецПроцедуры
22 Aprobator
 
17.08.11
10:53
если бы не было выполнено подключение, то ошибка была бы другая.
23 palpetrovich
 
17.08.11
10:54
и еще, помниться  "enterprise /D" использовал, не   "/d"
24 andrewks
 
17.08.11
10:54
емнип, возвращать может и -1 в некоторых случаях
25 aptomilov
 
17.08.11
10:55
andrewks, в результате 1 - есть подключение
26 smaharbA
 
17.08.11
10:55
(21) нет метаданных

Если ПустоеЗначение(ОЛЕ.Метаданные) = 0 Тогда
       Сообщить("Есть метаданные");
КонецЕсли;
27 andrewks
 
17.08.11
10:55
(25) что по (18)?
28 Aprobator
 
17.08.11
10:56
(23) а вот по поводу ошибки в строке подключения - согласен. Где указано как открывается база - в режиме конфигуратора или в режиме предприятия?
29 Ork
 
17.08.11
10:58
(21) Феерично.

Если ПустоеЗначение(ОЛЕ.Метаданные) = 1 Тогда
   Сообщить("Есть метаданные");
КонецЕсли;

Таким образом отсутствие метаданных="Есть метаданные"
30 andrewks
 
17.08.11
10:59
короче, читать
http://mista.ru/articles1c/ole.htm
до полного просветления
31 Ork
 
17.08.11
11:00
(23) Фишка не в регистре. Фишка в том, что у ТС в строку подключения вставляется "/пароль" вместо "/Рпароль".
32 aptomilov
 
17.08.11
11:00
может проблема в том что у меня ПУБ
33 aka AMIGO
 
17.08.11
11:00
Выкладываю очередной гкод:

       Открыта=0;
       Попытка
           Торг = СоздатьОбъект("V77M.Application"); //завис.ключ сетевая версия
           Открыта=1;
       Исключение
       КонецПопытки;
       
       Если Открыта = 0 Тогда
           Попытка
               Торг = СоздатьОбъект("V77.Application"); //зависимый ключ
               Открыта=1;
           Исключение
           КонецПопытки;
       КонецЕсли;
       
       Если Открыта = 0 Тогда
           Попытка
               Торг = СоздатьОбъект("V77S.Application"); //sql
               Открыта=1;
           Исключение
           КонецПопытки;
       КонецЕсли;
       
       Если Открыта = 0 Тогда
           Попытка
               Торг = СоздатьОбъект("V77L.Application"); //
               Открыта=1;
           Исключение
           КонецПопытки;
       КонецЕсли;
       КаталогИсточник = "D:\1cv7db\ТЫРР";
       ИмяПользователяV7 = "Оксана";
       ПарольПользователяV7 = "775";
       //Если Торг.Initialize(Торг.RMTrade,,) = 0 Тогда
       Если Торг.Initialize(Торг.RMTrade, "/d"""+КаталогИсточник+""" /n"+ИмяПользователяV7+" /p"+ПарольПользователяV7, "NO_SPLASH_SHOW")=0 Тогда
           Предупреждение("Невозможно открыть торговлю ");
           Возврат;
       Конецесли;

короче, причиной может быть буковка после V77...
34 smaharbA
 
17.08.11
11:00
без разницы, правдо тут могут быть коллизии если несколько платформ
35 palpetrovich
 
17.08.11
11:01
(31) я там ваще-т про "enterprise" :)
36 Ork
 
17.08.11
11:02
(32) Да вставь уже наконец проверку СтатусПодключения.
37 Ork
 
17.08.11
11:04
(35) Я думал намекбыл на регистр ключа к каталогу базы... А так - "Ентерпрайз" вообще указывается без ключа.
38 aptomilov
 
17.08.11
11:07
Народ я дико извиняюсь у меня база к которой я пытаюсь уже была открыта под этим именем ((((
закрыл и все заработало ))
39 andrewks
 
17.08.11
11:07
короче, резюмирую сказанное, ответ на сабж: "всё не так!" :-)
40 palpetrovich
 
17.08.11
11:08
(37) не знал. но проверять не буду ...как-то в последне время семерка начала поднадоедать  :)
41 aptomilov
 
17.08.11
11:08
кто подскажет как корректно закрыть подключение к базе
42 Aprobator
 
17.08.11
11:08
кстати, а у юзверя, под которым происходит подключение, право
"использование в качестве OLE Automation сервера" включено?
43 aka AMIGO
 
17.08.11
11:09
ОЛЕ=0;
44 Aprobator
 
17.08.11
11:09
(38) как просто ларчик открывался однако.
45 aka AMIGO
 
17.08.11
11:10
(44) треть россии трудилась :))
46 aptomilov
 
17.08.11
11:13
дико извиняюсь дамы и господа не усмотрел)
47 aka AMIGO
 
17.08.11
11:14
(46) да ладно, бывает :)
48 smaharbA
 
17.08.11
11:16
(38)

КаталогПользователяОле=КаталогВременныхФайлов()+_GetPerformanceCounter()+"\";
ФС.СоздатьКаталог(КаталогПользователяОле);
Парам=Парам+" /u"""+КаталогПользователяОле+"""";
...


и наведи порядок с проверкой подключения
49 aptomilov
 
17.08.11
11:25
спасибо за советы ....