Обойти таблицу значений, полученную из регистра. #335355


#0 by Барабашка серверная
Мучаюсь с полученной таблицей значений из регистра сведений. Каким образом мне обработать каждую запись в таблице значений регистра? Выдает ошибку "Итератор для значения не определен". Я так понимаю, что надо задать "Запись" какой-то тип или создать объект. Не понимаю, какой. В общем, что делать, помогите.
#1 by IronDemon
Выборку из запросу обходи.
#2 by Барабашка серверная
Не, мне надо именно так сделать, я тренируюсь. Выборку из запроса я уже сделал.
#3 by IronDemon
В СП посмотри что возвращает СрезПоследних
#4 by VRednaia
Попробуй получить сначала таблицу, а потом обходи ее ТаблицаРегистра = РегистрыСведений.Автомобили.СрезПоследних(МоментВремени, Отбор); Для каждого Запись Из ТаблицаРегистра Цикл
#5 by Барабашка серверная
Да я смотрел, откуда появилось в таком случае название темы? Возвращается  ТЗ. Ее надо как-то пробежать, в хелпе написано, что можно через цикл "для каждого", но я не понимаю, как. Видимо, надо получать в цикле отдельную СтрокуТаблицыЗначений, но такого типа я не могу найти - его нельзя присвоить переменной "Запись". Т.е. я покамест в тупике. Изучаю хелп, но логика непонятна. СП/ТЗ: "Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции." Ну вот как мне получить отдельный элемент коллекции, то бишь строку/запись?
#6 by Барабашка серверная
Точно! Это же 1С... Сейчас попробую.
#7 by TamerlanDE
Только что пробовал на каркасной Работает
#8 by Барабашка серверная
Неа, не получилось. Все равно "Итератор для значения не определен". Выдает в начале цикла. Шляпа какая-то. Я так понимаю, что итератор - это "Запись", но почему он неопределен? Мне кажется, ему надо тип присвоить, хотя в других случях это не требуется...
#9 by IronDemon
Потому что у тебя таблицы нет. А таблицы нет, потому что период задается "МоментВремени"
#10 by Барабашка серверная
Вот этот код не работает (упростил до предела): Выдает ошибку "Итератор для значения не определен". Т.е. этот код реально один единственный в процедуре, я все закомментировал, чтобы исключить влияние. Создал пустую новую ТЗ - ее обходит! Получается, что дело в получаемой ТЗ РегистраСведений.
#11 by TamerlanDE
Разумеется, в ней. Отладчиком посмотри, что из меба представляет "РегистрыСведений.Автомобили.СрезПоследних", какого он типа
#12 by TamerlanDE
Дурацкий вопрос: а регистр у тебя вообще периодический?
#13 by IronDemon
+1
#14 by TamerlanDE
+ Почему задал, потому что код в на непериодическом не работет. Выдает ошибку, указанную в
#15 by Барабашка серверная
Я это уже понял! :-)))))))))))))
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С