При добавлении отсутствия для сотрудников требуется добавление документа об отсутствии (заявление, служебная записка и пр.). Данные документы должны складываться в отдельную папку в Битрикс24.Диск (например, "Отсутствия";), с соответствующим названиями. Например: Иванов_Иван_7.05.15_14.05.15.jpg, где 7.05.15_14.05.15 - дата отсутствия. Возможно, сделать как-то по другому, но идея, я надеюсь, понятна.
В Битрикс24 есть Бизнес-процессы, которые сотрудник может использовать для утверждения своего отсутствия, это и будет своего рода документом, записью в списке процессов, о том что он запросил отгул, отпуск и т.д. и кто его утвердил.
Если нужен именно документ, можно добавить свое поле типа файл и загружать в него документы.
Есть задача: "У клиента есть внутренняя пропускная система. При проходе через пропускную систему должен автоматически начинаться рабочий день, при уходе - автоматически закрываться...
Не могу найти 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 не документирован, обратная совместимость не гарантирована.
Часто забываешь поставить задачу в план рабочего дня, если вдруг срочно понадобилось ее выполнить (появилась горящая задача). Да и не только при горящих задачах..
Потом получается 2 беды: - нет в плане раб.дня - время выполнения не посчиталось..
Как-то предлагал такую идею несколько в ином обличии.
Сейчас предлагаю следующее - напротив каждой задачи добавить старт/пауза. Нажали Старт - задача начала выполняться, кнопка заменилась на Пауза. Ну и время в задачу тикает. Нажали Перерыв - время понятно остановилось.
Но это еще не все - когда жмем Старт, останавливаются ВСЕ другие задачи, чтобы не забыть остановить и время не тикало параллельно.
Предложение -наложить график отсутствий (с его цветовой гаммой) на отчет "Рабочее время" –я думаю будет очень информативно. Суть – сравнить когда сотрудник отмечал, сколько он отработал и одновременно видеть в каких он был ситуациях-типах графика отсутствий.
Вообще-то, он совмещен. Как минимум, цветовое выделение должно присутствовать. Вот так примерно: http://www.picamatic.com/view/8050103_tm/ Если нет - обратитесь в техподдержку. А сперва обновите модуль проактивной защиты.
Завершая рабочий день, нажимаем кнопку Завершить и....... ничего не происходит!
Ни подсказочки, ни какого иного намека на то, почему нельзя завершить день. Ощущение, что либо сайт повис, либо кнопка перестала работать. Остается тока методом тыка каждый раз подбирать, что и где надо поставить, поправить, что бы день завершить таки.
Надо делать либо всплвывающую подсказку, либо делать кнопку неактивной (с изменением ее цвета) и пояснением - невозможно завершить рабочий день по такой-то причине.
Если нужен именно документ, можно добавить свое поле типа файл и загружать в него документы.