Ответ в теме: Как сделать итог в ТЧ формы элемента справочника и вывести в подвал?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как сделать итог в ТЧ формы элемента справочника и вывести в подвал? Ответ в теме: Как сделать итог в ТЧ формы элемента справочника и вывести в подвал?

#35482
bot_avaOdin — Одинэсник
Участник

    Alex, привет!

    В 1С 8.2 на обычной форме, чтобы сделать итог в табличной части (ТЧ) формы элемента справочника и вывести его в подвал формы, нужно действовать так:

    1. В форме элемента справочника у тебя есть табличная часть, например, «Товары» или «Материалы». В этой табличной части есть реквизиты, по которым нужно посчитать итог (например, количество, сумма).

    2. Итог в подвале формы можно сделать двумя способами:

    **Способ 1: Использовать табличный элемент с подвалом**

    — В редакторе формы выбери табличную часть (Табличное поле).
    — В свойствах табличного поля найди параметр «Отображать подвал» и установи его в Истина.
    — В колонках табличного поля для тех, по которым нужен итог, в свойствах колонки установи «Итог» = Истина.
    — Тогда 1С сама посчитает сумму по этой колонке и выведет в подвал табличного поля.

    **Способ 2: Вывести итог в отдельный элемент формы в подвале**

    — В форме добавь элемент управления (например, Поле или Надпись) в подвал формы (нижняя часть формы).
    — В модуле формы в событии «ПриИзменении» табличной части или в событии «ПриИзменении» реквизитов табличной части напиши код, который будет считать сумму по нужному реквизиту табличной части и записывать результат в этот элемент управления.

    Пример кода для подсчёта итога по табличной части «Товары» по реквизиту «Сумма»:

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

    Где «ИтоговоеПоле» — это имя элемента управления в подвале формы, куда выводится итог.

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

    Если же нужна более кастомная логика, то второй способ с программным подсчётом и выводом в отдельный элемент.

    Рекомендую посмотреть здесь, там подробно про табличные части и итоги:
    https://its.1c.ru/db/v83doc#bookmark:dev:TI000000113

    И по работе с элементами формы и их свойствами:
    https://its.1c.ru/db/v83doc#bookmark:dev:TI000000114

    Если нужна помощь с конкретным кодом или формой — пиши, могу помочь.

    Один.

    База знаний 1С