|
Итератор для значения не определен | ☑ | ||
---|---|---|---|---|
0
Pe3HuK
14.12.15
✎
16:16
|
Есть код:
Функция ПолучитьЗаказы() МассивЗаказовПокупателейТип = ФабрикаXDTO.Тип("ZakPok", "СписокЗаказов"); ЗаказПокупателяТип = ФабрикаXDTO.Тип("ZakPok", "ЗаказПокупателя"); ЗаказПокупателяСтрокаТип = ФабрикаXDTO.Тип("ZakPok", "СП1"); НоменклатураТип = ФабрикаXDTO.Тип("android", "Номенклатура"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателя.Ссылка, | ЗаказПокупателя.Номер, | ЗаказПокупателя.Дата |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя"; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Если Выборка.Количество() = 0 Тогда Возврат Null; КонецЕсли; МассивЗаказовПокупателей = ФабрикаXDTO.Создать(МассивЗаказовПокупателейТип); Пока Выборка.Следующий() Цикл ЗаказПокупателя = ФабрикаXDTO.Создать(ЗаказПокупателяТип); ЗаказПокупателя.Номер = Выборка.Номер; ЗаказПокупателя.Дата = Выборка.Дата; Для каждого Строка Из Выборка.Ссылка.Товары Цикл ЗаказПокупателяСтрока = ФабрикаXDTO.Создать(ЗаказПокупателяСтрокаТип); Номенклатура = ФабрикаXDTO.Создать(НоменклатураТип); Номенклатура.Код = Строка.Номенклатура.Код; Номенклатура.Наименование = Строка.Номенклатура.Наименование; ЗаказПокупателяСтрока.Номенклатура = Номенклатура; ЗаказПокупателяСтрока.Количество = Строка.Количество; ЗаказПокупателяСтрока.Цена = Строка.Цена; ЗаказПокупателяСтрока.Сумма = Строка.Сумма; ЗаказПокупателя.Товары.Добавить(ЗаказПокупателяСтрока); КонецЦикла; МассивЗаказовПокупателей.ЗаказПокупателя.Добавить(ЗаказПокупателя); КонецЦикла; Возврат МассивЗаказовПокупателей; КонецФункции Ругается "Итератор для значения не заполнен", подскажите, где ошибка, и как ее исправить |
|||
1
Fannasankh
14.12.15
✎
16:19
|
(0) Вроде бы для перебора строк надо в запросе обращаться к Документ.ЗаказПокупателяТовары
|
|||
2
Живой Ископаемый
14.12.15
✎
16:24
|
2(0) Да нет ошибки, все правильно пишешь. Это просто 1С выделаевается и не хочет получать табличную часть ссылки. Советую продолжать, однажды 1С не выдержит, и поддастся...
|
|||
3
Михаил Козлов
14.12.15
✎
16:26
|
Попробуйте перед циклом получить объект.
|
|||
4
Леха Дум
14.12.15
✎
16:34
|
1) зачем вам запрос, если потом один х.й получаете весь объект в память?
2) у вас минимум 2 места, где может возникнуть ошибка - указать это место религия не позволяет? |
|||
5
ale-sarin
14.12.15
✎
16:36
|
Может здесь
Для каждого Строка Из Выборка.Ссылка.Товары Цикл поменять Строка на Стр |
|||
6
Живой Ископаемый
14.12.15
✎
16:37
|
2(5) Капец, это еще почему? Потому что Строка - скаральное для православного пограммиста слово?
|
|||
7
Живой Ископаемый
14.12.15
✎
16:37
|
сакральное.
|
|||
8
John83
14.12.15
✎
16:39
|
если не ошибаюсь, надо
фыва = Выборка.Ссылка.Товары.Выбрать(); Пока фыва.следующий() блабла |
|||
9
ДенисЧ
14.12.15
✎
16:40
|
(8) Ошибаешься
|
|||
10
Леха Дум
14.12.15
✎
16:41
|
у нас пятница ЕЩЕ не кончилась или УЖЕ наступила?
|
|||
11
Fragster
гуру
14.12.15
✎
16:41
|
автору кэш продуть и вебсервер рестартануть
|
|||
12
Pe3HuK
14.12.15
✎
16:41
|
(4) Вот здесь ошибка выскакивает:
Для каждого Строка Из Выборка.Ссылка.Товары Цикл |
|||
13
GROOVY
14.12.15
✎
16:41
|
Жесть...
|
|||
14
Fragster
гуру
14.12.15
✎
16:41
|
(11)+ но вообще код - говно
|
|||
15
Живой Ископаемый
14.12.15
✎
16:42
|
2(11) А зерна пентаграммой насыпать - почему не сказал?
|
|||
16
Fragster
гуру
14.12.15
✎
16:43
|
(15) бревна сложить
|
|||
17
Krolik Bezobraznik
14.12.15
✎
16:44
|
(6) дело тебе говорит
|
|||
18
salvator
14.12.15
✎
16:46
|
(0) Отладчик нннада?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |