1С 8.3 Удаление пустой строки Таблицы значений
Данные > Примеры кода 1С > 1С 8.3 Таблица значений
Перейти в раздел примеры кода 1С 8.3:
Программно удаляем пустую строку в ТЗ (проверка на пустоту по определенным колонкам) в 1С 8.3:
Процедура УдалитьПустуюСтрокуТЗпоОпредКолонкам(ТаблЗнач) Экспорт
// Проверяем колонки: "Код", "Наименование" и "Цена" не заполненность
// если данные строки (по перечисленным колонкам) пустые - удаляем строку
НаименованияСтолбцов = Новый Структура("Код, Наименование, Цена","","","");
ПустыеСтроки = ТаблЗнач.НайтиСтроки(НаименованияСтолбцов);
Для Каждого СтрокаТЗ Из ПустыеСтроки Цикл
ТаблЗнач.Удалить(СтрокаТЗ);
КонецЦикла;
КонецПроцедуры //УдалитьПустуюСтрокуТЗпоОпредКолонкам()
// Проверяем колонки: "Код", "Наименование" и "Цена" не заполненность
// если данные строки (по перечисленным колонкам) пустые - удаляем строку
НаименованияСтолбцов = Новый Структура("Код, Наименование, Цена","","","");
ПустыеСтроки = ТаблЗнач.НайтиСтроки(НаименованияСтолбцов);
Для Каждого СтрокаТЗ Из ПустыеСтроки Цикл
ТаблЗнач.Удалить(СтрокаТЗ);
КонецЦикла;
КонецПроцедуры //УдалитьПустуюСтрокуТЗпоОпредКолонкам()
Программно удаляем пустую строку в ТЗ (по определенной колонке) с доп. проверками в 1С 8.3:
Функция УдалитьПустуюСтрокуТЗ(Строка_ТЗ, ИмяКолонки_ТЗ = "") Экспорт
Перем ТаблЗнач;
// Доп.проверка на наличие строки ТЗ
Если Строка_ТЗ = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
ТаблЗнач = Строка_ТЗ.Владелец();//Владелец данной строки
Если НЕ ПустаяСтрока(ИмяКолонки_ТЗ) Тогда
//Проверка заполнения
НайдКолонка = ТаблЗнач.Колонки.Найти(ИмяКолонки_ТЗ);
Если НЕ НайдКолонка = Неопределено Тогда
Если ЗначениеЗаполнено(Строка_ТЗ[ИмяКолонки_ТЗ]) Тогда
// Заполнена, останавливаем функцию
Возврат Ложь;
КонецЕсли;
КонецЕсли;
КонецЕсли;
//Удаление строки
ТаблЗнач.Удалить(Строка_ТЗ);
Возврат Истина;
КонецФункции //УдалитьПустуюСтрокуТЗ()
Перем ТаблЗнач;
// Доп.проверка на наличие строки ТЗ
Если Строка_ТЗ = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
ТаблЗнач = Строка_ТЗ.Владелец();//Владелец данной строки
Если НЕ ПустаяСтрока(ИмяКолонки_ТЗ) Тогда
//Проверка заполнения
НайдКолонка = ТаблЗнач.Колонки.Найти(ИмяКолонки_ТЗ);
Если НЕ НайдКолонка = Неопределено Тогда
Если ЗначениеЗаполнено(Строка_ТЗ[ИмяКолонки_ТЗ]) Тогда
// Заполнена, останавливаем функцию
Возврат Ложь;
КонецЕсли;
КонецЕсли;
КонецЕсли;
//Удаление строки
ТаблЗнач.Удалить(Строка_ТЗ);
Возврат Истина;
КонецФункции //УдалитьПустуюСтрокуТЗ()
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник