среда, 24 июня 2015 г.

1с специалист. Решение задачи 3.31


Сложное для понимания условие. Основная путаница в  том какую структуру регистра сведений "Графики работы" выбрать.
В условии говорится о сменах и о том что "Каждый охранник может работать в любую смену", значит можно так понимать что вчера охранник работал в смену 1, сегодня в смену 3, а завтра может в смену 2. Далеко не очевидно тогда как это увязывается с условием "Все сотрудники работают по графику работы, установленному для каждого охранника отдельно",  что намекает на то что измерение сотрудник должно быть в регистре и оно в свою очередь должно быть связано с измерением реквизита расчета.
Таким образом видится 2 варианта РС.


 

С практической точки зрения первый вариант слегка абсурден, ведь для каждого сотрудника придется заполнять график для каждой из смен и пятидневку для отпуска, это нормально если сотрудников больше 1000?.
Еще смены 2 и 3 имеют протяженность в 7 часов. В остальном ничего нового. Периодичность РР = "месяц", при формировании записей проконтролируем переход из одного месяца в другой  и при необходимость разобьем запись на 2.

ПВР "Основные начисления" (Тариф, Больничный). Больничный естественно вытесняет тариф а тариф является базовым для больничного.
ПВР "Дополнительные начисления". (Компенсация и переработка). Базовым ВР для переработки будет также тариф.

При расчете тарифа все стандартно.
Для расчета больничного заполним его базовый период равный прошлой неделе.
Для расчета компенсации добавим РС "Размеры компенсаций" с периодичность год, и единственным ресурсом "Размер". Заполним значение результата прямо в обработке проведения документа.
Для расчета переработки добавим константу "Недельная норма часов", в РР "основные начисления" добавим ресурс "Отработано часов". При расчете будем сравнивать значение базы по этому ресурсу со значением константы. Если случилась переработка, то часы пераработки умножим на 100.

Отчет.
ВЫБРАТЬ
ДополнительныеНачисления.Сотрудник,
ДополнительныеНачисления.Параметр КАК КоличествоЧасовПереработки,
ДополнительныеНачисления.Результат КАК СуммаПремии
ИЗ
РегистрРасчета.ДополнительныеНачисления КАК ДополнительныеНачисления
ГДЕ
ДополнительныеНачисления.ПериодРегистрации МЕЖДУ &ДатаНачала И &ДатаОкончания
И ДополнительныеНачисления.ВидРасчета = &ВидРасчета
И ДополнительныеНачисления.Результат <> 0



Комментариев нет:

Отправить комментарий