0
greenif
04.10.14
✎
13:58
|
Здравствуйте!
Помогите пожалуйста с запросом.
Есть Справочник КонтакныеЛица и у него табличная часть контакты.
Мне нужен запрос с группировками, верхняя группировка "КонтактноеЛицо" вложенная группировка "Контакт".
Конструктор запросов говорит, что "Нельзя группировать по внешней таблице при наличии вложенных таблиц".
|
|
1
greenif
04.10.14
✎
14:06
|
Сам решил.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КонтактныеЛица.Наименование,
| КонтактныеЛица.ФИО,
| КонтактныеЛица.Должность,
| КонтактныеЛица.Контакты.(
| ВидКонтакта,
| Контакт
| )
|ИЗ
| Справочник.КонтактныеЛица КАК КонтактныеЛица
|ГДЕ
| КонтактныеЛица.Владелец = &Контрагент";
//| И КонтактныеЛица.Контакты.ВидКонтакта = &ВидКонтакта";
Запрос.УстановитьПараметр("Контрагент", СтрокаДерева.Контрагент);
Запрос.УстановитьПараметр("ВидКонтакта", Перечисления.ВидыКонтактов.Тел);
ВыборкаКонтактныеЛица = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаКонтактныеЛица.Следующий() Цикл
СтрокаКонтактногоЛица = СтрокаДерева.Строки.Добавить();
СтрокаКонтактногоЛица.Наименование = ВыборкаКонтактныеЛица.Наименование;
Если СтрДлина(ВыборкаКонтактныеЛица.Должность) > 3 Тогда
СтрокаКонтактногоЛица.Наименование = СтрокаКонтактногоЛица.Наименование + " (" + ВыборкаКонтактныеЛица.Должность + ")";
КонецЕсли;
СтрокаТелефон = СтрокаКонтактногоЛица.Строки.Добавить();
ВыборкаТелефонов = ВыборкаКонтактныеЛица.Контакты.Выбрать();
Пока ВыборкаТелефонов.Следующий() Цикл
Если ВыборкаТелефонов.ВидКонтакта = Перечисления.ВидыКонтактов.Тел Тогда
Сообщить(ВыборкаТелефонов.Контакт);
КонецЕсли;
КонецЦикла;
КонецЦикла;
Спасибо
|
|
2
RomanYS
04.10.14
✎
14:09
|
"ВЫБРАТЬ
| КонтактныеЛица.Ссылка.Наименование,
| КонтактныеЛица.Ссылка.ФИО,
| КонтактныеЛица.Ссылка.Должность,
| КонтактныеЛица.ВидКонтакта,
| КонтактныеЛица.Контакт
|ИЗ
| Справочник.КонтактныеЛица.Контакты КАК КонтактныеЛица
|ГДЕ
| КонтактныеЛица.Ссылка.Владелец = &Контрагент";
ну и итоги добавь
|
|