Modber Сообщество
профессионалов по 1С

Ругается : "Итератор для значения не определен!"

Не могу заполнить табличный документ...
  
Сообщений: 6

0
Ругается: "Итератор для значения не определен!"
Работы — табличная часть документа ТехническоеЗадание. Меня интересует реквизит "Операция" из этой таб. части.
Пока Выборка.Следующий() Цикл
СтрокаТЗ = ТЗ.Добавить();
СтрокаТЗ.Выбран = Истина;
СтрокаТЗ.Номер = Выборка.Ссылка.Номер;
СтрокаТЗ.Дата = Выборка.Ссылка.Дата;
СтрокаТЗ.ВидОперации = Выборка.ВидОперации;
СтрокаТЗ.ДатаДокумента = Выборка.Ссылка.Дата;
СтрокаТЗ.Ссылка=Выборка.Ссылка;
СтрокаТЗ.НомерТЗ=Выборка.Ссылка.ДокументОснование.Номер;
Для Каждого ТекущаяСтрока Из Выборка.Работы Цикл
Если ТекущаяСтрока.Операция.КлассификацияРабот=Перечисления.КлассификацияРабот.Общая тогда
Стр1=СокрЛП(ТекущаяСтрока.Операция.Наименование);
Конецесли;
Стр=Стр+СокрЛП(ТекущаяСтрока.Операция.Наименование)+", ";
КонецЦикла;
СтрокаТЗ.ОписаниеРабот=Стр;
КонецЦикла;

Кто-нибудь знает в чем дело? И как решить данную проблему?
Сообщений: 69

+1
Что такое "Выборка"? Результат запроса?
Значит он пустой — запрос не вернул данные, там пусто. Может быть в случае ошибки выполнения запроса.
Или переменную перепутали.
Сообщений: 5

0
какого типа Выборка Работы?
Сообщений: 5

0
отправь запрос к ТЧ и не занимайся "любовью" с такими циклами!
Сообщений: 1

0
Правильно Табличную часть работы кинь в запрос
Сообщений: 2

+1
Vladislav5:

Ругается: "Итератор для значения не определен!"
Работы — табличная часть документа ТехническоеЗадание. Меня интересует реквизит "Операция" из этой таб. части.
Пока Выборка.Следующий() Цикл
СтрокаТЗ = ТЗ.Добавить();
СтрокаТЗ.Выбран = Истина;
СтрокаТЗ.Номер = Выборка.Ссылка.Номер;
СтрокаТЗ.Дата = Выборка.Ссылка.Дата;
СтрокаТЗ.ВидОперации = Выборка.ВидОперации;
СтрокаТЗ.ДатаДокумента = Выборка.Ссылка.Дата;
СтрокаТЗ.Ссылка=Выборка.Ссылка;
СтрокаТЗ.НомерТЗ=Выборка.Ссылка.ДокументОснование.Номер;
Для Каждого ТекущаяСтрока Из Выборка.Работы Цикл
Если ТекущаяСтрока.Операция.КлассификацияРабот=Перечисления.КлассификацияРабот.Общая тогда
Стр1=СокрЛП(ТекущаяСтрока.Операция.Наименование);
Конецесли;
Стр=Стр+СокрЛП(ТекущаяСтрока.Операция.Наименование)+", ";
КонецЦикла;
СтрокаТЗ.ОписаниеРабот=Стр;
КонецЦикла;

Кто-нибудь знает в чем дело? И как решить данную проблему?

А начало цикла правильно записано?
Я бы написал:
Пока Выборка.Следующий()=1 Цикл
… дальше по тексту…
Сообщений: 7

0
"Пока Выборка.Следующий() Цикл
СтрокаТЗ = ТЗ.Добавить();
СтрокаТЗ.Выбран = Истина; "
Такая конструкция в 7.7 не работает.

Если Выборка это ТЗ, то можно попробовать что-то вроде :
Выборка.ВыбратьСтроки();
Пока Выборка.ПолучитьСтроку()=1 Цикл
СтрокаТЗ.Номер = Выборка.Ссылка.Номер;
СтрокаТЗ.Дата = Выборка.Ссылка.Дата;
СтрокаТЗ.ВидОперации = Выборка.ВидОперации;
СтрокаТЗ.ДатаДокумента = Выборка.Ссылка.Дата;
СтрокаТЗ.Ссылка=Выборка.Ссылка;
СтрокаТЗ.НомерТЗ=Выборка.Ссылка.ДокументОснование.Номер;
//....................................
//что-то еще....................
//....................................
КоенцЦикла;
В начало страницы 
|
Перейти на форум: