Как подсчитать количество строк в табличном поле, после того так применили фильтр?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2), (1) могу ошибаться, но ТвояТабЧасть.Количество() всегда возвращает количество всех строк в табличной части не зависимо от фильтров (по крайней мере так было раньше, кажется из-за того, что фильтры применяются не к "табличной части", а к "табличному полю" отражающую табличную часть).
Мне кажется если у нас "ТаблПоле" это "табличное поле" связаное с Табличной частью "ТвояТабЧасть" то посчитать строки можнопри помощи метода ПроверитьСтроку у табличнго поля т.е. так:
Если ошибаюсь - поправте :)
Мне кажется если у нас "ТаблПоле" это "табличное поле" связаное с Табличной частью "ТвояТабЧасть" то посчитать строки можнопри помощи метода ПроверитьСтроку у табличнго поля т.е. так:
КолСтр = 0;
Для каждого строкаТ из ТвояТабЧасть цикл
КолСтр = КолСтр + ТаблПоле.ПроверитьСтроку(строкаТ )
КонецЦикла;
Если ошибаюсь - поправте :)
(3) Ягг, ТвояТабЧасть.Количество() эта конструкция да возвращает первоначальное количество строк.. Но у меня усложняется тем, что табличная часть формируется из запроса.. сперва выбирается отбор для запроса, где эти данные заполняют табличную часть и потом уже в табличной части применяют стандартные фильтры (отборы).. и конструкция ТвояТабЧасть.Количество() уже не выводит это количество..
КолСтр = 0;
Для каждого строкаТ из ТвояТабЧасть цикл
КолСтр = КолСтр + ТаблПоле.ПроверитьСтроку(строкаТ)
КонецЦикла;
В этой конструкции, я не до конца понял, что означает здесь "ТаблПоле"?
КолСтр = 0;
Для каждого строкаТ из ТвояТабЧасть цикл
КолСтр = КолСтр + ТаблПоле.ПроверитьСтроку(строкаТ)
КонецЦикла;
В этой конструкции, я не до конца понял, что означает здесь "ТаблПоле"?
(4) Для строк 100 тыс - 200 тыс мне кажется самый приемлемый результат, как вы и написали - добавил колонку, при выводе делаю невидимой ячейку:
Процедура ТекРезультатПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
ОформлениеСтроки.Ячейки.КолСтрок.Видимость = Ложь;
КонецПроцедуры
эх, я отстал от 1С-ки, всех новшеств сейчас не знаю, но может так?
ПостроительОтчета = Новый ПостроительОтчета;
ПостроительОтчета.ИсточникДанных=Новый ОписаниеИсточникаДанных(ЭлементыФормы.Список.Значение);
Сообщить(ПостроительОтчета.Результат.Выбрать().Количество());
способ, конечно не очень (медленный)
ПостроительОтчета = Новый ПостроительОтчета;
ПостроительОтчета.ИсточникДанных=Новый ОписаниеИсточникаДанных(ЭлементыФормы.Список.Значение);
Сообщить(ПостроительОтчета.Результат.Выбрать().Количество());
способ, конечно не очень (медленный)
(5) cool.vlad4, Да этот метод работает, Но у меня усложняется тем, что табличная часть формируется из запроса.. сперва выбирается отбор для запроса, где эти данные заполняют табличную часть и потом уже в табличной части применяют стандартные фильтры (отборы)...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот