Создание формы ежедневного учета рабочего времени
Автор: Старостина А.К.
Журнал: Форум молодых ученых @forum-nauka
Статья в выпуске: 11 (15), 2017 года.
Бесплатный доступ
В данной статье рассматривается возможности учета рабочего времени на предприятии.
Табель рабочего времени, график работы, учет времени
Короткий адрес: https://sciup.org/140277417
IDR: 140277417
Creating the form of daily working time account
In this article, the possibility of accounting for working time in an enterprise is considered.
Текст научной статьи Создание формы ежедневного учета рабочего времени
Ведение ежедневного учета рабочего времени представляет собой заполнение и проведение документа «Учет рабочего времени». Но для того, чтобы в данном документе содержалась верная информация, необходимо минимизировать влияние человеческого фактора на его заполнение. Отсюда можно сформулировать несколько основных особенностей документа:
-
1) Основные данные по сотрудникам заполняются автоматически, на основе выбранной даты и подразделения.
-
2) Разрешено редактировать только поля реально отработанного времени.
-
3) Сотрудник, без соответствующих прав, не может выбрать другое подразделение или дату.
Рис1. Форма учета рабочего времени
На рисунке 1 изображена форма заполнения ежедневного табеля рабочего времени. Цифрами на нем показаны области, которые должны заполниться. Опишем алгоритмы, по которым они это происходит.
-
1) Заполнение подразделения.
Актуальные данные о подразделении сотрудника содержатся в регистре сведений «Кадровые сведения». Сам сотрудник привязан к пользователю информационной базы. Поэтому для получения подразделения, необходимо сначала получить имя пользователя, и получить значение соответствующего ему сотрудника. Далее с помощью запроса, из регистра «Кадровые сведения», по передаваемым параметрам Сотрудник и Дата (которая берется по дате заполнения документа) получается значение соответствующего подразделения:
// Получение сотрудника
Пользователь = ПользователиИнформационнойБазы. ТекущийПользователь().Имя;
Сотрудник = Справочники.Сотрудники.
НаитиПоНаименованию (Пользователь)
// Получение подразделения
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Сотрудник",Сотрудник);
Запрос.УстановитьПараметр("Период",НачалоДня(Дата));
Запрос.Текст = "ВЫБРАТЬ
| КадровыеСведенияСрезПоследних. Подразделение |ИЗ
|ГДЕ
| КадровыеСведенияСрезПоследних .Увольнение = ЛОЖЬ";
ВыборкаПо др аз деление = Запрос.Выполнить().Выбрать();
ВыборкаПодразделение.Следующий();
Подразделение = ВыборкаПодразделение.Подразделение;
-
2) Заполнение календарного дня.
Сведения о календарных днях содержатся в регистре сведений календарь (рис. 2), который в свою очередь заполняется из основной системы, либо вручную, через специальную форму. Вид календарного дня влияет на последующее формирование часов работы.
Рис. 2 Регистр сведений «Календарь»
-
3) Заполнение информации о сотруднике.
Актуальные сведения о сотрудниках подразделения хранятся в регистре сведений «Кадровые сведения». Информацию о рабочих графиках сотрудника можно получить в регистре сведений «Рабочие графики сотрудников». Сведения об отпусках, больничных и командировках находятся в регистре сведений «Неотработанные дни». Для уменьшения времени заполнения данных в форму, получение данных с трех регистров можно объединить в один запрос, и далее заполнить их в таблицу сотрудников документа.
Запросу в качестве параметров передаются Подразделение и время начали и конца дня (исходя из даты документа). Полученные из регистра сведений данные заполняются в таблицу документа. Следует обратить внимание на заполнение поля «Вид времени». Его заполнение зависит от ряда параметров:
-
• график работы – в зависимости от графика работы устанавливается рабочий или выходной день;
-
• календарные дни – устанавливается выходной день, если по календарным дням праздник. Работает только в том случае, когда в справочнике «Графики работы» отмечен параметр – «учитывать праздники»;
-
• данные регистра «Неотработанные дни» – являются приоритетными. Отпуска, больничные и командировки проставляются вне зависимости от графика работы;
-
• В случае неявки по невыясненным причинам или прогула сотрудника, данный параметр проставляется вручную табельщиком на соответствующие значения. Проставить отпуск, больничный или командировку невозможно без соответствующей записи в регистре «Неотработанные дни».
-
4) Заполнение часов работы.
Часы работы являются табличными значениями справочника «Графики работы», а также заполняются в зависимости от вида времени. Наблюдается следующие ситуации:
-
• По графику рабочий день, и сотрудник работает – время прихода и ухода по графику формируются из справочника «Графики работы». Фактическое время прихода и ухода соответствуют времени по графику;
-
• По графику рабочий день, но сотрудник не вышел на работу – время прихода и ухода по графику формируются по справочнику. Вид времени устанавливается вручную, как прогул или неявка по невыясненной причине. Время прихода и ухода фактические становятся нулевыми;
-
• По графику выходной день, и сотрудник не работает - время прихода и ухода по графику и фактическое формируются нулевыми;
-
• По графику выходной день, но сотрудник работает - время прихода и ухода по графику и формируются нулевыми, Вид времени устанавливается вручную, как работает, фактическое время прихода и ухода также проставляется вручную.
-
• Сотрудник в отпуске, на больничном или в командировке, и не работает - вне зависимости от графика работы, время прихода и ухода по графику и фактические формируются как нулевые;
-
• Сотрудник в отпуске, на больничном или в командировке, но работает - вне зависимости от графика работы, время прихода и ухода по графику и формируются как нулевые. Вид времени, фактическое время прихода и ухода устанавливаются вручную.
-
• По календарю праздничный день и в графике работы установлен параметр «учитывать праздники» - время прихода и ухода по графику и фактические формируются как нулевые.
-
5) Окраска таблицы сотрудников, в зависимости от вида времени.
Условное оформление таблицы зависит от параметра «вид времени». Сделано это, для того, чтобы визуально отделить работающих сотрудников от всех остальных.
Возможность окраски строк установлена в обработчике табличной части «При выводе строки», и окраска производится при каждом изменении параметров таблицы, а также при открытии формы:
Процедура ТабельПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Если ДанныеСтроки.УпрощенныйВидВремени = Перечисления.ВидыВремениУпрощенные.Работает Тогда ОформлениеСтроки.ЦветФона = ЦветРабочий;
ИначеЕсли ДанныеСтроки.УпрощенныйВидВремени =
Перечисления.ВидыВремениУпрощенные.Выходной Тогда
ОформлениеСтроки.ЦветФона = ЦветВыходной;
ИначеЕсли ДанныеСтроки.УпрощенныйВидВремени =
Перечисления.ВидыВремениУпрощенные.Больничный Тогда ОформлениеСтроки.ЦветФона = ЦветБольничный;
ИначеЕсли ДанныеСтроки.УпрощенныйВидВремени =
Перечисления.ВидыВремениУпрощенные.Отпуск Тогда
ОформлениеСтроки.ЦветФона = ЦветОтпуск;
ИначеЕсли ДанныеСтроки.УпрощенныйВидВремени =
Перечисления.ВидыВремениУпрощенные.НеявкаПоНевыясненымПричинам Тогда ОформлениеСтроки.ЦветФона = ЦветНеявка;
ИначеЕсли ДанныеСтроки.УпрощенныйВидВремени =
Перечисления.ВидыВремениУпрощенные.Прогул Тогда
ОформлениеСтроки.ЦветФона = ЦветПрогул;
ИначеЕсли ДанныеСтроки.УпрощенныйВидВремени =
Перечисления.ВидыВремениУпрощенные.Командировка Тогда ОформлениеСтроки.ЦветФона = ЦветКомандировка;
КонецЕсли;
КонецПроцедуры
Окраска имеет наибольший смысл в подразделениях, где принят посменный график и в таблице присутствует большое количество сотрудников. Так, внимание табельщика сосредотачивается на тех сотрудников, которые не выделены цветами, а значит, уменьшается риск случайно поставить отработанные часы сотруднику, который не работает.
Список литературы Создание формы ежедневного учета рабочего времени
- Установка системы учета рабочего времени. - Режим доступа - URL: http://habrahabr.ru/ post/234611
- Системы учета рабочего времени сотрудников и контроля доступа TimeControl- Режим доступа - URL: http://www.time-control.ru/.