COM соединение
17.06.2008
14:10
#1
ПОдскажите пожалуйста как вытащить реквизиты документа из удаленной базы в местную? Параметры документа(Вид документа, номер) вводятся пользователем в соответствующие поля. далее прога получает этот документ из удаленной базы. требуется его в местной базе сохранить, а универсального механизма для чтения всех реквизитов документа в оле я не знаю.
18.06.2008
04:21
#2
"Вот примерно так. Куски реального кода.
...
Коннектор = Новый COMОбъект("V81.COMConnector");
Попытка
Состояние("Попытка COM-соединения...");
Соединение = Коннектор.Connect(СтрокаПодключения);
Состояние("Открыто COM-соединение...");
РезультатПодключения = Истина;
Исключение
РезультатПодключения = Ложь;
КонецПопытки;
...
Функция ПолучитьДокументРеализацияТоваров(Ссылка)
Если Ссылка = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
Если Ссылка.Пустая() Тогда
Возврат Соединение.Документы.РеализацияТоваровУслуг.ПустаяСсылка();
КонецЕсли;
БухСсылка = Соединение.Документы.РеализацияТоваровУслуг.ПустаяСсылка();
БухЗапрос = Соединение.NewObject("Запрос");
БухЗапрос.Текст = "ВЫБРАТЬ
|РеализацияТоваровУслуг.Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачалоДня И &ДатаКонецДня";
БухЗапрос.УстановитьПараметр("ДатаНачалоДня", НачалоДня(Ссылка.Дата));
БухЗапрос.УстановитьПараметр("ДатаКонецДня", КонецДня(Ссылка.Дата));
БухВыборка = БухЗапрос.Выполнить().Выбрать();
Если БухВыборка.Следующий() Тогда
БухСсылка = БухВыборка.Ссылка;
КонецЕсли;
Если БухСсылка.Пустая() Тогда
БухОбъект = Соединение.Документы.РеализацияТоваровУслуг.СоздатьДокумент();
Иначе
БухОбъект = БухСсылка.ПолучитьОбъект();
КонецЕсли;
БухОбъект.Дата = Ссылка.Дата;
БухОбъект.ВидОперации = Соединение.Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия;
БухОбъект.Организация = БухОрганизация;
...
и т.д."
...
Коннектор = Новый COMОбъект("V81.COMConnector");
Попытка
Состояние("Попытка COM-соединения...");
Соединение = Коннектор.Connect(СтрокаПодключения);
Состояние("Открыто COM-соединение...");
РезультатПодключения = Истина;
Исключение
РезультатПодключения = Ложь;
КонецПопытки;
...
Функция ПолучитьДокументРеализацияТоваров(Ссылка)
Если Ссылка = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
Если Ссылка.Пустая() Тогда
Возврат Соединение.Документы.РеализацияТоваровУслуг.ПустаяСсылка();
КонецЕсли;
БухСсылка = Соединение.Документы.РеализацияТоваровУслуг.ПустаяСсылка();
БухЗапрос = Соединение.NewObject("Запрос");
БухЗапрос.Текст = "ВЫБРАТЬ
|РеализацияТоваровУслуг.Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачалоДня И &ДатаКонецДня";
БухЗапрос.УстановитьПараметр("ДатаНачалоДня", НачалоДня(Ссылка.Дата));
БухЗапрос.УстановитьПараметр("ДатаКонецДня", КонецДня(Ссылка.Дата));
БухВыборка = БухЗапрос.Выполнить().Выбрать();
Если БухВыборка.Следующий() Тогда
БухСсылка = БухВыборка.Ссылка;
КонецЕсли;
Если БухСсылка.Пустая() Тогда
БухОбъект = Соединение.Документы.РеализацияТоваровУслуг.СоздатьДокумент();
Иначе
БухОбъект = БухСсылка.ПолучитьОбъект();
КонецЕсли;
БухОбъект.Дата = Ссылка.Дата;
БухОбъект.ВидОперации = Соединение.Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия;
БухОбъект.Организация = БухОрганизация;
...
и т.д."
Читают тему
(гостей: 1)