Один день из жизни сисадмина — Admin-Day

Блог системного администратора об it индустрии и околокомпьютерных тем. Жизненный опыт и истории в статьях и заметках. Один день из жизни сисадмина

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

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

Для начала создадим новую конфигурацию и откроем ее:

Чистая конфигурация 1С:Предприятие

Предварительно подготовимся и добавим справочник «Номенклатура» в Справочнике:

Добавим справочник Номенклатура

Таким же образом добавляем «Приходную накладную», но уже в разделе документы:

Создаем приходную накладную

На вкладке «Данные», в «Приходной накладной», «Табличная часть» добавляем «Табличную часть» — «Материалы» и «Реквизиты табличной части»: материал, количество, цена, сумма:

табличная часть приходной накладной

При чем  тип Материала у нас  «СправочникСсылка.Номенклатура», мы делали его ранее, а  количество, цена, сумма у нас «Число» с длинной 10, с точностью 2, неотрицательное.

Чтобы было где писать код, нам нужно добавить «Форму Документа». Нажимаем правой кнопкой мыши на формы и добавляем:

Добавляем форму документа

Нажимаем на «Готово»

Конструктор форм

Мы хотим, чтобы у нас считалась сумма во всех документах, поэтому переключимся и добавим в дереве конфигурации на вкладке «Общие» — «Общие модули» новый модуль. Назовем его «СуммаПоДокументу», он будет у нас «Клиентский»

Общий модуль

И в окне пишем код:

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

СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;

КонецПроцедуры

Сумма по документу

Теперь идем в «Документы» — «ПриходнаяНакладная» — Формы — ФормаДокумента, в окне формы находим «МатериалыКоличество», открываем «Свойства» — «События» — при изменении и нажимем на «лупу». Соглашаемся «Создать на клиенте», нажимем «ОК»

Материал, количество

И пишем код:

&НаКлиенте

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;

СуммаПоДокументу.РассчитатьСумму(СтрокаТабличнойЧасти);

КонецПроцедуры

Тоже самое проделываем с «МатериалыСумма», вставляем туда код:

&НаКлиенте

Процедура МатериалыЦенаПриИзменении(Элемент)

СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;

СуммаПоДокументу.РассчитатьСумму(СтрокаТабличнойЧасти);

КонецПроцедуры

Должно получится вот так:

Код для суммы по документу

Сохраняем через бочонок. Запускаем. Добавляем «Номенклатуру» — Один админ — Добавляем «Приходную накладную» — ставим количество и сумму и получаем:

Ура, считает сумму

 

Поделиться ссылкой:

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

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

Пролистать наверх
Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять