Итоги по колонкам и строкам в программно созданной таблице
Добрый день. Запросом собираем произвольное количество Элементов, подтягиваем их числовые значения. Затем программно на форме отрисовываем таблицу.
Как программно добавить итоги по строкам и столбцам этой таблицы?
На ум приходит только после отрисовки таблицы добавить программно ещё 1 колонку с итогом по строкам, а затем строку, с итогами по колонкам.
Есть другие варианты?
Как программно добавить итоги по строкам и столбцам этой таблицы?
На ум приходит только после отрисовки таблицы добавить программно ещё 1 колонку с итогом по строкам, а затем строку, с итогами по колонкам.
Есть другие варианты?
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) У таблицы при создании установлено свойство подвал, мне просто не понятно как туда загнать значение правильно
Мне программно создавать такое же количество реквизитов формы, что и колонок у таблицы (числовых), и перед тем как отобразить подвал, этот реквизит, который будет "ПутьКДаннымПодвала" мне нужно будет ещё и посчитать?
Мне программно создавать такое же количество реквизитов формы, что и колонок у таблицы (числовых), и перед тем как отобразить подвал, этот реквизит, который будет "ПутьКДаннымПодвала" мне нужно будет ещё и посчитать?
ПутьКДаннымПодвала не надо заполнять. Просто в свойство "ТекстПодвала" (вроде так называется) помещаете итог по текущей колонке.
Типа вот так: Элементы.<ИмяКолонки>.ТекстПодвала = ТЗ.Итог(<ИмяКолонки>)
Типа вот так: Элементы.<ИмяКолонки>.ТекстПодвала = ТЗ.Итог(<ИмяКолонки>)
Путь к данным подвала заполнять надо.
Например в группу с названием ГруппаТовары надо добавить элементы таблицы ТаблицаТовары с колонкой Количество и Итогом по этой колонке.
Например в группу с названием ГруппаТовары надо добавить элементы таблицы ТаблицаТовары с колонкой Количество и Итогом по этой колонке.
ТаблицаТовары = ЭтаФорма.Элементы.Добавить("ТаблицаТовары", Тип("ТаблицаФормы"),Элементы.ГруппаТовары);
ТаблицаТовары.ПутьКДанным = "ТаблицаТовары";
ТаблицаТовары.Подвал = Истина;
ТоварыКоличество = ЭтаФорма.Элементы.Добавить("ТоварыКоличество", Тип("ПолеФормы"),ТаблицаТовары);
ТоварыКоличество.ПутьКДанным = "ТаблицаТовары.Количество";
ТоварыКоличество.ПутьКДаннымПодвала = "ТаблицаТовары.ИтогКоличество";
Показать
(10) Сандра, не получится так как Вы написали из-за того, что у реквизитов добавленных программно нет данных по пути
Вообще итоги присутствуют у таблиц, которые присутствуют в метаданных, если таблица принадлежит форме, а не объекту, то итогов не будет.
Поэтому вариантов всего 2:
1. Программно рассчитать итог по колонке и прописать в ТекстПодвала (Как уже многие выше подсказали).
2. Программно добавить реквизит и в ПутьКДаннымПодвала прописать путь к нему, в этот программный реквизит заталкивать рассчитанный итог по колонке.
Приведу вырезки кода,:
ТаблицаТовары.ИтогКоличество
Вообще итоги присутствуют у таблиц, которые присутствуют в метаданных, если таблица принадлежит форме, а не объекту, то итогов не будет.
Поэтому вариантов всего 2:
1. Программно рассчитать итог по колонке и прописать в ТекстПодвала (Как уже многие выше подсказали).
2. Программно добавить реквизит и в ПутьКДаннымПодвала прописать путь к нему, в этот программный реквизит заталкивать рассчитанный итог по колонке.
Приведу вырезки кода,:
НовыйРеквизит = Новый РеквизитФормы(ТабРеквизит+"_"+Колонка.Имя, Колонка.ТипЗначения, , Колонка.Заголовок);
НовыеРеквизиты.Добавить(НовыйРеквизит);
// ... Далее:
НовыйЭлемент = Элементы.Добавить(ТабРеквизит + "_" + Имя, Тип("ПолеФормы"), Элементы[ТабЭлементФормы]);
НовыйЭлемент.ПутьКДанным = ТабРеквизит + "." + Имя;
// Подвал только для колонок с числом
Если ТаблицаЗначений.Колонки[Имя].ТипЗначения.СодержитТип(Тип("Число")) Тогда
НовыйЭлемент.ПутьКДаннымПодвала = ТабРеквизит+"_" + Имя;
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот