Научный руководитель: Вильданов Алмаз Нафкатович
к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал
Рассмотрим подробнее задачу внедрения нового процесса:
1. Подача заявки осуществляется самостоятельно пользователем через 1С.
2. Заявка будет распределяться диспетчером, в зависимости от какого вида проблем будет распределяться задания диспетчерам профильного направления (проблемы по электрике или механики).
3. Профильные диспетчера будут распределять по ремонтным бригадам
4. Бригадиры будут отмечать, что отработано или требуется дополнительные работы.
В последующем группы ответственных будем просто добавлять в настройках пользователя (см. рисунок 1):
Рисунок 1. Настройки
Рисунок 2. Схема процесса
Примерная схема процесса (см. рисунок 2):
Настроим этапы по процессу (см. рисунок 3):
Рисунок 3. Этапы процесса
Любой процесс начинается с этапа новый. Следующим этапом станет «Назначение ответственных» исполнителем по умолчанию проставим группу «Диспетчера». В последующих тестовых прогонах в данном пункте нет необходимости.
Следующим этапом идут «Диспетчер 1» и «Диспетчер 2», ответственные группы «Диспетчер цех 1» и «Диспетчер цех 1» соответственно.
Следующие этапы — это «Выполнение» и «Ожидание ЗИП» ответственные группа «Ремонтники».
Теперь настроим рабочий стол для пользователей ServiseDesk (см. рисунок 4).
Рисунок 4. Рабочий стол пользователя
Добавим отдельную группу с кнопкой для запуска процесса (см. рисунок 5).
Рисунок 5. Добавление группы
Поскольку встроенная обработка «Облегченная форма» не дает полной возможности создания задания с дополнительными данными, было решено создать дополнительную обработку (см. рисунок 6):
Рисунок 6. Создание обработки
Рисунок 7. Форма обработки
В данной обработке присутствует единственная форма (см. рисунок 7).
Добавим на форму Поле ввода и дадим название «ИнвентарныйНомер». В данное поле будет вводиться начальные цифры инвентарного номера и результат будет формироваться в поле ввода «СписокОборудования» (см. рисунок 8).
Рисунок 8. Создание заявки на ремонт промышленного оборудования
За формирование списка отвечают функции поле «ИнвентарныНомер» изменение текста при редактировании (см. рисунок 9).
Рисунок 9. Изменение текста редактирования
А поле «СписокОборудования» связан со справочником «КарточкиНоменклатуры».
Выборка карточек происходит посредством запроса:
ЗапросИнвентарныйНомер = Новый Запрос();
ЗапросИнвентарныйНомер.Текст =
“ВЫБРАТЬ
| КарточкиНоменклатуры.Ссылка КАК Ссылка,
| КарточкиНоменклатуры.Наименование КАК Наименование
|ИЗ
| Справочник.КарточкиНоменклатуры КАК КарточкиНоменклатуры
|ГДЕ
| КарточкиНоменклатуры.ВидНоменклатуры.Наименование = “”Промоборудование”"
| И КарточкиНоменклатуры.ПометкаУдаления = ЛОЖЬ
| И КарточкиНоменклатуры.ИнвентарныйНомер ПОДОБНО &ИнвентарныйНомер
|
|УПОРЯДОЧИТЬ ПО
| КарточкиНоменклатуры.ИнвентарныйНомер”;
ЗапросИнвентарныйНомер.УстановитьПараметр(“ИнвентарныйНомер”, Текст + “%”);
Переменная «Текст» содержит цифры, которые вводятся в поле «Инвентарный номер».
Следующее поле — это будет «Вид поломки», который имеет три значения:
-
Не выбрано.
-
Электрика.
-
Механика.
При выборе электрика или механика будет в созданном задании выбран исполнитель Диспетчер цех 1 или 2. При «Не выбрано» задание будет на этапе «Новый» где главному диспетчеру будет необходимо выбрать куда отправить задание на исполнение. И последнее поле: «Описание проблемы» (см. рисунок 10).
Рисунок 10. Форма обработки
Рисунок 11. Обработка в конфигурации
После отладки помещаем данную обработку в конфигурацию и обновляем. В результате (см.
рисунок 11):
Переходим обратно в настройки рабочего стола пользователей открывает нашу кнопку (см. рисунок 12):
Рисунок 12. Виджет
Открываем вкладку обработчика и указываем (см. рисунок 13):
-
Вид обработчика «открыть форму»
-
Имя объекта указываем нашу обработку
Рисунок 13. Настройки виджета
Теперь у нас, точнее у пользователей появилась кнопка с созданием задания (см. рисунок 14-15).
Рисунок 14. Создание заявки на ремонт оборудования
Рисунок 15. Задание
Листинг кода модуля
&НаСервере
Процедура ИнвентарныйНомерИзменениеТекстаРедактированияНаСервере(Текст)
// Вставить содержимое обработчика.
ЗапросИнвентарныйНомер = Новый Запрос();
ЗапросИнвентарныйНомер.Текст =
“ВЫБРАТЬ
| КарточкиНоменклатуры.Ссылка КАК Ссылка,
| КарточкиНоменклатуры.Наименование КАК Наименование
|ИЗ
| Справочник.КарточкиНоменклатуры КАК КарточкиНоменклатуры
|ГДЕ
| КарточкиНоменклатуры.ВидНоменклатуры.Наименование = “”Промоборудование”"
| И КарточкиНоменклатуры.ПометкаУдаления = ЛОЖЬ
| И КарточкиНоменклатуры.ИнвентарныйНомер ПОДОБНО &ИнвентарныйНомер
|
|УПОРЯДОЧИТЬ ПО
| КарточкиНоменклатуры.ИнвентарныйНомер”;
ЗапросИнвентарныйНомер.УстановитьПараметр(“ИнвентарныйНомер”, Текст + “%”);
ВыборкаИнвентарныйНомер = ЗапросИнвентарныйНомер.Выполнить().Выбрать();
//что бы список не накапливался при каждый раз очищаем от старых данных
Элементы.СписокОборудования.СписокВыбора.Очистить();
//Делаем красивость
// если в запросе есть данные выводим “Выберете оборудование” и список
// если данных нет то выводим “Нет данных”
Если ВыборкаИнвентарныйНомер.Количество() > 0 Тогда
Элементы.СписокОборудования.СписокВыбора.Добавить(Справочники.КарточкиНоменклатуры.ПустаяСсылка(),”Выберете оборудование”);
Пока ВыборкаИнвентарныйНомер.Следующий() Цикл
// заполняем список Элементы.СписокОборудования.СписокВыбора.Добавить(ВыборкаИнвентарныйНомер.Ссылка, ВыборкаИнвентарныйНомер.Наименование);
КонецЦикла;
Иначе
Элементы.СписокОборудования.СписокВыбора.Добавить(Справочники.КарточкиНоменклатуры.ПустаяСсылка(),”Нет данных”);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура КомандаСоздатьНаСервере()
НовоеЗадание = Документы.Задание.СоздатьДокумент();
НовоеЗадание.Дата = ТекущаяДатаСеанса();
НовоеЗадание.ДатаСоздания = ТекущаяДатаСеанса();
НовоеЗадание.Инициатор = Пользователи.ТекущийПользователь();
НовоеЗадание.Автор = Пользователи.ТекущийПользователь();
НовоеЗадание.Тема = “Заявка на ремонт промышленного оборудования “;
НовоеЗадание.ТекстHTML = “<html><body>”
+ “<b>Оборудование:</b> ”
+ЭтаФорма.СписокОборудования+”<br>”
+ “<b>Инвентарный номер:</b> “ +СписокОборудования.ИнвентарныйНомер+”<br>”
+ “<b>Вид поломки:</b> “+ЭтаФорма.ВидПоломки+”<br>”
+ “<b>Описание проблемы:</b><br>”
+ СтрЗаменить(ЭтаФорма.ОписаниеПроблемы, Символы.ПС, “<br>”)
+”<br><br>”
+ “</body></html>”;
НовоеЗадание.Процесс = Справочники.Процессы.НайтиПоНаименованию(“Промоборудование”);
Если ВидПоломки = “Электрика” Тогда
НовоеЗадание.ТекущийИсполнитель = Справочники.ГруппыПользователей.НайтиПоНаименованию(“Диспетчер цех 1″);
НовоеЗадание.ТекущийЭтап = Справочники.ЭтапыПроцессов.НайтиПоКоду(“000000040″);
ИначеЕсли ВидПоломки = “Механика” Тогда
НовоеЗадание.ТекущийИсполнитель = Справочники.ГруппыПользователей.НайтиПоНаименованию(“Диспетчер цех 2″);
НовоеЗадание.ТекущийЭтап = Справочники.ЭтапыПроцессов.НайтиПоКоду(“000000041″);
Иначе
НовоеЗадание.ТекущийИсполнитель = Справочники.ГруппыПользователей.НайтиПоНаименованию(“Диспетчера”);
КонецЕсли;
//добавляем номенклатуру в задание
СтрокаКартиочкаНоменклатуры = НовоеЗадание.Номенклатура.Добавить();
СтрокаКартиочкаНоменклатуры.Номенклатура = СписокОборудования.Владелец;
СтрокаКартиочкаНоменклатуры.КарточкаНоменклатуры = СписокОборудования;
СтрокаКартиочкаНоменклатуры.ЕдиницаИзмерения = СписокОборудования.Владелец.ЕдиницаИзмерения;
СтрокаКартиочкаНоменклатуры.Количество = 1;
НовоеЗадание.Записать(РежимЗаписиДокумента.Запись);
НовоеЗадание.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры
&НаКлиенте
Процедура ИнвентарныйНомерИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)
ИнвентарныйНомерИзменениеТекстаРедактированияНаСервере(Текст);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
//делаем чтобы сразу было выбрано “Не выбрано”
ЭтотОбъект.ВидПоломки = Элементы.ВидПоломки.СписокВыбора[0].Значение;
КонецПроцедуры
&НаКлиенте
Процедура КомандаЗакрыть(Команда)
ЭтаФорма.Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура КомандаСоздать(Команда)
ЭтаФорма.Элементы.КнопкаСоздать.Видимость = Ложь; // скрываем кнопку Создать
ЭтаФорма.Элементы.КнопкаЗакрыть.ЦветФона = WebЦвета.ЗеленаяЛужайка;//красим кнопку в зелененький Выход
КомандаСоздатьНаСервере(); // нууу… команда выполнения на сервере создания задания
КонецПроцедуры
Библиографический список
- Morris, D., & Parker, C. (2017). The ITSM Process Design Guide: Developing, Rengineering, and Improving IT Service Management. CreateSpace Independent Publishing Platform.
- O’Brien, J. (2016). Implementing Service Quality based on ITIL. Van Haren Publishing.
- Pultorak, D. (2016). IT Service Management Based on ITIL V3: A Pocket Guide. Van Haren Publishing.
- HDI (ранее Help Desk Institute) — https://www.thinkhdi.com/
- Институт службы поддержки – https://www.servicedeskinstitute.com/
- Программное обеспечение BMC – https://www.bmc.com/it-solutions/service-desk.html
- Глоссарий Gartner по информационным технологиям – https://www.gartner.com/en/information-technology/glossary/service-desk