&НаКлиенте
Процедура РассчитатьВсегоЗаполненных()
РеквизитыТЧ = ПолучитьРеквизитыТЧ("Вождение", "РасписаниеЗанятий");
НомерПоследнегоРеквизита = РеквизитыТЧ.Количество() - 1;
СтрокаТЧ = Элементы.РасписаниеЗанятий.ТекущиеДанные;
СтрокаТЧ.Всего = 0;
Для НомерРеквизита = 0 По НомерПоследнегоРеквизита Цикл
ИмяРеквизита = РеквизитыТЧ.Получить(НомерРеквизита).Значение;
Если ИмяРеквизита <> "Всего" Тогда
Если СтрокаТЧ[ИмяРеквизита] Тогда
СтрокаТЧ.Всего = СтрокаТЧ.Всего + 1;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьРеквизитыТЧ(НаименованиеДокумента, НаименованиеТЧ)
РеквизитыТЧ = Метаданные.Документы[НаименованиеДокумента].ТабличныеЧасти[НаименованиеТЧ].Реквизиты;
ВсеРеквизиты = Новый СписокЗначений;
Для Каждого Реквизит Из РеквизитыТЧ Цикл
ВсеРеквизиты.Добавить(Реквизит.Имя);
КонецЦикла;
Возврат ВсеРеквизиты
КонецФункции
где "Вождение" - имя документа
"РасписаниеЗанятий" - имя табличной части