2.3.3.2. Блок «Задания»

В блоке «Задания» администратор может управлять параметрами заданий (Рис. 2.50).

_images/mapsurf_adm18.png

Рис. 2.50 Блок «Задания»

В верхней части окна располагаются следующие разделы для управления:

  • «Виды работ»,

  • «Этапы»,

  • «Приоритеты»,

  • «Настраиваемые поля»,

  • «Ярлыки для файлов»,

  • «Роли и права»,

  • «Плагины».

Виды работ, их группы, этапы, приоритеты и плагины могут быть локальными (с привязкой к определенному кластеру) и глобальными (без привязки). Глобальные сущности могут администрироваться только главным администратором, локальные - главным администратором и администратором кластера. Локальные сущности не видны пользователям вне указанного кластера.

По умолчанию при переходе в блок «Задания» открывается вкладка «Виды работ».

2.3.3.2.1. Вкладка «Виды работ»

В данной вкладке находятся два подраздела: «Виды работ» и «Группы видов работ».

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

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

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

2.3.3.2.1.1. Подраздел «Виды работ»

В подразделе «Виды работ» располагается список существующих видов работ (Рис. 2.50). Чтобы завести новый вид работ, нужно нажать «Создать». Откроется окно с полями для заполнения (Рис. 2.51):

Вкладка «Основное»:

  • «Название» – наименование вида работ;

  • «Кластер» – кластер организаций, к которому привязан данный вид работ (если кластер не указан, вид работ будет доступен для всех организаций);

  • «Группа видов работ» – группа, в которую входит данный вид;

  • «Срок выполнения» – время, за которое происходит выполнение работы (определяется должностной инструкцией по данному виду работ);

  • «Момент установки срока выполнения» – время, начиная с которого отсчитывается срок выполнения задания: «при создании задания» – в момент создания задания в системе, или «при назначении задания» – когда задание назначается на конкретного исполнителя;

  • «Пиктограмма» – иконка задания, которая будет отображаться в списке заданий в приложениях «ActiveMap Mobile» и «ActiveMap Messages».

Вкладка «Привязка к организациям»:

  • тумблер «Для всех организаций» – делает вид работ доступным для всех организаций в системе (для глобальных видов работ) или внутри кластера (для локальных видов работ);

  • тумблеры с названиями отдельных организаций – делает вид работ доступным для выбранных организаций.

_images/mapsurf_adm19.png

Рис. 2.51 Создание вида работ

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

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

2.3.3.2.1.2. Подраздел «Группы видов работ»

В подразделе «Группы видов работ» располагается список существующих групп (Рис. 2.52). Группы видов работ позволяют визуально группировать объекты в приложениях «ActiveMap Mobile» и «ActiveMap Messages».

_images/mapsurf_adm20.png

Рис. 2.52 Группы видов работ

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

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

Для того чтобы удалить группу видов работ, нужно выделить группу в списке и нажать «Удалить».

2.3.3.2.2. Вкладка «Этапы»

В данной вкладке отображается список существующих этапов работ (Рис. 2.53).

_images/mapsurf_adm21.png

Рис. 2.53 Вкладка «Этапы»

Выделяют группу локальных (с привязкой к кластеру) и глобальных (без привязки) этапов работ. Этапы можно сортировать в рамках группы. Главный администратор может сортировать любые группы, администратор кластера - только локальные этапы в своем кластере.

Для добавления нового этапа требуется нажать «Создать». Откроется окно, в котором нужно заполнить следующие поля (Рис. 2.54):

  • «Название» – наименование этапа работ;

  • «Кластер» – принадлежность к кластеру организаций (если кластер не указан, этап будет доступен для всех организаций);

  • «Цвет» – цвет отображения этапа в списке заданий (указывается в виде кода RGB);

  • тумблер «Видимый» – будет ли видим создаваемый этап;

  • тумблер «Этап по умолчанию» – этап будет выставляться автоматически при создании задания;

  • тумблер «Этап закрытого задания» – переход на данный этап означает, что задание закрыто.

_images/mapsurf_adm22.png

Рис. 2.54 Создание этапа

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

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

Для удаления этапа требуется выбрать его однократным нажатием левой кнопки мыши и нажать «Удалить». В появившемся диалоговом окне необходимо подтвердить удаление, нажав «Да», либо отменить его, нажав «Нет».

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

2.3.3.2.3. Вкладка «Приоритеты»

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

_images/mapsurf_adm23.png

Рис. 2.55 Вкладка «Приоритеты»

Для добавления нового приоритета следует нажать «Создать». В появившемся окне необходимо указать только наименование и, при необходимости, кластер нового приоритета (локальный приоритет будет доступен только в рамках выбранного кластера). Id и порядковый номер будут присвоены ему автоматически (Рис. 2.56). Также можно загрузить пользовательскую пиктограмму либо оставить предлагаемую по умолчанию.

_images/mapsurf_adm24.png

Рис. 2.56 Создание приоритета

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

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

2.3.3.2.4. Вкладка «Настраиваемые поля»

