Количество строк с нулевым значением

  • Автор темы Doubleagent
  • Дата начала
D

Doubleagent

#1
Здравствуйте Уважаемые!
Вопрос такого плана, в ТЧ1 есть две колонки (а,б – значение число). В колонку «б» забиваем (не все строки) оценки и делим на количество заполненных. Подскажите пожалуйста как получить сумму не заполненных(1) строк в колонке «б» .
КолП = Табличнаячасть1.Количество();
срд = Табличнаячасть1.Итог("Экзамены");
Дис3С = срд /(КолП - сумманезаполненых(1)) ;
 

Дайнеко

Well-known member
19.11.2009
951
0
#2
Код:
Функиця КолНезаполненных(Табличнаячасть)
Перем Кол;
Кол = 0;
Для каждого СтрокаТаблицы Из Табличнаячасть Цикл
Если НЕ(СтрокаТаблицы.Б = 0) Тогда
Кол = Кол + 1;
КонецЕсли;
КонецЦикла;
Возврат Кол;
КонецФункции;
 

Darlock

Well-known member
04.01.2008
560
1
#3
Код:
Функиця КолНезаполненных(Табличнаячасть)
Перем Кол;
Кол = 0;
Для каждого СтрокаТаблицы Из Табличнаячасть Цикл
Если НЕ(СтрокаТаблицы.Б = 0) Тогда
Кол = Кол + 1;
КонецЕсли;
КонецЦикла;
Возврат Кол;
КонецФункции;
Как вариант можно в цикле обойти всю таблицу. Можно попробовать следующий вариант:

Код:
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Номенклатура", ТекТовар);
НайденныеСтроки = Состав.НайтиСтроки(ПараметрыОтбора);
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#5
Я вот думаю, а чем запрос не прокатывает?
что-то типа такого
select count() from ТабличнаяЧасть where Количество = 0
 

Darlock

Well-known member
04.01.2008
560
1
#6
Можно и запросом, все уперается в здравый смысл. Только запрос в том виде в котором предложили не сработает в 1С.
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#7
Darlock, а я разве сказал, что это готовый кусок кода? Я вообще противник предоставления готовых примеров при обучении - исключительно указание направления поисков. А четкие выверенные примеры должны находиться в документации. Но это все - всего лишь мое ИМХО, правда, основанное на определенном опыте.
 
B

Buster

#8
Чтоб не городить код обхода цикла было бы проще мне кажется след. образом
Код:
КоличествоНеЗаполненных = ТабличнаяЧасть.НайтиСтроки(Новый Структура("Количество", 0)).Количество();
И отсюда можно очень легко узнать что нам надо