![]() |
![]() |
|
v7: Удаленное COM соединение в 1С 7.7 | ☑ | ||
---|---|---|---|---|
0
Denton_ww
03.07.13
✎
07:07
|
Доброе время суток !!!
М.б. кто сталкивался, есть задача по подключению к БД на 1С 7.7 удаленных серверов по COM. Задача успешно решается в 1С 8.x, т.к. можно указать ИмяСервера, где создается COM объект. v7 = Новый COMОбъект("V1CEnterprise.Application", <ИмяСервера>) Подскажите пожалуйста аналог в 1С 7.7 |
|||
1
skunk
03.07.13
✎
07:12
|
создатьобъект
|
|||
2
Denton_ww
03.07.13
✎
07:17
|
В СоздатьОбъект нет возможности указать Компьютер на котором будет он создаваться
|
|||
3
skunk
03.07.13
✎
07:18
|
(2)тебе надо там ... на сервере 1с запускать ... дком клюшка не поддерживает
|
|||
4
Trotter
03.07.13
✎
07:19
|
КаталогБазыОЛе = "C:\program files\1cv77\МояБаза\";
ПользовательОле = "Администратор"; ПарольОле = "qwerty"; МонопольныйРежимOLE = " /m"; // для немонопольного запуска указать пустую строку! ЗапускБезЗаставки = 1; // для появления заставки (например, чтобы наблюдать // процесс запуска базы OLE визуально) поставьте здесь "0" РезультатПодключения = БазаОле.Initialize ( БазаОле.RMTrade , "/d" + СокрЛП(КаталогБазыОле) + " /n" + СокрЛП(ПользовательОле)+ " /p" + СокрЛП(ПарольОле) + МонопольныйРежимOLE, ?(ЗапускБезЗаставки = 1,"NO_SPLASH_SHOW","")); Если РезультатПодключения = 0 Тогда Предупреждение("Не удалось подключится к указанной базе - проверьте вводные!"); КонецЕсли; просто путь к базе не устраивает ? |
|||
5
Denton_ww
03.07.13
✎
07:23
|
Привожу пример, 1С 7.7 установлена на сервере 192.168.1.2 надо по COM соединится с сервером 172.16.1.2. При этом каталог базы не доступен т.к. слишком узкий канал связи. Поэтому самое оптимально соединится по COM.
|
|||
6
Denton_ww
03.07.13
✎
07:25
|
Вот пример на 1С 8.2 Работающий
Попытка v7 = Новый COMОбъект("V1CEnterprise.Application", "172.16.1.2"); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Попытка Открыта = v7.Initialize(v7.RMTrade, "/D""" + База+ """ /nUserOLE /pPassword", "NO_SPLASH_SHOW"); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Если Не Открыта Тогда Сообщить(ОписаниеОшибки()); Возврат; КонецЕсли; Сообщить("База 1С 77 открыта"); |
|||
7
ЧеловекДуши
03.07.13
✎
07:49
|
(6) И что? Работает, заначит проблема только в одном месте :)
|
|||
8
Denton_ww
03.07.13
✎
07:54
|
Да работает только к сожалению я не могу так же сделать в 1С 7.7
v7 = СоздатьОбъект("V1CEnterprise.Application", "172.16.1.2"); |
|||
9
Denton_ww
03.07.13
✎
08:37
|
http://delphi.scps.ru/com/com5107.htm
CreateRemoteComObject интересно можно ли как то этим воспользоваться ? в 1С 7.7 |
|||
10
ДенисЧ
03.07.13
✎
08:48
|
тебе уже сказали, что 77 не умеет DCOM. Что тебе ещё объяснить?
|
|||
11
Denton_ww
03.07.13
✎
15:58
|
Задача решена. Пришлось написать компоненту DLL которая подключается по указанному IP с определенной строкой подключения.
Код 1С выглядит примерно так: Компонента = СоздатьОбъект("AddIn.Main"); База1С = Компонента.CreateRemoteOleObject("172.16.1.2", "/DD:\База\ /nUserOLE /p123456"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |