Требуется вставить строку в середину табличной части в цикле по условию. К примеру у нас есть табличная часть «Запасы», есть переменная «Номенклатура». Обходим строки табличной части программно. Если «Номенклатура» заполнена, после текущей строки вставляем еще 1 строку, заполняем реквизиты строки. Оставшиеся строки сдвигаются.

Модуль формы элемента, пример кода:



СтрТч = 0;
Пока СтрТч < Объект.Запасы.Количество() Цикл
	
	Если ЗначениеЗаполнено(Номенклатура) Тогда
		НовСтрВставка = Объект.Запасы.Вставить(СтрТч);
		НовСтрВставка.Номенклатура = Выборка.Номенклатура;
		НовСтрВставка.ЕдиницаИзмерения = Выборка.Номенклатура.ЕдиницаИзмерения;
		НовСтрВставка.Количество = 1;
		Объект.Запасы.Сдвинуть(СтрТч, 1);
		// первый параметр - номер строки, с 0
		// второй параметр - на сколько позиций нужно подвинуть строку
		// при отрицательном значении строки будут двигаться назад
		СтрТч = СтрТч + 1;
	КонецЕсли;
	
	СтрТч = СтрТч + 1; 
	
КонецЦикла;