Доступ к другой БД 1С через V83.COMConnector
Задача: перенести содержимое регистра из одной БД в другую.
Решение: одним из способов (помимо обработки ВыгрузкаЗагрузкаДанныхXML.epf) является прямая загрузка через COM подключение. Вышло примерно так:
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 |
// соединяемся с БД V8=Новый COMОбъект("V83.COMConnector"); Попытка База=V8.Connect("Srvr=""fserferfw""; Ref=""ewrfwe""; Usr=""werfwerfwe""; Pwd=""werfwerfwer"";") Исключение сообщить("Чтото пошло не так.."); КонецПопытки; // делаем выборку из нашего регистра Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 10 | ОчередьРаботыСВотцапСрезПоследних.Телефон КАК Телефон, | ОчередьРаботыСВотцапСрезПоследних.ЛицевойСчет КАК ЛицевойСчет, | ОчередьРаботыСВотцапСрезПоследних.ЛицевойСчет.Код КАК ЛицевойСчетКод, | ОчередьРаботыСВотцапСрезПоследних.Период КАК Период, | ОчередьРаботыСВотцапСрезПоследних.Сообщение КАК Сообщение, | ОчередьРаботыСВотцапСрезПоследних.ДатаОбработки КАК ДатаОбработки |ИЗ | РегистрСведений.ОчередьРаботыСВотцап.СрезПоследних КАК ОчередьРаботыСВотцапСрезПоследних |ГДЕ | ОчередьРаботыСВотцапСрезПоследних.Результат = &Результат"; Запрос.УстановитьПараметр("Результат", перечисления.ГринРезультатЗапроса.Успешно); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл МенеджерЗаписи =База.РегистрыСведений.ОчередьРаботыСВотцап.СоздатьМенеджерЗаписи(); МенеджерЗаписи.ЛицевойСчет = База.справочники.vscЛицевыеСчета.НайтиПоКоду(ВыборкаДетальныеЗаписи.ЛицевойСчетКод); МенеджерЗаписи.Телефон = ВыборкаДетальныеЗаписи.Телефон; МенеджерЗаписи.Действие = База.перечисления.ГринДействияСВотцап.ПроверкаНаличияВотцап; МенеджерЗаписи.Результат= База.перечисления.ГринРезультатЗапроса.Успешно; МенеджерЗаписи.ДатаОбработки=ВыборкаДетальныеЗаписи.ДатаОбработки; МенеджерЗаписи.Период=ВыборкаДетальныеЗаписи.Период; МенеджерЗаписи.Статус= База.перечисления.СтатусОчередиВотцап.Обработан; МенеджерЗаписи.Записать(); КонецЦикла; |