УПП 1.3.87.1 Платформа 8.2 Обычное приложение
Подскажите, пожалуйста, есть обработка в табличную часть которой выбираются данные. В подвале ТЧ выводится итог по колонке "Сумма". При первоначальном заполнении ТЧ выводятся все записи и итог по сумме (по всем записям).
Необходимо, чтобы этот итог изменялся в зависимости от отборов, которые установит пользователь в этой ТЧ. Как сделать, чтобы сумма выбиралась только тех позиций, которые высвечиваются на экране (по отбору).
---
Так а зачем вы программно вычисляете?
У колонки сумма поставьте галочку в свойстве "Отображать итоги в подвале" и уберите свой код.
---
Можно.

```1c
    ПостроительЗапроса = Новый ПостроительЗапроса;
    ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(Общая);
    Для Каждого ЭлементОтбора из ЭлементыФормы.Общая.ОтборСтрок Цикл
    ЗаполнитьЗначенияСвойств(ПостроительЗапроса.Отбор.Добавить(ЭлементОтбора.Имя), ЭлементОтбора);
    КонецЦикла;
    ИтогТаблицаЗначений = ПостроительЗапроса.Результат.Выгрузить();
    //тут решите как посчитать ваш итог по получившейся ТЗ и выведите его в подвал
```
---
Если в подвале сделан вывод итога стандартным методом - по-умолчанию оно так и работает.
---
А как можно написать нестандартным методом, чтобы итог был по выведенным строкам? Чтобы как на экране: нет отбора итог по всем, есть отбор только для отбора.
---
Эм.. не понял, поясните: а какая необходимость писать нестандартным методом?

Скрин. Без единой строчки кода.
---
поясните: а какая необходимость писать нестандартным методом?

У меня сумма по изделию повторяется несколько раз, т.к. разузловывается по комплектующим. Поэтому сумма повторяется, а итог должен в подвал выводится без повторов.
Программно можно вывести, чтобы пересчитывалось на отбор? И отображалось при выборе отбора?
---
У меня почему-то всегда выводится итог по всем строкам.

```1c
    ТЗОбщ.Свернуть("Изделие,Сумма");
    ИтПобвал=ТЗОбщ.Итог("Сумма");
    ЭлементыФормы.Общая.Колонки.Сумма.ТекстПодвала=ИтПобвал;
```

Форма не управляемая
---
Так а зачем вы программно вычисляете?
У колонки сумма поставьте галочку в свойстве "Отображать итоги в подвале" и уберите свой код.
---
подскажите, где находится свойство? Не вижу в палитре
---
Сейчас попробую. Спасибо!
---
Отлично. Спасибо большое. Как я про эту галочку забыла...
---
Можно.

```1c
    ПостроительЗапроса = Новый ПостроительЗапроса;
    ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(Общая);
    Для Каждого ЭлементОтбора из ЭлементыФормы.Общая.ОтборСтрок Цикл
    ЗаполнитьЗначенияСвойств(ПостроительЗапроса.Отбор.Добавить(ЭлементОтбора.Имя), ЭлементОтбора);
    КонецЦикла;
    ИтогТаблицаЗначений = ПостроительЗапроса.Результат.Выгрузить();
    //тут решите как посчитать ваш итог по получившейся ТЗ и выведите его в подвал
```
---
Подскажите, пожалуйста, с суммой все замечательно. При отборе "по значению в текущей колонке" иногда на экране задваиваются отобранные строки. Причем в различных вариантах. В чем может быть проблема?
---
не совсем понятно где и что задваивается. Если это не имеет отношения к сумме, то наверно лучше отдельной темой, с объяснением и может быть скринами, чтобы народ не путался.
---
Процедура выбрана правильно?
---
думаю других вариантов нет, вам же надо пересчитывать сумму в момент наложения отбора. 1С не предлагает большого разнообразия событий, поэтому "отследить" этот момент можно только здесь (ну или ПриВыводеСтроки(), но там не надо).
---
В какую процедуру формы обработки нужно поставить этот запрос?
---
Запрос поставила в процедуру табличного поля "ПриПолученииДанных". Все работает. Спасибо!!!
---
Хорошо. Попробую накидать вопрос задвоения, надеюсь Вы мне поможете... Большое спасибо.