Всем привет. Изучаю 1с по радченко и наткнулся на такую задачу после 14того занятия:
Необходимо доработать конфигурацию так, чтобы обеспечить расчет вознаграждения мастеру за оказанные им услуги при проведении документа «Оказание услуг». Вознаграждение высчитывается как процент от общей суммы, предоставленных по данному документу услуг (без учёта проданных товаров) и составляет:
5% сумма меньше 1 000 руб.
10% сумма от 1 000 до 5 000 руб.
15% сумма больше 5 000 руб.
Требуется разработать структуру данных для хранения накопленного вознаграждения.
Разработать отчет, позволяющий получить общие суммы вознаграждений по каждому мастеру за произвольно выбранный период.
Пример отчета:
Период: 01.01.2013 – 15.05.2013
Мастер Сумма
Иванов Иван 1000
Петров Пётр 1500
Как в обработчике посчитать вознаграждение мастеру за оказанные им услуги при проведении документа Оказание услуг? Ниже мой код:
// Регистр Вознаграждения
Сумма=0;
Если ВыборкаДетальныеЗаписи.СуммаВДокументе < 1000 Тогда
Сумма=(Сумма+ВыборкаДетальныеЗаписи.СуммаВДокументе)*0.05;
ИначеЕсли ВыборкаДетальныеЗаписи.СуммаВДокументе >= 1000 И ВыборкаДетальныеЗаписи.СуммаВДокументе <= 5000 Тогда
Сумма=(Сумма+ВыборкаДетальныеЗаписи.СуммаВДокументе)*0.1;
Иначе
Сумма=(Сумма+ВыборкаДетальныеЗаписи.СуммаВДокументе)*0.15;
КонецЕсли;
Движение = Движения.Вознаграждения.Добавить();
Движение.Период = Дата;
Движение.Мастер = Мастер;
//Движение.Вознаграждение = ВыборкаДетальныеЗаписи.СуммаВДокументе;
Движение.Сумма = ВыборкаДетальныеЗаписи.СуммаВДокументе;