Имя: Пароль:
1C
1С v8
Как подключиться по ОЛЕ к 1с82,
0 Босечка
 
12.11.14
16:08
Сделала так:
Бух = Новый COMобъект("V82.Application");
Попытка
Бух.Connect("File=""Е:\БП"";Usr="";Pwd="";");
сообщить("Получилось!!!!");
Исключение
сообщить("база не открыта");
Возврат;
КонецПопытки;    


зависает и предлагает создать новую базу. когда она есть уже. Пользователя и пароля в базе нет.
1 vde69
 
12.11.14
16:09
8.2 не поддерживает сервер OLE, только COM...
2 Босечка
 
12.11.14
16:11
И как делать в этом случае?
3 vde69
 
12.11.14
16:11
надо так
Бух.Connect("File=""Е:\БП"";Usr=;Pwd=;");

или так

Бух.Connect("File=""Е:\БП"";Usr="""";Pwd="""";");
4 Босечка
 
12.11.14
16:14
все равно не работает!!!!!!!!!
5 DS
 
12.11.14
16:17
Какой полный путь к "1Cv8.1CD"?
6 18_plus
 
12.11.14
16:18
"V82.COMConnector"
7 DexterMorgan
 
12.11.14
16:24
(1) пруф?
8 vde69
 
12.11.14
16:38
"зависает" у тебя по весьма простой причине,

ты обращаешся к аплекейшину (к оконному экземпляру), но окошко "скрыто", а весит у тебя ожидая интерактивное действие (например ввод пользователя или вопрос какой).

ком не поддерживает оконные функции, по этому там и модуль другой и системных вопросов нет

(7) лень искать... зарегить как сервер OLE можно но полноценно работать не будет, а регится будет по тому как COM это OLE-2 (тупо второе поколение), частиная совместимость есть... кроме того OLE на х64 априори не работает :)
9 Босечка
 
12.11.14
16:40
trade = Новый COMобъект("V82.COMConnector");
Попытка
Стр="File=""E:\БП"";Usr=""Nata"";Pwd=""1"";";
trade.Connect(Стр);
сообщить("Получилось");
Исключение
сообщить("база не открыта");
Возврат;
КонецПопытки;
10 DS
 
12.11.14
16:42
(8) Если предлагает создать новую базу, - значит не находит ту, что указана в строке соединения, - значит что-то некорректно указано. Скорее всего ошибка в пути к базе.
11 Босечка
 
12.11.14
16:42
на 64 не работает?
12 DS
 
12.11.14
16:43
(9) В исключение надо поместить
Сообщить(ОписаниеОшибки());
чтобы была ясна причина.
13 DS
 
12.11.14
16:44
(11) С 64 надо проделать манипуляции по подключению DCOM компоненты.
14 vde69
 
12.11.14
16:45
(11) на 64х OLE сервер не зарегестрировать, COM вроде регится....
15 Босечка
 
12.11.14
16:51
{Форма.Форма.Форма(45)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V82.COMConnector.1): Существуют активные сеансы работы с данной базой, использующие версию платформы, не поддерживающую совместную работы с этой версией.
Не совпадает версия временного файла.

база не открыта
16 DS
 
12.11.14
16:55
(15) Семен Семеныч!
17 hhhh
 
12.11.14
16:56
(15) а, ну это баян. Значит, кто-то из пользователей через 8.3 зашел в базу.
18 vde69
 
12.11.14
16:56
(15)вот тебе и ответ, зарегестрированый COM сервер другой версии чем база которую хочешь открыть. Переконверти базу...
19 Босечка
 
12.11.14
17:15
Все получилось!!!!!!!!!!!!
trade = Новый COMобъект("V83.COMConnector");
Попытка
Стр="File=""E:\БП"";Usr=""Nata"";Pwd=""1"";";
trade.Connect(Стр);
сообщить("Получилось");
Исключение
сообщить("база не открыта");
Возврат;
КонецПопытки;
20 hhhh
 
12.11.14
17:20
(19) вам надо список инф баз у пользователей прошерстить. Чтобы одинаково у всех было. Или 8.3 или 8.2.
21 18_plus
 
12.11.14
17:22
подозреваю, что там все 8.3
22 18_plus
 
12.11.14
17:23
не, не все :)
23 Босечка
 
12.11.14
18:07
Новая проблема....
Прием = trade.Документы.ПриемНаработуВОрганизацию.Выбрать(Дата1,Дата2);
Поле объекта не обнаружено "дОКУМЕНТЫ"
24 Босечка
 
12.11.14
18:19
ап...
25 Босечка
 
12.11.14
18:24
Почему она ругается?
26 DS
 
12.11.14
18:35
Потому что надо так:
tradeПоСом = trade.Connect(Стр);
tradeПоСом.Документы.ПриемНаработуВОрганизацию.Выбрать(Дата1,Дата2);
AdBlock убивает бесплатный контент. 1Сергей