Простой пример кода для удаления определенных записей из массива в программе 1с. Дополнительно создаем еще один массив. Исходный массив перебирается и по условию в новый массив добавляются элементы, которые необходимо удалить.Затем обходим массив к удалению и по ссылке удаляем элементы из исходного массива.
1 2 3 4 5 6 7 8 9 10 11 | мУд = Новый Массив(); Для Каждого Стр Из МассивСДанными Цикл Если (Стр.ТипЭлемента = Перечисления.ТипыЭлементов.НужныйТип) Тогда //напрямую здесь удалять нельзя так как собъется итерация цикла поэтому добавляем ссылку в отдельный массив мУд.Добавить(Стр); КонецЕсли; КонецЦикла; //теперь приступим непосредственно к удалению Для Каждого Стр Из мУд Цикл МассивСДанными.Удалить(Стр); КонецЦикла; |
Есть еще вариант удаления, если перебирать массив не с начала, а с конца, тогда последовательность массива не собьется:
1 2 3 4 5 6 7 8 9 10 11 12 13 | // получаем количство элементов в массиве КолЭлМассива = МассивСДанными.Количество(); //начинаем перебор Для Отсчет = 1 По КолЭлМассива Цикл получаем элемент массива начиная с конца ЭлМассив = МассивСДанными[КолЭлМассива - Отсчет]; // проверяем на нужное условие Если (ЭлМассив.ТипЭлемента = Перечисления.ТипыЭлементов.НужныйТип) Тогда // если условие выполнено удаляем МассивСДанными.Удалить(ЭлМассив); КонецЕсли; КонецЦикла; |
Смотрите также:Проверка отличающихся значений в полях табличной части или таблице значений 1с
Поделиться ссылкой:
Похожие записи
Удаление выбранных записей из массива 1с