stafftrackmobile 26.600.0 Заметное

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

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

Мобильная часть Stafftrack 26.600.0: с телефона теперь можно создавать и редактировать офисы, искать сотрудника в списке присутствия команды и видеть, что рабочий отчёт готов к отправке. Всё это включается серверными флагами и зависит от версии приложения, поэтому после обновления модуля функции могут и не появиться.

Новое

Найдите сотрудника в списке присутствия

Карточка поверх карты раскрывается в список команды на выбранную дату с поиском и вкладками: работают, без отметок, с отметками, завершили, не начали, все. Набор вкладок присылает сервер. Нажатие на сотрудника открывает его маршрут, а если на карте его нет, таймлайн дня. Пока карта на экране, список обновляется в фоне.

Данные отдаёт AJAX stafftrackmobile.v2.CheckIn.Presence.getList, выборку делает серверный stafftrack. В ответе ID, имя, должность и аватар, контактов и логинов там нет. Метод требует авторизации, CSRF, POST, пользователя интранета, нового чек-ина, разрешённого региона и включённого инструмента и закрыт для REST. Фильтр entities работает только с CheckInV3StaffSelectorFeature.

Сам список выключен по умолчанию флагом PresenceListFeature (опция stafftrackmobile/presence_list_enabled равна N), без него сервер отвечает PRESENCE_UNAVAILABLE.

Управляйте офисами с телефона

Мобильная форма офиса умеет то же, что веб: адрес и геозона, описание, фото, часы работы, сотрудники и подразделения. Перед переводом сотрудников она показывает расчёт, при пересечении геозон просит подтверждение, а при параллельной правке объединяет данные и согласует их заново. Удаляя офис, сотрудников можно перевести в другой.

Кнопку создания показывает canCreate, пункты редактирования и удаления — canEdit и canDelete, а меню появляется при любом из двух последних. Список сотрудников скрыт, пока isEmployeeListAvailable не равен true, но из карточки можно запросить доступ.

Для своих экранов есть openOfficeSelector(options) из stafftrack/office-selector с множественным выбором и исключёнными ID и OfficeForm.openInBottomSheet():

        const { openOfficeSelector } = require('stafftrack/office-selector');

const offices = await openOfficeSelector({
    multiple: true,
    excludedIds: [currentOfficeId],
    allowCreation: false,
    parentWidget: layout,
});

    

allowCreation: false запрещает создавать офис из селектора, даже если сервер это разрешает.

Офисной вкладке нужны три условия на сервере: OfficesTabFlag, новый rollout и разрешённый регион. Сервер сообщает о ней через OfficesTabProvider::isAvailable() и поле isOfficesTabEnabled в ответе Feature.isNewCheckInFeatureEnabled. Карте по-прежнему нужны native-флаги jnwebview_bridge_v1 и tabswidget_disable_scroll (isCheckinMapSupported() из stafftrack/feature). Ссылка /stafftrack/offices/?office_id=… открывает мобильную карточку офиса после свежей проверки этих флагов, иначе веб-страницу.

Узнайте, что отчёт готов

В меню «Ещё» у пункта чек-ина появился индикатор рабочего отчёта, он же метка на вкладке. 1 ставится, только когда отчёт текущего пользователя готов к отправке. Нужны новый API и событие Timeman, включённые рабочие отчёты и AI-режим, модули Timeman и timemanmobile, инструмент рабочего времени и новый чек-ин.

Флаг WorkReportCounterFeature включён по умолчанию, выключает его только N в опции work_report_counter_enabled. AJAX stafftrackmobile.v2.CheckIn.WorkReport.syncCounter отвечает value, serverTime, serverTimeUnix и isApplicable, занятая блокировка даёт WORK_REPORT_COUNTER_BUSY. Счётчик пересчитывается по событию Timeman OnFullReportSaved: в сессии владельца фоновой задачей, из чужой сессии через Pull stafftrackmobile/workReportChanged. Клиент синхронизируется после загрузки меню и при возврате в приложение не чаще раза в 15 минут. После ошибки он повторяет запрос через 10 и 60 секунд.

Мелочи и находки

  • getManualCheckInCount теперь проверяет, включён ли инструмент (CheckInToolEnabled) и доступен ли выбранный сотрудник (DepartmentProvider::isAccessibleEmployee()), и при отказе отвечает 403 без count. Новые параметры userId и timestamp необязательны, без них метод считает отметки текущего пользователя за сегодня.
  • В компактной форме отметки можно выбрать чат и приложить файлы (нужен disk), loadCheckInForm принимает необязательный dialogId.
  • Если геолокация в системе выключена, приложение предложит открыть настройки, а если позицию не удалось получить, повторить запрос. Компактная форма сама повторяет попытку один раз.
  • Начало и конец рабочего дня из серверных маркеров worktime видны в таймлайне без геотрека, отметок не добавляют и точек на карте не создают. Сотрудник с единственной точкой трека теперь отображается.
  • Применённый текстовый поиск скрывает кнопку добавления отметки. Подсказка presence_aha не открывается поверх другой панели.

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

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

Подписаться

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

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

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

В timemanmobile 26.550.0 и 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 мин
note 26.600.0 Ломающее Свежее

Note 26.600.0: публичные базы знаний и новая корзина

В Note 26.600.0 базу знаний можно открыть наружу по ссылке с паролем, удалённая база теперь попадает в корзину и восстанавливается целиком, а бизнес-процессы научились создавать и менять статьи. Для интеграций важнее другое: `note.collection.delete` больше не удаляет базу насовсем, звезда и подписка…

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

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

на связи

пишет…

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

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

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

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

Войти