В данной вкладке отображается список существующих настраиваемых полей (Рис. 2.57). Настраиваемые поля используются для добавления в форму создания задания пользовательских полей. Такие поля могут быть прикреплены к определенному виду работ и соответствовать его тематике. Например, для видов работ, по которым предполагается взаимодействие выездного сотрудника с клиентом, может быть создано поле формата «Телефонный номер», в которое будет вноситься номер телефона клиента.

_images/mapsurf_adm25.png

Рис. 2.57 Вкладка «Настраиваемые поля»

Настраиваемые поля могут быть локальными (с привязкой к определенному кластеру) и глобальными (без привязки). Глобальные сущности могут администрироваться только главным администратором, локальные - главным администратором и администратором кластера. Есть исключение - администратор кластера может редактировать глобальное настраиваемое поле (если не включен режим «для всех»), если при этом он только привязывает или отвязывает локальные виды работ своего кластера.

Для добавления нового настраиваемого поля требуется нажать «Создать». Откроется окно с полями для заполнения (Рис. 2.58):

Вкладка «Основное»:

  • «Название» – наименование поля.

  • «Формат» – формат данных поля, нужно выбрать одно из следующих значений:

    • Строка – краткое текстовое поле;

    • Текст – расширенное текстовое поле;

    • Целое число – целочисленное поле;

    • Вещественное число – поле с вещественным числовым значением;

    • Дата – дата и время;

    • Логический – выбор из вариантов true и false;

    • Выбор из списка – формат с возможностью задать список вариантов;

    • Телефонный номер – формат с возможностью вызова заданного номера из окна задания;

    • Бар-код – числовая расшифровка штрих-кода;

    • Геометрия – геометрическая информация.

  • «Обязательное настраиваемое поле» – тумблер принудительного заполнения создаваемого поля.

  • «Видимое настраиваемое поле» – тумблер видимости создаваемого поля для пользователей.

  • «Значение по умолчанию» – автоматически заполняемое значение поля.

  • «Группа полей» – выбор группы дополнительных полей.

Список полей для заполнения может меняться в зависимости от выбранного формата. Для полей с типом «Строка», «Текст», «Целое число», «Вещественное число» можно дополнительно прописать «Регулярное выражение» – строку-образец, задающую шаблон для дополнительного поля. Для полей текстового формата (строка и текст) – минимальную и максимальную длину поля. Для типа «Выбор из списка» следует указать возможные значения.

Вкладка «Привязка к организациям»:

  • тумблер «Для всех видов работ» – делает поле доступным для всех видов работ в системе (глобальные настраиваемые поля) или внутри кластера (локальные настраиваемые поля);

  • тумблеры с названиями отдельных организаций – делает поле доступным для выбранных видов работ.

_images/mapsurf_adm26.png

Рис. 2.58 Создание настраиваемого поля

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

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

2.3.3.2.5. Вкладка «Ярлыки для файлов»

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

_images/mapsurf_adm27.png

Рис. 2.59 Вкладка «Ярлыки для файлов»

Стикеры могут быть локальными (с привязкой к определенному кластеру) и глобальными (без привязки). Глобальные сущности могут администрироваться только главным администратором, локальные - главным администратором и администратором кластера. Есть исключение - администратор кластера может редактировать глобальный стикер (когда не включен режим «для всех»), если при этом он только привязывает или отвязывает локальные виды работ своего кластера.

Для добавления нового ярлыка следует нажать «Создать», откроется окно с полями для заполнения (Рис. 2.60):

Вкладка «Основное»:

  • «Название» – наименование ярлыка;

  • «Описание» – краткое описание ярлыка.

Вкладка «Привязка к организациям»:

  • тумблер «Для всех видов работ» – делает стикер доступным для всех видов работ в системе (глобальный стикер) или внутри кластера (локальный стикер);

  • тумблеры с названиями отдельных организаций – делает стикер доступным для выбранных видов работ.

_images/mapsurf_adm28.png

Рис. 2.60 Создание ярлыка для файлов

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

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

2.3.3.2.6. Вкладка «Роли и права»

Данный раздел позволяет просматривать разрешения пользователей различных ролей (Рис. 2.61). Подробное описание возможных ролей приведено в разделе Вкладка «Роли».

_images/mapsurf_adm30.png

Рис. 2.61 Вкладка «Роли и права»

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

2.3.3.2.7. Вкладка «Плагины и Web-хуки»

В данной вкладке отображаются существующие плагины и сервера назначения Web-хуков (Рис. 2.62). Плагины – это скрипты на языке Python. Они используются для автоматизации действий с заданиями и дополнительной адаптации системы под особенности эксплуатации, например для автоматического:

  • создания новых заданий после наступления определенных условий в выполняемом задании;

  • перевода заданий на другой этап или стадию при прикреплении определенного количества файлов или заполнения указанных полей;

  • добавления комментария при любом изменении задания;

  • прикрепления файлов к заданию и стикеров к файлам;

  • установки главного фото задания.

_images/mapsurf_adm31.png

Рис. 2.62 Вкладка «Плагины и Web-хуки»

