Перейти к содержанию

Комментарии

Комментарии обеспечивают коммуникацию участников внутри задач. В документе описаны типы комментариев, адресаты и видимость, настройки категории, автопрочтение, закреплённые комментарии, треды, вопросы, ссылки, оценки исполнителей, редактирование и удаление, подписка и уведомления. Поведение комментариев настраивается на уровне категории.

Обзор — Комментарии

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

Типы комментариев

В ленте задачи отображается два вида записей: сообщения, написанные пользователями, и системные уведомления, которые 1Форма добавляет автоматически при изменениях в задаче.

Пользовательские типы

Описание Создаётся
Пользовательский комментарий Вручную пользователем
Комментарий из подзадачи Автоматически при публикации в подзадаче
Вложение файла (без текста) Пользователем через drag&drop файла
Внесение трудозатрат Пользователем через форму трудозатрат

Системные типы

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

Описание Событие
Переход по маршруту Смена шага/статуса задачи
Подпись (резолюция) Согласование/подписание
Служебный Различные системные действия
Изменение ДП или файлов Изменение допараметра или файла
Создание задачи Создание новой задачи
Изменение текста задачи Редактирование описания
Смена категории Перемещение задачи
Смена срока Изменение дедлайна
Добавлен исполнитель Назначение исполнителя
Добавлен подписчик Добавление подписчика
Задача просрочена Автоматически при просрочке
Смена заказчика Изменение заказчика задачи
Удалён файл Удаление файла
Утверждение трудозатрат Акцепт фактических трудозатрат и снятие акцепта

Текст системных комментариев формируется автоматически по событию задачи. Каждый читатель видит его на своём языке: шаблон выбирается по языку пользователя (Users.LanguageID), а если шаблона на этом языке нет — по языку системы по умолчанию. Международный язык в этой цепочке не участвует. Отрисованный текст кешируется отдельно для каждого языка, поэтому читатели с разными языками интерфейса видят каждый свой вариант одной и той же системной записи.

Даты в тексте системных комментариев — например, новый срок или дата начала работы — в веб-интерфейсе показываются по часовому поясу из профиля читателя, так же как на карточке задачи. В push-уведомлениях и письмах такие даты приводятся к часовому поясу профиля получателя. Мобильные приложения показывают эти даты в часовом поясе сервера.

Интерактивные отчёты в сообщениях

В комментарий можно приложить интерактивный отчёт — файл с именем, оканчивающимся на .dash.html. Такой файл отображается прямо в ленте отдельным блоком во всю ширину сообщения: его не нужно предварительно открывать в просмотрщике.

Интерактивные отчёты используются для наглядной подачи результатов: например, для KPI-плиток, диаграмм, динамики показателей или небольшого дашборда. Один комментарий может содержать несколько отчётов и обычные вложения одновременно.

Как это выглядит для читателя

  • отчёт показывается под текстом комментария;
  • ширина блока подстраивается под ширину сообщения;
  • высота меняется по содержимому отчёта;
  • интерактивность графика работает внутри блока;
  • обычные вложения в том же комментарии отображаются штатно.

Тема и оформление

Отчёт получает тему, шрифт и цветовые токены из ленты и подстраивается под светлую и тёмную тему. Фон блока соответствует фону самого сообщения — обычному или акцентному в чате — и слегка меняется при наведении курсора на комментарий, как и у самого сообщения; автору отчёта не нужно задавать фон самостоятельно.

Ограничения

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

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

В отчёт не добавляют растровые изображения, base64-данные и внешние загрузки. Для графиков используют векторную графику; для простых показателей достаточно HTML и CSS.

Адресаты комментариев (кто видит что)

Ключевой принцип

Видимость комментария определяется списком его адресатов. Если пользователь не попал в список — комментарий не появится у него в ленте.

Типы адресатов

У каждого адресата комментария есть роль, которая определяет, как именно он получит сообщение.

Тип Значение
Явный адресат Выбран пользователем при отправке
Неявный адресат / подписчик Подписчик задачи без прямой адресации
В копии Получает сообщение, но без «непрочитанного»
Требует ответа Получатель должен ответить (вопрос)

Что влияет на список адресатов

Когда комментарий публикуется, система рассчитывает кому он будет показан:

  • явно выбранные пользователи и группы из поля «Кому»/«Копия»,
  • подписчики задачи (если категория не запрещает),
  • ограничения через смарт-события (тип «Перед отправкой уведомления»),
  • персональные настройки пользователей (подписка на тип, автопрочтение).

Изменение адресатов при редактировании

При редактировании комментария можно изменить список адресатов. Система пересчитывает список и корректирует push-уведомления:

  • Добавленные адресаты получают push о комментарии и начинают видеть его в ленте.
  • Исключённые адресаты получают сигнал удаления push (уведомление исчезает из центра уведомлений на устройстве), и комментарий перестаёт быть видимым для них в ленте.
  • При сужении «Всем» до конкретного пользователя push остаётся только у указанного.

Подробнее о поведении push-уведомлений при изменении адресатов — см. notifications/business.md → Редактирование адресатов комментария.

Поведение поля адресата при отправке

При отправке комментария в задаче поле «Кому» сохраняет выбранного адресата для следующего сообщения. Пользователю не нужно выбирать получателя повторно, если он продолжает переписку с тем же коллегой.

Это поведение работает одинаково для всех сообщений в рамках открытой задачи — и для первого, и для последующих. Если пользователь явно сменит адресата, новое значение сохранится для следующих сообщений вместо прежнего.

При перезагрузке страницы или открытии другой задачи поле «Кому» инициализируется заново согласно настройкам категории и списку подписчиков.

Индикатор «печатает»

Когда собеседник набирает сообщение в ленте задачи, остальные участники видят индикатор «печатает…». По умолчанию его видят все подписчики задачи. Функция поддерживает адресный режим: индикатор можно показать только определённым участникам (например, когда сообщение готовится для одного адресата), не отвлекая остальных. Показать индикатор пользователю, у которого нет доступа к задаче, нельзя — система всегда сверяет список адресатов с подписчиками.

Состав данных о печатающем считается под того, кто смотрит, а не под того, кто печатает: сведения об отсутствии коллеги приходят в объёме прав смотрящего. Коллеге без доступа к календарю печатающего индикатор отдаёт только признак активности — без темы, места и текста отсутствия и без списка участников; владелец данных и пользователи с полным доступом видят их полностью.

Настройки категории, влияющие на видимость

Эти настройки задаются в категории её администратором — конечный пользователь их не настраивает, но видит результат.

Настройка Влияние
Скрытие системных комментариев Системные комментарии записываются, но не показываются никому в ленте
Передача комментариев всем исполнителям При адресации одному исполнителю комментарий получают все исполнители задачи
Включение комментариев в категории Если выключено — лента комментариев в задаче полностью отключена
Режим видимости в главной ленте Режимы «Только задачи» / «Ничего не показывать» скрывают комментарии из главной ленты
Запрет удаления пользовательских комментариев Автор не может удалить собственные комментарии

Видимость при чтении ленты

Как формируется лента

При открытии задачи система собирает ленту: отбирает комментарии, адресованные текущему пользователю, не удалённые, с учётом фильтров по дате, типу, задаче и обсуждениям.

Когда пользователь может НЕ видеть отправленный комментарий

| Причина | |---| | Пользователь не попал в список адресатов комментария | | В категории включено скрытие системных комментариев, а тип системный | | У пользователя отключена подписка на этот тип комментариев в настройках | | Смарт-событие «Перед отправкой уведомления» заблокировало адресацию | | В категории отключены комментарии | | Категория скрывает комментарии из главной ленты | | Комментарий удалён | | Пользователь не подписан на задачу | Подписка и отписка не пересматривают прошлое: при подписке на задачу её прошлые сообщения в ленту не добавляются.

Автопрочтение

Комментарий может быть автоматически помечен как прочитанный без участия пользователя:

  1. Если в профиле включена настройка автопрочтения комментариев.
  2. Если пользователь исключён из адресатов смарт-событием.
  3. Для событий календаря — при выключенном уведомлении по событию.
  4. По персональным настройкам уведомлений пользователя.

Закреплённые комментарии

Участники с соответствующим правом могут закрепить любое сообщение, чтобы оно всегда было на виду. Для этого нужно вызвать контекстное меню сообщения (правая кнопка мыши) и выбрать пункт Закрепить. В чате закреплённые сообщения отображаются в отдельной панели над лентой — все участники видят их сразу при открытии чата.

Закрепление доступно в трёх контекстах: в чате, в обычной ленте задачи и внутри отдельного обсуждения (треда). В чате закреплять и откреплять вправе владелец, администратор и модератор чата, а также подписчик, если в настройках чата включена опция «Закреплять сообщения для всех». В обычной задаче закрепление доступно тем, кому доступно добавление комментариев: комментарии в категории не запрещены и задача не закрыта, если в категории стоит запрет комментировать закрытые задачи. Закреп внутри обсуждения виден только в нём — в общую панель он не попадает.

При закреплении или откреплении в ленте появляется системное сообщение. Push- и email-уведомления при этом не отправляются. Изменение отражается у всех участников мгновенно.

В панели закреплённых сообщений чата доступно действие «Открепить все сообщения» — оно снимает закрепление сразу со всех сообщений и для всех участников. Перед откреплением запрашивается подтверждение. Действие доступно тем же, кто вправе закреплять сообщения в этом чате.

Все закреплённые сообщения задачи. В карточке задачи вне режима чата в меню «…» в шапке, сразу после пункта включения или отключения уведомлений, есть пункт «Все закрепленные сообщения». Он виден всегда, даже если закреплённых сообщений нет, и открывает окно со списком закреплённых сообщений задачи; при пустом списке в окне написано «Нет закреплённых сообщений». Выбор сообщения закрывает окно и прокручивает ленту к нему, кнопка «Назад» закрывает окно. Действие «Открепить все сообщения» в меню «Больше действий» этого окна доступно тем, кто вправе добавлять комментарии в задаче.

Только закреплённые. Лента сообщений поддерживает режим «только закреплённые» — в выдачу попадают лишь закреплённые сообщения. Режим не заменяет остальные условия отбора, а сужает выдачу: порядок сортировки, фильтр по типам сообщений, отбор по адресатам, поиск и выборка внутри отдельного обсуждения работают как обычно, но уже внутри подборки закреплённых. Поиск в этом режиме идёт только по тексту сообщений: совпадения по именам вложений, заголовкам опросов и превью ссылок выдачу не дополняют. Если в задаче или чате закреплённых сообщений нет, лента остаётся пустой — ничего вместо них не подставляется. В ленте задачи в этот режим ведёт вкладка «Закреплённые» — она стоит сразу за «Лентой» и появляется, только когда в самой задаче есть закреплённые сообщения; закрепления внутри обсуждений на её появление не влияют. Вкладка работает по текущей задаче: при выборе её источник сообщений возвращается к текущей задаче, а при переключении источника на подзадачи или связанные задачи лента возвращается на «Ленту».

Скрытие закрепа у себя действует только на обычную вкладку «Лента»: там сообщение остаётся на своём месте по времени и не поднимается к закреплённым. Вкладка «Закреплённые» и отдельный список закреплённых сообщений показывают одинаковый полный состав — в том числе закрепы, скрытые вами: это одна и та же подборка в двух местах. Постраничной подгрузки на вкладке нет — список приходит целиком.

Закреплённые вверху ленты задачи. На вкладке «Лента» карточки задачи закреплённые сообщения поднимаются в начало ленты под разделителем «Закреплённые» и убираются со своего места по времени. Сообщение, закрепление которого пользователь скрыл у себя пунктом «Скрыть закрепленное сообщение», остаётся на своём месте по времени. У закреплённых сообщений в ленте виден значок закрепления. В режиме чата и внутри открытого обсуждения сообщения не поднимаются.

Скрыть закреп у себя. Закреплённое сообщение можно убрать из закрепов персонально — и в чате, и в обычной задаче. Пункт «Скрыть закреп» есть в контекстном меню самого сообщения; он доступен, пока сообщение закреплено и не скрыто, и не показывается внутри обсуждения. Скрытие действует только для того, кто его сделал: само закрепление остаётся, другие участники видят сообщение закреплённым. Вернуть закреп себе можно тем же меню — пунктом «Вернуть в закреплённые», — а восстановить все скрытые разом получится из списка закреплённых сообщений, одним запросом на задачу.

Действия на вкладке «Закреплённые». Вкладка показывает отдельную подборку сообщений, но действия над сообщением на ней те же, что в обычной ленте: изменить, удалить, снять непрочитанность, посмотреть прочтения. Результат виден прямо на вкладке — переключаться в «Ленту» и обратно не нужно: после правки показывается новый текст, после снятия непрочитанности — обновлённый признак. Удаление сообщения с вкладки удаляет и приложенные к нему файлы, как при удалении из ленты.

Треды (обсуждения)

Тред = корневой комментарий + дочерние ответы. Статусы: открыт / закрыт. В закрытом треде публикация запрещена (кроме транскрибации): недоступны и одиночные действия с сообщением (ответ, редактирование своего сообщения, отметка вопроса и снятие вопроса, удаление), и групповые — при множественном выборе групповое удаление скрывается, если выбор выполняется внутри закрытого треда или среди выделенных есть хотя бы одно его сообщение. Пересылка выделенных сообщений остаётся доступной. Подробнее — см. chat/business.md → Права на управление обсуждениями.

Создание обсуждения пользователем

Обсуждение можно создать в ленте задачи и в чате двумя способами.

Из уже отправленного сообщения. Нужно перейти к сообщению в ленте, вызвать контекстное меню и выбрать пункт Начать обсуждение. Создать обсуждение из сообщения можно также кнопкой создания обсуждения в меню быстрых действий. Открывается модальное окно ввода темы обсуждения; поскольку обсуждение создаётся из существующего сообщения, тема автоматически заполняется его текстом — при необходимости её можно изменить. Текст исходного сообщения отображается отдельно в начале обсуждения.

Исходное сообщение над разделителем «Начало обсуждения» — такой же комментарий, как в ленте: у него есть панель действий по наведению, контекстное меню, ответ и редактирование. Если в категории или чате включены реакции, их можно поставить и снять прямо здесь — в том числе когда реакций на сообщении ещё не было. Набор реакций в ленте и внутри обсуждения совпадает сразу, без обновления страницы: поставленная в одном месте появляется в другом. При выключенных реакциях выбор эмодзи недоступен.

В обсуждении, созданном вторым способом — из окна «Все обсуждения», без исходного сообщения, — служебная запись о начале обсуждения внутри не показывается: сразу после темы идут разделитель и обычные сообщения.

Из задачи без привязки к сообщениям. На панели инструментов карточки задачи есть кнопка обсуждений — она доступна всем участникам задачи. Рядом с кнопкой указано количество активных обсуждений; отсутствие числа означает, что обсуждений ещё нет либо все закрыты. По нажатию открывается модальное окно «Все обсуждения» со строкой поиска вверху (поиск по названию обсуждения) и тремя вкладками:

Вкладка Содержимое
Все Все созданные в задаче обсуждения
Активные Только открытые обсуждения
Закрытые Только завершённые обсуждения, выделены серым цветом; оставлять в них новые сообщения нельзя

Из этого же окна можно создать новое обсуждение. Нажатие на строку списка открывает выбранное обсуждение. В строке каждого обсуждения справа выводятся счётчики: непрочитанные сообщения, вопросы к вам (красный) и вопросы от вас (зелёный).

Закрытие и переоткрытие. Активное обсуждение закрывается через ПКМ по строке списка → «Закрыть обсуждение». Закрытое обсуждение можно переоткрыть через ПКМ → «Открыть обсуждение». Обсуждение, в котором последнее сообщение отправлено более 2 недель назад, закрывается автоматически.

Удаление. Удалённое обсуждение исчезает из списка вместе со всеми сообщениями, а в ленте задачи остаётся служебная запись «Обсуждение удалено» от имени того, кто его удалил. Уведомления по ней не рассылаются, перейти из неё к удалённому обсуждению нельзя.

Чужим ответом считается сообщение другого участника внутри обсуждения. Служебная запись о начале обсуждения создаётся системой от лица автора и чужим ответом не считается, поэтому сама по себе права автора не отнимает. Как только в обсуждении ответил кто-то другой, автор удалить его уже не может — остаются владелец, администратор и модератор чата, а также участник с правами администратора категории.

Тема обсуждения. Тему можно отредактировать в любой момент — пункт доступен по кнопке Дополнительные действия в панели инструментов обсуждения. Отредактировать тему может только автор обсуждения.

После создания обсуждение отображается в ленте под исходным сообщением. В задачу также отправляется системное сообщение без адресата с текстом «Начато обсуждение» и активной ссылкой на него; уведомления о нём зависят от настроек уведомлений в задаче, но само сообщение всегда попадает в список непрочитанных. Под веткой обсуждения показывается последнее написанное сообщение, справа — общее количество ответов и индикатор непрочитанных. Каждый подписчик задачи может перейти в обсуждение и принять в нём участие.

Создание обсуждения через смарт-действие

Доступно как смарт-действие «Создать тред» в смарт-автоматизации.

Права

Действие Кто может
Создать тред Любой участник задачи
Закрыть Автор, Owner, Admin, Moderator
Удалить Автор — пока в обсуждении нет чужих ответов; Owner/Admin/Moderator чата — любое; администратор категории — любое

Вопрос-ответ

Любое сообщение можно пометить как вопрос — тогда у адресата появится счётчик неотвеченных вопросов и сообщение выделится цветом. Входящий вопрос подсвечивается красным, исходящий (от вас) — зелёным.

Входящий вопрос (розовый фон) — требует ответа

Подсветка ответа на ваше сообщение. Непрочитанный ответ на сообщение, которое написали вы, выделяется в ленте информационным цветом — чтобы ответ не потерялся среди прочих сообщений. Подсветку видит только автор исходного сообщения: получателям в копии и подписчикам задачи ответ так не выделяется. Собственные сообщения не подсвечиваются, а ответ, помеченный как вопрос, сохраняет цвет вопроса — красный или зелёный. Выделение снимается, как только сообщение прочитано. Правило работает во всех видах ленты — в карточке задачи, в чате и в представлениях категории.

Состояния вопроса

Состояние Что значит для пользователя
Комментарий помечен как вопрос Автор отправил сообщение с запросом ответа
На вопрос дан ответ Кто-то ответил, и вопрос считается закрытым
Конкретный получатель должен ответить В счётчике этого пользователя есть требование ответа

Исходящий вопрос (зелёный фон) — отправлен вами

Действия с вопросом

Управлять состоянием вопроса можно так:

  1. Пометить сообщение как вопрос. Автор отправляет комментарий с включённым флажком «Нужен ответ» — у всех адресатов (явных, не в копии) появляется требование ответить.
  2. Ответить на вопрос. Любой адресат отвечает на вопрос текстом — вопрос автоматически помечается как отвеченный, требование ответа снимается у всех.
  3. «Вопрос не мне». Адресат может убрать требование ответа лично для себя через контекстное меню сообщения. Если ни у кого больше не осталось требования ответить — вопрос автоматически помечается как отвеченный.
  4. Пометить как отвеченный вручную. Автор может явно отметить свой вопрос как отвеченный через контекстное меню.
  5. Массово отметить все мои вопросы отвеченными. В разделе входящих доступно действие «Отметить все мои вопросы отвеченными» (POST /api/comments/mark-all-as-answered). С версии 2.268.336 оно закрывает только авторские вопросы пользователя — Comments.IsAnswered и все CommentRecipients симметрично, как при ручной пометке. Персональные записи во входящих чужих вопросах (когда пользователь — один из адресатов) не меняются: для отказа от конкретного входящего используйте «Вопрос не мне». До 2.268.336 действие затрагивало и авторские, и входящие, из-за чего у других адресатов того же commentId записи рассинхронизировались, а через 30 дней фоновая процедура архивации могла переносить целые группы получателей в архив — на одном из клиентских стендов баг привёл к потере 154 commentId и ещё 14 находились в очереди на потерю.
stateDiagram-v2
    [*] --> Обычное
    Обычное --> Вопрос : пометить «Нужен ответ» (требование у всех адресатов)
    Вопрос --> Отвечен : адресат ответил (требование снято у всех)
    Вопрос --> Отвечен : автор пометил отвеченным (вручную или массово)
    Вопрос --> Вопрос : «Вопрос не мне» — снять требование лично
    Вопрос --> Отвечен : больше ни у кого нет требования ответить

Ответ на входящий вопрос: автор вопроса не удаляется из адресатов

Если вопрос был задан вам (вы указаны в поле «Кому»), при ответе автор вопроса остаётся среди получателей — удалить его нельзя:

  • чип автора вопроса в полях «Кому» и «Копия» подсвечен светло-красным фоном, как сам вопрос;
  • крестик удаления на чипе недоступен;
  • контекстное меню (ПКМ) позволяет перенести автора вопроса между «Кому» и «Копия», но не удалить его;
  • очистить поле или выбрать «Только этому адресату» без автора вопроса нельзя;
  • отправить ответ «никому» или только другим получателям нельзя — автор вопроса обязательно остаётся в «Кому» или «Копия».

Правило действует только для неотвеченного входящего вопроса. Для собственных и уже отвеченных вопросов чип не подсвечивается и удаление доступно как обычно.

Автодетекция вопроса

Система автоматически ставит флажок «Нужен ответ» при наборе текста, если:

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

Текст признаётся вопросом по одному из 4 правил (достаточно одного):

# Правило Примеры
1 Символ ? в тексте «Это работает?», «Когда будет готово?»
2 Вопросительные слова в начале строки (RU + EN) «Когда будет готово», «Как это работает», «Could you check», «Is there a way»
3 Императивные просьбы (RU) «Подскажите», «Прошу уточнить», «Сообщите»
4 Императивные просьбы (EN) «Please let me know», «Kindly confirm»

Императивные правила (RU) срабатывают по конкретным перечням:

  • Глаголы в повелительном наклонении на -ите/-и в начале строки или предложения: «покажите»/«покажи», «узнайте»/«узнай», «сделайте»/«сделай», «отправьте»/«отправь», «направьте»/«направь», «верните»/«верни», «переделайте»/«переделай», «исправьте»/«исправь», «поправьте»/«поправь», «обновите»/«обнови», «дополните»/«дополни», «подготовьте»/«подготовь», «согласуйте»/«согласуй», «подтвердите»/«подтверди», «предоставьте»/«предоставь», «организуйте»/«организуй», «переведите»/«переведи», «настройте»/«настрой», «выгрузите»/«выгрузи», «загрузите»/«загрузи».
  • Слово «Пожалуйста» в сочетании с глагольными корнями: «покаж», «узнай», «сделай», «отправ», «направ», «верн», «исправ», «поправ», «обнов», «дополн», «подготов», «согласу», «подтверд», «предостав», «настро», «выгруз», «загруз».
  • «Прошу» + инфинитив: «показать», «узнать», «сделать», «отправить», «исправить», «поправить», «обновить», «дополнить», «подготовить», «согласовать», «организовать», «перевести», «настроить», «выгрузить», «загрузить».

Настройка пользователя

Автодетекцию можно отключить в профиле: Профиль → Прочее → «Не помечать сообщение как вопрос автоматически». После этого флажок «Нужен ответ» автоматически не ставится. При ручном переключении флажка настройка не мешает.

Ссылки в комментариях (Comment Links)

Обзор

При создании или редактировании комментария система автоматически извлекает из текста два типа ссылок:

Тип Как распознаётся Пример
Ссылка на задачу #номер в тексте #12345
Внешний URL Полный адрес https://... https://example.com/page
Домен без протокола Последняя часть адреса — существующая доменная зона yandex.ru — открывается как https://yandex.ru

Автопарсинг и ручные ссылки

По умолчанию система сама извлекает ссылки из текста (автопарсинг). Через SmartAction «Написать комментарий» можно управлять тем, показываются ли найденные ссылки в UI (параметр «Показывать найденные ссылки»).

Скрыть найденные ссылки можно не только действием: при отправке комментария через API и через инструмент AI-агента превью-карточки выключаются отдельным признаком. У комментариев агента карточки скрыты по умолчанию, у запросов через API — нет, поэтому привычное поведение интерфейса не меняется. Скрытие не удаляет ссылку: адрес остаётся кликабельным в тексте, а запись о ссылке сохраняется в задаче; карточка связи с задачей платформы подчиняется тому же признаку. Все ссылки, найденные в комментариях задачи, — внутренние ссылки на задачи и внешние адреса — собраны на отдельной вкладке «Ссылки» блока вложений задачи (см. «Блок «Файлы» в карточке задачи» в домене «Файлы»); ссылки со скрытыми превью на вкладку не попадают. Признак учитывается при создании комментария — если позже отредактировать его текст, ссылки разбираются заново и карточки возвращаются.

Ссылки без протокола. Домен, написанный в комментарии без протокола — например yandex.ru — распознаётся как ссылка и открывается по адресу с https://. Дописывать протокол вручную не нужно. Для таких ссылок, как и для адресов с http:// или https://, подгружается превью-карточка страницы.

Ссылкой становится только домен, зона которого есть в справочнике доменных зон и не совпадает с именем файлового расширения, и в самом домене есть хотя бы одна буква. Поэтому ссылками не становятся даты (15.02, 15.02.2024), дробные числа (1.5), IP-адреса (8.8.8.8), имена файлов (файл.txt) и строки вида function.onload. Знаки препинания после адреса в ссылку не входят.

Если превью для адреса получить не удалось — например, это внутренний сайт компании, — комментарий всё равно отправляется сразу: ожидание превью отправку не задерживает.

OpenGraph-превью (сниппеты)

Для внешних URL-ссылок доступно автоматическое формирование превью: система загружает страницу, извлекает заголовок, изображение и другие Open Graph-метаданные, и показывает карточку-превью прямо в ленте.

Требование: функция работает только если на сервере разрешены исходящие HTTP-запросы. Если превью не формируется — обратитесь к администратору сервера.

Превью-карточка строится загрузкой самой страницы. Если страница или её распакованный ответ превышает предел размера, либо адрес ведёт в служебную или приватную сеть, карточка не показывается; ссылка в тексте остаётся обычной кликабельной ссылкой, а другие ссылки того же комментария разбираются как обычно. Разбор обычных страниц этим ограничением не затрагивается.

Права доступа

  • Создание/редактирование ссылок: только автор комментария, если есть доступ к задаче.
  • Чтение ссылок: любой, кто имеет доступ к задаче.

Оценки исполнителей

В категориях с включённым режимом оценки исполнителей заказчик после завершения задачи может оценить работу каждого исполнителя по пятибалльной шкале.

Аспект Правило
Кто оценивает Заказчик задачи
Кого оценивает Каждый исполнитель (кроме себя, если заказчик сам является исполнителем)
Обязательность комментария Заказчик обязан прокомментировать оценку
Видимость оценок Открытые (всем) или закрытые (только пользователям с соответствующим правом)
Где отображаются Комментарии к оценке показываются в ленте комментариев задачи

Оценка проставляется из карточки задачи или из ленты задач и комментариев.

Геолокация в комментариях

Если в профиле включена геолокация и мобильное устройство дало разрешение на определение местоположения, при отправке комментария через мобильное приложение к сообщению прикрепляются координаты. В веб-интерфейсе в контекстном меню такого комментария появляется пункт Посмотреть в Google картах — по нажатию откроется карта с указанием места, откуда было отправлено сообщение.

Функция работает только при одновременном выполнении двух условий: геолокация включена в настройках профиля и устройство разрешило приложению доступ к местоположению.

Опросы (SurveyJS)

В специально настроенных категориях поддерживается проведение опросов и тестирований через интеграцию с SurveyJS.

Создание опросов

Опросы создаются в визуальном редакторе (конструктор SurveyJS) в категории-каталоге опросов. Поддерживаются:

  • Текстовые поля, чекбоксы, радиокнопки, загрузка файлов и другие типы вопросов
  • Логика прохождения (разветвление, пропуск вопросов)
  • Таймер на прохождение
  • Отображение правильных/неправильных ответов
  • Перемешивание вопросов для тестирований
  • JSON-редактор для гибкой настройки

Редактор опросов

В пользовательском режиме в категории-каталоге опросов доступна кнопка Редактор. По её нажатию открывается редактор, в котором можно создавать, настраивать и предварительно тестировать логику прохождения опросов. Редактор разделён на вкладки.

Вкладка Назначение
Обзор конструктора Визуальное построение структуры опроса: добавление страниц, вопросов разных типов (текстовые поля, чекбоксы, радиокнопки и др.), вариантов ответов, управление порядком следования. Новый вопрос добавляется перетаскиванием элемента из левой панели. Панель общих настроек по умолчанию раскрыта, её можно скрыть и раскрыть повторно. Изменения сохраняются кнопкой сохранения; есть кнопки отмены и повтора последнего изменения
Тестировать опросник Просмотр опроса с точки зрения респондента перед сохранением
Логика опросника Настройка логики работы: условия отображения вопросов в зависимости от ответов, ветвления, динамическое изменение содержимого
JSON редактор Гибкая настройка опроса через JSON

На вкладке «Тестировать опросник» в панели инструментов доступны:

  • Кнопка выбора устройства — переключение между типами устройств для проверки адаптивности; размер окна автоматически подстраивается под выбранный формат экрана.
  • Кнопка смены ориентации (книжная/альбомная) — изменяет ориентацию экрана устройства; недоступна в десктопном режиме.
  • Кнопка показа скрытых элементов — делает видимыми служебные блоки, инструкции, логические триггеры и прочие невидимые для обычных пользователей части опроса; полезна для диагностики логики. Повторное нажатие снова скрывает элементы.

На вкладке «JSON редактор» в панели инструментов: кнопка загрузки файла .json с устройства для вставки в редактор, кнопка скачивания текущего скрипта и кнопка копирования кода со страницы в буфер обмена.

Динамические варианты ответа по ссылке

В вопросах опроса (SurveyJS) варианты ответа можно подставлять из внешнего для формы источника — по адресу (URL) списка: при открытии опроса браузер респондента запрашивает этот адрес и показывает полученные варианты.

Подгрузка выполняется, только если адрес ведёт на тот же сервис (origin), с которого открыт опрос, — совпадают схема, хост и порт. Относительный адрес (путь к API своего стенда) подходит; абсолютный адрес другого сайта, порта или схемы не запрашивается. Поэтому в опросе указывайте относительный путь или адрес того же стенда, где работает 1Форма.

Если адрес не подходит или источник недоступен, динамическая подгрузка для вопроса отключается — показываются статические варианты ответа, если они заданы.

Прохождение опроса

Задачи на прохождение создаются для каждого участника. В карточке задачи доступна кнопка Пройти опрос. Администратор может настроить видимость кнопки Пройти опрос для ролей в задаче и групп пользователей на различных статусах задачи.

Кнопку видит только ответственный исполнитель задачи и только пока у него нет завершённого результата. Если доступ к кнопке не настраивали, она показывается ответственному исполнителю на всех статусах; настроенная матрица может скрыть кнопку и у него.

⚠️ В задаче обязательно должен быть назначен ответственный исполнитель — прохождение разрешено только ему. Каждая задача предназначена для одного исполнителя.

Режимы сохранения:

  • По умолчанию — результат сохраняется только при полном завершении опроса и нажатии Готово
  • При разрешённом частичном прохождении — каждый ответ сохраняется автоматически, при повторном входе пользователь продолжает с места остановки

После завершения повторное прохождение недоступно.

🗂️ Файлы-вложения в ответах на вопросы типа «Загрузка файла» корректно сохраняются и восстанавливаются при частичном прохождении — даже при очистке кеша браузера или работе в режиме инкогнито. Настройка вопроса «Хранить содержимое файла в формате JSON как текст» не обязательна для корректного отображения. Исправлено в сборке 2.264 «Кассиопея».

Результаты

Результаты отображаются в карточке задачи в виде древовидной таблицы (вопросы сгруппированы по страницам). Администратор может настроить видимость блока результатов для ролей в задаче и групп пользователей на различных статусах задачи.

Блок виден любому участнику задачи, которому матрица разрешает просмотр: собственный результат для этого не нужен, поэтому блок доступен и тем, кто опрос не проходил, — заказчику, проверяющему, другим исполнителям. Обязательное условие — в задаче есть хотя бы один завершённый результат: пока его нет, блок не показывается никому. Если доступ к блоку не настраивали, он показывается всем, у кого есть доступ к задаче.

По умолчанию необязательные вопросы без ответа скрыты. Чтобы их показать, нужно нажать кнопку показа вопросов без ответов справа от индикатора прохождения. При сворачивании блока результатов эта кнопка скрывается.

Также доступны сводные таблицы и графики.

Опросы могут быть персонализированными и анонимными.

Лента сообщений в задаче

Блок «Лента» в карточке задачи отделён синей полосой — это позволяет сразу увидеть, где в задаче начинаются сообщения.

Вкладки ленты

Вкладки ленты сообщений в карточке задачи

Вкладка Что показывает
Лента (по умолчанию) Все типы событий и сообщения с учётом настроек пользователя
Закреплённые Только закреплённые сообщения задачи. Вкладка есть, пока в задаче есть закреплённые
Сообщения Только пользовательские сообщения
Журнал Системные события (без сообщений пользователей)
Все Все события вне зависимости от настройки «Видно в ленте»

Источник сообщений

По кнопке меню над лентой выбирается источник:

  • Текущая задача (по умолчанию) — сообщения текущей задачи
  • Из подзадач — сообщения подзадач уровнем ниже
  • Используется — сообщения задач, где данная задача выбрана в ДП

Меню выбора источника сообщений

Если выбран источник, отличный от умолчания, на кнопке отображается синяя точка.

Кнопка «Отметить всё как прочитанное» автоматически прочитывает все новые сообщения в ленте задачи; если задача открыта из ленты непрочитанных, её строка в фоновом списке этой ленты сразу меняет начертание на обычное, без перезагрузки страницы. Фильтр неотвеченных вопросов. Над лентой выводятся два чипа со счётчиками: «Входящие» — неотвеченные вопросы к вам, «Исходящие» — вопросы, которые поставили вы. Включённый чип отбирает только такие вопросы, повторное нажатие снимает отбор, а включение второго чипа выключает первый. Пока чип включён, настройка «Фильтровать комментарии в задаче согласно настройкам ленты» не применяется.

Сортировка ленты

По умолчанию комментарии отображаются в обратном хронологическом порядке (свежие сверху). Стрелки в шапке ленты переключают порядок на прямой и обратно.

Фильтрация по типам сообщений

Настройка Все типы событий на вкладке «Уведомления» в профиле пользователя:

  • Включена — в ленте отображаются комментарии всех типов, независимо от персональных настроек.
  • Выключена — отображаются только типы, отмеченные флажком «Видно в ленте».

Связана с настройкой профиля «Фильтровать комментарии в задаче согласно настройкам ленты»: настройки фильтрации действуют на все задачи в категории; в разных категориях могут отличаться.

Фильтрация влияет только на отображение — комментарии всех типов всегда публикуются и хранятся. Изменив настройки, можно увидеть ранее скрытые комментарии.

Адресация сообщений

Каждое сообщение отправляется в рамках задачи или чата. У сообщения один автор и несколько адресатов.

Адресат Поведение
Явный (поле «Кому») Сообщение помечается непрочитанным у адресата
Копия Получает сообщение, но «непрочитанным» не помечается
Всем Отправить всем подписчикам задачи
Никому Сообщение всегда попадает в список непрочитанных, уведомление — по настройкам категории

Рекомендуется всегда отправлять сообщения адресно — указывая конкретных адресатов. Если сообщения отправляются всем подписчикам задачи, пользователи получают много лишних сообщений, воспринимают их как спам и читают невнимательно — так легко пропустить важную информацию.

По умолчанию в выборе адресатов отображаются только подписчики задачи. Для выбора других пользователей — ввести имя в строку поиска. Поиск работает по имени, фамилии и основной должности. Начиная с версии 2.265 «Цефей» в выпадающем списке под именем и фамилией пользователя отображаются его основная должность и отдел, что ускоряет поиск нужного человека в организациях с большим числом сотрудников.

