profile="http://gmpg.org/xfn/11"> Как перебрать все строки в таблице документа 1С? Без использования запроса. | Разработчику о работе с 1С:Предприятие, Pascal, Паскаль

Как перебрать все строки в таблице документа 1С? Без использования запроса.

Как перебрать все строки в таблице документа 1С? Без использования запроса.
Ранее мы выводили данные из табличной части документа при помощи запроса.
В этой статье рассмотрим операторы Цикла.
Циклы применяются для выполнения каких либо повторяющихся действий.
Задача: Требуется перебрать все строки в таблице документа.

1. Перебираем строки с помощью цикла Для каждого.
Записывается:

Для каждого ТекСтрока Из КоллекцияСтрок Цикл

КонецЦикла;

ТекСтрока — переменная,
КоллекцияСтрок — коллекция значений.
Тогда наш пример запишем так:

Процедура КакПеребратьВсеСтрокиВТаблицеДокумента()
	Для каждого СтрТовар Из ВыбДокумента.Товары Цикл
		Сообщить("Номенклатура: "+СтрТовар.Номенклатура);
	КонецЦикла;
КонецПроцедуры

ВыбДокумента- реквизит на форме. То есть конкрентный выбранный документ.
Товары — табличная часть выбранного документа.

2. Перебираем строки с помощью цикла Пока.
Записывается:

Пока л < КолСтрок Цикл

	л=л+1;
КонецЦикла;

л — счетчик, который увеличивается на 1.
КолСтрок — максимальное количество итераций.

Тогда наш пример запишем так:

Процедура КакПеребратьВсеСтрокиВТаблицеДокумента1()
	Перем л, КолСтрок,Товары;
	л=0;
	КолСтрок=ВыбДокумента.Товары.Количество();
	Товары=ВыбДокумента.Товары;
	Пока л < КолСтрок Цикл
		Сообщить("Номенклатура: "+Товары[л].Номенклатура.Наименование);
		л=л+1;
	КонецЦикла;
КонецПроцедуры

где:
ВыбДокумента- реквизит на форме. То есть конкрентный выбранный документ.
Товары — табличная часть выбранного документа.
3. Перебираем строки с помощью цикла Для.
Записывается:

Для л=0 по КолСтрок Цикл
	
Номенклатура.Наименование);
КонецЦикла

л — счетчик, увеличивается на 1.
КолСтрок — максимальное количество итераций.
Тогда наш пример запишем так:

Процедура КакПеребратьВсеСтрокиВТаблицеДокумента2()
	Перем л, КолСтрок,Товары;
	КолСтрок=ВыбДокумента.Товары.Количество()-1;
	Товары=ВыбДокумента.Товары;
	Для л=0 по КолСтрок Цикл
		Сообщить("Номенклатура: "+Товары[л].Номенклатура.Наименование);
	КонецЦикла;
КонецПроцедуры

Возможно вас заинтересует:
Рассмотрим функции для работы со строкой: Найти(), Сред(), СтрДлина(). 1С:Предприятие.
Как загрузить информацию из Excel в 1С:Предприятие? При помощи COMObject. Вариант 1.
Таблица значений в 1С:Предприятии 8.0, 8.1, 8.2.
Горячие клавиши в 1С:Предприятие 8.2.
Как в табличной части документа в 1С:Предприятие 8.2 добавить новую колонку?
Создание отчета в 1C на СКД.

Комментарии запрещены.