Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
03 дек 2024, 20:39

Как вывести запрос в таблицу?

Автор wildman, 12 апр 2011, 12:19

0 Пользователей и 1 гость просматривают эту тему.

wildman

Добрый день!
Никак не могу понять в чем дело:
У меня стоит задача отобразить в табличном поле данные запроса и разместить в этой же форме фильтр.
Как я это делаю:
Создаю форму с табличной частью "ТаблицаОтбор" с реквизитами "Студент" Тип СправочникСсылка.Студент и "УчебныйГод" Тип СправочникСсылка.УчебныйГод.
Создаю форму с этой табличной частью. Дополнительно на форме размещаю табличное поле с именем "Отбор" и указываю ему ТипЗначения "Отбор".
Создаю еще оно табличное поле с именем "ТабличноеПоле1". Оно нужно для проверки запроса.

У меня есть регистр сведений "Договора" с измерением "Договор" и различными реквизитами, в числе которых "Студент" и "УчебныйГод".
Задача вывести в "ТаблицаОтбор" все договора, а в правом табличном поле "Отбор" фильтровать данные для отображения в "ТаблицаОтбор".

В результате листинга приведенного ниже, у меня правильно заполняется таблица "Отбор" и таблица "ТабличноеПоле1"
А вот в самой основной таблице "ТаблицаОтбор" данные не отображаются! Что интересно, количество строк соответствует количеству договоров.

Почему же один и тоже запрос в таблице формируемой руками отображается правильно, а в таблице сформированной на стадии конструктора, нет?

Процедура ПриОткрытии()
// Создаем запрос на выборку из всего реестра сведений "Договора".
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Договора.Студент.Наименование, Договора.УчебныйГод.Наименование ИЗ РегистрСведений.Договора КАК Договора";
//Вывожу данные в таблицу сформированную на стадии конструктора Формы (данных нет, но кол-во строк правильное)
ТаблицаОтбор.Загрузить(Запрос.Выполнить().Выгрузить());
//Вывожу данные в таблицу отбора с целью создать фильтр.
Отбор = ЭлементыФормы.ТаблицаОтбор.ОтборСтрок;
Для Каждого Строка Из ЭлементыФормы.ТаблицаОтбор.Колонки Цикл
Строка.ТолькоПросмотр = Истина; //Все строки только для просмотра.
КонецЦикла;

//Выгружаю данные в дополнительную таблицу. (данные отображаются корректно)
ТабличноеПоле1 = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
КонецПроцедуры


has

Запрос неверный. В нем выбираешь реквизиты наименование, а надо ссылки как в таблице.

Запрос.Текст = "ВЫБРАТЬ Договора.Студент, Договора.УчебныйГод ИЗ РегистрСведений.Договора КАК Договора";

wildman

Ура, ура!!! Спасибо огромное! Заработало!!!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск