calendarmobile 26.550.0 Заметное

Tasks 26.325.0, tasksmobile 26.800.0, crmmobile 26.400.0, calendarmobile 26.550.0: форматирование в чек-листах и запись визита в приложении

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

В коробочный Битрикс24 одним шагом встали tasks 26.325.0, tasksmobile 26.800.0, crmmobile 26.400.0 и calendarmobile 26.550.0. Пункты чек-листа теперь форматируются в новой карточке задачи и в приложении, а разметка хранится BB-кодами прямо в названии пункта. Если ваша интеграция показывает пункты чек-листа, её стоит проверить. В мобильной CRM можно скачать запись визита, а поля rich_text видны в карточке. crm, mobile и signmobile из того же обновления разбираем отдельно.

Новое

Форматируйте пункты чек-листа (tasks 26.325.0)

У пункта чек-листа в новой карточке задачи появилась панель форматирования: полужирный, курсив, подчёркнутый, зачёркнутый и ссылка. Работают и сочетания Ctrl/Cmd + B, I, U, S. Ссылку вставляют через попап. Адрес без схемы получает https://, а другие схемы и хосты без точки в имени (кроме localhost) редактор не примет.

Теги в названии пункта: [b], [i], [u], [s] и [URL=…]…[/URL]. Регистр у тегов разный ([b], но [URL=…]), разбирайте их без учёта регистра. Пункты с BB-кодами, созданные в обход карточки, например через task.checklistitem.add, она тоже понимает. В редакторе чек-листа теги видны как есть, отформатированным пункт показывается в превью чек-листа в карточке и у тех, кто не может его править.

Форматируйте и в приложении (tasksmobile 26.800.0)

На панели действий пункта в мобильном чек-листе появились кнопки B, I, U и S. Формат применяется прямо в поле ввода, а в название уходят те же BB-коды, что и в вебе, так что разметка с телефона и из браузера одна и та же. Кнопки ссылки в приложении нет, но ссылки из веба оно показывает.

Уберите теги, если выводите пункты у себя (tasks 26.325.0)

Поле TITLE из task.checklistitem.getlist и из ORM-таблицы Bitrix\Tasks\Internals\Task\CheckListTable теперь может прийти с разметкой. Отчёт или выгрузка, которые выводят название как есть, покажут [b]Согласовать[/b] вместо «Согласовать». Неразмеченных пунктов это не касается. Почистить название можно так:

        <?php declare(strict_types=1);

namespace Vendor\Portal\Tasks;

final class ChecklistTitle
{
    private const URL_TAG = '#\[url(?:=([^\]]*))?](.*?)\[/url]#is';
    private const FORMAT_TAG = '#\[/?[bius]]#i';

    public static function toPlainText(string $title): string
    {
        $text = preg_replace_callback(
            self::URL_TAG,
            static fn (array $m): string => $m[2] !== '' ? $m[2] : $m[1],
            $title,
        ) ?? $title;

        return trim(preg_replace(self::FORMAT_TAG, '', $text) ?? $text);
    }
}

// в шаблоне
echo htmlspecialcharsbx(\Vendor\Portal\Tasks\ChecklistTitle::toPlainText($item['TITLE']));

    

Ссылка превращается в свой текст, а если текста нет, остаётся адрес.

В системных сообщениях чата задачи (чек-лист добавлен, выполнен или удалён, в него добавили соисполнителя, наблюдателя или файлы) модуль чистит название чек-листа сам. [URL] становится обычным текстом, голые адреса не кликаются, а [b], [i], [u] и [s] чат показывает форматированием.

Скачайте запись визита с телефона (crmmobile 26.400.0)

У дела «Визит» в таймлайне появился пункт меню «Скачать» для каждой записи разговора, при нескольких записях под ним подписано имя файла. Пункт приходит с сервера начиная с crm 26.900.0, а с crmmobile 26.400.0 приложение его обрабатывает. Файл скачивается на телефон, и сразу открывается меню «Поделиться».

Поля rich_text в мобильной карточке (crmmobile 26.400.0)

Пользовательские поля типа rich_text карточка CRM в приложении выводит многострочным полем. При просмотре BB-разметка показывается отформатированной.

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

  • Название задачи с % («Скидка 50%») больше не роняет новую карточку с URIError, когда её открывают с заполненными полями, например при создании задачи из события календаря. TITLE, MAIL_SUBJECT и MAIL_FROM из requestParams слайдера она теперь берёт как есть. Если ваш код открывает карточку с этими параметрами и заранее кодирует их через encodeURIComponent, кодирование уберите, иначе в названии останется %D0%A1… (tasks 26.325.0).
  • С crm 26.900.0 по ссылке /crm/activity/details/<id>/?act=…, которой делятся делом в чате, открывается и письмо CRM. Приложение теперь открывает такие ссылки у себя веб-страницей письма. Нативный экран для них заготовлен, но в mailmobile 26.400.0 на нашем эталоне его ещё нет (crmmobile 26.400.0).
  • calendarmobile 26.550.0 добавил только обработчик онбординг-пуша «открыть календарь». В коробке этот пуш не приходит, почему — в разборе mobile.

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

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

Подписаться

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

timeman 26.350.0 Заметное Свежее

Timeman 26.350.0: план дня пишется в нужную запись, блоки БП возвращают Saved

В timeman 26.350.0 для коробочного Битрикс24 блоки «Сохранить план на день» и «Сохранить отчёт сотрудника за день» из нового конструктора бизнес-процессов научились писать в заданную запись рабочего дня, оставлять Markdown как есть и сообщать, сохранилось ли (у отчёта новые настройки в конструкторе,…

2 мин
rpa 26.300.0 Безопасность Свежее

Rpa 26.300.0: права на перемещение элементов наконец проверяются

До RPA 26.300.0 `UserPermissions::canMoveItem()` сразу отвечал `true`, и любой сотрудник, кроме экстранет-пользователей, мог перетащить любой элемент на любую стадию, а права стадии на перемещение не учитывались. Теперь права проверяются, а тем, кто может только смотреть, `rpa.item.get` и `rpa.item….

3 мин
booking 26.500.100 Заметное Свежее

Booking 26.500.100: addList отвечает ошибкой, когда не создал ни одной брони, а четыре колонки дат стали DATETIME

В коробочный Битрикс24 пришёл booking 26.500.100 с двумя правками. AJAX-экшен `booking.api_v1.Booking.addList` теперь возвращает ошибку, если не создал ни одной брони. Апдейтер переводит четыре колонки дат с `TIMESTAMP` на `DATETIME`, и в `install/migrations/tables.php` они объявлены через `datetime…

3 мин
socialnetwork 26.200.0 Безопасность Свежее

Socialnetwork 26.200.0: XSS в заявках и списке участников, копирование проекта по праву редактирования и курсор в log.blogpost.get

Socialnetwork 26.200.0 закрывает XSS в списке участников проекта и в заявках в группы, подмену ссылок через название группы и утечку задач в контекст AI. Копировать проект теперь можно только с правом на редактирование. Администраторам, у которых стояли 26.100.0 или 26.150.0, стоит проверить права с…

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

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

на связи

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

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

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

Войти