Документация для разработчиков
Темная тема

Учет рабочего времени

Scope: timeman Права на выполнение: зависит от метода

REST-методы для модуля Учёт рабочего времени

Метод Описание С версии
Базовые методы
timeman.settings Получение настроек рабочего времени пользователя 17.0.2
timeman.status Получение информации о текущем рабочем дне пользователя 17.0.2
timeman.open Начать новый рабочий день либо возобновить закрытый или приостановленный 17.0.2
timeman.close Закрыть рабочий день 17.0.2
timeman.pause Приостановить рабочий день 17.0.2
Офисные сети
timeman.networkrange.checkМетод для проверки IP-адреса на вхождение в диапазоны сетевых адресов офисной сети. 18.5.0
timeman.networkrange.getМетод для получения диапазонов сетевых адресов, входящих в офисную сеть.18.5.0
timeman.networkrange.setМетод для установки диапазонов сетевых адресов, входящих в офисную сеть.18.5.0
Контроль времени
timeman.timecontrol.report.addМетод для отправки отчета о выявленном отсутствии..18.5.0
timeman.timecontrol.reports.getМетод для получения отчета о выявленных отсутствиях.18.5.0
timeman.timecontrol.reports.settings.getМетод для получения пользовательских настроек для построения интерфейса отчетов инструмента контроля времени.18.5.0
timeman.timecontrol.reports.users.getМетод для получения списка пользователей, относящихся к указанному подразделению.18.5.0
timeman.timecontrol.settings.getМетод для получения настроек инструмента контроля времени. 18.5.0
timeman.timecontrol.settings.setМетод для установки настроек инструмента контроля времени.18.5.0
Рабочий график
timeman.schedule.getМетод позволяет получить рабочий график по его идентификатору.

Несколько примеров

Примеры работы на старом ядре.

Подтверждение рабочего отчета с положительной оценкой на странице /timeman/work_report.php:

CModule::IncludeModule('timeman');

$ID = 8;
$arFields = array(
	"MARK" => "G", // "G" - положительно, "B" - отрицательно, "N" - нет оценки, "X" - без подтверждения
);

if ($arFields["MARK"] != "X")
{
	$arFields["APPROVER"] = $USER->GetID();
	$arFields["APPROVE"] = "Y";
	$arFields["APPROVE_DATE"] = ConvertTimeStamp(time(), "FULL");
}
else
{
	$arFields["APPROVE"] = "N";
	$arFields["APPROVER"] = 0;
	$arFields["APPROVE_DATE"] = "";
}

$result = CTimeManReportFull::Update($ID, $arFields);
var_dump($result);

Работа с рабочим днём сотрудника

CModule::IncludeModule('timeman');
$USER_ID = 1;
$report = "";
$obUser = new CTimeManUser($USER_ID);

$obUser->OpenDay($timestamp, $report); // открыть рабочий день
$obUser->CloseDay($timestamp, $report); // закрыть рабочий день
$state = $oTimeManUser->State(); // узнать статус рабочего дня сотрудника $USER_ID
$arInfo = $oTimeManUser->GetCurrentInfo(); // информация о рабочем дне сотрудника $USER_ID

// Данные об активной задаче
CModule::IncludeModule('tasks');
$oTaskTimer = CTaskTimerManager::getInstance($USER_ID);
$rs = $oTaskTimer->getLastTimer(); 


© «Битрикс», 2001-2024, «1С-Битрикс», 2024