У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4613 раз
Рейтинг: 3750.1
Есть обработка:
//************
ТЗ1=Новый ТаблицаЗначений();
ТЗ1.Колонки.Добавить("А", Новый ОписаниеТипов("Строка"));
ТЗ1.Колонки.Добавить("Б", Новый ОписаниеТипов("Строка"));
ТЗ1.Колонки.Добавить("Кво", Новый ОписаниеТипов("Число"));
Для Сч=0По100Цикл
Стр=ТЗ1.Добавить();
Стр.А="А"+Сч;
Стр.Б="Б"+Сч;
Стр.Кво = 1;
КонецЦикла;
//************
ТЗ2 = Новый ТаблицаЗначений();
ТЗ2.Колонки.Добавить("А", Новый ОписаниеТипов("Строка"));
ТЗ2.Колонки.Добавить("Б", Новый ОписаниеТипов("Строка"));
ТЗ2.Колонки.Добавить("Кво", Новый ОписаниеТипов("Число"));
Для Сч=0По100Цикл
Стр=ТЗ2.Добавить();
Стр.А="А"+Сч;
Стр.Б="Б"+Сч;
Стр.Кво = 1;
КонецЦикла;
//************
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| *
|ИЗ
|(Выбрать
| Т1.А,
| Т1.Б,
| Т1.Кво
|Из
| &Таб1 Как Т1
|
|ОБЪЕДИНИТЬ
|
|Выбрать
| Т2.А,
| Т2.Б,
| Т2.Кво
|Из
| &Таб2 Как Т2)";
Запрос.УстановитьПараметр("Таб1", ТЗ1);
Запрос.УстановитьПараметр("Таб2", ТЗ2);
ТИтог = Запрос.Выполнить().Выгрузить();
Жму "Выполнить", получаю ошибку:
Цитата
Ошибка при вызове метода контекста (Выполнить): Содержимое объекта данных может быть выбрано только во временную таблицу ТИтог = Запрос.Выполнить().Выгрузить(); по причине: Содержимое объекта данных может быть выбрано только во временную таблицу
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Неее... думать в эту сторону это думать дальше, а не использовать одну строчку Я не силен в запросах, просто судя по ошибке надо использовать временные таблицы.
Личные бесплатные консультации не даю, для этого есть форум!
Ошибка при вызове метода контекста (Выполнить): Содержимое объекта данных может быть выбрано только во временную таблицу
Запрос.Выполнить();
по причине:
Содержимое объекта данных может быть выбрано только во временную таблицу
Делал по примеру:
ТЗ=Новый ТаблицаЗначений();
//Колонки должны быть типизированы
ТЗ.Колонки.Добавить("А", Новый ОписаниеТипов("Строка"));
ТЗ.Колонки.Добавить("Б", Новый ОписаниеТипов("Строка"));
//Заполняем таблицу данными
Стр=ТЗ.Добавить();
Стр.А="А";
Стр.Б="Б";
Стр=ТЗ.Добавить();
Стр.А="А1";
Стр.Б="Б1";
//Загружаем таблицу значений в менеджер временных таблиц запроса
Запрос=Новый Запрос("Выбрать Т.А, Т.Б ПОМЕСТИТЬ ВТТаб Из &Таб Как Т");
//Вариант: Запрос=Новый Запрос("Выбрать * ПОМЕСТИТЬ ВТТаб Из &Таб Как Т");
Запрос.МенеджерВременныхТаблиц=Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Таб",ТЗ);
Запрос.Выполнить();
//Получаем таблицу из менеджера временных таблиц запроса
ЗапросТМП=Новый Запрос("ВЫБРАТЬ * ИЗ ВТТаб");
ЗапросТМП.МенеджерВременныхТаблиц=Запрос.МенеджерВременныхТаблиц;
ТЗ1=ЗапросТМП.Выполнить().Выгрузить();
ТЗ1.ВыбратьСтроку(); //Показываем полученную таблицу
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4613 раз
Рейтинг: 3750.1
Все это началось из-за того, что возникла необходимость прочитать и обработать данные запросом из таблицы значений. Точнее из 2-х отдельных таблиц и результат объединить. Может можно это сделать по проще?
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!