|
Создание подключения к другой базе через Com |
☑ |
0
DoctorRoza
15.10.12
✎
19:25
|
Коллеги, подскажите пожалуйста. Необходимо создать подключение к базе 1С.Трактир из типовой БП через com при создании нового элемента справочника Контрагенты. Чтобы минимизировать изменения использую подписку на событие, а именно: ОбработкаПроверкиЗаполнения. Модуль, в котором прописана функция подключения Клиент (Упр и обычн. прилож), Внешнее соединение - V. База - файловая.
При создании элемента comОбъект не создается, тип - неопределено. Сообщений никаких, неопределно и все. Изменял флаги общего модуля, добавлял серверыный и вызов сервера, выскакивала ошибка передачи мутабельного значения. Подскажите, как обойти проблему и создать соединение.
Использую
V8 = Новый COMОбъект("V82.ComConnector");
и т.д.
|
|
1
mxs089
16.10.12
✎
02:51
|
регистрировал компоненту? regsvr32 "1с\bin\comcntr.dll"?
|
|
2
Boleev v2
16.10.12
✎
02:57
|
попробуй тогда
БазаOle = Новый COMобъект("V82.Application");
|
|
3
DoctorRoza
16.10.12
✎
10:04
|
Да, компонента зарегистрирована. Если создаю подключение где-нибудь в др. месте, не в подписке на событие, соединение создается. Через Оле делать не хочется, всякие диалоговые окна будут лишними и буху не понравятся.
|
|
4
Alex375
16.10.12
✎
10:33
|
У меня вот так работает:
Если ФайловаяБаза Тогда
СтрокаПодключения = "File=""" + ПутьБазы + """; Usr =""" + Пользователь + """;" +
?(ПустаяСтрока(Пароль), "", "Pwd=""" + Пароль + """;");
Иначе
СтрокаПодключения = "Srvr=""" + СерверБазы + """; Ref=""" + ИмяБазы + """; Usr =""" + Пользователь + """;" +
?(ПустаяСтрока(Пароль), "", "Pwd=""" + Пароль + """;");
КонецЕсли;
//Создаем подключение
V8COM = Новый COMObject("V82.COMConnector");
//Открываем соединение
Попытка
БазаOLE = V8COM.Connect(СтрокаПодключения);
//Проверим на всякий случай тип объекта соединения
Если ТипЗнч(БазаOLE) = Тип("COMОбъект") Тогда
ВывестиСообщение("Подключение к базе 1С Центральная прошло успешно.", СтатусСообщения.Информация);
Иначе
БазаOLE = Неопределено;
Возврат Истина;
КонецЕсли;
Исключение
ВывестиСообщение(ОписаниеОшибки(), СтатусСообщения.ОченьВажное);
БазаOLE = Неопределено;
Возврат Истина;
КонецПопытки;
|
|
5
DoctorRoza
16.10.12
✎
10:49
|
Что то подобное у меня прописано, только это не работает в подписке на событие
|
|
6
Defender aka LINN
16.10.12
✎
10:52
|
Жесть какая. Не жалко юзверей-то?
|
|
7
cw014
16.10.12
✎
10:52
|
Модуль, в котором прописана функция подключения Клиент (Упр и обычн. прилож)
|
|
8
cw014
16.10.12
✎
10:52
|
Из клиентского модуля вызывай сервер, а на нем создавай внешнее соединение
|
|
9
DoctorRoza
16.10.12
✎
11:03
|
Бухгалтерия 2.0 .. толстый клиент ..
|
|
10
DoctorRoza
16.10.12
✎
11:03
|
тут все на клиенте
|
|