Есть отчет, хочу реализовать функциональность Excel - при выделении ячеек на нижней панели выводится сумма.
Для табличного документа на форме задал обработчик события ПриАктивизацииОбласти. По задумке "ВыделенныеОбласти" - это коллекция, обходя которую можно получить все выделенные ячейки, но почему-то коллекция содержит только один элемент.
В чем может быть затык?
Для Каждого ЭлементКоллекции Из ЭлементыФормы.Результат.ВыделенныеОбласти Цикл
//Элемент.ВыделенныеОбласти
Попытка
Сумма = Сумма + Число(СтрЗаменить(ЭлементКоллекции.Текст, Символ(160), ""));
Исключение
КонецПопытки;
КонецЦикла; // Обход строк таблицы значений
Если нету то вот код из типовой:
Процедура РезультатПриАктивизацииОбласти(Элемент)
СтандартныеОтчеты.РезультатПриАктивизацииОбласти(ЭтаФорма, Элемент);
КонецПроцедуры
Функция ВычислитьСуммуВыделенныхЯчеекТабличногоДокумента(ПолеТабличногоДокумента) Экспорт
Сумма = 0;
Для Каждого Область Из ПолеТабличногоДокумента.ВыделенныеОбласти Цикл
Если ТипЗнч(Область) = Тип("ОбластьЯчеекТабличногоДокумента") Тогда
Для ИндексСтрока = Область.Верх По Область.Низ Цикл
Для ИндексКолонка = Область.Лево По Область.Право Цикл
Попытка
Сумма = Сумма + Число(СтрЗаменить(ПолеТабличногоДокумента.Область("R" + Формат(ИндексСтрока, "ЧГ=0") + "C" + Формат(ИндексКолонка, "ЧГ=0")) .Текст, " ", ""));
Исключение
КонецПопытки;
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЦикла;