Удаление строк из таблицы значений (обход сверху)

Для того, чтобы удалить строки из таблицы значений 1С по определённому условию, можно использовать цикл «Для Каждого Из« и обойти таблицу, начиная с первой строки.

Предположим, что таблица имеет две колонки — «Договор» и «Валюта», где «Валюта» — валюта договора. Необходимо из таблицы удалить все строки с теми договорам, валюта которых находится в определённом списке:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// МассивВалют - массив, в котором хранится список валют.
//
// Построчно обходим таблицу значений
Для Каждого Стр ИЗ ОсновнаяТаблицаДанных Цикл
	// Вводим счетчик
	Сч = 0;
	Пока Сч < ОсновнаяТаблицаДанных.Количество() Цикл
		// Получаем строку таблицы значений по индексу
		СтрокаТаблицы = ОсновнаяТаблицаДанных.Получить(Сч);
		// Если значение валюты в текущей строке таблицы значений входит
		// в массив валют - удаляем строку. Счётчик при этом не меняет своего
		// значения. Этим обеспечивается построчная проверка таблицы
		// начиная сверху.
		Если МассивВалют.Найти(СтрокаТаблицы.Валюта) <> Неопределено Тогда
			ОсновнаяТаблицаДанных.Удалить(СтрокаТаблицы);
		Иначе
			Сч = Сч + 1;
		КонецЕсли;
	КонецЦикла;
КонецЦикла;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

WP-SpamFree by Pole Position Marketing