Имя: Пароль:
1C
1С v8
Запрос к табличной части справочника...?
0 bvn-2005
 
30.08.16
08:07
ЗУП 2.5.107.1
Из справочника ФизическиеЛица надо вытащить табличную часть СоставСемьи для конкретного ФизЛица и сформировать строку с именами родственников. Делаю так:
Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ
    |    ФизическиеЛица.СоставСемьи.(
    |        СтепеньРодства,
    |        Имя,
    |        ДатаРождения
    |    )
    |ИЗ
    |    Справочник.ФизическиеЛица КАК ФизическиеЛица
    |ГДЕ
    |    ФизическиеЛица.Ссылка = &Ссылка";
    
        
Запрос.УстановитьПараметр("Ссылка", ТекСтрока.ФизЛицо);    
РезультатЗапроса = Запрос.Выполнить();
    
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Семья="";
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Для Каждого Стр Из ВыборкаДетальныеЗаписи.СоставСемьи Цикл    //Ошибка
        Семья= Стр.СтепеньРодства + Символы.ПС + Стр.Имя +Символы.ПС+ Стр.ДатаРождения;
    КонецЦикла;
КонецЦикла;

Вроде бы результатом запроса должна быть таблица значений, которую я пытаюсь перебрать внутренним циклом... Но получаю ошибку "Итератор для значения не определен". Что не так?
1 Mankubus
 
30.08.16
08:10
(0) Запрос.Текст =
    "ВЫБРАТЬ
    |        ФизическиеЛица.СтепеньРодства,
    |        ФизическиеЛица.Имя,
    |        ФизическиеЛица.ДатаРождения
    |ИЗ
    |    Справочник.ФизическиеЛица.СоставСемьи КАК ФизическиеЛица
    |ГДЕ
    |    ФизическиеЛица.Ссылка = &Ссылка";

Запрос.УстановитьПараметр("Ссылка", ТекСтрока.ФизЛицо);    
РезультатЗапроса = Запрос.Выполнить();
    
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Семья="";
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

        Семья= ВыборкаДетальныеЗаписи.СтепеньРодства + Символы.ПС + ВыборкаДетальныеЗаписи.Имя +Символы.ПС+ ВыборкаДетальныеЗаписи.ДатаРождения;
КонецЦикла;
2 DDwe
 
30.08.16
08:10
(0) Для Каждого Стр Из ВыборкаДетальныеЗаписи.СоставСемьи Цикл - Ошибка.
3 Mankubus
 
30.08.16
08:12
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.