Выполнить запрос в другой базе 1С через COM соединение
Доброго времени суток!
Подскажите, как можно через COM соединение вытащить данные запроса из другой базы?
Имеются УПП и Бухгалтерия, хочу из базы УПП подключиться к базе Бухгалтерии, сформировать там запрос по регистру бухгалтерии (короче, ОСВ) и получить эти данные в базе УПП. Как можно это сделать?
Подскажите, как можно через COM соединение вытащить данные запроса из другой базы?
Имеются УПП и Бухгалтерия, хочу из базы УПП подключиться к базе Бухгалтерии, сформировать там запрос по регистру бухгалтерии (короче, ОСВ) и получить эти данные в базе УПП. Как можно это сделать?
По теме из базы знаний
- Выгрузка-загрузка любых данных из 1С (и измененных) в XML между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- PowerTools: Инструменты администратора 1С 8.3
- Взаимодействие между базами 1С через COM
- Сверка и обработка документов между базами 1C через COM-соединение (управляемые формы)
- Как посмотреть запрос 1С в PostgreSQL
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) nayd, я постуал так:
1. в базе-источнике
в предусмотренном на этот случай общем модуле
размещал экспортную функцию, возвращающую необходимую
выборку запроса в виде таблицы значений.
2. а в базе-назначение просто вызывал эту функцию
через COM-объект внешнего соединения:
1. в базе-источнике
в предусмотренном на этот случай общем модуле
размещал экспортную функцию, возвращающую необходимую
выборку запроса в виде таблицы значений.
2. а в базе-назначение просто вызывал эту функцию
через COM-объект внешнего соединения:
тзВыборкаCOM = БазаCOM.<ИмяМодуля>.ИмяФункции(..параметры..);
а вот такой текст не сработает?
V8 = Новый COMOбъект(----);
Открытие = V8.Connect(-----);
Запрос = Новый Запрос("ВЫБРАТЬ
| ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Склад,
| ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Номенклатура,
| ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстаток КАК КолНачОст,
| ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК КолДт,
| ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт КАК КолКт,
| ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток КАК КолКонОст,
| ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток КАК СумНачОст,
| ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СумДт,
| ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СумКт,
| ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток КАК СумКонОст
|ИЗ
| "+Открытие+".РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &ОкончаниеПериода, , , Счет = &Счет, , ) КАК ХозрасчетныйОстаткиИОбороты");
Запрос.УстановитьПараметр("НачалоПериода",НачалоДня(ДатаНачалаОтбора));
Запрос.УстановитьПараметр("ОкончаниеПериода",КонецДня(ДатаОкончанияОтбора));
Запрос.УстановитьПараметр("Счет",СчетБУ);
Запрос.Выполнить().Выгрузить();
Показать
(3) nayd, нет,
если на то пошло то так:
если на то пошло то так:
КоннекторV8 = Новый COMOбъект(----);
БазаCOM = КоннекторV8 .Connect(-----);
ЗапросCOM = БазаCOM.NewObject("Запрос");
ЗапросCOM.Текст = "ВЫБРАТЬ
| ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Склад,
| ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Номенклатура,
| ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстаток КАК КолНачОст,
| ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК КолДт,
| ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт КАК КолКт,
| ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток КАК КолКонОст,
| ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток КАК СумНачОст,
| ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СумДт,
| ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СумКт,
| ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток КАК СумКонОст
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &ОкончаниеПериода, , , Счет.Код = &Счет, , ) КАК ХозрасчетныйОстаткиИОбороты");
ЗапросCOM.УстановитьПараметр("НачалоПериода",НачалоДня(ДатаНачалаОтбора));
ЗапросCOM.УстановитьПараметр("ОкончаниеПериода",КонецДня(ДатаОкончанияОтбора));
ЗапросCOM.УстановитьПараметр("Счет",СчетБУ.Код); // в параметрах можно использовать только примитивные типы
тзВыборкаCOM = ЗапросCOM.Выполнить().Выгрузить(); // результат выгрузки - СОМ-объект!!!
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот