Есть задача: "У клиента есть внутренняя пропускная система. При проходе через пропускную систему должен автоматически начинаться рабочий день, при уходе - автоматически закрываться...
Не могу найти 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 не документирован, обратная совместимость не гарантирована.
Просим рассмотреть возможность вывода суммы затраченного времени на задачи в отчёте за день и недельном отчёте во избежание чрезмерного превышения/уменьшения ввода трудозатрат и нарушения трудовой дисциплины.
Добрый день! От большинства пользователей Битрикс в нашей компании поступают просьбы автоматизировать работу с инструментами учета рабочего времени. Например, стартовать день после включения или разблокировки компьютера, завершать день перед выключением компьютера, стартовать и завершать перерыв по заданному расписанию и т.п. Прошу рассмотреть возможность автоматизации этих процессов так, чтобы они могли выполняться без участия пользователя. Спасибо!
На сегодняшний день невозможно учитывать рабочее время с переходом через сутки. Например, с 20-00 текущих до 5-00 следующих суток. Некоторым нашим сотрудникам необходимо работать с коллегами из США и происходит это тогда, когда по Москве ночь. Просим рассмотреть возможность реализации учета рабочего времени при переходе через полночь. Спасибо!
Добрый день! В случае ручного ввода затраченного времени по задаче дата ввода устанавливается автоматически - текущее время. Добавьте возможность корректировки/ввода даты. Ответственному, в ряде случаев, требуется ввести затраченное время по вчерашнему рабочему дню. Спасибо!
Давайте сделаем предлределенный справочник причин. Одна из который будет - свой вариант ответа.
Что это даст? Как минимум возможность отсеять классифицированные причины от действительно интересных (запрос по предопределенным значениям делать как то проще, чем анализировать тексты)
Как это будет работать: Выбираю в селекте "забыл" и ОК Если выбираю в селекте "другое" - появляется окошко для сочинений
Коллеги, очевидно же, что это попап тут не нужно, нужна сразу кнопка "начать / остановить". Удалить из рабочего дня - ну крестик при наведении как сейчас можно сделать.
Не хватает возможности отследить, сколько человек в среднем работал, к примеру, за месяц в день или за текущую неделю, чтобы сравнить.
Потому что сейчас цифра "итого" не очень информативна, с учетом того, что человек мог заболеть или еще что-то, а среднее - показывало бы без учета этого показателя (тогда правда, за неделю не очень нужный столбец, но привычный - для ориентира в 40 часов).
На странице Рабочее время, руководитель (и администратор Битрикс24) видят суммарное рабочее время сотрудника за месяц, а также кол-во часов по дням.
Кроме этого, можно увидеть процент замечаний, если например, было нарушение и сотрудник завершал день раньше установленного времени или начинал его позже.
Открыть рабочий день:
Включить паузу:
- CLOSED - закрыт, можно открывать;
- OPENED - открыт, можно закрывать или ставить на паузу;
- PAUSED - открыт, но поставлен на паузу, можно закрывать или продолжать
- EXPIRED - истек, т.е., день открыт, но уже произошел переход через полночь, и считается, что пользователь забыл закрыть день.
Если день в состоянии EXPIRED, то лучше его не закрывать автоматически, а дать пользователю возможность закрыть его вручную на портале, указав причину. Да и вообще, глубже того, что я описал, лучше не влезать, потому что, пока этот API не документирован, обратная совместимость не гарантирована.