Итератор для значения не определен
Содержание
Блог компании 1С GOODWILL
Ошибка «Итератор для значения не определен» в 1С 8.3 появляется как минимум в двух случаях:
при обновлении конфигурации; когда происходит попытка применить итератор к объектам, которые не являются коллекциями.
Известны и другие моменты, когда возникает данная исключительная ситуация, но они зачастую носят частный характер и соответственно требуют частого подхода. В рамках статьи трудно уложить все варианты возникновения ошибки, поэтому ограничимся двумя вышеперечисленными.
Ошибка при обновлении конфигурации 1С
На сколько я помню, чаще всего данная ошибка возникала при переходе на релиз 3.0.43.194, но может возникнуть и при переходе на другой релиз.
Дело в данном случае заключается в отсутствии определенной записи в справочнике «Производственные календари».
Итератор для значения не определен — обновление БП 3.0
А именно необходимо добавить запись с наименованием «Российская Федерация» и код «РФ».
Сделать это нужно до обновления. То есть тем, кто уже сделал обновление и наткнулся на ошибку «Итератор для значения не определен», следует вернуться к прежней версии (развернуть резервную копию), добавить там запись в справочник, заполнить все по умолчанию, а затем обновляться:
А что же делать тем, кто не сделал резервную копию? Выход тоже есть, но немного посложнее. Или скорее похитрее.
Вся проблема в том, что ошибка вызывает исключительную ситуацию и блокирует интерфейс, предлагая закончить работу. Вызываем справку (F1) и вызываем навигационную ссылку:
В открывшемся окне вводим саму ссылку «1cib/list/Справочник.ПроизводственныеКалендари»:
И нажимаем «Перейти». Все, можно заводить календарь.
Попытка применить итератор к объектам, которые не являются коллекциями
Часто при программировании разработчики 1С допускают распространенную ошибку, пытаются применить итератор к объектам, которые не являются коллекциями.
Причем коллекции бывают разные.
Для начала разберемся, что такое «итератор». Итератор происходит от английского слова «iterator» – протокол (или интерфейс), который предоставляет доступ к элементам коллекций. Кроме доступа естественно предоставляется и возможность обхода коллекции.
Существует два разных способа обхода коллекций:
как массива; как списка.
Коллекции в виде списка существует конструкция:
Для Каждого Из Цикл
…
КонецЦикла;
Для массивов обычно использую обычный цикл с индексированным обращением к элементу коллекции.
Как я уже упоминал, коллекции могут быть различными, причем кроме деления на массив и список, они еще делятся на универсальные (таблицы значений, соответствия, структуры, массивы) и специализированные, например табличные части документов.
Ошибка «Итератор для значения не определен» возникает в двух случаях:
когда разработчик пытается применить итератор к объектам, коллекциями не являющихся; когда доступ к коллекции разработчик пытается сделать не правильно, например, к списку, как к массиву.
Поэтому для того, чтобы избежать этой неприятной ситуации с данной ошибкой следует внимательней относиться к объектам, к которым делается попытка доступа.
Запись Итератор для значения не определен в 1С 8.3 — как исправить ошибку? впервые появилась Блог компании 1С GOODWILL.
Читать полностью на сайте programmist1s.ru
Итератор для значения не определен в 1С 8.3 — как исправить ошибку?
Интегратор для значения не определен |
Я |
Добрый день! После обнвления конф Сельскоехозяйство ред 1.2.40.2 пишет при проведении документа Начисление ЗП Интегратор для значения не определен
сначала надо научиться читать.
И наверное указывает строчку кода, где вываливается эта ошибка?
(1) +100500)))
Для каждого строка из Таблица затрат
(4) Таблица — не таблица.
(5) строка не строка )))))))))))
(0) посмотри отладчиком какой тип у таблицы затрат
На Я жмякни.
(8) Таблица — не таблица.
А как сделать,чтобы она стала таблицей,это код поставщика?
(11) посмотри как она формируется в коде.
(11) ТаблицаЗатрат = новый ТаблицаЗначений
И никаких тебе ошибок.
(13) и не факт что правильно проведется док
(1) Что вы хотите от девочки-колхозницы
(14) Зануда!
ТаблицаЗатрат = ИНАГРО_ПроцедурыИФункции.ИНАГРО_ДвиженияЗатратыОрганизации_Приход(СтруктураШапкиДокумента.Ссылка);
(17) модуль без кода?
(19) ИНАГРО_ПроцедурыИФункции.ИНАГРО_ДвиженияЗатратыОрганизации_Приход
пкм, перейти к определению.
И сюда код выложи.
Интегратор для значения
(19) а давно процедуры стали возвращать значения?
(23) Я тож так подумал, но ты внимательней посмотри)
(19) Интегратор = Новый ИнтеграторЗначения(ТаблицаЗатрат);
А потом уже Для каждого Строка Из ТаблицаЗатрат…
2(19) у вас в разных модулях функции/процедуры с одним названием и разной сигнатурой?
Это обфускация такая?
(26) они реализуют так override
Наведи порядок в своей работе используя конфигурацию 1C "Управление IT-отделом 8"
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Добавить комментарий