Вместо статьи:
Простой пример обработки для выполнения арифметических действий, использования различных функций с числовыми значениями и формулами из ячеек таблиц, текстовых файлов и т.п. через буфер обмена. Расширение возможностей [M] [M+] [M-].
- Выделяем нужные ячейки с числовыми значениями в печатных формах, значения в текстовых файлах и.т.п.
- Жмем Ctrl - C или щелчок правой клавиши "мыши" и <Запомнить>
- Открываем данную обработку
- Жмем Alt - С или [F5]
Отображается сумма по выбранным значениям и результат вычисления иных функции (максимум, минимум, среднее арифметическое).
Обработка открыта для дополнения необходимыми Вам функциями !
Дополнительно можно использовать для суммирования значений разделенных ";" и " " из текстового файла. Также осуществляется расчет текстовых формул из буфера вида "12+165/3" - [F9]
//далее читаем как статью ... модуль дополняем необходимыми функциями
Перем Сум,Итог,Миним,Максим,Среднее,Колво;
Процедура Вычислить(Как)
HTM=СоздатьОбъект("htmlfile");
//глянем в буфер обмена - Clipboard
Текст=СокрЛП(HTM.ParentWindow.ClipboardData.GetData("text"));
Если ПустаяСтрока(Текст)=1 Тогда
Предупреждение("Буфер обмена пуст !",3);Возврат;
КонецЕсли;
//расчет по формуле
Если Как>0 Тогда
Сум=Шаблон("["+Текст+"]");Возврат;
КонецЕсли;
Р=РазделительСтрок;
Текст=СтрЗаменить(Текст,СимволТабуляции,Р)+Р;//гориз.ячейки
Текст=СтрЗаменить(Текст,"'","");//убираем триады
Текст=СтрЗаменить(Текст,";",Р); //разделитель в тексте ";"
Текст=СтрЗаменить(Текст," ",Р); //разделитель в тексте " "
Кол=СтрКоличествоСтрок(Текст);//количество значений
Сум=0;//сумма значений
Колво=0;//реальное количество значений
Для i=1 По Кол Цикл
тЗ=СтрПолучитьСтроку(Текст,i);
Если ПустаяСтрока(тЗ)=0 Тогда
КолВо=Колво+1;
Зн=Число(тЗ);//получаем числовое значение
Сум=Сум+Зн;
Миним =?(i=1,Зн,Мин (Зн,Миним ));
Максим=?(i=1,Зн,Макс(Зн,Максим));
//...здесь может быть представлена ваша арифм.функция...среднеквадратичная дисперсия например
КонецЕсли;
КонецЦикла;
Среднее=Сум/Колво;
Итог=Итог+Сум;//дополняем итог
КонецПроцедуры;