Как проверить таблицу значений на пустоту 1с
Перейти к содержимому

Как проверить таблицу значений на пустоту 1с

  • автор:

Проверка на пустой результат выполнения запроса

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. Проверку того, что результат выполнения запроса не содержит строк следует выполнять с помощью метода Пустой . Поскольку на получение выборки из результата запроса (выгрузка его в таблицу значений) будет затрачиваться дополнительное время.

Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;

Возврат НЕ Запрос.Выполнить().Пустой()

Методическая рекомендация (полезный совет)

2. В то же время если требуется выбрать (или выгрузить) результат запроса, то предварительный вызов метода Пустой не требуется.
Например, вместо:

РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда // избыточный вызов
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
.

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
.

Как проверить таблицу значений на пустоту 1с

Как проверить н пустату таблицу значений?

ТЗ.Количество()=0

(1) Большое спасибо

(1) Ему бы лучше научиться Ctrl+Shift+F1 нажимать. 😉

(3) Следует возрадоваться тому, что хоть здесь он что-то читает.

(3) Это слишком сложно. Лучше просто F1

(1) лучше даже так ТЗ_80.Количество()=0
это ведь по 8-ке вопрос, а не по какай-то там 7-ке 🙂

(7) Можно еще так (метод Рупора):

Попытка
а = тз[0];
Исключение
Сообщить(«Таблица значений пустая»);
КонецПопытки;

(8) Что-то мне кажется что попытку использовать нужно осторожно, предполагаю что тормоза там будут.

(10) Это же разовая операция, а не цикл. Да и нет операций с БД. Можно не обращать внимания.

Проверка на пустой результат выполнения запроса

1. Проверку того, что результат выполнения запроса не содержит строк следует выполнять с помощью метода Пустой. Поскольку на получение выборки из результата запроса (выгрузка его в таблицу значений) будет затрачиваться дополнительное время.

Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Возврат Истина; Иначе Возврат Ложь; КонецЕсли; 
Возврат НЕ Запрос.Выполнить().Пустой() 

Методическая рекомендация (полезный совет)

2. В то же время если требуется выбрать (или выгрузить ) результат запроса, то предварительный вызов метода Пустойне требуется .
Например, вместо:

РезультатЗапроса = Запрос.Выполнить(); Если НЕ РезультатЗапроса.Пустой() Тогда // избыточный вызов Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл ... 
Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ... 

1С 8.3 Удаление пустой строки Таблицы значений — Программист 1С Минск. Автоматизация бизнеса.

ПРИМЕРЫ КОДА 1С

Перейти в раздел примеры кода 1С 8.3:

Программно удаляем пустую строку в ТЗ (проверка на пустоту по определенным колонкам) в 1С 8.3:

Процедура УдалитьПустуюСтрокуТЗпоОпредКолонкам ( ТаблЗнач ) Экспорт

// Проверяем колонки: «Код», «Наименование» и «Цена» не заполненность
// если данные строки (по перечисленным колонкам) пустые — удаляем строку
НаименованияСтолбцов = Новый Структура ( «Код, Наименование, Цена» , «» , «» , «» );
ПустыеСтроки = ТаблЗнач . НайтиСтроки ( НаименованияСтолбцов );
Для Каждого СтрокаТЗ Из ПустыеСтроки Цикл
ТаблЗнач . Удалить ( СтрокаТЗ );
КонецЦикла;

Программно удаляем пустую строку в ТЗ (по определенной колонке) с доп. проверками в 1С 8.3:

Функция УдалитьПустуюСтрокуТЗ ( Строка_ТЗ , ИмяКолонки_ТЗ = «» ) Экспорт

Перем ТаблЗнач ;
// Доп.проверка на наличие строки ТЗ
Если Строка_ТЗ = Неопределено Тогда
Возврат Ложь;
КонецЕсли;

ТаблЗнач = Строка_ТЗ . Владелец (); //Владелец данной строки
Если НЕ ПустаяСтрока ( ИмяКолонки_ТЗ ) Тогда
//Проверка заполнения
НайдКолонка = ТаблЗнач . Колонки . Найти ( ИмяКолонки_ТЗ );
Если НЕ НайдКолонка = Неопределено Тогда
Если ЗначениеЗаполнено ( Строка_ТЗ [ ИмяКолонки_ТЗ ]) Тогда
// Заполнена, останавливаем функцию
Возврат Ложь;
КонецЕсли;
КонецЕсли;
КонецЕсли;

//Удаление строки
ТаблЗнач . Удалить ( Строка_ТЗ );
Возврат Истина;

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

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