Отправитель в числе адресатов. Если пользователь явно указал себя в поле «Кому» или «Копия», он остаётся в адресатах отправленного сообщения: его строка есть в шапке и показывается одинаково в ленте, в ответе и в пересылке — и сразу после отправки, и после перезагрузки страницы. Своё сообщение ему при этом не приходит: строка отправителя помечается прочитанной и не попадает ни в уведомления (пуш, почта), ни в счётчик непрочитанного. Исключение — отправка с включённым «Принудительно на почту»: тогда письмо приходит и ему. В списке получателей по правой кнопке и в счётчике «прочитали» он виден так же, как при отправке сообщения только себе. Если себя указать и в «Кому», и в «Копия», в шапке он отобразится только в «Кому».

Выбор групп в поле адресатов доступен только сотрудникам компании и администраторам категории.

Меню группы в полях «Кому» и «Копия». По правой кнопке мыши на чипе группы доступны два пункта. «Посмотреть участников» открывает окно с составом группы. «Развернуть список» заменяет группу её участниками: чип группы убирается, а вместо него в поле подставляются пользователи из её состава; те, кто в этом поле уже указан, повторно не добавляются. Пункт «Развернуть список» есть только у групп — у чипа пользователя его нет. Если состав группы пуст или получить его не удалось, поле не меняется и группа остаётся на месте.

Действия с чипом адресата. Крестик на чипе убирает только этого адресата — остальные остаются на месте в прежнем порядке. Клик по имени в чипе, а не по крестику, наоборот оставляет только этого адресата, а остальных убирает из поля. Чипы, которые удалить нельзя, — например, чип автора неотвеченного входящего вопроса, — при этом остаются: у них нет крестика, и клик по имени их не снимает.

Отметки в списке выбора адресата. Уже выбранный адресат в раскрытом списке не помечен: отметка снимается сразу после выбора. Поэтому список показывает только то, что происходит сейчас, — если адресат убран из поля, его строка отмечена не будет. Это верно и для удаления последнего адресата, и когда выбрано несколько: в поле может стоять чип, а в списке не будет отмечено ни одной строки. О том, кто выбран, видно по чипам в самом поле. Снятого адресата можно выбрать снова — он добавится обычным чипом, как при первом выборе.

Перетаскивание адресатов. Чипы пользователей и групп в полях «Кому» и «Копия» можно перетаскивать: внутри поля — чтобы поменять порядок, между полями — чтобы перенести адресата из «Кому» в «Копия» и обратно. Адресат встаёт туда, где его отпустили, и убирается из другого поля. Пользователя из блока «Подписчики» можно перетащить сразу в нужное место поля «Кому» или «Копия», а чип, перетащенный из поля обратно в блок «Подписчики», убирается из адресатов.

Адресаты в шапке сообщения. В ленте и в чате в шапке сообщения показывается не больше пяти адресатов в каждом из полей — лимит «Кому» и лимит «Копии» считаются отдельно, — в порядке: пользователи, затем группы. Остальные скрыты за ссылкой «и ещё N», где N — число скрытых адресатов этого поля; клик по ссылке раскрывает полный список этого сообщения, другие сообщения остаются свёрнутыми. Сообщение, отправленное «Всем», показывается ярлыком «Всем»; если в нём есть и другие адресаты — пользователь не из подписчиков, группа сверх групп подписчиков или адресат в копии, — рядом выводится их список.

Сортировка результатов поиска адресатов:

  1. Подписчики и частые собеседники (по рейтингу общения)
  2. Сотрудники той же оргструктуры
  3. Сотрудники компании (выше внешних пользователей)

Сортировка остаётся гибкой и подстраивается под контекст (например, при поиске в конкретном чате подписчики этого чата показываются раньше). При назначении исполнителей в задачах сохранён привычный алфавитный порядок.

Отправка без адресата невозможна для вопросов — кнопка «Как вопрос» блокируется, пока не указан адресат.

@-упоминание (визитка)

Символ @ после пробела, начала строки или открывающей скобки раскрывает список подписчиков. Выбор добавляет пользователя в поле «Кому». После отправки @-упоминание отображается как кликабельное имя — по нажатию открывается краткая карточка пользователя.

Панель команд (slash-команды)

В поле ввода сообщения можно быстро вставить команду или шаблон ответа через панель команд. Чтобы её открыть, введите / в начале поля или после пробела — появится список доступных команд с фильтрацией.

Где работает. В полях ввода сообщений — в ленте задачи, в карточке задачи и в чате.

Русская раскладка. Если на клавише «/» набирается точка (например, в русской раскладке), нажатие этой клавиши в поле ввода подставляет «/» и открывает панель — переключать раскладку не нужно. Замена срабатывает только там, где панель открывается; в остальных местах вводится точка. Backspace сразу после замены возвращает точку.

Что показывает. В одном списке два источника:

  • шаблоны быстрых ответов — заготовленные фразы, настроенные администратором категории;
  • платформенные slash-команды — команды Анфисы (/clear, /program:, /format и др.) и выбор модели.

Состав зависит от роли: администратор видит весь каталог, обычный сотрудник — команды без пометки «только для админа» (в частности, выбор модели /claude, /kimi доступен только администраторам), внешний пользователь платформенные команды не получает.

Как выбрать. Навигация — стрелками вверх/вниз, выбор — Enter, Tab или клик. Команда вставляется без пробела после неё, чтобы можно было сразу дописать параметры. Команда /clear при нажатии Enter отправляет сообщение сразу.

Несколько команд подряд. Команды набираются через пробел, пока каждое слово начинается с /. Как только после пробела идёт слово без /, дальнейший текст считается обычным сообщением:

/clear /claude проверь задачу

Параметры. Параметр записывается через двоеточие без пробела. У части команд есть русские написания (/модуль: = /box:, /программа: = /program:, /формат = /format):

  • /program:my-tasks-query — запуск программы по машинному имени;
  • /program:"Мои задачи" за неделю — по человекочитаемой подписи в кавычках;
  • /program:a,b — несколько программ через запятую.

Если панель не появляется — для текущего пользователя нет ни шаблонов быстрых ответов, ни доступных платформенных команд.

Момент загрузки данных панели. Шаблоны быстрых ответов и список команд загружаются не при открытии чата, а при первом обращении к полю ввода — фокусе или вводе /; при первом вызове панели содержимое может появиться с небольшой задержкой. Список сотрудников для полей получателей загружается при раскрытии списка; если загрузка не удалась, закройте и откройте список снова — запрос повторится. Команды относятся к текущему чату: после перехода в другой чат подсказки предыдущего не показываются. В чате с Анфисой подсказки в ленте загружаются сразу при открытии — это отдельный список, и на него правило не распространяется.

Аватар автора сообщения

Рядом с сообщением показывается аватар его автора: загруженное фото, а если фото нет — инициалы. Инициалы подчиняются общей настройке цвета аватаров: в режиме «цветные» у каждого человека свой устойчивый цвет, в режиме «фирменные» все инициалы окрашены основным цветом бренда, в режиме «серые» — серым. На фотографию режим не влияет. Поверх аватара показывается точка присутствия — и в ленте задачи, и в чатах. Пока автор в сети, точка горит зелёным. Если у автора идёт отсутствие, точка окрашивается в цвет этого типа отсутствия, и тем же цветом выводится его имя. Когда автор не в сети и текущего отсутствия у него нет, точки нет. У сообщений, отправленных от имени группы, точки на аватаре нет.

Аватар адресата в полях «Кому» и «Копия»

Каждый выбранный адресат показан в поле чипом, а в раскрытом списке — строкой с аватаром, именем, должностью и подразделением. Вид аватара зависит от того, кто адресат.

Кто адресат Аватар Точка присутствия
Пользователь фото, если оно загружено, иначе инициалы с устойчивым цветом есть
Группа, орг. единица, адрес электронной почты, группа встречи значок соответствующего типа нет

У пользователя точка зелёная, когда он в сети, и цвета текущего отсутствия, когда за ним зарегистрировано отсутствие с заполненным сообщением. Если человек не в сети и отсутствия нет, точки нет. Состояние обновляется по событиям присутствия, поэтому цвет имени адресата и точка показывают одно и то же. Цвет инициалов без фото подчиняется общей настройке цвета аватаров.

Индикаторы сообщений

В ленте рядом с сообщениями отображается несколько видов индикаторов — они показывают, набирает ли собеседник текст, доставлено ли сообщение и прочитали ли его.

Набора текста

Когда собеседник набирает сообщение, над строкой ввода появляется «ФИО печатает...».

Отправки и прочтения

После отправки в правом нижнем углу сообщения появляется значок, который меняется по мере того как адресаты его читают.

Индикатор Состояние
✓ (одинарный) Сообщение доставлено на сервер, никем не прочитано
✓✓ (двойной, серый) Прочитано кем-то из адресатов, но не всеми
✓✓ (двойной, синий) Прочитано всеми получателями

Индикатор не отображается для сообщений без адресата и для чужих сообщений.

Просмотр кто и когда прочитал — пункт Прочтения в контекстном меню. Показываются первые 5 пользователей, кнопка «Ещё» открывает полный список.

Открытие «Прочтений» не только показывает список, но и выравнивает индикатор сообщения: статус пересчитывается по фактическим отметкам просмотра всех адресатов и обновляется в ленте сразу, без перезагрузки страницы. Поэтому расхождение — например, серая галка у сообщения, которое в списке уже прочитано всеми, — исчезает в тот же момент.

Черновик

При закрытии задачи недописанный черновик сохраняется. При повторном открытии текст восстанавливается.

Форматирование текста

При выделении текста в поле ввода появляется панель форматирования; она автоматически скрывается, как только выделение пропадает — при наборе, удалении или вставке текста с клавиатуры, навигации клавишами (стрелки, Esc) или клике в пустую область. Также доступен markdown — жирный **текст**, курсив __текст__, зачёркнутый, подчёркнутый, код, ссылки, заголовки, таблицы, списки, спойлер: полная таблица разметки с разбивкой по клиентам (веб, iOS, Android) — в форматировании текста.

Специфика поля ввода комментария поверх общей разметки: #номер и №номер дают активную ссылку на задачу, +#номер — устанавливает связь с задачей.

Горячие клавиши форматирования: Ctrl/Cmd+B (жирный), Ctrl/Cmd+I (курсив), Ctrl/Cmd+U (подчёркивание), Ctrl/Cmd+Shift+X (зачёркивание). Повторное применение снимает форматирование.

Вставка из внешних источников (Ctrl/Cmd+V): система автоматически приводит Markdown и HTML (Word, веб-страницы) к единому виду — заголовки → жирный, маркированные списки, ссылки, переносы строк сохраняются.

Превью ссылок: при добавлении ссылки на задачу, чат, пространство — автоматически формируется блок-превью (аватарка, текст, категория, номер). Полная ссылка на карточку задачи этой площадки превращается в такой же блок-превью при отправке комментария, поэтому ссылка, добавленная при редактировании уже отправленного комментария, превью не даёт. При добавлении внешнего URL — превью-карточка с заголовком и описанием из OG-метаданных.

Длинный текст: текст комментария, превышающий шесть строк, после отправки автоматически обрезается многоточием. Под текстом появляется кликабельная ссылка «Показать полностью» для отображения полного содержимого сообщения.

Сообщения только из эмодзи (один или несколько, в т.ч. через пробел) отображаются увеличенным шрифтом.

Ссылки на файлы и папки Диска в сообщениях

В комментариях, сообщениях чата и при просмотре Markdown-файлов платформа автоматически распознаёт ссылки на объекты Диска. Если путь соответствует существующему файлу или папке и у пользователя есть права доступа, путь отображается как ссылка: по нажатию открывается файл во встроенном просмотрщике или соответствующая папка на Диске.

Исходный текст сообщения или файла при этом не изменяется — преобразование выполняется только визуально при отображении. Если путь не найден или недоступен, он остаётся обычным текстом.

