Пример подключения к другой ИБ с выборкой списка контрагентов для последующих действий с ними (добавление в текущую базу, отчеты итп).
Подключение к другой информационной базе происходит через Com объект “V83.COMConnector”. Важно, чтобы текущая база и база к которой мы подключаемся имели одну версию клиента и сервера
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | &НаКлиенте Процедура СоздатьКонтрагента(Команда) Перем НовыйКонтрагент; //подключение к другой базе ДругаяИБ = Новый COMОбъект("V83.COMConnector"); Попытка СоединениеДругаяБаза = ДругаяИБ.Connect("Srvr=192.168.0.1;Ref=baza;Usr=Администратор;Pwd=Пароль"); Состояние("Соединение Установлено !!!"); Исключение Предупреждение ("Не удалось соединится с другой базой"); КонецПопытки; // выборка списка контрагентов Запрос = СоединениеДругаяБаза.NewObject("Запрос"); Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка, | Контрагенты.Родитель.Код КАК Родитель, | Контрагенты.Наименование, | Контрагенты.НаименованиеПолное, | Контрагенты.ИНН, | Контрагенты.ЭтоГруппа, | Контрагенты.Код КАК КодУПЗП, | Контрагенты.КПП, | Контрагенты.Покупатель, | Контрагенты.Поставщик, | Пользователи.Код КАК АктивныйМенеджер |ИЗ | Справочник.Контрагенты КАК Контрагенты | Левое СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи | ПО Контрагенты.АктивныйМенеджер = Пользователи.ФизЛицо | И (НЕ Контрагенты.АктивныйМенеджер ЕСТЬ NULL) | И (НЕ Контрагенты.АктивныйМенеджер = ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)) |ГДЕ | Контрагенты.Ссылка В ИЕРАРХИИ(&Код) "; Запрос.УстановитьПараметр("Код",СоединениеДругаяБаза.справочники.контрагенты.НайтиПоКоду("000000019") ); Рез=Запрос.Выполнить().Выгрузить(); //обход выбранных контрагентов Если Рез.Количество() > 0 Тогда Для каждого стр из рез цикл НовыйКонтрагент = Новый Структура("Родитель,Наименование,НаименованиеПолное, код, ИНН,ЭтоГруппа,КПП,Покупатель,Поставщик,АктивныйМенеджер"); НовыйКонтрагент.Наименование = стр.наименование; НовыйКонтрагент.НаименованиеПолное = стр.НаименованиеПолное; НовыйКонтрагент.КОД= стр.Код; НовыйКонтрагент.ИНН = стр.ИНН; НовыйКонтрагент.Родитель = стр.Родитель; НовыйКонтрагент.ЭтоГруппа = стр.ЭтоГруппа; НовыйКонтрагент.КПП = стр.КПП; НовыйКонтрагент.Покупатель = стр.Покупатель; НовыйКонтрагент.Поставщик = стр.Поставщик; НовыйКонтрагент.АктивныйМенеджер = стр.АктивныйМенеджер; //передача данных в функцию на сервере по созданию контрагента Если СоздатьКонтрагентаНаСервере(НовыйКонтрагент) = 0 Тогда Сообщить("Не удалось создать нового контрагента"); КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры |
Если будут вопросы – пишите в комментариях.
Поделиться ссылкой:
Похожие записи
Соединение с другой информационной базой 1с