Графики работы, их значение и создание в среде разработки 1С:Предприятие 8.3
Графики работы, их значение и создание в среде разработки 1С:Предприятие 8.3
При приеме сотрудников на работу кроме должности, оклада важным условием труда является график работы, определяющий рабочее и нерабочее время сотрудника.
Работа сотрудника, оформленная кадровым приказом в нерабочее время, является исключением и оплачивается иначе, чем работа в рабочее время, определяемое рабочим графиком.
Необходимость использования графиков работы при расчете заработной платы сотрудникам является обязательным условием правильности ее начисления.
В среде разработки 1С:Предприятие 8.3 при решении расчетных задач, делая первичные начисления, используется отношение фактически отработанного времени к рабочему времени, определяемому рабочим графиком сотрудника. Без определения рабочего времени соответствующим графиком работы правильное начисление зарплаты сотрудникам было бы невозможно. Нужно учесть, что рабочее время сотрудников можно измерять рабочими днями и рабочими часами в зависимости от вида начисления: при часовой тарифной ставке формула начисления предусматривает фактически отработанное время в часах/рабочее время в часах по графику; при начислении окладов- фактически отработанное время в днях/ рабочее время в днях по графику.
Далее в статье будет описана последовательность действий разработчика при создании механизма рабочих графиков.
Конфигурирование
Для определения прикладного объекта конфигурации, который хранил бы рабочее и нерабочее время рабочего графика определим необходимые и достаточные реквизиты:
1. Дата календаря - тип ДАТА
2. Значение-тип ЧИСЛО:
Значение может содержать количество рабочих часов в день или 1= рабочему дню. Нерабочее время на дату определим Значением=0;
3. Наименование Графика.
Единицами рабочего времени могут быть дни или часы. Поэтому создадим перечисление для их хранения.
1.Перечисление «ЕдиницаРабочегоВремени»
Добавим значения единиц измерения времени.
Применяемые графики работы как объекты учета могут храниться в справочнике.
2.Справочник «ГрафикиРаботы»
В созданном справочнике должна храниться информация о количестве рабочих дней в неделю и количестве рабочих часов в рабочий день. Для этого создадим реквизиты:
- КоличествоРабочихДнейВНеделе;
- КоличествоРабочихЧасов;
- ЕдиницаРабочегоВремени.
Создадим форму элемента справочника для написания процедур в модуле формы.
Для заполнения и очистки рабочего графика создадим на форме команды:
- ЗаполнитьГрафик
- ОчиститьГрафик
Для заполнения периода графика добавим реквизиты: ДатаНачалаПериода ; ДатаКонцаПериода.
3.Регистр сведений «ГрафикиРаботы»
Для хранения дат рабочего и нерабочего времени в течение указанного периода используем прикладной объект конфигурации – регистр сведений.
Создадим регистр сведений ГрафикиРаботы.
Добавим измерения: Дата –тип ДАТА и ГрафикРаботы-тип СправочникСсылка.ГрафикиРаботы.
4.Справочник «Праздники»
К нерабочему времени можно отнести праздничные дни. Для их создания и хранения создадим справочник Праздники.
Программирование
1.В модуле справочника «ГрафикиРаботы»
Создадим экспортную процедуру для заполнения периода, указанного датами его начала и окончания, рабочим и нерабочим временем и функцией, создающей наборы записей регистра сведений ГрафикиРаботы.
2.Общий модуль РасчетыНаСервере
В общем модуле РасчетыНаСервере напишем экспортную функцию, в которую в качестве параметров передадим КалендарнуюДату, чтобы определить по ней к рабочему или нерабочему времени она относится, ЕРВ-единицу рабочего времени, КРЧ-количество рабочих часов в неделе, КРД-количество рабочих дней в неделе и Наименование графика.
3.Модуль формы справочника ГрафикиРаботы
Создадим процедуру обработчик команды «ЗаполнитьГрафик».
Создадим процедуру обработчик команды «ОчиститьГрафик».
Использование механизма рабочих графиков пользователем в режиме 1С:Предприятие
Использование механизма рабочих графиков пользователем в режиме 1С:Предприятие
Заполняем справочник праздничными днями
2.Справочник «ГрафикиРаботы»
Заполним реквизиты элемента справочника:
- Наименование;
- Количество рабочих дней в неделе;
- Единицу рабочего времени;
- Дату начала и окончания периода заполнения рабочим и нерабочим временем.
А) Пример заполнения рабочими днями:
Выполним команду «ЗаполнитьГрафик» и проверим результат заполнения указанного периода рабочим и нерабочим временем в регистре «ГрафикиРаботы».
3.Регистр сведений «ГрафикиРаботы»
Проверим заполнение рабочими и нерабочими днями период графика.
Б) Пример заполнения рабочими часами:
Заполним реквизиты справочника «ГрафикиРаботы».
Изучить программирование 1С вы можете в Учебном Центре Первого Бита. Ознакомьтесь с расписанием и оставьте заявку. Наши менеджеры подберут для вас подходящие курсы.