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


















