mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2025-02-10 18:10:35 +02:00
Update diploma-c-howto-salary.md
This commit is contained in:
parent
23efae6436
commit
1912bffe55
@ -58,4 +58,56 @@
|
||||
|
||||
```
|
||||
|
||||
* Определив сумму, сформировать парное движение на такую же сумму по регистру бухгалтерии **Управленческий** в Дт счета **Расходы** и в Кт счета **РасчетыССотрудникми**, заполнив субконто **Сотрудник**.
|
||||
* Определив сумму, сформировать парное движение на такую же сумму по регистру бухгалтерии **Управленческий** в Дт счета **Расходы** и в Кт счета **РасчетыССотрудникми**, заполнив субконто **Сотрудник**.
|
||||
* Создав документ, заполните календарь и убедитесь в том, что документ:
|
||||
* В отсутствие вытесняющих начислений начисляет за месяц полную сумму оклада.
|
||||
* После ввода оклада или больничного документом **НачислениеСписком** уменьшает начисления по окладу пропорционально дням невыхода.
|
||||
|
||||
|
||||
6. Добавить документ **НачислениеПремииПроцентом** для начисления премии процентом от оклада:
|
||||
* С обязательным числовым реквизитом **Процент**
|
||||
* С обязательным реквизитом **ЗаМесяц** типа Дата с форматом "MMMM.yyyy", чтобы пользователь видел только месяц.
|
||||
* С табличной частью **Сотрудники** с единственным реквизитом **Сотрудник** (СправочникСсылка.Сотрудники).
|
||||
* Создать для него понятную форму документа.
|
||||
* На закладке "Движения" сделать его регистратором для регистра расчета **Зарплата** и для регистра бухгалтерии **Управленческий**
|
||||
* В обработке проведения:
|
||||
* Записать движения, пока без сумм, по регистру расчета **Зарплата**. При этом:
|
||||
* В качестве периода регистрации указать дату документа, а в качестве периода действия и базового периода действия - начало и конец месяца даты **ЗаМесяц**.
|
||||
* В качестве вида расчета указать предопределенный ПланыВидовРасчета.Начисления.ПремияПроцентом.
|
||||
* Записав движения, получить базу запросом:
|
||||
|
||||
```bsl
|
||||
Запрос = Новый Запрос(
|
||||
"ВЫБРАТЬ
|
||||
| ЗарплатаБазаЗарплата.Сотрудник КАК Сотрудник,
|
||||
| ЗарплатаБазаЗарплата.СуммаБаза КАК СуммаБаза
|
||||
|ИЗ
|
||||
| РегистрРасчета.Зарплата.БазаЗарплата(
|
||||
| &Измерения,
|
||||
| &Измерения,
|
||||
| ,
|
||||
| Регистратор = &Регистратор
|
||||
| И ВидРасчета = &ВидРасчета) КАК ЗарплатаБазаЗарплата");
|
||||
Запрос.УстановитьПараметр("Регистратор", Ссылка);
|
||||
Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.Начисления.ПремияПроцентом);
|
||||
Измерения = Новый Массив;
|
||||
Измерения.Добавить("Сотрудник");
|
||||
Запрос.УстановитьПараметр("Измерения", Измерения);
|
||||
База = Запрос.Выполнить().Выгрузить();
|
||||
```
|
||||
|
||||
* Обойти движения повторно и для каждой записи рассчитать сумму премии процентом. При этом:
|
||||
* Базу определить, найдя сотрудника в ранее выбранной таблице **База**.
|
||||
* Сумму определить, умножив базу на процент премии и поделив на 100.
|
||||
|
||||
```bsl
|
||||
Для Каждого Движение Из Движения.Зарплата Цикл
|
||||
СтрокаБазы = База.Найти(Движение.Сотрудник);
|
||||
Если СтрокаБазы = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Движение.Сумма = СтрокаБазы.СуммаБаза * Процент / 100;
|
||||
КонецЦикла;
|
||||
```
|
||||
|
||||
* Определив сумму, сформировать парное движение на такую же сумму по регистру бухгалтерии **Управленческий** в Дт счета **Расходы** и в Кт счета **РасчетыССотрудникми**, заполнив субконто **Сотрудник**.
|
||||
|
Loading…
x
Reference in New Issue
Block a user