Суммирование выделенных ячеек в столбце для 1С:Предприятие 7.7

09.03.16

Разработка - Универсальные функции

Суммирование чисел в столбце, выделенных мышкой, для 1С:Предприятие 7.7.
В любом отчете, печатной форме или текстовом документе выделяете мышкой столбец с числами или группу ячеек в колонке таблицы, нажимаете на кнопку панели инструментов и в строке состояния получаете сумму.
Пользоваться очень просто, удобно и быстро.

Скачать файлы

Наименование Файл Версия Размер
Summa1C7
.rar 373,51Kb
4
.rar 373,51Kb 4 Скачать

Сам код тоже очень простой и короткий. Пара малюсеньких процедур в Глобальном модуле и пара кнопок на панели инструментов. Для внедрения обработки в конфигурацию не требуется никаких знаний программиста.

На основе данной обработки можно написать и более сложные процедуры при желании, добавив кнопки умножения, вычисления среднего и т.д.

Для работы требуется внешняя компонента AddIn_V7MyClipboard.dll.
Автор: Venger Alex, Odessa, 2008
Url: //infostart.ru/public/15999/

Инструкция по внедрению для пользователей без навыков программирования:

1. Открыть 1С:Предприятие 7.7 в режиме конфигуратора.

2. Открыть конфигурацию; щелкнув правой кнопкой мыши на верхней строчке, открыть Глобальный модуль.

3. Прокрутить страницу в самый низ до строки:

КонецПроцедуры // ПриНачалеРаботыСистемы()

4. Скопировать приведенный ниже код и вставить его ниже этой строки.

//******************************************************************************
Процедура ПанельМ()
WSHShell = СоздатьОбъект("WScript.Shell");
WSHShell.SendKeys("^c"+ "^с"); 
WSHShell.SendKeys("^+{F12}");
КонецПроцедуры 
Процедура ПанельМплюс() 
ЗагрузитьВнешнююКомпоненту("AddIn_V7MyClipboard.dll");
БуферОбмена = СоздатьОбъект("AddIn.AddIn_V7MyClipboard");
Стр=БуферОбмена.ПолучитьТекстИзБуфераОбмена(1);
Файл = СоздатьОбъект("Текст");
Файл.ДобавитьСтроку(Стр); 
Файл.Записать(КаталогИБ()+"z.txt"); 
Файл.Открыть(КаталогИБ()+"z.txt"); 
Сум=0;
Для ы = 1 По Файл.КоличествоСтрок()-1 Цикл 
С = Файл.ПолучитьСтроку(ы);
С = СтрЗаменить(С,"'",""); 
С = СтрЗаменить(С,Симв(34),""); 
С = СтрЗаменить(С,",",".");
// Ч = Число(С); 
Ч = С;
Сообщить(Ч);
Сум=Сум+Ч;
КонецЦикла; 
Сообщить("Сумма ="); 
Сообщить(Сум); 
Сообщить("****************************"); 
Файл.Очистить(); 
КонецПроцедуры 
//******************************************************************************

5. Открыть вкладку "Конфигурация" - "Интерфейсы".

6. Правой кнопкой щелкнуть на Интерфейсе и выбрать "Редактировать панели инструментов".

7. В окошке "Список панелей" выбрать "Основная", в окошке "Состав панели" шелкнуть "Добавить".

Объект "Задача", Команда "Задача.Выполнить", Подсказка "Сумма выделенных ячеек".

Вкладка "Параметры" Формула:

ПанельМ()

Вкладка "Образ" - Пиктограмма; "ОК"

8. Двойной клик по иконке библиотеки пиктограмм вставляет выбранную иконку на кнопку.

9. В окошке "Список панелей" шелкнуть "Добавить".

Название:

Мплюс

Обязательно снять галку "показывать"!

На этой панели создать кнопку "Задача", вкладка "Параметры" Формула:

ПанельМплюс()

Вкладка "Акселератор" клавиша "F12", галки "Ctrl" и "Shift".

Иконка для кнопки не нужна.

10. Сохранить конфигурацию кнопкой "Сохранить".

11. AddIn_V7MyClipboard.dll поместить в корневой каталог базы 1С.

См. также

Библиотека процедур и функций для технологической платформы "1С: Предприятие 7.7"

Универсальные функции Платформа 1С v7.7 Россия Абонемент ($m)

В библиотеку собраны различные функции по работе с документами, журналами, типами данных, строками, датой и временем, таблицами значений, Excel, файлами, XML, JSON, Http-сервисами, SMTP серверами и т.п.

1 стартмани

22.12.2023    660    9    user706545_kseg1971    0    

4

1С 7.7 и новый 1С:Контрагент

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.

25.04.2022    1821    zhenyat    7    

6

Печать таблицы значений в 1С 7.7 при отладке

Универсальные функции Платформа 1С v7.7 Россия Бесплатно (free)

Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.

30.06.2021    4403    Zoltan_Black    11    

2

Установка принтера по умолчанию для 1С 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    13286    4    alsen    3    

4

Формирование строки json в 1С: 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 1С:Комплексная 7.7 Абонемент ($m)

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    10107    malovandrey    5    

18

Как создать индикатор в 1С:Предприятии 7.7

Универсальные функции Работа с интерфейсом Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    18676    2    HAMMER_59    6    

2
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 3119 09.03.16 22:14 Сейчас в теме
Поймет ли разные разделители?
Нарример
1пробел200,34
Или
2'345-00
электра; +1 Ответить
2. CheBurator 3119 09.03.16 22:17 Сейчас в теме
3. электра 4 09.03.16 23:55 Сейчас в теме
Надо добавить
С = СтрЗаменить(С," ","");
С = СтрЗаменить(С,"-",".");
4. CheBurator 3119 10.03.16 00:12 Сейчас в теме
и, самое главнгое. без ВК - никак не обойтись?
средствами виндов получить содержимое буфера?
а то умеян этих ВК уже вагон
5. электра 4 10.03.16 07:00 Сейчас в теме
Вариант с ВК FormEx.dll (без FormEx.dll не работает в русской раскладке клавиатуры):

в Глобальном модуле
//******************************************************************************
Процедура ПанельМ()
        WSHShell = СоздатьОбъект("WScript.Shell");
        WSHShell.SendKeys("^c"+ "^с");	  	
	WSHShell.SendKeys("^+{F11}"); 
КонецПроцедуры 
Процедура ПанельМ1()
	Файл = СоздатьОбъект("Текст");
	Файл.Показать(,КаталогИБ()+"z.txt"); 
	WSHShell = СоздатьОбъект("WScript.Shell");
	WSHShell.SendKeys("^v"+ "^м");
	Сервис=СоздатьОбъект("Сервис");
	Сервис.РаскладкаКлавиатуры("English (United States)");
        WSHShell.SendKeys( "^s");	
        Сервис.РаскладкаКлавиатуры("Russian");	
	WSHShell.SendKeys( "^{F4}"); 
	WSHShell.SendKeys("^+{F12}"); 
КонецПроцедуры 
Процедура ПанельМплюс()  
	Файл = СоздатьОбъект("Текст");
	Файл.Открыть(КаталогИБ()+"z.txt");  
	Сум=0;
	Для ы = 1 По Файл.КоличествоСтрок() Цикл    
		С = Файл.ПолучитьСтроку(ы);
		С = СтрЗаменить(С,"'","");      
		С = СтрЗаменить(С,Симв(34),"");  
		С = СтрЗаменить(С,",",".");
	        Сообщить(С);
		Сум=Сум+С;
	КонецЦикла;   	 
        Сообщить("Сумма =");          
	Сообщить(Сум); 
	Сообщить("****************************");   
КонецПроцедуры 
//******************************************************************************
Показать


На скрытой панели "Мплюс" создать вторую скрытую кнопку "Задача", вкладка "Параметры" Формула:
ПанельМ1()

Вкладка "Акселератор" клавиша "F11", галки "Ctrl" и "Shift".

Недостаток этого метода - мелькание окошка на экране.
6. AndreykO 6 11.03.16 06:47 Сейчас в теме
Спасибо. Очень помогло. Всё работает
электра; +1 Ответить
7. bulpi 215 18.03.16 14:08 Сейчас в теме
????
Всю жизнь была такая кнопка. В самой платформе 7.7 кнопка с буквой М
Или я чего-то не понял ?
popiksergey; +1 Ответить
8. электра 4 18.03.16 21:50 Сейчас в теме
На основе данной обработки можно написать и более сложные процедуры при желании, добавив кнопки умножения, вычисления среднего и т.д.
9. ktu 24.03.21 10:51 Сейчас в теме
Ну через буфер обмена - не очень решение. в буфере хочется хранить что-то еще полезное. Не понятно в какой момент отрабатывает отклик при выделении - хочу поймать эти моменты и зафиксировать область выделения в таблице. получится ли?
Оставьте свое сообщение