P
P
pofig22172016-02-15 20:06:09
1C
pofig2217, 2016-02-15 20:06:09

How to connect to the 1C database over the network (tcp-ip) via OLE or COM?

Good afternoon,
there are 2 different 1C databases - 7.7 (file), 8.2 (sql). The bases are located within the same network, the servers with the bases are routable via tcp/ip.
How to connect from one database to another via OLE or COM?
Previously, I connected via OLE only within one machine, are there any peculiarities when connecting to a network database? perhaps it?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Andrew, 2016-03-03
@pofig2217

//вытянем данные из базы
       СистемнаяИнформация=Новый СистемнаяИнформация;
       ВерсияПлатфомы=Лев(СистемнаяИнформация.ВерсияПриложения,3);
       Если ВерсияПлатфомы="8.0" Тогда 
         Коннектор=Новый COMОбъект("V8.COMConnector");
       ИначеЕсли ВерсияПлатфомы="8.1" Тогда 
         Коннектор=Новый COMОбъект("V81.COMConnector");
       ИначеЕсли ВерсияПлатфомы="8.2" Тогда 
         Коннектор=Новый COMОбъект("V82.COMConnector");
       Иначе 
         Предупреждение("Вы используете марсианскую версию программы. Эта обработка предназначена только для жителей Земли.");
         //Возврат Ложь;	
       КонецЕсли;	
       Попытка
// Если подключаешься к файловой базе
         глСоединениеСЦБ = Коннектор.Connect("file='"+ПутьКОсновнойБазе+"'; usr='"+ИмяПользователяБазы+"'; pwd='"+ПарольПользователяБазы+"';");
// если к скульной
глСоединениеСЦБ=Коннектор.Connect("Srvr='Имя сервака';Ref='База в нем'; usr='Пользователь'; pwd='пароль';");

       Исключение
         Сообщить(ОписаниеОшибки());
         //Возврат Ложь;	
       КонецПопытки;

And then we process it as we want
.
Just keep in mind that in this way you can get simple values ​​\u200b\u200b(Number, string)
I.e. you get a name or code in your database, and then in yours you look for a match
StringTable2.Nomenclature=References.Nomenclature.FindByName(Selection.Nomenclature.Description);

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question