Перейти к содержимому

Как посчитать сумму в документе 1с

  • автор:

Как вывести сумму документов за определенный период в 1С?

По просьбе бухгалтеров пишем шпаргалку об практичном способе суммирования документов в 1С.

Рассмотрим все на примере. Нужно вывести итоговую сумму всех реализаций в 1С за определенный период. Это возможно.

Откроем журнал Реализаций и установим необходимый период.

Следующим шагом выделяем любой документ обязательно в столбце Сумма.

Потом нажимаем комбинацию клавиш Ctrl+A, чтобы выделить все элементы.

Теперь нужно нажать кнопку М в верхней панели программы 1С.

И следом жмем на ярлык калькулятора, слева.

Точно таким же образом можно суммировать все или отдельные поля в документах, или документы в журналах. Выделить только нужные позиции можно с помощью зажатой кнопки Ctrl и левой кнопки мыши.

Как рассчитать сумму в строке табличной части справочника или документа?

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

Это небольшое вычисление производится в модуле формы в процедуре, выполняющейся на клиенте. Такой процедурой являются обработчики события ПриИзменении полей Цена и Количество табличной части документа.

Итак, сначала нужно создать форму документа, чтобы в ней описать собственный алгоритм вычислений. Затем, открыв палитру свойств полей Цена и Количество табличной части документа, создать для них обработчики события ПриИзменении и внести в них следующий код:

При выполнении этого кода в переменную СтрокаТабличнойЧасти помещается объект, содержащий данные текущей строки документа, которую требуется пересчитать. Получив этот объект, можно обратиться к данным конкретной колонки табличной части, указав имя колонки в качестве свойства объекта. Таким образом, во второй строке процедуры обработчика вычисляется значение колонки Сумма как произведение значений колонок Количество и Цена.

Если процедура расчета суммы может понадобиться сразу для нескольких документов, то полезно разместить эту процедуру в общем модуле, и обращаться к ней из форм документов. Например, в общем модуле РаботаСДокументами поместить процедуру РассчитатьСумму():

В модуле формы документа вызывать ее из обработчиков события ПриИзменении:

Как рассчитать сумму в 1С?

Многим разработчикам 1С полезно уметь автоматизировать определенные процессы, подстраивая их под требования заказчика. Например, можно настроить программу таким образом, чтобы сумма в таблицах вычислялась автоматически при редактировании данных в других блоках (количество, цена за единицу и т.д.).

Чтобы сделать что-то похожее, необходимо произвести несколько простых действий. В частности, открыть конфигуратор, открыть форму нужного документа.

Как рассчитать сумму в 1С?

Как рассчитать сумму в 1С?

Далее нужно создать обработчик события «ПриИзменении» для колонок «Цена» и «Количество». Это можно сделать двумя способами.

  1. Правой кнопкой мыши вызвать меню колонки и выбрать обработчик <ПриИзменении> во вкладке «События»:

Как рассчитать сумму в 1С?

  1. Создать обработчик в свойствах (нажать на лупу возле обработчика «ПриИзменении»)

Как рассчитать сумму в 1С?

После этого нужно выбрать подходящую директиву выполнения обработки. В данном случае «На клиенте»:

Как рассчитать сумму в 1С?

Откроется модуль формы с созданным обработчиком:

Как рассчитать сумму в 1С?

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

То же самое нужно сделать и для колонки «Цена».

В переменную «СтрокаТабличнойЧасти» помещается текущая выделенная строка в табличной части (в которой меняется количество или цена товара). Для подсчета суммы необходимо обратиться к нужным реквизитам объекта («Количество» и «Цена») и перемножить их значения. Результат поместить в реквизит «Сумма».

Если данный процесс автоматического расчета нужен сразу для нескольких документов, можно внести вышеуказанный код в общий модуль. Например, процедуру «РассчитатьСумму» поместить в модуль «РаботаСДокументами». Если в модуле будут только функции, выполняемые на клиенте (обработки событий, связанные только с элементами формы), то в свойствах общего модуля нужно отметить «Клиент», чтобы к модулю можно было обратиться из функций с директивой «&НаКлиенте».

Как рассчитать сумму в 1С?

После имени процедуры «РассчитатьСумму» необходимо добавить «Экспорт», чтобы процедуру можно было вызвать из формы документа.

Данный код выглядит так:

Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт

Затем в модуле формы нужного документа следует создать обработчик события под названием «ПриИзменении» для колонок «Количество» и «Цена», и вызвать процедуру «РассчитатьСумму» из общего модуля.

Как рассчитать сумму в строке табличной части 1С

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

Мы создали документ Приход товара. В котором есть дата прихода и Поставщик. В табличной части добавили четыре поля это Наименование, Количество, Цена и Сумма. Все вроде бы нормально но вот по логике нужно сделать так чтобы поле Сумма подсчитывалось автоматически. Этим вопросом сейчас и займемся.

Рассчитываем сумму в строке

И так открываем конфигуратор заходим в созданный ранее документ и переходим на вкладку Формы. В ней нужно открыть и отредактировать Форма Документа кликаем на ней два раза или выбираем Карандашик.

Как рассчитать сумму в строке табличной

Теперь необходимо перейти в Модуль.

сумма колонки табличной части 1с

В окне модуля пишем небольшой код

&НаКлиенте
Процедура МатериалыКоличествоПриИзменении(Элемент)
Строка = Элементы.Материалы.ТекущиеДанные;
Строка.Сумма=Строка.Количество*Строка.Цена;
КонецПроцедуры

&НаКлиенте
Процедура МатериалыЦенаПриИзменении(Элемент)
Строка = Элементы.Материалы.ТекущиеДанные;
Строка.Сумма=Строка.Количество*Строка.Цена;
КонецПроцедуры

сумма в подвале табличной части 1с

Теперь немного поясню код который нужно написать.

&НаКлиенте — Это значить что вычисление будет происходить на компьютере пользователя, а не на сервере.

Процедура — Это собственно процедура)

МатериалыКоличествоПриИзменении — Это название нашей процедуры.

Строка — Это переменная

Элементы.Материалы.ТекущиеДанные — Этой строкой мы получаем данные строки.

Строка.Сумма=Строка.Количество*Строка.Цена — Это формула (Строка.Сумма, Строка.Количество, Строка.Цена этими строчками мы обращаемся к значениям которые находятся в таблице)

КонецПроцедуры — Это как вы уже догадались конец процедуры.

После чего запускаем отладку и проверяем. Для этого в документе вводим значения в поля Количество и Цена после чего сумма должна подставиться автоматически.

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

Скриншоты, опубликованные в данной статье, являются цитатами и иллюстрациями программного продукта «1C:Предприятие», авторское право на который принадлежит ЗАО 1С.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *