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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нажимаем на “Готово”

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

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

Общий модуль

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

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

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

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

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

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

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

И пишем код:

&НаКлиенте

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

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

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

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

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

&НаКлиенте

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

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

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

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

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

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

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

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

 

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

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

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

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