Вход | Регистрация

1С:Предприятие ::

Метки: 

Временные таблицы в запросе универсального отчета

Я
   толькодлявопросов
 
12.12.17 - 14:02
Добрый день, разрабатывая отчет по шаблону универсального появилась необходимость использовать временные таблицы в запросе в построителе. Но если это делать, то при своих стандартных группировках он работает не корректно (не так как я ожидаю). И поэтому я решил попробовать сначала одним запросом формировать таблицу значений, а потом ее передавать как параметр в основной запрос, но так тоже ошибка -
    {(10, 2)}: Неверные параметры "ВнешняяТаблицаИсточник"
    <<?>>&ВнешняяТаблицаИсточник КАК ВнешняяТаблица
В
    ИЗ
        &ВнешняяТаблицаИсточник КАК ВнешняяТаблица
    ;
Можно ли в построителе для универсального отчета передать запросу свою таблицу значений? Или как делать временные таблицы в таком отчете, чтобы функционал универсального отчета их не трогал и не группировал для своих нужд.
 
  Рекламное место пустует
   youalex
 
1 - 12.12.17 - 15:17
Если таблица не большая и нет(мало) ссылочных данных, можно из значений ТЗ сгенерить текст через ОБЪЕДИНИТЬ ВСЕ.
Или, можно наоборот, получить результат построителя, использовать его в своем запросе, а потом результат своего запроса впихнуть в построитель как источник данных
   толькодлявопросов
 
2 - 12.12.17 - 15:54
(1) Ну смотрите, у меня есть таблица, из которой потом (уже в основном запросе) левым соединением должны браться определенные колонки, то есть ОБЪЕДИНИТЬ ВСЕ, насколько я понимаю мне не подойдет.

    Или, можно наоборот, получить результат построителя, 
    использовать его в своем запросе, а потом результат 
    своего запроса впихнуть в построитель как источник 
    данных.

не понятно, особенно конец
   youalex
 
3 - 12.12.17 - 20:42
(2)
1. У тебя есть таблица, например, вида (Колонка1, Колонка2) со строками (5,7), (9,5). И есть построитель со своим текстом.
Теоретически,ты  можешь из своей таблицы динамически составить запрос типа 
"ВЫБРАТЬ 5 КАК Колонка1, 7 КАК Колонка2  
ПОМЕСТИТЬ ВТ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ 9, 5"

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

Понятно, если у тебя миллион строк, это не самый лучший метод, к тому же 1с не дает указывать ссылки напрямую в тексте,тут если только извращаться с параметрами запроса, рискуя налететь на ограничение скуля.

По второму - кури в строну Запрос = Построитель.ПолучитьЗапрос();
Запрос.Текст = Запрос.Текст+ "какие-то там мунупуляции"
РезультатЗапроса = Запрос.Выполнить();
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(РезультатЗапроса);


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует