Имя: Пароль:
1C
 
Внешний источник данных и временные таблицы
0 ЖанЖак
 
06.05.15
17:49
Платформа 8.2.19.90. Данные из внешнего источника нужно соединить с данными из БД. Пытался реализовать через временные таблицы, но получил ошибку:

При работе с внешними источниками данных использование временных таблиц не допускается.

Попробовал выгрузить в ТЗ и оттуда в ВТ, а затем соединить в новом запросе, но получил ошибку:

Получение данных из нескольких источников данных недопустимо.

Есть ли решение данной проблемы.

Запросы

ТЗДанные = Новый ТаблицаЗначений;
     ЗапросДанные = Новый Запрос;
     ЗапросДанные.Текст =
      "ВЫБРАТЬ
      |dbo_otdels.id_otdel КАК Ид_Отдел,
      |(dbo_operators.Family +&Пробел+ dbo_operators.Name  +&Пробел+ dbo_operators.Farth) КАК ФИО,
      |ЕСТЬNULL(т4.vsego,0) - ЕСТЬNULL(т2.prinyato,0) - ЕСТЬNULL(т3.vidano, 0) КАК КОНСУЛЬТАЦИИ,
      |ЕСТЬNULL(т2.prinyato, 0) КАК ПРИНЯТО,
      |ЕСТЬNULL(т3.vidano, 0) КАК ВЫДАНО,
      |ЕСТЬNULL(т4.vsego,0) КАК ВСЕГО
      |ПОМЕСТИТЬ ВТ_Запрос
      |ИЗ
      |ВнешнийИсточникДанных.Проба.Таблица.dbo_operators КАК dbo_operators
      |ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      |КОЛИЧЕСТВО(т1.id_key) КАК prinyato,
      |т1.id_operator КАК id_operator
      |ИЗ
.....................................................

ТЗДанные=ЗапросДанные.Выполнить().Выгрузить();
      
      
    
    
     ЗапросВТ = Новый Запрос;
     ЗапросВТ.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
     МенеджерВТ=ЗапросВТ.МенеджерВременныхТаблиц;

     ЗапросВТ.Текст=
     "Выбрать
     |*
     |Поместить ВТДанные
     |ИЗ
     |&ТЗДанные как ТЗДанные";
    
     ЗапросВТ.УстановитьПараметр("ТЗДанные",ТЗДанные);
     ЗапросВТ.Выполнить();
    
    
      Запрос = Новый Запрос;
      Запрос.МенеджерВременныхТаблиц=МенеджерВТ;
      Запрос.Текст=
     "Выбрать
     |Отделы.КраткоеНазвание,
     |ВТ_Запрос.ФИО,
     |ВТ_Запрос.Консультации,
     |ВТ_Запрос.Принято,
     |ВТ_Запрос.Выдано,
     |ВТ_Запрос.Всего
     |ИЗ
     |ВТДанные как ВТДанные
     |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Отделы как Отделы
     |ПО  ВТДанные.Ид_Отдел=Отделы.ИДСкат
     |ИТОГИ ПО
     |КраткоеНазвание,
     |ФИО";
    
      Результат =Запрос.Выполнить();
1 GROOVY
 
06.05.15
17:54
Внешний источник запросом в тз. СОединение можно прервать.
ТЗ в ВТ. Далее все что хочешь вторым запросом.
2 ЖанЖак
 
06.05.15
18:50
Так я вроде так и делал
3 ЖанЖак
 
07.05.15
12:06
Запросом выгружаю в ТЗ как сказал GROOVY, затем в ВТ. И дальше соединяю, но появляется ошибка:

При работе с внешними источниками данных использование временных таблиц не допускается.
4 ДенисЧ
 
07.05.15
12:10
Убери из первого запроса ПОМЕСТИТЬ.
Выгружай в ТЗ из результата запроса.
5 ЖанЖак
 
07.05.15
12:19
Спасибо получилось