Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
08 июл 2024, 09:26

Итератор значения не определен

Автор ospov11789, 04 мая 2017, 11:08

0 Пользователей и 1 гость просматривают эту тему.

ospov11789

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

   

КонецПроцедуры
    А в модуле формы был написан следующий код
&НаКлиенте
Процедура РасписаниеВремяПроведенияЗанятияПриИзменении(Элемент)
СтрокаТабличнойЧасти=Элементы.Расписание.ТекущиеДанные;
ПроверкаПравильностиЗаполнения.ПравильностьСоставленияРасписания(СтрокаТабличнойЧасти);
КонецПроцедуры
В конфигураторе никаких ошибок нет
Зато в приложении при запуске пишет Итератор значения не определен
Как решить проблему
С уважением Осипов Михаил Юрьевич

Igmok

Цитата: ospov11789 от 04 мая 2017, 11:08СтрокаТабличнойЧасти

Инициализируй это
Добавлено: 04 мая 2017, 11:16


Нет секунду,
СтрокаТабличнойЧасти Из СтрокаТабличнойЧасти Что это?
Инициализируй другой итератор. Ну там пустую переменную, строку, или как там.

ilyay

Строка у вас одна, вы ее в функцию передаете. Зачем по ней пытаетесь цикл сделать? В этом и ошибка. Цикл не нужен. Обращение через ссылку в цикле не стоит делать.

Задача решается проще: выгружаете табличную часть в таблицу значений, добавляете колонку "Количество" числовую, заполняете ее единицей. Выполняете метод таблицы значений Свернуть("Поле1, Поле2", "Количество"). Где больше одного, там и ошибка.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск