![]() |
|
Как подключиться по ОЛЕ к 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); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |