Есть задача: "У клиента есть внутренняя пропускная система. При проходе через пропускную систему должен автоматически начинаться рабочий день, при уходе - автоматически закрываться...
Не могу найти API для управления данным процессом. Подскажите, пожалуйста, как можно такое реализовать?"
Вот ответ техподдержки: "К сожалению, REST API для модуля "Учет рабочего времени" еще не создан.
Вообще говоря, к коробочной версии REST API пока никакого отношения не имеет. А PHP API есть, просто недокументированный и не особо приспособленный для публичного использования.
Открыть рабочий день:
// $userId - ID битриксового пользователя
if(CModule::IncludeModule('timeman'))
{
$tmUser = new CTimeManUser($userId);
$userSettings = $tmUser->GetSettings();
if($userSettings["UF_TIMEMAN"])
{
$tmUser->OpenDay();
}
}
Закрыть рабочий день:
$tmUser->CloseDay();
Дополнительные методы CTimeManUser, которые могут быть полезны для реализации:
Включить паузу:
$tmUser->PauseDay()
Продолжить текущий день после завершения или паузы:
$tmUser->ReopenDay();
Получить текущее состояние рабочего дня:
$state = $tmUser->State();
варианты возвращаемых значений: - CLOSED - закрыт, можно открывать; - OPENED - открыт, можно закрывать или ставить на паузу; - PAUSED - открыт, но поставлен на паузу, можно закрывать или продолжать - EXPIRED - истек, т.е., день открыт, но уже произошел переход через полночь, и считается, что пользователь забыл закрыть день.
Если день в состоянии EXPIRED, то лучше его не закрывать автоматически, а дать пользователю возможность закрыть его вручную на портале, указав причину. Да и вообще, глубже того, что я описал, лучше не влезать, потому что, пока этот API не документирован, обратная совместимость не гарантирована.
Из книги «1С-Битрикс: Корпоративный портал» 2012 год
«1С-Битрикс: Корпоративный портал» допускает подключение через API автоматического начала и завершения рабочего дня на основе имеющихся данных о входе/выходе сотрудника через систему контроля управления доступом (проходная/турникет).
Согласен, с Алексеем. Приобрести коробочную версию решил из за возможности объединить систему учета рабочего времени bitrix24 с нашей системой пропусков в компании. Но обшарив документацию по API не нашел ничего что могло бы помочь
Поддерживаю данный вопрос. Добавьте в API возможность взаимодействовать с "Учетом рабочего времени". пожалуйста
Идея правильная, мы производители отечественной СКУД и к нам поступил запрос от большого гос. клиента на функционал интеграции с системой учёта рабочего времени. Идея проста - при первом входе сотрудника на контролируемый периметр в течение дня начинать рабочий день, при промежуточных выходах/входах ставить время на паузу/снимать с паузы, а в конце дня автоматически завершать рабочий день с последним временем выхода (если он был конечно зафиксирован). Понятно что там будут всякие нюансы в плане учёта, но в целом сам API должен выйти несложный. Хорошо бы его и на коробочной версии получить и на облачной.
Написано "Внедрено". Хотелось бы ссылку на: 1. Версии, для которых функционал доступен 2. Тарифы для облака, для которых функционал доступен 3. Ссылку на документацию / учебные курсы
Открыть рабочий день:
Включить паузу:
- CLOSED - закрыт, можно открывать;
- OPENED - открыт, можно закрывать или ставить на паузу;
- PAUSED - открыт, но поставлен на паузу, можно закрывать или продолжать
- EXPIRED - истек, т.е., день открыт, но уже произошел переход через полночь, и считается, что пользователь забыл закрыть день.
Если день в состоянии EXPIRED, то лучше его не закрывать автоматически, а дать пользователю возможность закрыть его вручную на портале, указав причину. Да и вообще, глубже того, что я описал, лучше не влезать, потому что, пока этот API не документирован, обратная совместимость не гарантирована.