Во встроенном просмотрщике .md-файлов дополнительно поддерживаются относительные ссылки на другие .md-файлы и ссылки с якорями (#anchor) для навигации внутри документа.

Механизм ориентирован на пути Диска и markdown-ссылки. Произвольные строки со слешами в ссылки автоматически не преобразуются — нераспознанные или недоступные пути остаются без преобразования.

Действия с сообщениями

Контекстное меню сообщения

Сообщение в ленте с кнопками быстрых действий

Открывается по ПКМ на сообщении (единое для текста, файла и превью):

Пункт Описание
Ответить Ответить на конкретное сообщение. Если у исходного сообщения есть вложения, в цитате виден квадратный значок вложения — см. «Вложения в цитате ответа»
Ответить всем Ответить, сохранив круг участников: в «Кому» подставляется автор сообщения, в «Копию» — его адресаты и копия без повторов и без вас. При ответе на собственное сообщение адресаты и копия переносятся как есть
Как вопрос Пометить сообщение как вопрос (у адресата появляется счётчик)
Как отвеченный Снять вопрос (только для своих сообщений)
Вопрос не мне Убрать себя из адресатов вопроса (с возможностью оставить сообщение). Доступен адресату вопроса с несколькими получателями; не отображается у автора вопроса и у не-адресатов. Для остальных участников сообщение остаётся отмеченным как вопрос
Как непрочитанный Вернуть сообщению статус непрочитанного
Начать обсуждение Создать тред по сообщению
В избранное Добавить сообщение в избранное: рядом со временем сообщения появляется звёздочка, само сообщение попадает в ленту на вкладке «Избранные»
Изменить Редактировать текст и адресатов (если разрешено категорией)
Переслать Переслать в текущую задачу, другую задачу или чат
Выбрать Войти в режим массового выбора сообщений
Прочтения Кто и когда прочитал сообщение
Создать → Задачу / Подзадачу Создать задачу из текста сообщения (с опцией копирования файлов). В окне выбора категории над деревом предлагаются текущая категория и рекомендуемые категории (список настраивается администратором); в личных и групповых чатах текущая категория не предлагается
Ответы Кто ответил на вопрос (только для вопросов с несколькими адресатами)
Удалить Удалить сообщение (только своё; чужое — только для администраторов категории)

Также: Реакции — короткий список эмодзи вверху меню; стрелка раскрывает полный список.

Поиск в ленте

Кнопка поиска в правой части блока ленты. Поиск работает по тексту, в т.ч. по названиям обсуждений.

На десктопе строка поиска вынесена в панель блока главной ленты — рядом с меню сортировки; введённый запрос сужает и список сообщений, и представление с группировкой по задачам.

Вложение файлов в сообщение

Кнопка прикрепления в поле ввода предлагает варианты:

Вариант Поведение
Файлы Без обработки. Передача в исходном виде, без сжатия. Используется для изображений с мелким текстом и видео для дальнейшей обработки
Фото или видео Медиа-режим: изображения и видео автоматически сжимаются и оптимизируются. Удобно для быстрого просмотра
Создать опрос Простой опрос в ленте сообщений. См. раздел «Простые опросы в ленте сообщений»
Вставить из вложений Выбор файла из числа прикреплённых к задаче. Файл встаёт вложением в неотправленное сообщение, загружать его с устройства не нужно
Вставить из диска Выбор файла из доступных разделов Диска в окне выбора. Сообщение прикрепляется ссылкой на существующий файл

Вставка существующих файлов. Пункты «Вставить из вложений» и «Вставить из диска» отделены от остальных пунктов меню разделительной линией. Они не загружают файл заново и не создают его копию или новую версию — сообщение ссылается на уже существующий файл, поэтому приложить один и тот же файл можно повторно. Файл, вставленный с Диска, помечается во вложении иконкой «облачко». Пункты доступны и в ленте задачи, и в поле ввода чата.

Отправка файла в сообщение со стороны файла. Файл попадает в сообщение не только через кнопку прикрепления: пункт «Поделиться в сообщении» есть в меню файла на Диске и в меню файла, прикреплённого к задаче. В окне «Поделиться файлом» выбирается задача или чат — поиск по номеру и тексту, пользователи и пространства в списке не предлагаются. После выбора открывается лента задачи или вид чата, файл встаёт вложением в поле ввода, и сообщение отправляется обычным способом — само оно не уходит. Вложением файл становится таким же, как при вставке с Диска: ссылкой с иконкой «облачко». Пункта нет в мобильной версии и в диалогах «Вставить из вложений» и «Вставить из диска».

Файлы можно перетащить в поле ввода с компьютера или использовать горячие клавиши Ctrl+U (Windows) / Ctrl+Cmd+U (Mac). После добавления в поле автоматически появляется фокус — можно сразу набирать текст.

Предложение сжать изображения в чате. Если в чате выбрать шесть и более файлов, среди которых есть изображения, появляется вопрос, отправлять ли изображения сжатыми: ответ «Да» сжимает изображения, «Нет» прикрепляет их без сжатия, закрытие окна отменяет прикрепление. Вопрос задаётся независимо от выбранного варианта прикрепления — «Файлы» или «Фото или видео».

Файлы 0 байт не загружаются: «Файлы не переданы или не содержат данных». Сообщение, состоящее только из вложения без текста, нельзя редактировать.

Если в задаче запрещено вложение файлов, кнопка прикрепления и связанные возможности скрыты.

Отправка не прерывается уходом с формы. Начатая отправка продолжается, даже если уйти из формы: файлы докачиваются в фоне, и по завершении загрузки сообщение уходит в ленту. Пока отправка не завершена, сообщение видно в ленте локальной строкой — вместо времени у неё индикатор хода загрузки. Если отправка не удалась, индикатор сменяется значком ошибки, а в меню сообщения появляются пункты «Повторить отправку» и «Удалить». Удаление такой строки отменяет и отправку, и незавершённую загрузку её файлов.

Если к моменту исхода пользователь уже ушёл из формы, переключился на другую задачу или закрыл ленту, результат сообщается всплывающим уведомлением: при успехе — «Сообщение отправлено», при неудаче — «Не удалось отправить сообщение» с действием «Перейти». Действие возвращает к задаче или в чат, где осталось неотправленное сообщение, — вместе с веткой обсуждения, если сообщение было ответом. Закрытие или перезагрузка вкладки, пока отправка не завершена, запрашивает подтверждение браузера.

Превью крупных изображений. Изображение большого размера (примерно от 16 МБ) показывается в ленте и во вложениях значком-заглушкой вместо миниатюры. Это не значит, что файл повреждён — чтобы увидеть изображение в полном размере, откройте файл.

Действия с файлом в сообщении

Контекстное меню по ПКМ на файле:

Пункт Описание
Изменить Редактирование (только для текстовых вложений)
Скачать / Скачать все Скачать конкретный файл / все файлы из сообщения
Открыть в папке диска Перейти к папке Диска (только для файлов из Диска — отмечены иконкой)
Просмотр версий Окно истории версий
Открыть актуальную версию Только если у файла есть более новая версия
Скопировать ссылку Полный URL файла
Удалить Убрать файл из сообщения
Переименовать Изменить имя файла

Контекстное меню также доступно в режиме редактирования сообщения.

Пункт «Переименовать» показывается, только когда выполнены все три условия: у пользователя есть право изменять файлы в задаче, статус задачи не запрещает править и удалять файлы, файл не зашифрован. Для файла в сообщении действуют права задачи, а не права папки Диска, из которой файл добавлен.

Исправить имя можно и до отправки — у файла, вложенного в ещё не отправленное сообщение. Пока файл загружается, пункт недоступен; после загрузки имя меняется сразу в окне написания, и сообщение уходит уже с новым именем.

Если файл с новым именем в задаче уже есть, открывается тот же диалог выбора, что и на Диске: переименовать по-другому, заменить существующий файл или оставить оба. При замене содержимое переименованного файла становится новой версией существующего, а сообщение продолжает показывать этот существующий файл — вложение не теряется. Новое имя видно в сообщении сразу, без обновления страницы.

У интерактивных отчётов (вложения *.dash.html) пункта «Переименовать» нет: имя файла служит признаком, по которому отчёт распознаётся и выводится в сообщении.

Состав вложений сообщения. Он определяется самим сообщением: показываются файлы, привязанные к нему, независимо от того, к скольким задачам привязан каждый файл. Один и тот же файл не появляется в сообщении дважды, а файл без привязки к задаче из состава не выпадает. Набор одинаков везде, где сообщение отображается, — в ленте задачи, в чате и в мобильном приложении.

Перезапись и просмотр

При загрузке файла с именем, совпадающим с уже существующим в задаче, выполняется автоматическая перезапись — старая версия отображается в ленте с зачёркнутым названием.

Просмотр или скачивание файла из нового сообщения в ленте приравнивается к прочтению сообщения.

Видео в превью ленты: - Размер ≤ 50 МБ — автоматически воспроизводится при клике на превью прямо в ленте. - Размер > 50 МБ — клик открывает отдельное окно просмотрщика.

Документы, созданные прямо в поле комментария

В меню вложения композера можно создать новый документ, не уходя на Диск (домен Диска). Такой документ до публикации лежит в «Черновиках» и удаляется оттуда, когда комментарий с ним успешно опубликован или когда пользователь сам отменяет отправку и закрывает поле. Снятие документа крестиком до отправки файл не удаляет. Обычные вложения эта логика не затрагивает; ошибка удаления пользователю не показывается, и файл в этом случае остаётся в «Черновиках».

Вложения в цитате ответа

Если отвечают на сообщение, в котором есть файл, картинка или видео, рядом с цитатой над ответом показывается квадратный значок вложения — по нему видно, что у исходного сообщения был аттач, даже когда текст цитаты обрезан.

  • Если среди вложений есть картинка, в квадрат идёт она — первая по порядку, кадрированная до квадрата. Картинками считаются JPEG, PNG, GIF и WebP.
  • Если картинки нет, показывается плитка с фоном по типу файла и его расширением — та же, что у вложения в сообщении. Так же выглядит вложение-видео: отдельного превью первого кадра нет.
  • Формат SVG и вложение без типа тоже показываются плиткой.

Квадрат — только признак наличия вложения: сам он файл не открывает и просмотрщик не запускает. Нажатие на цитату, в том числе на сам квадрат, переводит к исходному сообщению — вложение смотрят уже там. У блока пересылки такого значка нет.

Стикер отдельным знаком вложения не считается: и в цитате ответа, и в блоке пересылки он показывается картинкой по признаку стикера самого комментария, а не плиткой вложения рядом с цитатой.

Переход к исходному сообщению по цитате

Нажатие на цитату в ответе открывает исходное сообщение: лента прокручивается к нему и коротко подсвечивает его. Это работает в любом виде ленты — в карточке задачи, в чате и в общей ленте.

Если исходного сообщения нет в уже загруженной странице (лента подгружается постранично, а сообщение может быть старше), общая лента сама дозагружает фрагмент переписки вокруг него и прокручивается к нему. Дополнительно ничего нажимать не нужно, переход к сообщению происходит по тому же клику.

Где вызвано Поведение
Общая лента комментариев (страница ленты задачи, открытая из главной ленты, ленты по категории или канала) Переход к сообщению; при необходимости лента сначала дозагружает фрагмент переписки вокруг него
Карточка задачи Переход к сообщению
Чат и открытое обсуждение Переход к сообщению, как раньше

Если переход выполняется, пока лента ещё загружается, он не теряется: лента сначала доходит до конца загрузки и выполняет переход после неё.

Простые опросы в ленте сообщений

Простой опрос в ленте — это отдельный механизм, не связанный с опросами-тестами на базе SurveyJS (см. раздел «Опросы (SurveyJS)»).

Простые опросы доступны начиная с версии 2.265 «Цефей». Опрос публикуется прямо в ленте сообщений карточки задачи. Для создания нужно нажать кнопку прикрепления файла в поле ввода и выбрать опцию Создать опрос.

Опрос в ленте работает непрерывно с момента публикации и не имеет ограничения по времени сбора ответов. К одному сообщению может быть прикреплён один опрос. Действует правило: один пользователь — один голос. Поддерживается создание опроса только с одним вопросом.

Форма создания опроса:

Элемент Описание
Вопрос Обязательное поле, текст ограничен 100 символами
Варианты ответа Поля с ограничением 100 символов каждое. По умолчанию отображается два поля; новые добавляются по кнопке Добавить ответ
Анонимный опрос Скрывает информацию о том, кто за какой вариант проголосовал — имена и аватары участников не отображаются в результатах
Выбор нескольких ответов Разрешает участнику выбрать несколько вариантов одновременно. Без этой настройки доступен только один вариант

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

При нажатии кнопки Создать опрос форма опроса добавляется как вложение к новому сообщению. В этом же окне можно указать адресатов и при необходимости добавить текстовый комментарий к опросу. До момента отправки опрос остаётся черновиком и доступен для редактирования — для этого служит кнопка редактирования опроса справа от текста вопроса.

Опрос после публикации. В ленте опрос отображается с вариантами ответов, счётчиком голосов и процентным соотношением результатов. В публичных опросах отмечается вариант, выбранный текущим пользователем, и виден список проголосовавших. Для публичного опроса, где уже проголосовали другие пользователи, отображается ссылка «Проголосовали X человек» — по клику открывается модальное окно, в котором варианты ответов представлены вкладками; выбрав вкладку, можно увидеть список отдавших за этот вариант голос.

Отмена голоса. Пользователь может снять ранее отданный голос и проголосовать заново. В опросе с одним вариантом ответа для отмены достаточно повторно нажать на выбранный пункт. В опросах с несколькими вариантами голос отменяется через контекстное меню (ПКМ) пунктом Отменить свой голос. Голос можно отменить в любой момент после ответа на опрос.

Стикеры в сообщениях

Сообщение может быть стикером — картинкой из набора, который загружает администратор системы. Стикер отправляется вместо текста: сообщение со стикером публикуется и с пустым полем ввода.

Как отправить. Кнопка выбора стикера находится в панели ввода и показывается только при включённой настройке «Стикеры» в «Возможностях чата»; в карточке задачи и в тредах её нет. Нажатие открывает панель с вкладками паков и сеткой стикеров, клик по стикеру сразу отправляет сообщение.

Что видно в панели выбора. Пользователю показываются только включённые паки — глобальные или относящиеся к его компании. Стикеры внутри пака идут в порядке, заданном администратором. Уже отправленный стикер остаётся видимым в ленте всем, у кого есть доступ к задаче, даже если пак потом выключили.

Где доступны. Стикер принимается только там, где стикеры разрешены настройками чата. Если у задачи нет настроек чата или стикеры в них выключены, отправка отклоняется. Так же отклоняется отправка стикера, которого нет в наборе. Стикер из выключенного пака или пака чужой компании отклоняется так же, как несуществующий: при приёме действует тот же отбор, что и в панели выбора.

С чем не сочетается. Стикер занимает сообщение целиком. Вместе с ним в одном сообщении нельзя отправить файлы (в том числе ссылки на файлы Диска), опрос, ссылки-превью и пересылаемое чужое сообщение — такая отправка отклоняется. Уже отправленное сообщение со стикером не редактируется: попытка дописать в него текст, приложить файл или добавить ссылку тоже отклоняется.

Что видит получатель. В ленте стикер приходит отдельным элементом сообщения, а не вложением: в список файлов задачи он не попадает и в блоке вложений не показывается.

Уведомления. Текста у сообщения со стикером нет, поэтому в push-уведомлении, письме и СМС вместо текста приходит пометка «[Стикер]». Сама картинка в уведомление не вкладывается.

Ответ, пересылка и цитирование. Ответить стикером на чужое сообщение можно — цитата исходного сообщения при этом сохраняется. Само сообщение со стикером пересылается только целиком: вариант «только файл» для него не работает, вложений в таком сообщении нет. В пересланном сообщении и в цитате ответа стикер выводится картинкой: сервер вместе с исходным сообщением передаёт признак стикера, и клиент показывает по нему изображение. Когда на сообщение со стикером отвечают письмом или пересылают его письмом, в теме и в цитате вместо пустого текста стоит пометка «[Стикер]»; если к стикеру был дописан текст, цитируется этот текст.

Отложенная отправка сообщения

Сообщение можно отправить не сейчас, а в выбранный момент: оно ставится в очередь на сервере и публикуется в ленту, когда наступает назначенное время.

Где доступно. Отложить можно сообщение из панели ввода, открытой в контексте задачи, — в ленте задачи, в чате, в карточке задачи. В постах соцсети отложенной отправки нет. Не предлагается она и там, где отправка потеряла бы часть сообщения: у анонимных сообщений (анонимность в отложенную отправку не передаётся) и при пересылке нескольких сообщений сразу (принимается только одна пересылка).

Пункта «Отправить позже» нет и в режиме правки уже отправленного сообщения. Нет его и у кнопки записи аудио: пока поле ввода пусто и в панели показывается микрофон, отложить голосовое сообщение нельзя.

Как отложить. У кнопки отправки есть меню — оно открывается правым щелчком по кнопке или удержанием (около 0,3 с), пункт меню — «Отправить позже». Дальше открывается общий выбор даты и времени: по умолчанию подставлен момент на час вперёд, выбрать время раньше текущего нельзя. Подтверждение ставит сообщение в очередь с тем, что набрано в панели ввода, — текстом, вложениями, адресатами, опросом. Панель после этого очищается, но только от того, что ушло в отложенное: если после постановки в очередь в ней успели набрать новое сообщение, оно не пропадёт. Если панель заполнена некорректно (например, в опросе нет вопроса или второго варианта) или вложение не удалось загрузить, отложенная отправка не создаётся — пользователь видит сообщение об ошибке.

Отмена и очередь. Отмена или закрытие окна выбора ничего не создаёт и не стирает: набранные текст и вложения остаются в панели ввода, и попытку можно повторить. Поставить в очередь можно и несколько сообщений подряд — у каждого своё время отправки.

Список отложенных. В панели ввода есть кнопка «Отложенная отправка» — она появляется, когда у пользователя есть хотя бы одно отложенное сообщение или не удалось получить список, и скрывается, пока в поле ввода набран текст. Кнопка открывает окно «Отложенная отправка» со списком своих отложенных сообщений. Строки идут по назначенному времени, ближайшее — сверху; в строке видны время, текст сообщения, пометки «Вложения: N» и «Опрос», если они есть, и сообщение о сбое, если публикация не удалась. Пустой список выглядит как «Нет отложенных сообщений»; если список не загрузился, в окне стоит «Ошибка загрузки» и кнопка «Попробовать еще раз».

Удаление и отмена — одно действие. Отдельной операции отмены у отложенного сообщения нет: отменить отправку и удалить сообщение — одна и та же операция, поэтому в меню строки один пункт «Удалить». Перед удалением показывается подтверждение: «Отложенное сообщение будет удалено и не отправится. Продолжить?». Пока сообщение уже отправляется, действие в строке недоступно. Если к моменту удаления сервер уже забрал сообщение в отправку, оно исчезает из списка с сообщением «Сообщение уже отправляется, отменить его нельзя.» Удаление последней строки закрывает окно.

Пересылка сообщений

Форма пересылки сообщения с вложением

Вариант Поведение
В текущую задачу Переходит к полю написания с закреплённым исходным сообщением
Выбрать Модальное окно: поиск по номеру/тексту задач и чатов, фильтр «Только задачи» / «Только пользователи»
Из задачи в чат После выбора открывается вид чата
Из чата в задачу После выбора открывается форма задачи
Из любого источника в пространство После выбора открывается страница пространства

Состав списка чатов. В окне выбора предлагаются только чаты, где пользователь является действующим подписчиком: подписанные лично и групповые чаты тех групп, в которых он состоит сейчас. Чат группы, из которой пользователь вышел или был исключён, в списке не появляется. Закрытые чаты в список не попадают.

Пересланное сообщение публикуется как новое (реакции и служебные данные не переносятся). При пересылке с вложением можно выбрать — пересылать полностью или только файл.

Выбор режима пересылки: полностью или только файлы

⚠️ Из зашифрованной задачи пересылка возможна только в текущую задачу.

Целевое обсуждение. Помимо задачи-приёмника при пересылке можно указать конкретное обсуждение внутри неё — тогда пересланные сообщения публикуются в этом треде, а не в общей ленте задачи. В качестве цели принимается как корневое сообщение обсуждения, так и любое сообщение внутри него: тред в обоих случаях определяется по корню. Обсуждение должно принадлежать задаче-приёмнику; обычное сообщение вне обсуждений целью быть не может. Если обсуждение не указано, пересланные сообщения попадают в общую ленту задачи-приёмника — даже когда исходное сообщение находилось в треде.

Пересылка из обсуждения. Если меню пересылки вызвано внутри обсуждения, приёмником становится основная лента задачи, а не обсуждение, из которого меню вызвали. Вариант «В текущую задачу» публикует сообщение в основной ленте той же задачи и закрывает исходное обсуждение; набранный в поле ленты текст и выбранные адресаты при этом сохраняются. Пересылка из обсуждения в другую задачу или чат работает как обычно: сообщение попадает в общую ленту приёмника либо в открытое в нём обсуждение.

Обсуждение в приёмнике. Отдельного списка обсуждений в окне выбора цели нет. Если в задаче-приёмнике открыто обсуждение, пересланное сообщение и сопроводительный текст к нему публикуются в этом обсуждении; если открытого обсуждения нет — в общей ленте.

Правило про открытое обсуждение относится к задаче-приёмнику: обсуждение, из которого вызвано меню пересылки, приёмником не считается.

Массовая обработка

Режим выбора активируется через пункт Выбрать в контекстном меню — у сообщений появляются чекбоксы.

Режим выбора сообщений с чекбоксами

Отмеченные сообщения можно переслать или удалить через контекстное меню; выход — пунктом «Отмена».

При пересылке нескольких отмеченных сообщений они публикуются в целевом чате в хронологическом порядке (по времени исходных сообщений) — независимо от того, в каком порядке вы их отметили.

Контекстное меню в режиме выбора: Переслать / Удалить / Отмена

Реакции и пересылка комментариев

Реакция — emoji-отметка на комментарии другого пользователя. Доступность определяется настройкой категории «Разрешить пользовательские реакции».

Установка и удаление

В контекстном меню сообщения (по ПКМ) в верхней части — короткий список реакций. Стрелка вниз раскрывает полное меню; если реакции уже использовались, в начале списка отображаются недавно использованные.

Правила:

  • Один пользователь — одна реакция на сообщение. Повторное нажатие на ту же реакцию убирает её.
  • При установке реакции на новое сообщение оно автоматически отмечается прочитанным.
  • При пересылке комментария реакции исходного сообщения не копируются.
  • Реакции не влияют на видимость комментариев.

Отображение

Реакция отображается под сообщением аватаром поставившего пользователя. Если одну и ту же реакцию оставило больше двух человек — вместо аватаров выводится число.

При наведении на реакцию появляется всплывающее окно со списком пользователей. Клик по нему открывает модальное окно «Все реакции» — там можно переключаться между разными реакциями и видеть авторов каждой; иконка профиля рядом с пользователем открывает его карточку.

Кнопка emoji в поле ввода

Если в категории включены реакции, в панели написания сообщения появляется кнопка emoji. Меню вставляет символ в текущую позицию курсора и не закрывается автоматически — можно вставить несколько эмодзи подряд. Кнопка доступна только на десктопе.

Вид реакций может отличаться в зависимости от устройства.

Пересылка комментариев

При пересылке в другую задачу файлы из исходного комментария копируются в целевую задачу. В целевой задаче создаётся новый комментарий с вложенным оригиналом.

Удаление комментариев

Условие Разрешено
Пользовательский комментарий ДА (если не IsDeleteUserCommentsForbidden)
Системный комментарий НЕТ
Тред Автор — пока нет чужих ответов; Owner/Admin/Moderator чата — любой; администратор категории — любой

Отмена удаления смарт-пакетом. Если в категории на событии «Перед удалением комментария» настроено действие «Отменить» с текстом причины, комментарий остаётся в ленте, а удаляющий видит окно с этим текстом — заголовок «SmartCancel», кнопки «Ок» и «Копировать». Кнопки «Создать задачу в техподдержку» в таком окне нет: отмена задумана администратором и ошибкой системы не считается. Правило действует на всех поверхностях удаления — в карточке задачи и в лентах. Вид окна описан в разделе «Модальное окно ошибки» файла «Задачи» — фронтенд.