|
Посчитать суммы выделенных ячеек табличного документа
| ☑ |
0
echo77
23.01.12
✎
13:41
|
Есть отчет, хочу реализовать функциональность Excel - при выделении ячеек на нижней панели выводится сумма.
Для табличного документа на форме задал обработчик события ПриАктивизацииОбласти. По задумке "ВыделенныеОбласти" - это коллекция, обходя которую можно получить все выделенные ячейки, но почему-то коллекция содержит только один элемент.
В чем может быть затык?
Процедура РезультатПриАктивизацииОбласти(Элемент)
//ЭлементыФормы.Результат.ВыделенныеОбласти
Сумма = 0;
Для Каждого ЭлементКоллекции Из ЭлементыФормы.Результат.ВыделенныеОбласти Цикл
//Элемент.ВыделенныеОбласти
Попытка
Сумма = Сумма + Число(СтрЗаменить(ЭлементКоллекции.Текст, Символ(160), ""));
Исключение
КонецПопытки;
КонецЦикла; // Обход строк таблицы значений
НадписьСумма = "Сумма: " + Сумма
//ЭлементыФормы.Результат.ВыделенныеОбласти
КонецПроцедуры
|
|
1
askharlov
23.01.12
✎
13:49
|
Сперва проверь есть ли у тебя в конфигурации
СтандартныеОтчеты.РезультатПриАктивизацииОбласти
|
|
2
askharlov
23.01.12
✎
13:50
|
Если нету то вот код из типовой:
Процедура РезультатПриАктивизацииОбласти(Элемент)
СтандартныеОтчеты.РезультатПриАктивизацииОбласти(ЭтаФорма, Элемент);
КонецПроцедуры
Процедура РезультатПриАктивизацииОбласти(ФормаОтчета, Элемент) Экспорт
ЭлементыФормы = ФормаОтчета.ЭлементыФормы;
ЭлементыФормы.ПолеСумма.Значение = ВычислитьСуммуВыделенныхЯчеекТабличногоДокумента(Элемент);
КонецПроцедуры
Функция ВычислитьСуммуВыделенныхЯчеекТабличногоДокумента(ПолеТабличногоДокумента) Экспорт
Сумма = 0;
Для Каждого Область Из ПолеТабличногоДокумента.ВыделенныеОбласти Цикл
Если ТипЗнч(Область) = Тип("ОбластьЯчеекТабличногоДокумента") Тогда
Для ИндексСтрока = Область.Верх По Область.Низ Цикл
Для ИндексКолонка = Область.Лево По Область.Право Цикл
Попытка
Сумма = Сумма + Число(СтрЗаменить(ПолеТабличногоДокумента.Область("R" + Формат(ИндексСтрока, "ЧГ=0") + "C" + Формат(ИндексКолонка, "ЧГ=0")) .Текст, " ", ""));
Исключение
КонецПопытки;
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Возврат Сумма;
КонецФункции
|
|
3
echo77
23.01.12
✎
13:53
|
в общих модулях УПП, вроде нет.
Спасибо!
|
|
4
echo77
23.01.12
✎
13:54
|
Да. Все работает. Спасибо
|
|