Расчет значения в подвале табличной части
Добрый день всем!
Прошу помочь с такой задачей: (1с 8.2) Есть табличная часть на форме обработки, в ней есть числовые графы "План", "Выполнено план","Процент выполнения плана", в строках покупатели, В подвалах первых двух граф выводятся итоги. Нужно в подвале в графы "Процент выполнения плана" вывести значение, которое рассчитывается как частное от итогов в подвалах соответствующих граф "Выполнено план"/"План" т.е. в подвале расчет должен быть по значениям самих итогов и чтобы при наложения отбора на табличную часть данные в графе "Процент выполнения плана" также рассчитывался на этот отбор. Надеюсь понятно изложил.
Прошу помочь с такой задачей: (1с 8.2) Есть табличная часть на форме обработки, в ней есть числовые графы "План", "Выполнено план","Процент выполнения плана", в строках покупатели, В подвалах первых двух граф выводятся итоги. Нужно в подвале в графы "Процент выполнения плана" вывести значение, которое рассчитывается как частное от итогов в подвалах соответствующих граф "Выполнено план"/"План" т.е. в подвале расчет должен быть по значениям самих итогов и чтобы при наложения отбора на табличную часть данные в графе "Процент выполнения плана" также рассчитывался на этот отбор. Надеюсь понятно изложил.
По теме из базы знаний
- Обработка для создания документов "График отпусков организации", "Отпуска организации" и корректировки справочника "Остатки отпусков организации", УПП 1.3
- Учет и расчет выплат работникам за время прохождения медосмотров в программе «1С:ЗУП» редакции 2.5
- Путевой лист грузового автомобиля в 1С:Бухгалтерия 3.0
- Дружелюбный интерфейс итогов в диалоге табличных частей, для Управляемых форм.
- Расчет суммы и НДС в табличной части документа
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Сталкивался с такой проблемой тоже хотел выводить в подвале не просто сумму, по моему эту проблему решить нельзя. Надо создавать реквизит формы и в процедуре при изменении нужных частей таблицы ставить обработку заполнения этого реквизита.
Спасибо за ответы. Сам чувствую, что если в лоб программировать, то с описанием всех возможных событий при отборе, но поднял тему, чтобы посоветоваться может есть какой-то другой способ более красивый. Еще раз спасибо за ответы.
Приведу пример на форме есть Табличное поле Товары, у него колонка Сумма, надо показывать в подвале Сумму, с учетом отбора
1) В процедуре ПриОткрытии() формы нужно запомнить Отбор в переменную формы мОтбор и сразу ОтобразитьИнформацию() в подвале
2) В обработчике события Табличного поля Товары ПриПолученииданных() анализировать изменился ли отбор, если да, то ОтобразитьИнформацию()
3)И наконец сама процедура ОтобразитьИнформацию() будет выглядеть так:
Сумма показана просто как пример, можно посчитать все что угодно.
1) В процедуре ПриОткрытии() формы нужно запомнить Отбор в переменную формы мОтбор и сразу ОтобразитьИнформацию() в подвале
Перем мОтбор;
Процедура ПриОткрытии()
мОтбор = ЗначениеВСтрокуВнутр(ЭлементыФормы.Товары.ОтборСтрок);
ОтобразитьИнформацию();
КонецПроцедуры
2) В обработчике события Табличного поля Товары ПриПолученииданных() анализировать изменился ли отбор, если да, то ОтобразитьИнформацию()
Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
ТекущийОтбор = ЗначениеВСтрокуВнутр(ЭлементыФормы.Товары.ОтборСтрок);
Если мОтбор <> ТекущийОтбор Тогда
мОтбор = ТекущийОтбор;
ОтобразитьИнформацию();
КонецЕсли;
КонецПроцедуры
3)И наконец сама процедура ОтобразитьИнформацию() будет выглядеть так:
Процедура ОтобразитьИнформацию()
лСумма = 0;
Для Каждого Стр Из Товары Цикл
Если ЭлементыФормы.Товары.ПроверитьСтроку(Стр) Тогда //тут проверяется что строка удовлетворяет отбору
лСумма = лСумма + Стр.Сумма;
КонецЕсли;
КонецЦикла;
ЭлементыФормы.Товары.Колонки.Сумма.ТекстПодвала = Формат(лСумма,"тут фоматная строка");
КонецПроцедуры
ПоказатьСумма показана просто как пример, можно посчитать все что угодно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот