Как в 1с сложить выделенные ячейки
Этой статьей я продолжаю серию заметок об эффективных приемах работы в 1С:Бухгалтерия 8.3. Рассказываю о хитростях, которые мало кто знает и ещё меньше людей используют в своей работе.
Приемы, о которых пойдет речь, способны существенно сэкономить время и повысить вашу квалификацию как специалиста. Предыдущие части доступны здесь (ч.1), здесь (ч.2) и здесь (ч.3).
Прием №11: складываем любые поля в журналах и табличных частях
Расскажу про очень любопытный приём.
Однажды ко мне пришёл бухгалтер и спросил меня: можно ли как-то быстро посчитать сумму всех документов в журнале реализаций за 1 квартал 2013 года?
Я немного подумал и сделал вот так:
1. Зашёл в журнал «Реализация (акты, накладные)» и установил нужный период:
2. Далее я вначале щёлкнул левой кнопкой мыши в поле «Сумма» любой строки (это важно) и нажал на клавиатуре комбинацию Ctrl + А, чтобы выделить все строчки:
Важно! При этом обратите внимание, что одна из цифр выделена более темным цветом, так как я перед выделением строк щёлкнул по ней левой кнопкой мыши. Это важный момент, так как далее 1С будет суммировать выделенные строки именно по столбцу с выделенным значением.
3. Наконец, я нажал букву M в заголовке окна 1С:Предприятия:
4. Далее я нажал там же на значок калькулятора:
5. И сообщил удивлённому бухгалтеру результат:
Сумма всех выделенных документов в этом периоде составила 8 746 995.
И точно также можно делать в любых журналах с любыми числовыми колонками (сумма, количество и т.д.).
Кроме того, вы можете выделять не все документы а только нужные при помощи следующего приёма:
- зажмите на клавиатуре клавишу Ctrl.
- левой кнопкой мыши выделяйте (или развыделяйте) нужные строки, но помните: щёлкать по строкам нужно только в пределах колонки, которую вы собираетесь суммировать.
Этот же приём можно применять для любых табличных частей.
Вот такая коротенькая хитрость, которая позволит вам в некоторых случаях творить чудеса
Кстати, подписывайтесь на новые уроки.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Как рассчитать сумму в строке табличной части справочника или документа?
В реальной работе прикладного решения часто возникает необходимость автоматизировать некоторые подсчеты согласно собственному алгоритму. Например, сделать так, чтобы сумма в строке табличной части документа автоматически вычислялась при изменении цены или количества в строке.
Это небольшое вычисление производится в модуле формы в процедуре, выполняющейся на клиенте. Такой процедурой являются обработчики события ПриИзменении полей Цена и Количество табличной части документа.
Итак, сначала нужно создать форму документа, чтобы в ней описать собственный алгоритм вычислений. Затем, открыв палитру свойств полей Цена и Количество табличной части документа, создать для них обработчики события ПриИзменении и внести в них следующий код:
При выполнении этого кода в переменную СтрокаТабличнойЧасти помещается объект, содержащий данные текущей строки документа, которую требуется пересчитать. Получив этот объект, можно обратиться к данным конкретной колонки табличной части, указав имя колонки в качестве свойства объекта. Таким образом, во второй строке процедуры обработчика вычисляется значение колонки Сумма как произведение значений колонок Количество и Цена.
Если процедура расчета суммы может понадобиться сразу для нескольких документов, то полезно разместить эту процедуру в общем модуле, и обращаться к ней из форм документов. Например, в общем модуле РаботаСДокументами поместить процедуру РассчитатьСумму():
В модуле формы документа вызывать ее из обработчиков события ПриИзменении:
Работа с калькулятором в 1С:Бухгалтерия предприятия

В программе 1С:Бухгалтерия есть такая функция, как Калькулятор, о которой, к сожалению, знают не все, либо не совсем понимают, как им пользоваться. Калькулятор в программе 1С очень полезен. С его помощью можно вести расчет сумм в Отчетах, Декларациях, Оборотно-сальдовых ведомостях (ОСВ) и так далее, не выходя из программы. Рассмотрим на примерах.

Давайте рассмотрим регистры памяти — это, так называемые, M-кнопки. В 1С Калькуляторе есть ячейка памяти, которую вы можете использовать в любой момент для запоминания чисел и использования их при вычислении. Данный регистр отображается под полем вычисления.

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

Ставим мышку на это число и нажимаем кнопку М вверху на панели инструментов.

В этот момент программа запомнила в память калькулятора это число.
Теперь нажимаем на сумму по банку 57 587,81 и нажимаем кнопку М+.

Калькулятор сложит два числа и покажет результат. Его можно скопировать из калькулятора в любое место при помощи Ctrl C + Ctrl V.
Можно не только складывать цифры, но и вычитать. Для вычитания цифры из памяти калькулятора используем кнопку М-.
Кроме того, при помощи кнопок памяти можно быстро посчитать сумму нескольких цифр.
Представим, что нам нужно посчитать сумму в списке.

Далее нажимаем Ctrl + A — выделить всё и нажимаем на клавишу М.

В регистре памяти мы увидим сумму по всем накладным за выбранное число. И точно так же можно делать в любых журналах с любыми числовыми колонками (сумма, количество и т.д.).
Также, удобно использовать калькулятор в Оборотно-сальдовой ведомости. Допустим, для сравнения счетов 76.АВ и 62.02. В ОСВ по 62.02 нажимаем на сальдо на конец периода, нажимаем М и открываем Калькулятор.

Затем нажимаем MR, чтобы число отобразилось в строке вычислений.

Далее умножаем на 18 и делим на 118. У нас получилось число, которое мы можем проверить в ОСВ по 76.АВ. Данная формула работает, когда аванс облагается по ставке 18/118%. С 1 января 2019 года ставка будет 20/120%.
Более подробно для чего нужно сравнивать 62.02 и 76.АВ можно почитать в нашей статье.

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

Также калькулятор позволяет настраивать количество знаков после запятой.

И напоследок еще одна удобная вещь — Формульный калькулятор, при котором все действия записываются в табло последовательно. Перевести калькулятор в данный режим можно нажав кнопку меню и выбрав Формульный калькулятор.

Например, вам необходимо рассчитать оклад сотрудника с учетом отработанных дней: (Оклад + Штатная надбавка) * на отработанные дни/на количество дней.

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