При выделении ячеек табличного документа в строке состояния 1С выводится сумма чисел в этих ячейках.
Допускается выделение произвольных областей (при нажатой клавише Ctrl), однако повторный клик мышкой на ячейке, уже выделенной ранее, не снимает выделение. Увы, значение ячейки плюсуется еще раз.
Содержимое ячейки преобразуется в формат, понятный 1С: убираются разделители триад (апострофы и пробелы), разделитель дробной части запятая заменяется на точку.
В примере использована внешняя компонента TableDoc Дмитрия Трапезникова ака trad
//infostart.ru/public/20089/
Компонента позволяет порождать событие при изменении выделения в таблице.
Файл внешней компоненты TableDoc.dll и файл Синтакс-Помощника TableDoc.als
надо переписать в каталог программы, либо в каталог информационной базы,
либо в папку ExtForms каталога информационной базы.
Внешняя компонента не требуют регистрации в реестре Windows, но первый запуск 1С с ее загрузкой надо сделать с правами администратора.
При внедрении в реальной базе данных в глобальный модуль необходимо добавить текст согласно файлу ГлМодуль.txt.
В модуль каждого отчета, где необходимо суммировать ячейки таблицы, добавляется текст согласно примеру.
При закрытии диалогового окна формы, создающей таблицу, строка состояния очищается.
К сожалению, не нашел способ вычислять сумму для таблиц, открытых из файла.
Требуется наличие модуля формы, где будет размещена процедура ПриИзмененииВыделения.
При использовании штатной процедуры 1С ОбработкаОжидания сумма появляется в строке состояния с секундной задержкой, выставить интервал меньше невозможно.
Чтобы выводить строку состояния сразу после вычисления суммы, можно воспользоваться ОбработкойОжидания из внешней компоненты FormEx Алексея Фёдорова aka АЛьФ
http://www.dorex.ru/?projects&formex
В этой ОбработкеОжидания интервал выставляется в миллисекундах.
Текст примера содержит подключение и использование FormEx, но эти строки закомментарены.
Элегантный вариант суммирования создан Александром Венгером,
//infostart.ru/public/16000
разработавшим внешнюю компоненту AddIn_V7MyClipboard.dll для операций с буфером обмена.
Необходимость делать лишний клик мышкой компенсируется возможностью суммировать числа из любых полей, в том числе из других приложений.
Надеюсь, опытные программисты отнесутся с пониманием к подробному объяснению простых алгоритмов.
Начинающим не хватает простеньких примеров.
Суммирование ячеек табличного документа для платформы 7.7
Разработка - Механизмы платформы 1С
См. также
Асинхронное программирование в 1с77 без внешних компонент. Обратные вызовы.
1 стартмани
06.10.2018 7541 Vortigaunt 5
Особенности разделения объектной модели документа и базы данных в 1С 7.7. Забавный глюк
1 стартмани
16.05.2018 10209 Vortigaunt 26
Чтение строк файла CSV в список значений с помощью метода ИзСтрокиСРазделителями
04.04.2013 21652 ivisor_fil 11