Структура модуля "Управление активами"
========================================================================


.. contents:: Содержание
   :depth: 3
 
   
Основные сущности  
------------------------------------

Все объекты конфигурации модуля "Управления активами":

*  Формы: Актив, Уведомление об истечении сроков действия контрактов
*  Реестры: Активы, Реестр для отправки уведомлений по срокам действия контрактов
*  Справочники: Классы ИТ-актива, Статусы ИТ-актива
*  Блокирующие процессы
        

Актив
------------------------------------

Код: ``itsm_form_asset``

.. warning::

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

Структура Формы актива
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

1. Основная информация
2. Подробная информация
3. История изменений
4. История статусов
5. Финансовые данные
6. Количество единиц
7. Документы

Основная информация: 
* Текущий статус - статус, в котором находится актив. Статусы берутся из справочника "Статусы ИТ-актива"
* ID - уникальный номер
* Класс ИТ-актива - берется из справочника "Классы ИТ-актива"
* Наименование 
* Описание
* Владелец - пользователь, который владеет активом
* Категория - берется из справчника "Категории конфигурационных единиц"
* Тип -  берется из справочника "Типы конфигурационных единиц", связан с категорией
* Версия - поле для ввода версии ИТ-актива

.. figure:: _static/Снимок_экрана__276_.png

        Рис. 

Структура Формы Уведомление об истечении сроков действия контрактов
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Все поля на форме:

* дата запуска уведомления
* логи об отправке уведомлений

Список блокирующих процессов
------------------------------------

event.blocking.interpreter.assets.notifications
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП направляет  


Дополнительные механизмы
------------------------------------

Переназначение обращения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Получает ход выполнения по обращению
2. Завершает текущую работу по обращению
3. Создает новую работу по обращению для указанного пользователя со статусом "В процессе"

*Прим. Функция переназначения работ позволяет оператору завершить работу, в которой он не является ни исполнмтелем, ни автором*

Для отображения кнопки у пользователя, данного пользователя необходимо добавить в группу *itsm_group_reassign_access* . Кнопка "Переназначить" доступна для статусов обращений: "На очереди", "В процессе", "Информация предоставлена". При необходимости в скрипте можно добавить требующиеся статусы.

Операции над фильтрами
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Для всех обращений в указанном преднастроенном фильтре:

1. Завершает текущую работу с формой завершения с заполненными полями статус и группа полей статуса


Операции над выборкой
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Реестр "Операции над выборкой" доступен из клиентской части Synergy в Хранилище -> Реестры. На АРМ для вызова записи реестра необходимо на основной таблице выбрать несколько обращений, отметив галочкой в начале строки, и в меню "Действия" над таблицей выбрать нужный статус. Для всех обращений произвольной выборки завершается текущая работа с формой завершения с заполненными полями указанного статуса и группы полей статуса.



Создание проблемы из обращения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Для создания проблемы из обращения отображается кнопка "В проблему". По нажатию на нее создается запись реестра "Проблемы" и поле "Источник" заполняется ссылкой на обращение. Также дополнительно копируются данные из обращения в проблему.

Данная кнопка становится доступной только после активации записи реестра обращения и для определенных статусов. Список статусов, при которых отображается данная кнопка на АРМ, настраивается в записи реестра "Настройки АРМ". 


.. figure:: _static/armSettings.png

        Рис. Настройки АРМ

Отображение кнопки в клиентской части Synergy настраивается в скрипте на статусе обращения (``itsm_form_incident_status``). Текст скрипта:  


::
    
    if(window.location.href.indexOf('Synergy') !== -1) {
        let buttonProblem = $(`[document_id="${getDocID()}"]`).closest('tbody').find('[data-button="APPROVE"]:contains("В проблему")').closest('tr');
        if([3].indexOf(Number(val)) === -1) {
            buttonProblem.hide();
          } else {
            buttonProblem.show();
      }      
    }   

При необходимости указания дополнительных статусов кроме статуса "В процессе", в массив через запятую нужно добавить порядковые номера других статусов из справочника "Статусы инцидента". Например: if([3, 7, 6].indexOf(Number(val)) === -1). 

По умолчанию, кнопка "В проблему" доступна для статуса "В процессе".

Создание запроса на изменение из обращения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Доступна возможность создания запросов на изменение из обращений. Для этого отображается кнопка "Запрос на изменение", по нажатию на которую создается запрос на изменение на основе обращения и поле "Ссылка на обращение" заполняется ссылкой на документ, в поле "Источник" указывается "Обращение". Также дополнительно копируются данные из обращения в запрос на изменение. 

Данная кнопка доступна для пользователей группы ``itsm_group_button_rfc`` на статусах обращений "Зарегистрировано", "Информация предоставлена", "На очереди", "В процессе". При необходимости в скрипте можно добавить или убрать нужные статусы, а также данные копируемые из обращения в запрос на изменение.


   