Как вывести итоги в подвал табличного поля в 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Отображение итогов в подвале табличной части — одна из самых частых задач при разработке интерфейсов в 1С — для этого есть вывод итоговых сумм в форме списка заказов. В зависимости от того, используете ли вы обычные или управляемые формы, подходы к решению этой задачи будут существенно различаться. Давайте разберем по шагам, как настроить отображение сумм, количеств и других агрегатных значений.

Работа с подвалом в обычных формах

В обычном приложении платформа предоставляет инструменты для автоматического вывода итогов, если данные привязаны к табличной части реквизита документа или справочника.

  1. Откройте форму элемента в конфигураторе.
  2. Перейдите в свойства ТабличногоПоля и установите флажок Подвал.
  3. Перейдите к свойствам нужной колонки (КолонкиТаблицы) и установите флажок ОтображатьИтогиВПодвале.

Если данные не являются реквизитами документа или вам необходимо учитывать только отфильтрованные строки, автоматический механизм может не подойти. В таком случае воспользуемся программным подходом.

Рассмотрим пример расчета суммы с учетом отборов табличного поля (реализовать алгоритм поможет консоль кода с ИИ-помощником (удобно через ИИ-помощник для разработки кода 1С)):


Процедура ПосчитатьИтогиНажатие(Элемент)
    ОбъемПродукцииВсего = 0;
    Для Каждого Строка Из продажиноменклатуры Цикл
        Если ЭлементыФормы.Продажи.ПроверитьСтроку(Строка) Тогда
            ОбъемПродукцииВсего = ОбъемПродукцииВсего + Строка.ОбъемПродукции;
        КонецЕсли;
    КонецЦикла;
    ЭлементыФормы.Продажи.Колонки["ОбъемПродукции"].ТекстПодвала = ОбъемПродукцииВсего;
КонецПроцедуры

Метод ПроверитьСтроку() позволяет определить, попадает ли конкретная строка под текущие фильтры пользователя, что критически важно для корректного отображения итогов в реальном времени. См. также генератор форматированной строки.

Работа с подвалом в управляемых формах (УФ)

В управляемых формах процесс стал более декларативным. Здесь мы практически не пишем код для простых случаев, используя свойства элементов формы.

  1. В дереве элементов формы выберите Таблицу. В палитре свойств включите свойство Подвал.
  2. Выберите нужную колонку этой таблицы.
  3. Найдите свойство ПутьКДаннымПодвала.
  4. В открывшемся окне выбора пути выберите соответствующий реквизит табличной части. Если это числовой реквизит, система предложит автоматически рассчитать итог, выбрав предопределенное поле, например, ИтогСумма.

Этот метод является наиболее предпочтительным, так как платформа самостоятельно пересчитывает значения при добавлении или изменении строк в таблице.

Решение проблем при выводе итогов

Иногда возникают ситуации, когда стандартные возможности неактивны. Проанализируем типичные сложности:

Помните, что для получения суммы всех строк без учета отбора можно использовать метод Итог():

ИтогПоСумме = РасходПоВалу.Итог("СуммаКраски");

Используя эти методы, вы сможете гибко настраивать отображение любых данных в подвалах таблиц, делая интерфейс программы удобным и информативным для пользователя. Всегда отдавайте предпочтение стандартным свойствам формы, и только в случае сложной логики фильтрации или вычислений прибегайте к программному управлению подвалом.

← На главную