Skip to content

Каналы коммуникации

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

Как открыть

Боковое меню → КоммуникацииКаналы

Зачем нужны каналы

На производстве критична скорость коммуникации. Каналы заменяют хаотичные звонки и записки:

  • Публичный канал #производство-цех1 — все видят обсуждение смены.
  • Канал проекта #заказ-145 — автоматически создаётся при крупном заказе, все участники видят прогресс.
  • Личные сообщения — мастер пишет диспетчеру о проблеме.
  • Приватный канал #планёрка-мастеров — только для мастеров участков.

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

Четыре типа каналов

ТипКодОписаниеСоздание
ПубличныйpublicВиден всем, любой может присоединитьсяВручную
ПриватныйprivateТолько по приглашениюВручную
Личные сообщенияdirectПереписка двух пользователейАвтоматически при первом сообщении
Канал проектаprojectПривязан к заказу/проектуАвтоматически при создании заказа

Автоматическое создание

Каналы типа direct создаются автоматически при первом сообщении между двумя пользователями (slug: dm-{uuid1}-{uuid2}). Каналы типа project создаются при запуске крупного заказа (slug: project-{orderId}).

Что на экране

Список каналов

СтолбецОписаниеПример
Имяslug канала#производство-цех1
НазваниеЧеловекочитаемое имяПроизводство - Цех 1
ТипПубличный / Приватный / ЛС / ПроектПубличный
СообщенийСчётчик сообщений342
Последняя активностьКогда было последнее сообщение5 мин назад
УчастниковКоличество подписчиков12
АрхивДа / НетНет

Фильтры

ФильтрВарианты
ТипВсе / Публичный / Приватный / ЛС / Проект
СтатусАктивные / Архивные

Создание канала

Обязательные поля

ПолеОписание
Slug *Уникальное имя (lowercase, дефисы): производство-цех1
Название *Человекочитаемое: «Производство - Цех 1»
Тип *public / private / direct / project

Дополнительные поля

ПолеОписание
ОписаниеЦель канала, правила
Связанная сущностьДля project каналов: тип (production_order) и UUID заказа
Участники DMДля direct каналов: массив из 2 UUID пользователей
МодераторыМассив UUID модераторов

Участие в канале (ChannelMembership)

Каждый участник канала имеет:

ПолеОписание
КаналFK на Channel
ПользовательFK на User
Рольowner / moderator / member
Уведомленияall / mentions / muted
НепрочитанныхСчётчик непрочитанных сообщений
Последнее чтениеКогда пользователь последний раз открывал канал

Роли в канале

РольКодПрава
ВладелецownerВсе: настройки, удаление канала, управление участниками
МодераторmoderatorУдалять сообщения, добавлять/удалять участников
УчастникmemberЧитать и отправлять сообщения

Уровни уведомлений

УровеньКодКогда уведомляет
ВсеallКаждое новое сообщение
УпоминанияmentionsТолько при @упоминании или @channel
ОтключеноmutedНикогда (счётчик непрочитанных обновляется)

Сообщения (ChannelMessage)

Каждое сообщение поддерживает:

ВозможностьОписание
MarkdownФорматирование текста (до 5000 символов)
ВложенияФайлы: [{name, url, type, size}], максимум 10
ТредыОтветы в thread (как в Slack) — parent_message_id
Упоминания@пользователь → уведомление. @channel → уведомить всех
Закреплениеis_pinned — важное сообщение закрепляется вверху
РедактированиеПометка (edited) и edited_at
Мягкое удалениеТекст скрывается, запись остаётся

Поля сообщения

ПолеОписание
КаналFK на Channel
АвторFK на User (NULL для системных)
ТекстMarkdown, до 5000 символов
ВложенияJSON: [{name, url, type, size}]
РодительскоеUUID для ответа в thread
ОтветовСчётчик ответов в thread
УпоминанияМассив UUID упомянутых пользователей
@everyoneФлаг уведомления всех
ЗакрепленоДа / Нет

Архивация

Архивированный канал (is_archived = true) становится read-only:

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

Архивация используется для завершённых проектов: заказ выполнен — канал проекта архивируется.

Правила валидации

ПравилоОписание
BR-840channel_type определяет видимость и доступ
BR-841slug уникален (lowercase, alphanumeric, дефисы)
BR-842Архивированный канал — read-only
BR-845Project канал обязан иметь related_entity_type и related_entity_id
BR-850Один пользователь = одно участие в канале
BR-862Максимум 10 вложений в сообщении

Для кого

РольЧто делает
МастерОбсуждает задачи в канале участка, пишет диспетчеру
ДиспетчерКоординирует через каналы проектов, объявления
ОператорЧитает канал своего участка, сообщает о проблемах
ТехнологОбсуждает технические вопросы в приватных каналах
РуководительДелает объявления, контролирует активность каналов

AntRoute MES — управление блуждающими узкими местами