Создание формы ежедневного учета рабочего времени
Автор: Старостина А.К.
Журнал: Форум молодых ученых @forum-nauka
Статья в выпуске: 11 (15), 2017 года.
Бесплатный доступ
В данной статье рассматривается возможности учета рабочего времени на предприятии.
Табель рабочего времени, график работы, учет времени
Короткий адрес: https://sciup.org/140277417
IDR: 140277417
Текст научной статьи Создание формы ежедневного учета рабочего времени
Ведение ежедневного учета рабочего времени представляет собой заполнение и проведение документа «Учет рабочего времени». Но для того, чтобы в данном документе содержалась верная информация, необходимо минимизировать влияние человеческого фактора на его заполнение. Отсюда можно сформулировать несколько основных особенностей документа:
-
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/.