# Мессенджер

Система обладает встроенным мессенджером. Открыть мессенджер можно из любого приложения, меню **«Сервисы\Мессенджер»**.

Мессенджер позволяет создавать как чаты с пользователем, так и группы: приватные и публичные. Кроме того, от любого объекта системы можно создать группу обсуждения по данному объекту – это публичные группы, у которых есть прикрепленный объект с признаком **«Основной»**.

Окно мессенджера состоит из следующих частей:
- список групп и пользователей;
- окно сообщений по текущему чату/группе.

![1](/img/Img139(MessengerWindow).jpg)

## Список групп пользователей мессенджера

По умолчанию в списке групп и пользователей выводятся группы и чаты с пользователями, в которые включен текущий пользователь, за исключением групп по обсуждению объектов системы и закрытых чатов/групп. Панель фильтрации списка по умолчанию свернута ![2](/img/Img140(Search).jpg), для ее открытия нужно кликнуть мышкой:

![3](/img/Img141(FilterPanel).jpg)

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

|Наименование|Описание|
|-|-|
|**Панель фильтрации**|
|Наименование|Фильтрация групп производится по вхождению строки в наименование группы/чата.  |
|Тип группы|Фильтрация производится по заданному типу группы. Доступны следующие типы: - Публичная; - Приватная; - Прямое общение (чат с пользователем).|
|Отображать группы с обсуждением объектов|При простановке данного признака система выводит в списке в том числе и группы по обсуждению объекта (публичные группы, содержащие объект с признаком «Основной»)|
|Показать закрытые|При простановке данного признака система выводит в списке в том числе и закрытые группы|
|**Атрибуты списка:**|
|Тип|Иконка, соответствующая типу позиции списка. Иконка задается в справочнике типов групп (Bts_AlGroupType).|
|Не прочитано|В данной колонке система выводит иконку    для чатов/групп с непрочитанными данным пользователем сообщениями.|
|Наименование|Наименование чатов/групп|
|**Детализация (по умолчанию закрыта). Закладка «Пользователи». Содержит список пользователей, включенных в группу/чат.**|
|Пользователь|Пользователь|
|ФИО|ФИО физического лица, сопоставленного пользователю|
|Администратор|Признак того, что данный пользователь является администратором. Администратор группы может редактировать атрибуты группы (наименование, описание, список пользователей и прочее)|
|Детализация (по умолчанию закрыта). Закладка «Объекты». Содержит перечень прикрепленных объектов.|
|Код объекта|Код объекта|
|Объект|Наименование объекта|
|Основной|Признак, указывающий, что по этому объекту в данной группе ведется обсуждение|

Для работы со списком групп и пользователей предусмотрены следующие операции:

|Иконка|Наименование|Описание|
|-|-|-|
|![7](/img/Img142(PaperIcon).jpg)|Создать|Группа операций «Создать»: - Создать приватную группу: система создает новую групп с типом «Приватная», добавляет в нее текущего пользователя с признаком «Администратор» и открывает карточку группы на редактирование; - Создать публичную группу: система создает новую групп с типом «Публичная», добавляет в нее текущего пользователя с признаком «Администратор» и открывает карточку группы на редактирование; - Создать чат с пользователем: система открывает список пользователей, для выбранного пользователя проверяет наличие чата: -- если чат с данным пользователем уже существует – система выдает сообщение «Чат с данным пользователем уже существует» и позиционируется на данном чате в списке, -- если существует закрытый чат с данным пользователем, то система снимает с него признак закрытия и позиционируется на нем, -- если чат с данным пользователем отсутствует, то система создает новый чат и позиционируется на нем.|
|![8](/img/Img143(PencilIcon).jpg)|Редактировать|Система открывает карточку группы для редактирования. Доступна только для публичных и приватных групп|
|![9](/img/Img144(BackIcon).jpg)|Вступить в публичную группу|Система открывает список публичных групп, в которых отсутствует текущий пользователь, добавляет текущего пользователя в выбранную группу|
|![10](/img/Img145(BackRedIcon).jpg)|Выйти из группы|Для группы: система исключает текущего пользователя из текущей группы.  Для чата: система выдает сообщение «Выйти из чата с пользователем нельзя. Возможно закрытие чата. Закрыть чат?»  (Да/Нет).  При ответе «Да» - система проставляет признак закрытия чата.|
|![11](/img/Img146(DetailsIcon).jpg)|Детализация|Система открывает/скрывает детализацию в списке групп и пользователей. Описание детализации см. ниже.|

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

![12](/img/Img147(CardGroup).jpg)

Атрибуты карточки группы приведены в таблице ниже.

|Наименование|Описание|
|-|-|
|Наименование|Наименование группы|
|Тип|Тип группы|
|Описание|Описание группы|
|Объекты|Наименование основного прикрепленного объекта|
|Закрыта|Признак закрытия группы|
|Дата закрытия|Дата закрытия группы|
|**Закладка «Пользователи».**|
|Содержит перечень пользователей, включенных в группу. Администратор (администраторы) отмечен соответствующим признаком.|
|**Закладка «Объекты».**|
|Содержит перечень объектов, включенных в группу. |

## Создание группы/чата

Для создания новой группы:

1. В списке **«Группы и пользователи»** вызовите одну из операций: **«Создать публичную группу»**, **«Создать приватную группу**».
2. В открывшейся карточке заполните наименование, описание и список пользователей.
3. Закройте заполненную карточку группы.

Для создания нового чата с пользователем:

1.	В списке **«Группы и пользователи»** вызовите операцию **«Создать чат с пользователем»**.
2.	В открывшемся окне выберите нужного пользователя
3.	Подтвердите выбор операцией ![13](/img/Img148(BackIcon).jpg).

## Окно сообщений по чату/группе

В окне сообщений система выводит перечень сообщений, прикрепленных файлов и прикрепленных объектов в хронологическом порядке. 

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

Для создания сообщений необходимо ввести соответствующую строку в окно нового сообщения и нажать кнопку **«Отправить»**.

![14](/img/Img149(NewMessage).jpg)

Кроме того, система позволяет прикрепить в окно сообщений файл и объект системы.

Для этого нужно воспользуйтесь операцией: ![16](/img/Img149(Icon).jpg). По нажатию данной кнопки система предлагает выбрать операцию:

![18](/img/Img150(AttachmentSelection).jpg)

При вызове операции **«Добавить файл»** система открывает окно выбора файла:

![19](/img/Img151(FileSelection).jpg)

Выбранный файл выводится в окне сообщений:

![20](/img/Img152(MessageWindow).jpg)

Для открытия файла нажмите на него (система помещает файл в папку «Загрузки»):

![21](/img/Img153(DowloadFile).jpg)

## Обсуждение по объекту

Система позволяет из карточки любого объекта создать группу/присоединится к группе с обсуждением по объекту.

Для этого вызовите операцию **«Информация\Присоединиться к обсуждению»**:

![22](/img/Img154(JoiningTheDiscussion).jpg)

При этом система проверяет есть ли в мессенджере группа, у которой данный объект присутствует в списке объектов группы с признаком **«Основной»**:

- Если такая группа отсутствует, то система создает новую публичную группу, в которую добавляет текущий объект с признаком **«Основной»** и добавляет текущего пользователя с признаком **«Администратор»**, далее открывает мессенджер с позиционированием на данной группе;
- Если такая группа существует, но в ней нет текущего пользователя, то система добавляет пользователя в данную группу с признаком **«Администратор»** и открывает мессенджер с позиционированием на данной группе;
- Если такая группа существует и в ней есть текущий пользователь – открывает мессенджер с позиционированием на данной группе.

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