Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Цикл Для каждого шагает через 1 элемент
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
VolandMaster
Доброго времени суток, меня Зовут Русланом.
Есть такая проблема Цикл шагает через 1 элемент .Список имеет тип СписокЗначений. Не могу понять почему.

Для каждого Элемент из Список цикл
        Если Элемент.Пометка = Ложь Тогда
             Список.Удалить(Элемент);
         КонецЕсли;
     КонецЦикла;

Vofka
Далеко не в первый раз поднимается подобная тема. Элементы в коллекциях нужно удалять с конца! Для более подробной информации воспользуйтесь поиском по форуму.
VolandMaster
Я понял что это происходит через смещение элементов, как это обойти?
Vofka
И да, правила, п. 4!

Цитата(VolandMaster @ 28.11.12, 11:44) необходимо зарегистрироваться для просмотра ссылки
Я понял что это происходит через смещение элементов, как это обойти?

Я выше не по русски написал?
VolandMaster
Цитата(Vofka @ 28.11.12, 11:45) необходимо зарегистрироваться для просмотра ссылки
И да, правила, п. 4!


Я выше не по русски написал?

Одновременно написали.
pumbaE
Запоминаем в массив элементы для удаления и отдельным проходом по массиву ищем в списке и удаляем.
VolandMaster
Элемент = Список.Количество();
    Элемент = Элемент -1;
        
    Пока Элемент>=0 цикл  
        Если Список[Элемент].Пометка = Ложь Тогда
              Список.Удалить(Элемент);
          КонецЕсли;
         Элемент = Элемент - 1;
     КонецЦикла;


Может кому-то пригодится.
Vofka
Пожалуйста.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.