Скрипты и сервера назначения Web-хуков могут быть локальными (с привязкой к определенному кластеру) и глобальными (без привязки). Кластер можно задать при создании скрипта/сервера назначения, но нельзя изменить или удалить из скрипта/сервера назначения. Если скрипт локальный, то в нём можно указать только глобальный сервер или локальный сервер того же кластера. Если скрипт глобальный, то в нём можно указать любой скрипт. В локальном скрипте можно указывать только организации его кластера. Приоритеты и виды работ можно указывать как локальные по отношению к его кластеру, так и глобальные. Локальные скрипты применяются к заданиям и комментариям только своего кластера. Создавать, редактировать и удалять глобальные и локальные скрипты может только главный администратор.

2.3.3.2.7.1. Подраздел «Плагины и Web-хуки»

Для добавления нового плагина нужно перейти в соответствующий подраздел и нажать «Создать». Откроется окно создания плагина (Рис. 2.63).

_images/mapsurf_adm32.png

Рис. 2.63 Создание плагина

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

Выбрать значения следующих полей:

  • «Тип» – тип плагина (валидация или реакция).

Валидация выполняется до сохранения, реакция – после сохранения задания в БД. Валидация позволяет проверять корректность задания при его создании/редактировании. Плагин-валидатор должен вернуть одно из трех возможных значений:

  • valid() – всё корректно, можно сохранять.

  • invalid() – ошибка, сохранять нельзя.

  • invalid(String error) – ошибка, сохранять нельзя, показать переданное сообщение об ошибке.

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

Web-хуки – особый вид реакций. Это автоматизированный запуск http-запросов в ответ на выполнение операций над сущностями (заданиями или комментариями). В отличие от обычных реакций, web-хуки можно писать как для заданий, так и для комментариев. Для web-хуков над заданиями доступны операции создания/редактирования/удаления задания, для web-хуков над комментариями доступна только операция создания комментария. Для запуска запроса реакция должна вернуть результат выполнения одной из специальных функций:

  • return post(url),

  • return patch(url),

  • return put(url),

  • return delete(url),

  • return get(url).

  • «Модель» – сущность, над которой выполняется операция (задание или комментарий).

  • «Операция» – операция, при выполнении которой срабатывает плагин (создание/редактирование/удаление для заданий, создание для комментариев).

В зависимости от выбранного типа, модели и вида операции отобразятся следующие поля:

Валидация при создании/удалении задания:

  • «Роль» – пользователям с какой ролью доступно применение плагина.

  • «Организация» – организации-создатели заданий, которым доступен плагин.

  • «Вид работ» – виды работ, для которых сработает плагин.

  • «Приоритет» – приоритеты, для которых сработает плагин.

Валидация при редактировании задания:

  • «Роль» – пользователям с какой ролью доступно применение плагина.

  • «Стадия до» – стадии заданий, для которых сработает плагин.

  • «Стадия после» – стадия, на которую будут переведены задания после сработки плагина.

  • «Этап до» – этапы выполнения заданий, для которых сработает плагин.

  • «Этап после» – этап, на который будут переведены задания после сработки плагина.

  • «Организация» – организации-создатели заданий, для которых доступен плагин.

  • «Вид работ» – виды работ, для которых сработает плагин.

  • «Приоритет» – приоритеты, для которых сработает плагин.

Валидация при создании комментария:

  • «Роль» – пользователям с какой ролью доступно применение плагина.

Во всех перечисленных полях можно выбрать несколько вариантов значений. Для реакций к этому перечню полей добавится «Сервер назначения» – адрес сервера, на который направляются относительные запросы.

В поле справа нужно написать скрипт на языке Python. Роли, стадии и этапы до/после, организации, виды работ и приоритеты можно прописать непосредственно в скрипте в более сложных сочетаниях, чем позволяет обычное включение тумблеров в левой части окна. Если данные поля упоминаются в скрипте, в левой части можно оставить для них значения по умолчанию – «любая/любой».

Примеры скриптов приведены в разделе Приложение 1. Примеры скриптов плагинов.

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

2.3.3.2.7.2. Подраздел «Сервера назначения Web-хуков»

Сервера назначения нужны для группировки web-хуков и для быстрой смены сервера назначения. Например, если есть 5-10 web-хуков, и их точка входа в API изменилась, достаточно изменить только адрес сервера назначения. Если реакция имеет прикреплённый сервер и генерирует относительный запрос, то запрос отправляется на прикреплённый сервер (запрос будет проигнорирован, если сервер выключен или удалён).

Для добавления нового сервера нужно перейти в соответствующий подраздел и нажать «Создать». В открывшемся окне заполнить поля «Название», «Кластер» (при необходимости) и «URL», переключить тумблер «Включен» в нужное положение (Рис. 2.64).

_images/mapsurf_adm32_1.png

Рис. 2.64 Создание сервера назначения

Созданный сервер отобразится в общем списке серверов назначения Web-хуков (Рис. 2.65). При необходимости данные серверов в списке можно отредактировать или удалить (за исключением кластера). Кластер можно задать при создании сервера назначения, но нельзя изменить или удалить.

_images/mapsurf_adm32_3.png

Рис. 2.65 Список серверов назначения Web-хуков