Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
04 июн 2023, 07:23

Запрос к табличной части справочника

Автор gigi1988, 23 ноя 2010, 09:42

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

gigi1988

Есть документ ведомость имеющий реквизит дата, дисциплина и Гр ссылающийся на справочник Группы.В справочнике группы есть ТЧ, которая содержит реквизит ссылающийся на справочник студенты. В студенте есть реквизит фамилия

Мой текст запроса выглядит так:
"ВЫБРАТЬ
|      Ведомость.Гр.Название,
|      Ведомость.Дата,
|      Ведомость.Дисциплина, 
|      Ведомость.Гр.список.(                   
|            Гр.список.студент.Фамилия как Фамилия                   
|      )
|ИЗ
|      Документ.Ведомость КАК Ведомость
|ГДЕ
|      Ведомость.Ссылка В (&Ссылка)";

Но я не получаю значений гр.список.студент.Фамилия, а получаю свойства данного поля. Остальные параметры получаю как надо

progmikon

Что-то точек многовато у вас тут :)

Ведомость.Гр.список.(
Гр.список.студент.Фамилия как Фамилия


Если Гр - это имя табличной части, то:

ВЫБРАТЬ
|ГруппаВедомости.Название,
|ГруппаВедомости.Ссылка.Дата,
|ГруппаВедомости.Ссылка.Дисциплина,
|ГруппаВедомости.Фамилия как Фамилия
|ИЗ
|Документ.Ведомость.Гр КАК ГруппаВедомости
|ГДЕ
|ГруппаВедомости.Ссылка В (&Ссылка)

gigi1988

Цитата: progmikon от 23 ноя 2010, 09:50
Что-то точек многовато у вас тут :)

Ведомость.Гр.список.(
Гр.список.студент.Фамилия как Фамилия


Если Гр - это имя табличной части, то:

ВЫБРАТЬ
|ГруппаВедомости.Название,
|ГруппаВедомости.Ссылка.Дата,
|ГруппаВедомости.Ссылка.Дисциплина,
|ГруппаВедомости.Фамилия как Фамилия
|ИЗ
|Документ.Ведомость.Гр КАК ГруппаВедомости
|ГДЕ
|ГруппаВедомости.Ссылка В (&Ссылка)


Не совсем так.
Документ ведомость-> Реквизит Гр- ссылка на Группы.
Группы->Табличная часть список-> Реквизит студент- ссылка на справочник студенты.
Мне нужно получить Фамилию студента.
Может я не корректно выстраиваю логику?

progmikon

Понятно. Тогда вы в Поле1 получите таблицу значений. Ее тоже можно прочитать.
Как вариант можно предложить так:

ВЫБРАТЬ
ГруппыСтуденты.Студент,
Ведомость.Ссылка
ИЗ
Документ.Ведомость КАК Ведомость
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Группы.Студенты КАК ГруппыСтуденты
ПО Ведомость.Группа = ГруппыСтуденты.Ссылка
ГДЕ
Ведомость.Ссылка = &Ссылка

gigi1988

Цитата: progmikon от 23 ноя 2010, 10:38
Понятно. Тогда вы в Поле1 получите таблицу значений. Ее тоже можно прочитать.
Как вариант можно предложить так:

ВЫБРАТЬ
ГруппыСтуденты.Студент,
Ведомость.Ссылка
ИЗ
Документ.Ведомость КАК Ведомость
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Группы.Студенты КАК ГруппыСтуденты
ПО Ведомость.Группа = ГруппыСтуденты.Ссылка
ГДЕ
Ведомость.Ссылка = &Ссылка


Спасибо, разобрался.
Можно еще один вопрос.
Мне нужно в макет вывести циклом результаты выборки.
Есть Именованная область СтрокаТаблицы и два параметра: Фамилия и НомерСтроки.
Как корректно вывести Фамилию циклом и вставлять порядковый номер строки?

progmikon

Не за что.

По поводу вывода.

Выборка = Запрос.Выполнить().Выбрать();
Сч = 0;
Пока Выборка.Следующий() Цикл
Сч = Сч + 1;
ОбластьМакета = Макет.ПолучитьОбласть("ИМЯ_ОБЛАСТИ_В_МАКЕТЕ");
ОбластьМакета.Параметры.Фамилия = Выборка.Фамилия; //можно использовать ОбластьМакета.Параметры.Заполнить(Выборка); Главное чтобы имена полей выборки и параметров совпадали
ОбластьМакета.Параметры.НомерПоПорядку = Сч;
ТабДок.Вывести(ОбластьМакета);
КонецЦикла;

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск