При выделении ячеек табличного документа в строке состояния 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
28.10.09
Разработка - Механизмы платформы 1С
При выделении ячеек табличного документа в строке состояния 1С выводится сумма чисел в этих ячейках.
Скачать файл
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.