timemanmobile 26.600.0 Заметное

Timemanmobile 26.550.0–26.600.0: отдельная карточка отчёта и диагностика начала дня

4 мин чтения
Узнавайте о ломающих изменениях Битрикса раньше, чем они доедут до прода: свежие разборы — в канале @bxmax_updates

В timemanmobile 26.550.0 и 26.600.0 рабочий отчёт открывается в приложении отдельной карточкой, а не страницей портала. Отчёт, отправленный после полуночи, больше не считает отметки за чужой день. А если форма начала дня не показалась, теперь видно почему: причину пишет диагностический журнал.

Новое

Открывайте отчёт в приложении

Ссылки на /timeman/work_report.php с фрагментом #user_id=…&report=… или #report=… открывают мобильную карточку отчёта, заголовок которой соответствует периоду. Если обработчик недоступен, откроется страница портала. При ошибке загрузки пользователь увидит «Не удалось открыть отчёт», и карточка закроется.

Из своего кода карточку открывает openReport() из timeman/work-reports/actions:

        const { openReport } = require('timeman/work-reports/actions');

openReport({ reportId: 512, userId: 17, url: '/timeman/work_report.php#report=512' });

    

То же можно передать событием timemanbackground::report::open, строковые ID превратятся в числа. Нужен флаг WORK_REPORTS, AI-флаг не обязателен. Если WORK_REPORTS выключен или проверка упала, откроется переданный url, поэтому передавайте его всегда. Повторное открытие того же отчёта в течение 1000 мс игнорируется.

Данные отдаёт AJAX timemanmobile.FullReport.getReport: на вход reportId и необязательный userId, на выходе report и settings. Без userId владелец берётся из сохранённого отчёта. Права проверяет модуль timeman: переданный владелец должен совпасть с владельцем записи, а читателю нужно canReadWorktime. В мобильном коде ответ разбирает WorkReportsApi.getReport({ reportId, userId }), он возвращает { item, settings } и бросает исключение, если отчёта нет.

Если оценку отклонили с кодом ACCESS_DENIED, список и карточка вернут прежнюю оценку и покажут «Оценить отчёт может только руководитель». Распознать этот код в своих экранах поможет WorkReportsApi.isAccessDeniedError(response).

Отметки считаются за день отчёта

WorkReportsApi.getManualCheckInCount({ userId, timestamp }) спрашивает число отметок нужного сотрудника за нужный день через stafftrackmobile.v2.CheckIn.getManualCheckInCount, оба параметра необязательны. Список рабочих дней передаёт время начала записи, а DailyReportBox.openReport() принимает необязательный dayTimestamp, поэтому отчёт, отправленный после полуночи, считает отметки за свой день. Если счётчик не загрузился, ошибка уходит в журнал, checkInCount становится 0, а отчёт всё равно открывается.

Форма начала дня ждёт ответа сервера

Если на портале есть новый Feature.getCheckInRolloutVerdict(), вариант формы определяет он: enabled даёт форму V3, disabled базовую, а неизвестный ответ откладывает показ на 60 секунд. На старом API работает прежнее правило: isCheckInRolloutEnabled() === true включает новую форму, всё остальное выбирает базовую. Кеш решения теперь привязан к домену портала, так что другой пользователь или портал получат свежий ответ сервера.

Узнайте, почему форма не показалась

timemanmobile.WorkdayIntent.getWorkdayIntentBoxData получил refusalReason с первой причиной отказа и checkedAt со временем серверной проверки, а schedule.targetStartBasis подсказывает, откуда взято время начала. Если все проверки пройдены, но targetStartTimestamp === 0, придёт отказ noShift.

В диагностический журнал пишутся события timeman.workday-intent-box.shown и timeman.workday-intent-box.skipped с триггером launch, foreground или navigation. В shown есть вариант формы и isFallback, в skipped — причина и время следующей проверки. Журнал отличает занятый слот, уже открытую форму, незагруженный layout, ошибку запроса и неизвестный rollout. Расширение diagnostic-log подключается необязательно: если его нет, форма покажется, а повторная загрузка будет через 10 минут.

Новая версия вышла — разбор уже в Telegram

В канале @bxmax_updates публикуем каждый свежий разбор: что сломается, что устарело и что появилось в API. Узнаете до того, как обновите прод.

Подписаться

Читайте дальше

timemanmobile 26.400.0 Заметное Свежее

Timemanmobile 26.0.0–26.400.0: окно «Начало рабочего дня» и рабочие отчёты в мобильном Битрикс24

Новый модуль timemanmobile («Мобильный учёт рабочего времени») пришёл в коробочный Битрикс24 сразу пятью версиями: 26.0.0, 26.100.0, 26.200.0, 26.300.0 и 26.400.0. Он добавляет в мобильное приложение окно «Начало рабочего дня», рабочие отчёты, экран «Рабочие дни» и плашку рабочего дня. Все версии ст…

4 мин
stafftrackmobile 26.600.0 Заметное Свежее

Stafftrackmobile 26.600.0: офисы с телефона и список присутствия команды

Мобильная часть [Stafftrack 26.600.0](/bitrix-updates/stafftrack/stafftrack-26-600-0): с телефона теперь можно создавать и редактировать офисы, искать сотрудника в списке присутствия команды и видеть, что рабочий отчёт готов к отправке. Всё это включается серверными флагами и зависит от версии прило…

4 мин
stafftrack 26.600.0 Ломающее Свежее

Stafftrack 26.600.0: управление офисами и маршруты сотрудников

В Stafftrack 26.600.0 офисы редактируются в вебе вместе с геозоной, сотрудниками и фотографиями, руководитель видит на карте сегодняшний маршрут сотрудника, а список сотрудников офиса можно запросить у руководителя. Если вы сохраняли офисы своим кодом или строили карты по отметкам, после обновления…

6 мин
rest 26.1300.0 Ломающее Свежее

Rest 26.1200.0–26.1300.0: строгие типы REST V3 и лимит времени SQL

Две версии Rest подряд закручивают гайки. В 26.1200.0 REST V3 перестал прощать `"42"` вместо `42`, а права приложений переехали из ORM-поля в отдельную таблицу. В 26.1300.0 появился лимит времени SQL для REST-вызовов, исчез старый `LoadLimiter`, а параметры встраивания ограничены 2048 байтами. Если…

8 мин
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…

Можно закрыть чат и перейти на другую страницу. Когда ответ будет готов, на кнопке Домового появится отметка.

Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти