Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как получить данные из двух разных баз одним запросом?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Система компоновки данных
Мичман Харитонов
Постановка вопроса следующая:
Есть вот такой кусок кода
База2=Новый COMОбъект("V82.COMConnector");
Попытка
    База2.Connect("File=""C:\1CBase""";Usr=""login"";Pwd=""password"";");
Исключение
    Сообщить("Установить подключение не удалось, проверьте настройки");
КонецПопытки;

ЗапросКБазе2 = Новый Запрос;
ЗапросКБазе2.Текст = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|ТоварыНаСкладахОбороты.Склад КАК Склад
|ИЗ
|РегистрНакопления.ТоварыНаСкладах.Обороты КАК ТоварыНаСкладахОбороты
|СГРУППИРОВАТЬ ПО
|ТоварыНаСкладахОбороты.Склад
|УПОРЯДОЧИТЬ ПО
|    Склад ";

СкладыСДвижением = ЗапросКБазе2.Выполнить();
СкладыНЕ = Новый ТаблицаЗначений;
СкладыНе.ЗапросКБазе2.Выгрузить();

ЗапросКБазе = Новый Запрос;
ЗапросКБазе.Текст = "
|ВЫБРАТЬ
|Склады КАК Склад,
|Склады.ПометкаУдаления
|ИЗ
|Справочник.Склады КАК Склады
|ГДЕ
|Склады.ПометкаУдаления = &Ложь
|И Склад НЕ В &СкладыНЕ
|УПОРЯДОЧИТЬ ПО
|Склад ";

ЗапросКБазе.Выполнить();
ТаблицаРезультат = Новый ТаблицаЗначений;
ТаблицаРезультат.ЗапросКБазе.Выгрузить();


Подскажите, плиз, как его переписать на СКД, чтобы к обоим базам обращаться из одного запроса?
Vofka
Я вижу 2 варианта:
1) Если база SQL-ная, то читать напрямую из SQL-я через Внешние источники данных;
2) Через COM обратиться к базе, выбрать что-то запросом, поместить это в Таблицу значений, передать её в СКД и в СКД работать с ней, как с обычной таблицей.
Мичман Харитонов
Да, обе базы на SQL. То есть, первая часть с обращением к другой базе примерно такая же, вторая часть на СКД?

Слона-то я и не приметил sad.gif
Спасибо, тему можно закрывать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.