MyTetra Share
Делитесь знаниями!
Удаление строк из табличной части документа
Время создания: 14.12.2016 16:21
Текстовые метки: 1с, табличная часть, удаление
Раздел: Программирование -
Запись: SalexIzyh/MyTetra/master/base/1481707277gmcy1wy212/text.html на raw.githubusercontent.com

Удаление строк из табличной части документа, все или по условию.

Удалить все строки табличного поля документа.
Код 1C v 8.х

ОтражениеВУчете.Очистить(); // ОтражениеВУчете - название табличного поля



Как в табличной части документа удалить строки только с нулевым значением реквизита "Количество"? 
Код 1C v 8.х

//Получим документ и укажем параметры поиска

ОбъектДок = СсылкаДок.ПолучитьОбъект();

СтруктураДляПоиска = Новый Структура("Количество", 0);

ТабличнаяЧастьДок = ОбъектДок.Товары;

//Получаем список строк соответсвтвующих отбору, и перебором удаляем.

МассивПустыхСтрок = ТабличнаяЧастьДок.НайтиСтроки(СтруктураДляПоиска);

Для каждого Строка Из МассивПустыхСтрок Цикл

ТабличнаяЧастьДок.Удалить(Строка);

КонецЦикла;

ОбъектДок.Записать(); // Записываем изменения в документе


В режиме управляемого приложения конструкция:
Код 1C v 8.2 УП

Для каждого Запись из ТабличнойЧасти Цикл

Если Запись.НадоУдалить Тогда

ТабличнойЧасти.Удалить(Запись);

КонецЕсли;

КонецЦикла;


Удаление с условием
Решение пришло такое:
Код 1C v 8.2 УП

КолВо = Объект.ТабличнойЧасти.Количество()-1;

ИндексСтроки = КолВо;

Для счетчик = 0 по КолВо Цикл

Запись = Объект.ТабличнойЧасти.Получить(ИндексСтроки);

если Запись.НадоУдалить тогда

Объект.ТабличнойЧасти.Удалить(Запись);

КонецЕсли;

ИндексСтроки = ИндексСтроки - 1;

КонецЦикла;

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования