Имя: Пароль:
1C
1С v8
Com соединение из 8.3 к 8.2
,
0 mefisto666series
 
02.02.16
12:48
Есть две базы,одна 8.3 бп 3.0, вторая на 8.2 бп 2.0 Есть задача подключиться из 8.3 к 8.2, найти нужные доки и вытянуть из них инфу. Расположены обе базы на серваках, на разных. Пока для тестов я наваял обработочку, которая по кнопке делает следующее:

V82Com = Новый COMОбъект("V82.COMConnector");
        ПутьКБазе = "srvr="""+ СокрЛП(КластерСерверов) +""";"+
                      "ref=""" + СокрЛП(ИмяИБВКластере)  +""";";
        СТрокаСоединения = ПутьКБазе + "Usr="""+ СокрЛП(ИмяПользователя) +""";"+
             "Pwd="""+ СокрЛП(Пароль) +""";";
        Попытка
            МояБазаДанных = V82Com.Connect(СтрокаСоединения);
        Исключение
            Возврат(ОписаниеОшибки());
        КонецПопытки;
        Документ = МояБазаДанных.Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру("СРМ00000103");
        НаименованиеКонтрагента = Документ.Контрагент.Наименование;
        Возврат(НаименованиеКонтрагента);

Но этот код плюется такой ошибкой:
{Форма.Форма.Форма(18)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V82.COMConnector.1): Error performing operation with infobase
server_addr=tcp://server-app2:1541 descr='Windows Sockets' library method aborted. Error code -
(Windows Sockets - 10054(0x00002746). An existing connection was forcibly closed by the remote host. ) line=947 file=Src\DataExchangeTcpClientImpl.cpp

как поправить или что-то, может, не так с сервером?
1 butterbean
 
02.02.16
12:51
8.2 на вызывающем серваке установлена?
2 hhhh
 
02.02.16
12:53
(0) и с НайтиПоНомеру уже даже не смешно. Ну сколько можно талдычить, что в НайтиПоНомеру два параметра. Книги тогда хотя бы читайте.
3 butterbean
 
02.02.16
13:04
(2) может у них непериодическая нумерация
4 mefisto666series
 
02.02.16
13:07
(1) доподлинно мне неизвестно, но если использовать v83.COMConnector, кидает ошибку

{Форма.Форма.Форма(18)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Client software code version does not match 1C:Enterprise server version
Различаются версии клиента и сервера (8.3.6.2332 - 8.2.19.130), клиентское приложение: COM-соединение
5 Лефмихалыч
 
02.02.16
13:14
на вызывающем компе должна быть установлена именно 8.2.19.130 и ни в коем случае ни одной более поздней. COM-коннектор в системе будет того релиза, который самый свежий был установлен (это не касается минорной версии). Например, если установить 8.2.19.130, 8.2.20.99 и 8.3.9.13, то com-коннектора будет два - 8.2.20.99 и 8.3.9.13, а коннектор от 8.2.19.130 получить будет уже не возможно без удаления 8.2.20.99
6 Лефмихалыч
 
02.02.16
13:14
+(5) а в ряде случаев - и после удаления тоже будет не возможно...
7 lubitelxml
 
02.02.16
13:23
(5) так можно же из любой через компоненты руками добавлять?
8 lubitelxml
 
02.02.16
13:24
+(7) всмысле регать а не добавлять
9 Лефмихалыч
 
02.02.16
15:01
(8) (7) ну, поробуй
10 etc
 
02.02.16
15:05
11 shuhard
 
02.02.16
15:25
(5)[на вызывающем компе должна быть установлена именно 8.2.19.130 и ни в коем случае ни одной более поздней]

cntr = Новый COMObject("V83.COMConnector","dev-erp");

и будет тебе dll с сервера =)
12 TormozIT
 
гуру
02.02.16
15:31
Взаимодействие между базами 1С через COM
http://catalog.mista.ru/public/387577/
13 Лефмихалыч
 
02.02.16
15:35
(11) кстати, да - вариант, я как-то не подумал об нем
14 Jokero
 
02.02.16
16:00
Та же задача, нужно с 8.3 подключится к 8.2. При этом на 8.2, куда подключаюсь 8.3 не стоит. Зарегил на серваке в отдельном COM Application библиотеку из набора 8.3. - comcntr.dll
Все равно при подключении пишет, что версии разные. Поlставил, "dev-erp", теперь пишет:"Сервер RPC недоступен."
Как победить этот коннектор?

V8X.Application - при подключении вообще зависает намертво.
Чем еще связать базы, чтоб запрос выполнить?
(з.ы не мой сегодня день)
15 etc
 
02.02.16
16:06
(14) номер порта проверь
16 etc
 
02.02.16
16:08
> Различаются версии клиента (8.3.6.2332) и сервера (8.2.19.130)
Ты из 8.3 подключаешся к 8.2, а клиент у тебя почему-то выдает версию 8.3. Проверь какой версии ком ты инициализируешь. V83.ComConnector или V82.
17 Новиков
 
02.02.16
16:27
18 Лефмихалыч
 
02.02.16
22:55
(14) стыдно. Почитал бы хоть в СП про второй параметр прежде, чем копипастить без мозгов.

V82Com = Новый COMОбъект("V82.COMConnector", "вот сюда надо написать имя сервера приложений 8.2");
19 ЧеловекДуши
 
03.02.16
07:01
(0) Зубдь про КОМ. Только ОЛЕ :)
У 1С с КОМ-омо все плохо. Любит только одну и туже версию клиента :)
Ведать Руки у писателей 1С не под то заточены.
20 ЧеловекДуши
 
03.02.16
07:02
(16) Ты может не знал, но по сути КОМ универсален, и затык только на стороне кривизны самой 1С. Нормальные приложения не обращают внимание на версии Комков :)
21 Jokero
 
03.02.16
08:00
(18) Да я ставлю туда свой сервер принимающий, но каждый раз какие-то разные ошибки - то "Недопустимая строка с указанием класса", то "Отказано в доступе", то еще какие-то ошибки.
Я уже обе версии коннектора на принимающем сервере в пустой Com Application обернул, все равно ничего не помогает.

К ораклу и к Оебс подключается без проблем, стыдно будет сказать прогерам этих систем, что не удается сконнектить между собой две базы 1С. )))
22 Лефмихалыч
 
03.02.16
08:47
(19)(20) Бред. Атомный.

(21) >каждый раз какие-то разные ошибки
значит ты что-то еще каждый раз по-разному неправильно делаешь. Второй параметр отлично работает, начиная с 8.2.
23 mefisto666series
 
03.02.16
17:04
(1) установлена
24 mefisto666series
 
03.02.16
17:07
(16) v82, на вызывающей стороне установлена 8.2.19.130
25 mefisto666series
 
03.02.16
17:09
(18) не знаю насколько это относится к моей проблеме, но я попробовал прописать имя сервера приложений(это же кластер подразумевается?) и получаю ошибку Ошибка при вызове конструктора (COMОбъект): -2147024891(0x80070005): Access is denied.
26 TormozIT
 
гуру
03.02.16
18:07
(25) Логично, ведь ты не читал http://catalog.mista.ru/public/387577/ и потому не настроил COM+ приложение для удаленной (нелокальной) активации.
27 shuhard
 
03.02.16
18:33
(14)[Поlставил, "dev-erp", теперь пишет:"Сервер RPC недоступен." ]
а DCOM то настроил ?