Как узнать количество строк в столбце с "ЗначениеЗаполнено" без цикла ОФ

1. erus88 46 06.06.19 08:51 Сейчас в теме +0.05 $m
Есть ТабличнаяЧасть.Количество() которая определяет количество строк в таблице. А как без цикла узнать количества заполненных строк в таблице?
Если работать с циклом, то каждое действие вызывает цикл, а это сильно грузит процесс.

Процедура ИндикацияСопоставление(Товары)
	ИндикаторСоп = ЭлементыФормы.Индикатор1;
	ИндикаторСоп.Значение = 0;
	ИндикаторСоп.МаксимальноеЗначение=Товары.Количество();
	КоличествоЗаполненыхСтрок=0;
	
		Для Каждого СтрокаТ из Товары Цикл
			Если ЗначениеЗаполнено(СтрокаТ.Номенклатура) Тогда

	    	КоличествоЗаполненыхСтрок = Число(КоличествоЗаполненыхСтрок)+1;
			
			КонецЕсли;
		КонецЦикла;
	ИндикаторСоп.Значение = КоличествоЗаполненыхСтрок;
КонецПроцедуры
Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
2. Dream_kz 128 06.06.19 08:54 Сейчас в теме +0.02 $m
(1)
Отбор = Новый Структура("Номенклатура", Справочники.Номенклатура.ПустаяСсылка());
КоличествоПустыхСтрок = Товары.НайтиСтроки(Отбор).Количество();
erus88; Pavel Rodinchenko; +2 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Dream_kz 128 06.06.19 08:54 Сейчас в теме +0.02 $m
(1)
Отбор = Новый Структура("Номенклатура", Справочники.Номенклатура.ПустаяСсылка());
КоличествоПустыхСтрок = Товары.НайтиСтроки(Отбор).Количество();
erus88; Pavel Rodinchenko; +2 Ответить
4. erus88 46 06.06.19 09:23 Сейчас в теме
(2)
Отбор = Новый Структура("Номенклатура", Справочники.Номенклатура.ПустаяСсылка());
КоличествоПустыхСтрок = Товары.НайтиСтроки(Отбор).Количество();

Как то так.

Процедура ИндикацияСопоставление(Товары)
	ИндикаторСоп = ЭлементыФормы.Индикатор1;
	ИндикаторСоп.Значение = 0;
	ИндикаторСоп.МаксимальноеЗначение=Товары.Количество();	
	Отбор = Новый Структура("Номенклатура", Справочники.Номенклатура.ПустаяСсылка());
	КоличествоПустыхСтрок = Товары.НайтиСтроки(Отбор).Количество();
	КоличествоЗаполненыхСтрок=Товары.Количество()-КоличествоПустыхСтрок;
	ИндикаторСоп.Значение = КоличествоЗаполненыхСтрок;

КонецПроцедуры
Показать

Только через ПустуюСсылку можно отобрать как я понял?.

Вызов процедуры делаю через ТоварыПриВыводеСтроки. Через что еще можно вызывать что бы срабатывало при заполнение?
3. valerasv 135 06.06.19 09:14 Сейчас в теме +0.01 $m
(1)Передать таблицу параметром в запрос и запросом.

ВЫБРАТЬ
ТаблицаДанных.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ ВТ_ТаблицаДанных
ИЗ
&ТаблицаДанных КАК ТаблицаДанных
;

////////////////////////////////////////////////////////////­//////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(ВТ_ТаблицаДанных.Номенклатура) КАК Номенклатура
ИЗ
ВТ_ТаблицаДанных КАК ВТ_ТаблицаДанных
ГДЕ
НЕ(ВТ_ТаблицаДанных.Номенклатура ЕСТЬ NULL
ИЛИ ВТ_ТаблицаДанных.Номенклатура = НЕОПРЕДЕЛЕНО
ИЛИ ВТ_ТаблицаДанных.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяССылка))
5. SlavaKron 06.06.19 09:26 Сейчас в теме
Вы заблуждаетесь, если думаете, что подобный цикл сильно грузит процесс. Включите замер производительности и посмотрите на какой строке тратится больше всего времени.
6. erus88 46 06.06.19 09:31 Сейчас в теме
(5)Сам цикл не спорю.
но у меня эта процедура в ТоварыПриВыводеСтроки запускается. и получается даже когда таблицу прокручиваешь, начинается повторять процедуру.
Прикрепленные файлы:
7. SlavaKron 06.06.19 09:33 Сейчас в теме +0.01 $m
(6) Нельзя работать с элементами формы в событии при ВыводеСтроки, это вызывает зацикливание.
9. erus88 46 06.06.19 09:43 Сейчас в теме
(7)Это я заменил. Из-за чего и задался вопросом как по другому с меньшими жертвами.
8. VictorRGB2 13 06.06.19 09:34 Сейчас в теме +0.01 $m
а зачем вам в ПриВыводеСтрок то? вызовите один раз после завершения чтения\заполнения тч и в ПриИзменении в случае если изменили ПустаяСсылка на значение и будет все быстро и без зацикливания
10. erus88 46 06.06.19 09:46 Сейчас в теме
(8) Так наверное и сделаю. лень блин. или в одно место поставить, или по всем процедурам кидать))).
11. erus88 46 06.06.19 09:55 Сейчас в теме
Всем Спасибо. Вопрос закрыт.
Оставьте свое сообщение
Вакансии
Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 130 000 руб. до 170 000 руб.
Полный день

Программист 1C
Санкт-Петербург
зарплата от 140 000 руб. до 200 000 руб.
Полный день