Все проекты English Написать директору Вебинары
Выбор региона
Ваш город:Алматы
Поиск

Графики работы, их значение и создание в среде разработки 1С:Предприятие 8.3

Время чтения: ~3 мин.

Актуальность проверена: 29 . 04 . 2024

При приеме сотрудников на работу кроме должности, оклада важным условием труда является график работы, определяющий рабочее и нерабочее время сотрудника.

Работа сотрудника, оформленная кадровым приказом в нерабочее время, является исключением и оплачивается иначе, чем работа в рабочее время, определяемое рабочим графиком.

Графики работы также используют для синхронизации работы подразделений. Это отражается на эффективном использовании рабочего времени организации в целом.

Необходимость использования графиков работы при расчете заработной платы сотрудникам является обязательным условием правильности ее начисления.

В среде разработки 1С:Предприятие 8.3 при решении расчетных задач, делая первичные начисления, используется отношение фактически отработанного времени к рабочему времени, определяемому рабочим графиком сотрудника. Без определения рабочего времени соответствующим графиком работы правильное начисление зарплаты сотрудникам было бы невозможно. Нужно учесть, что рабочее время сотрудников можно измерять рабочими днями и рабочими часами в зависимости от вида начисления: при часовой тарифной ставке формула начисления предусматривает фактически отработанное время в часах/рабочее время в часах по графику; при начислении окладов- фактически отработанное время в днях/ рабочее время в днях по графику.

Далее в статье будет описана последовательность действий разработчика при создании механизма рабочих графиков.

Конфигурирование

Для определения прикладного объекта конфигурации, который хранил бы рабочее и нерабочее время рабочего графика определим необходимые и достаточные реквизиты:

  1. Дата календаря - тип ДАТА.
  2. Значение-тип ЧИСЛО:

    Значение может содержать количество рабочих часов в день или 1= рабочему дню. Нерабочее время на дату определим Значением=0;

  3. Наименование Графика.

    Единицами рабочего времени могут быть дни или часы. Поэтому создадим перечисление для их хранения.

1. Перечисление «ЕдиницаРабочегоВремени»

1.png

Рисунок 1

Добавим значения единиц измерения времени.

2.png

Рисунок 2

Применяемые графики работы как объекты учета могут храниться в справочнике.

2. Справочник «ГрафикиРаботы»

3.png

Рисунок 3

В созданном справочнике должна храниться информация о количестве рабочих дней в неделю и количестве рабочих часов в рабочий день. Для этого создадим реквизиты:

  • КоличествоРабочихДнейВНеделе;
  • КоличествоРабочихЧасов;
  • ЕдиницаРабочегоВремени.

4.png

Рисунок 4

Создадим форму элемента справочника для написания процедур в модуле формы.

5.png

Рисунок 5

Для заполнения и очистки рабочего графика создадим на форме команды:

  • ЗаполнитьГрафик
  • ОчиститьГрафик

Для заполнения периода графика добавим реквизиты: ДатаНачалаПериода; ДатаКонцаПериода.

6.png

Рисунок 6

7.png

Рисунок 7

3. Регистр сведений «ГрафикиРаботы»

Для хранения дат рабочего и нерабочего времени в течение указанного периода используем прикладной объект конфигурации – регистр сведений.

Создадим регистр сведений ГрафикиРаботы.

8.png

Рисунок 8

Добавим измерения: Дата –тип ДАТА и ГрафикРаботы-тип СправочникСсылка.ГрафикиРаботы.

9.png

Рисунок 9

4. Справочник «Праздники»

К нерабочему времени можно отнести праздничные дни. Для их создания и хранения создадим справочник Праздники.

10.png

Рисунок 10

Программирование

1. В модуле справочника «ГрафикиРаботы»

Создадим экспортную процедуру для заполнения периода, указанного датами его начала и окончания, рабочим и нерабочим временем и функцией, создающей наборы записей регистра сведений ГрафикиРаботы.

11.png

12.png

Рисунок 11

2. Общий модуль РасчетыНаСервере

В общем модуле РасчетыНаСервере напишем экспортную функцию, в которую в качестве параметров передадим КалендарнуюДату, чтобы определить по ней к рабочему или нерабочему времени она относится, ЕРВ-единицу рабочего времени, КРЧ-количество рабочих часов в неделе, КРД-количество рабочих дней в неделе и Наименование графика.

13.png

14.png

Рисунок 12

3. Модуль формы справочника ГрафикиРаботы

Создадим процедуру обработчик команды «ЗаполнитьГрафик».

15.png

Рисунок 13

Создадим процедуру обработчик команды «ОчиститьГрафик».

16.png

Рисунок 14

Использование механизма рабочих графиков пользователем в режиме 1С:Предприятие

1. Справочник «Праздники»

Заполняем справочник праздничными днями

17.png

Рисунок 15

2. Справочник «ГрафикиРаботы»

Заполним реквизиты элемента справочника:

  • Наименование;
  • Количество рабочих дней в неделе;
  • Единицу рабочего времени;
  • Дату начала и окончания периода заполнения рабочим и нерабочим временем.

А) Пример заполнения рабочими днями:

18.png

Рисунок 16

Выполним команду «ЗаполнитьГрафик» и проверим результат заполнения указанного периода рабочим и нерабочим временем в регистре «ГрафикиРаботы».

3. Регистр сведений «ГрафикиРаботы»

Проверим заполнение рабочими и нерабочими днями период графика.

19.png

Рисунок 17

Б) Пример заполнения рабочими часами:

Заполним реквизиты справочника «ГрафикиРаботы».

20.png

Рисунок 18

21.png

Рисунок 19

Статью по программированию в 1С:Предприятие 8.3 подготовил один из преподавателей Учебного центра Первого Бита.

Освойте навыки разработчика 1С на очных специализированных курсах от Центра Сертифицированного Обучения – компании «Первый Бит».

Хотите получать подобные статьи по четвергам?
Быть в курсе изменений в законодательстве?
Подпишитесь на рассылку

Нет времени читать? Пришлем вам на почту!

Я даю Согласие на обработку персональных данных в соответствии с Политикой Конфиденциальности

Подскажем решение для вашей задачи

Заказать помощь ИТ-специалиста