mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2024-11-16 07:10:14 +02:00
Update diploma-c-howto-salary.md
This commit is contained in:
parent
d7bb46f31b
commit
159f76d629
@ -3,50 +3,50 @@
|
||||
Все добавляемые объекты включаем в новую подсистему **Зарплата**, выведенную в командный интерфейс, и включаем в состав функциональной опции **ВестиРасчетЗарплаты**.
|
||||
|
||||
1. Добавить регистр сведений **Календарь**:
|
||||
* Измерение - День (Дата)
|
||||
* Ресурс - Рабочий (Число)
|
||||
* измерение — День (Дата);
|
||||
* ресурс — Рабочий (Число).
|
||||
|
||||
2. Добавить план видов расчета **Начисления**:
|
||||
* Без кода и с наименованием разумной длины (например, 100)
|
||||
* На закладке "Расчет" укажите:
|
||||
* Использование периода действие
|
||||
* Зависимость от базы по периоду действия по тому же плану видов расчета
|
||||
* Создайте предопределенные виды расчета:
|
||||
* **Больничный**, **Отпуск**, **ФиксированнаяПремия**
|
||||
* **ОплатаПоОкладу** с вытесняющими видами расчета **Больничный** и **Отпуск**
|
||||
* **ПремияПроцентом** с базовым и ведущим видом расчета **ОплатаПоОкладу**
|
||||
2. Добавить план видов расчёта **Начисления**:
|
||||
* без кода и с наименованием разумной длины (например, 100);
|
||||
* на закладке «Расчёт» укажите:
|
||||
* использование периода действие,
|
||||
* зависимость от базы по периоду действия по тому же плану видов расчёта;
|
||||
* создайте предопределенные виды расчёта:
|
||||
* **Больничный**, **Отпуск**, **ФиксированнаяПремия**;
|
||||
* **ОплатаПоОкладу** с вытесняющими видами расчета **Больничный** и **Отпуск**;
|
||||
* **ПремияПроцентом** с базовым и ведущим видом расчёта **ОплатаПоОкладу**.
|
||||
|
||||
3. Добавить регистр расчета **Зарплата**:
|
||||
* С учетом по плану видов расчета **Начисления**
|
||||
* Использующий период действия и базовый период
|
||||
* Использующий в качестве графика регистр **Календарь**, со значением графика **Рабочий**, а датой графика - **День**
|
||||
* С периодичностью "Месяц"
|
||||
* С измерением **Сотрудник** (СправочникСсылка.Сотрудники) и ресурсом **Сумма** (ОпределяемыйТип.Сумма).
|
||||
3. Добавить регистр расчёта **Зарплата**:
|
||||
* с учётом по плану видов расчета **Начисления**;
|
||||
* использующий период действия и базовый период;
|
||||
* использующий в качестве графика регистр **Календарь**, со значением графика **Рабочий**, а датой графика — **День**;
|
||||
* с периодичностью «Месяц»;
|
||||
* с измерением **Сотрудник** (СправочникСсылка.Сотрудники) и ресурсом **Сумма** (ОпределяемыйТип.Сумма).
|
||||
|
||||
4. Добавить документ **НачислениеСписком** для начисления фиксированных сумм по списку сотрудников:
|
||||
* С обязательным реквизитом **Начисление** (ВидРасчетаСсылка.Начисления)
|
||||
* С обязательными реквизитами **ПериодДействияНачало** и **ПериодДействияКонец** (Дата и время)
|
||||
* С табличной частью **Сотрудники** с реквизитами **Сотрудник** (СправочникСсылка.Сотрудники) и **Сумма** (ОпределяемыйТип.Сумма).
|
||||
* Создать для него понятную форму документа.
|
||||
* На закладке "Движения" сделать его регистратором для регистра расчета **Зарплата** и для регистра бухгалтерии **Управленческий**
|
||||
* В обработке проведения для каждой строки формировать движения:
|
||||
* По регистру расчета **Зарплата**, не забыв заполнить вид расчета (по реквизиту **Начисление**), период регистрации (дата документа) и период действия (согласно реквизитам **ПериодДействияНачало** и **ПериодДействияКонец**). Период действия понадобится в дальнейшем для вытеснения оплаты по окладу больничными и отпусками, введенными этим документом.
|
||||
* По регистру бухгалтерии **Управленческий** в Дт счета **Расходы** и в Кт счета **РасчетыССотрудниками** с заполнением субконто **Сотрудник** на сумму начисления.
|
||||
* с обязательным реквизитом **Начисление** (ВидРасчетаСсылка.Начисления);
|
||||
* с обязательными реквизитами **ПериодДействияНачало** и **ПериодДействияКонец** (Дата и время);
|
||||
* с табличной частью **Сотрудники** с реквизитами **Сотрудник** (СправочникСсылка.Сотрудники) и **Сумма** (ОпределяемыйТип.Сумма);
|
||||
* создать для него понятную форму документа;
|
||||
* на закладке «Движения» сделать его регистратором для регистра расчета **Зарплата** и для регистра бухгалтерии **Управленческий**;
|
||||
* в обработке проведения для каждой строки формировать движения:
|
||||
* по регистру расчёта **Зарплата**, не забыв заполнить вид расчёта (по реквизиту **Начисление**), период регистрации (дата документа) и период действия (согласно реквизитам **ПериодДействияНачало** и **ПериодДействияКонец**). Период действия понадобится в дальнейшем для вытеснения оплаты по окладу больничными и отпусками, введенными этим документом;
|
||||
* по регистру бухгалтерии **Управленческий** в Дт счета **Расходы** и в Кт счета **РасчетыССотрудниками** с заполнением субконто **Сотрудник** на сумму начисления.
|
||||
|
||||
5. Добавить документ **НачислениеОплатыПоОкладу** для начисления оплаты по окладу с учетом фактически отработанного времени:
|
||||
* С обязательным реквизитом **ЗаМесяц** типа Дата с форматом "MM.yyyy", чтобы пользователь видел только месяц.
|
||||
* С табличной частью **Сотрудники** с единственным реквизитом **Сотрудник** (СправочникСсылка.Сотрудники).
|
||||
* Создать для него понятную форму документа.
|
||||
* На закладке "Движения" сделать его регистратором для регистра расчета **Зарплата** и для регистра бухгалтерии **Управленческий**
|
||||
* В обработке проведения:
|
||||
* Записать движения, пока без сумм, по регистру расчета **Зарплата**. При этом:
|
||||
* В качестве периода регистрации указать дату документа, а в качестве периода действия - начало и конец месяца даты **ЗаМесяц**.
|
||||
* В качестве вида расчета указать предопределенный ПланыВидовРасчета.Начисления.ОплатаПоОкладу.
|
||||
* После записи движений документа, выполнить запрос к ним, в запросе:
|
||||
* Получить оклад для каждого сотрудника.
|
||||
* Получить факт и норму из соответствующей виртуальной таблицы регистра расчета.
|
||||
* Получить номер строки движений для последующего обращения к нужному.
|
||||
* Обойти результат запроса, на каждой итерации цикла выполнив расчет сумму путем умножения оклада на частное деления факта на норму:
|
||||
5. Добавить документ **НачислениеОплатыПоОкладу** для начисления оплаты по окладу с учётом фактически отработанного времени:
|
||||
* с обязательным реквизитом **ЗаМесяц** типа Дата с форматом «MM.yyyy», чтобы пользователь видел только месяц;
|
||||
* с табличной частью **Сотрудники** с единственным реквизитом **Сотрудник** (СправочникСсылка.Сотрудники);
|
||||
* создать для него понятную форму документа;
|
||||
* на закладке «Движения» сделать его регистратором для регистра расчета **Зарплата** и для регистра бухгалтерии **Управленческий**
|
||||
* в обработке проведения:
|
||||
* записать движения, пока без сумм, по регистру расчёта **Зарплата**. При этом:
|
||||
* в качестве периода регистрации указать дату документа, а в качестве периода действия — начало и конец месяца даты **ЗаМесяц**;
|
||||
* в качестве вида расчёта указать предопределенный ПланыВидовРасчета.Начисления.ОплатаПоОкладу;
|
||||
* после записи движений документа, выполнить запрос к ним, в запросе:
|
||||
* получить оклад для каждого сотрудника,
|
||||
* получить факт и норму из соответствующей виртуальной таблицы регистра расчёта,
|
||||
* получить номер строки движений для последующего обращения к нужному;
|
||||
* обойти результат запроса, на каждой итерации цикла выполнив расчёт суммы путем умножения оклада на частное деления факта на норму:
|
||||
|
||||
```bsl
|
||||
Пока Выборка.Следующий() Цикл
|
||||
@ -55,24 +55,24 @@
|
||||
КонецЦикла;
|
||||
```
|
||||
|
||||
* Определив сумму, сформировать парное движение на такую же сумму по регистру бухгалтерии **Управленческий** в Дт счета **Расходы** и в Кт счета **РасчетыССотрудникми**, заполнив субконто **Сотрудник**.
|
||||
* Создав документ, заполните календарь и убедитесь в том, что документ:
|
||||
* В отсутствие вытесняющих начислений начисляет за месяц полную сумму оклада.
|
||||
* После ввода оклада или больничного документом **НачислениеСписком** уменьшает начисления по окладу пропорционально дням невыхода.
|
||||
* определив сумму, сформировать парное движение на такую же сумму по регистру бухгалтерии **Управленческий** в Дт счета **Расходы** и в Кт счета **РасчетыССотрудникми**, заполнив субконто **Сотрудник**.
|
||||
* создав документ, заполните календарь и убедитесь в том, что документ:
|
||||
* в отсутствие вытесняющих начислений начисляет за месяц полную сумму оклада,
|
||||
* после ввода оклада или больничного документом **НачислениеСписком** уменьшает начисления по окладу пропорционально дням невыхода.
|
||||
|
||||
|
||||
6. Добавить документ **НачислениеПремииПроцентом** для начисления премии процентом от оклада:
|
||||
* С обязательным числовым реквизитом **Процент**
|
||||
* С обязательным реквизитом **ЗаМесяц** типа Дата с форматом "MM.yyyy", чтобы пользователь видел только месяц.
|
||||
* С табличной частью **Сотрудники** с единственным реквизитом **Сотрудник** (СправочникСсылка.Сотрудники).
|
||||
* Создать для него понятную форму документа.
|
||||
* На закладке "Движения" сделать его регистратором для регистра расчета **Зарплата** и для регистра бухгалтерии **Управленческий**
|
||||
* В обработке проведения:
|
||||
* Записать движения, пока без сумм, по регистру расчета **Зарплата**. При этом:
|
||||
* В качестве периода регистрации указать дату документа, а в качестве периода действия и базового периода действия - начало и конец месяца даты **ЗаМесяц**.
|
||||
* В качестве вида расчета указать предопределенный ПланыВидовРасчета.Начисления.ПремияПроцентом.
|
||||
* Записав движения, получить базу запросом к соответствующей виртуальной таблице.
|
||||
* Обойти результат запроса, на каждой итерации цикла выполнив расчет премии, умножив базу на процент премии и поделив на 100.
|
||||
* с обязательным числовым реквизитом **Процент**;
|
||||
* с обязательным реквизитом **ЗаМесяц** типа Дата с форматом «MM.yyyy», чтобы пользователь видел только месяц;
|
||||
* с табличной частью **Сотрудники** с единственным реквизитом **Сотрудник** (СправочникСсылка.Сотрудники);
|
||||
* создать для него понятную форму документа;
|
||||
* на закладке «Движения» сделать его регистратором для регистра расчёта **Зарплата** и для регистра бухгалтерии **Управленческий**;
|
||||
* в обработке проведения:
|
||||
* записать движения, пока без сумм, по регистру расчета **Зарплата**. При этом:
|
||||
* в качестве периода регистрации указать дату документа, а в качестве периода действия и базового периода действия — начало и конец месяца даты **ЗаМесяц**;
|
||||
* в качестве вида расчета указать предопределенный ПланыВидовРасчета.Начисления.ПремияПроцентом;
|
||||
* записав движения, получить базу запросом к соответствующей виртуальной таблице;
|
||||
* обойти результат запроса, на каждой итерации цикла выполнив расчёт премии, умножив базу на процент премии и поделив на 100.
|
||||
|
||||
```bsl
|
||||
Пока Выборка.Следующий() Цикл
|
||||
@ -81,5 +81,5 @@
|
||||
КонецЦикла;
|
||||
```
|
||||
|
||||
* Определив сумму, сформировать парное движение на такую же сумму по регистру бухгалтерии **Управленческий** в Дт счета **Расходы** и в Кт счета **РасчетыССотрудниками**, заполнив субконто **Сотрудник**.
|
||||
* Создав документ, проверьте себя, начислив премию процентом от оклада и выплатив все начисления документом **СписаниеДенежныхСредств**. В оборотно-сальдовой ведомости кредитовые обороты счета **РасчетыССотрудниками** должны полностью закрыться дебетовыми, и остаток стать нулевым.
|
||||
* определив сумму, сформировать парное движение на такую же сумму по регистру бухгалтерии **Управленческий** в Дт счета **Расходы** и в Кт счета **РасчетыССотрудниками**, заполнив субконто **Сотрудник**;
|
||||
* создав документ, проверьте себя, начислив премию процентом от оклада и выплатив все начисления документом **СписаниеДенежныхСредств**. В оборотно-сальдовой ведомости кредитовые обороты счета **РасчетыССотрудниками** должны полностью закрыться дебетовыми, и остаток стать нулевым.
|
||||
|
Loading…
Reference in New Issue
Block a user