Здравствуйте. Подскажите пожалуйста в чем проблема, есть код:

```1c
    Запрос2=Запрос.Скопировать();
    Запрос2.Свернуть("Контрагент, лицензия, Код, Договор","Сумма");
    Запрос3=Запрос2.Скопировать();
    Запрос3.Свернуть("Код","Сумма");

    для каждого стр из Запрос3 цикл
    НовСтр = _РеестрДокПОбНЛ.Добавить();
    НовСтр.УИД = (Новый УникальныйИдентификатор);
    НовСтр.КодОпер = стр.Код;
    НовСтр.СумНеоблОпер = стр.Сумма;

    Запрос4=Запрос2.НайтиСтроки(Новый Структура("Код", НовСтр.КодОпер));//а здесь есть нужный код, по нему он должен отобрать лицензию, контрагента и т.п.

    Для Каждого Стр2 Из Запрос4 Цикл //В этом месте цикл не продолжается, сразу переходит в конец цикла
    Сообщить(Стр2);

    Стр_СведКАгент = _ПредТипДог.ПолучитьЭлементы().Добавить();
```
 первый цикл отрабатывает как нужно, а второй видимо в массиве ничего не ходит и заканчивается, что здесь не так?
---
А строка не обрезается вот здесь:

```1c
    НовСтр.КодОпер = стр.Код;
```

?
---
Пустой массив, вот и нет итераций по нему
---
а как сделать его полным), добавить нужно контрагента, лицензию, договор, в зависимости от кода!
---
А строка не обрезается вот здесь:

```1c
    НовСтр.КодОпер = стр.Код;
```

?
---
кстати, да, может че-то строкой не так, данные разные как будто бы
---
Подскажите, а как мне поступить здесь? Если значение заполнено "Договор"(он всегда будет заполнен), то должны заполняться его данные (Стр_ДокПОбНЛ.НомДок = Стр3.НомерДоговора;
     Стр_ДокПОбНЛ.ДатаДок = Стр3.ДатаДоговора;
           Стр_ДокПОбНЛ.ОписаниеКА = Стр3.Договор;), если значение заполнено "Лицензия", то данные лицензии, а если оба есть, а такое тоже может быть, то две строки, каждая со своими данными!

```1c
    Если ЗначениеЗаполнено(Стр3.Лицензия)ИЛИ ЗначениеЗаполнено(Стр3.Договор) Тогда
    Если Стр_ДокПОбНЛ.ТипДок = "Лицензия";
    попытка
    Стр_ДокПОбНЛ.НомДок = Стр3.НомерЛицензии;
    Стр_ДокПОбНЛ.ДатаДок = Стр3.ДатаЛицензии;
    Стр_ДокПОбНЛ.ОписаниеКА = Стр3.Лицензия;
    исключение
    конецпопытки;
    Иначе Если ЗначениеЗаполнено(Стр3.Договор) Тогда
    Стр_ДокПОбНЛ.ТипДок = "Договор";
    попытка
    Стр_ДокПОбНЛ.НомДок = Стр3.НомерДоговора;
    Стр_ДокПОбНЛ.ДатаДок = Стр3.ДатаДоговора;
    Стр_ДокПОбНЛ.ОписаниеКА = Стр3.Договор;
    исключение
    конецпопытки;
    КонецЕсли;
```

(5)(2)
---
Да, действительно. Спасибо за помощь!
---
(4)
```1c
    Запрос4=Запрос2.НайтиСтроки(Новый Структура("Код", НовСтр.КодОпер));

    Для Каждого Стр2 Из Запрос4 Цикл
    Сообщить(Стр2);

    Стр_СведКАгент = _ПредТипДог.ПолучитьЭлементы().Добавить();
    Стр_СведКАгент.УИД=НовСтр.УИД;
    Стр_СведКАгент.УИДЛок = Новый УникальныйИдентификатор;

    Стр_СведКАгент.НаимОрг = Стр2.Контрагент;
    Стр_СведКАгент.ИННЮЛ = Стр2.Контрагент.ИНН;
    Стр_СведКАгент.КПП = Стр2.Контрагент.КПП;
    Стр_СведКАгент.ОписаниеКА = Стр_СведКАгент.НаимОрг + ", ИНН/КПП: " + Стр_СведКАгент.ИННЮЛ + "/" + Стр_СведКАгент.КПП;

    Запрос5=Запрос.НайтиСтроки(Новый Структура("Контрагент, Лицензия", Стр2.Контрагент,Стр2.Лицензия));

    Для Каждого Стр3 Из Запрос5 Цикл
    Стр_ДокПОбНЛ = Стр_СведКАгент.ПолучитьЭлементы().Добавить();
    ЗаполнитьЗначенияСвойств(Стр_ДокПОбНЛ,Стр_СведКАгент);
    Стр_ДокПОбНЛ.СумОпер = Стр3.Сумма;

    Стр_ДокПОбНЛ = Стр_ДокПОбНЛ.ПолучитьЭлементы().Добавить();
    Стр_ДокПОбНЛ.ТипДок = "Договор";
    попытка
    Стр_ДокПОбНЛ.НомДок = Стр3.НомерЛицензии;
    Стр_ДокПОбНЛ.ДатаДок = Стр3.ДатаЛицензии;
    Стр_ДокПОбНЛ.ОписаниеКА= Стр3.Лицензия;
    исключение

    конецпопытки;

    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
```

 А здесь, что может быть? все заполняется в коде, но на форме документа не отображается? _ПредТипДог - это дерево значений на форме документа
---
почему Запрос, когда это, видимо, таблицы значений?
По вопросу - очень советую воспользоваться отладчиком.
---
Все разобрался, всем спасибо!