process management

Обсуждение вопросов и решений

Модератор: ykolesnikov

Ответить
e.levitskiy
OTRS Новобранец
Сообщения: 46
Зарегистрирован: 25 июл 2014, 11:56

process management

Сообщение e.levitskiy » 12 сен 2017, 12:38

и снова здравствуйте, уважаемые коллеги
вновь вернулся к подзабытому желанию освоить process management
столкнулся с непониманием одного момента:
- при выполнении условия перехода- создается связанная заявка, крайне хочется в нее передать CustomerUser того, кто создал процессную заявку.
в мануале вообще не указано, можно ли использовать переменные Изображение
своим умом понимаю, что новая заявка- новая сущность, которая никоим образом не связана (кроме линка) с родителем, и передать ей кастомера, создавшего процессную заявку попросту никак. но может все-таки?
суть- процесс трудоустройства на работу- сотрудник отдела кадров заполняет форму процессной заявки (завести учетку, выдать комп, телефон, подготовить канцелярией и т.п.) эти работы выполняют разные отделы. соответственно при заведении процессной заявки необходимо наплодить несколько новых профильных.(заведение учетки админам, подготовить ПК в техподдержку и т.п.) но в качестве кастомера необходимо указать сотрудника отдела кадров, который изначально завел процессную заявку, чтобы он контролировал процесс выполнения- что сделано а что нет. ( при выполнении прилетает емейл-уведомление)
сотрудник отдела кадров не один, поэтому жестко указать его нельзя.
#хелпмиплиз
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)

e.levitskiy
OTRS Новобранец
Сообщения: 46
Зарегистрирован: 25 июл 2014, 11:56

Re: process management

Сообщение e.levitskiy » 12 сен 2017, 13:34

вот тут, замучался, что тут подставить- чтобы нужный клиент был указан? пробовал разное, не могу сообразить, возможно ли вообще переменные использовать?
Изображение
история заявок показывает что воспринимает это все как текст..
Изображение
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)

MrIch
OTRS Новобранец
Сообщения: 97
Зарегистрирован: 30 ноя 2015, 10:37

Re: process management

Сообщение MrIch » 12 сен 2017, 14:11

Приветствую!

Тоже долго пытался понять, как заставить отрску брать данные родителя.
Данную проблему решил с помощью изменения кода /opt/otrs/Kernel/System/ProcessManagement/TransitionAction/TicketCreate.pm
Вот пример кода, который вам нужно будет вставить в данный модуль, дабы получилось - то, что вы хотите:
в начало:

Код: Выделить всё

use strict;
use warnings;
use utf8;
use Kernel::System::ObjectManager; # эту строчку добавляем
use Kernel::System::VariableCheck qw(:all);
Делаем поиск по TicketCreate и видим такую строчку:

Код: Выделить всё

my $TicketID = $TicketObject->TicketCreate(
        %TicketParam,
        UserID => $Param{UserID},
    );
После нее добавляем:

Код: Выделить всё

my $TicketObject = $Kernel::OM->Get('Kernel::System::Ticket');
my %Ticket12 = $TicketObject->TicketGet(
            TicketID      => $Param{Ticket}->{TicketID},
            DynamicFields => 1,         # Optional, default 0. To include the dynamic field values for this ticket$
            UserID        => 1,
        );
my $Success123 = $TicketObject->TicketCustomerSet(
        No       => $Ticket12{CustomerID},
        User     => $Ticket12{CustomerUserID},
        TicketID => $TicketID,
        UserID   => 1,
    );
Сохраняем - пробуем).
В результате у вас создаться заявка - в которой клиентом будет клиент процессной заявки
OTRS ITSM 5.0.3
Ubuntu 14.04 + PostgreySQL 9.3.9 +Apache 2.4.7

e.levitskiy
OTRS Новобранец
Сообщения: 46
Зарегистрирован: 25 июл 2014, 11:56

Re: process management

Сообщение e.levitskiy » 12 сен 2017, 15:36

Респект!! работает! спасибо огромное!
*нужно учить код:)
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)

e.levitskiy
OTRS Новобранец
Сообщения: 46
Зарегистрирован: 25 июл 2014, 11:56

Re: process management

Сообщение e.levitskiy » 12 сен 2017, 16:32

продолжаем...как дальше размножить процессную заявку на множество связанных заявок ?
насколько я понял- процесс-менеджмент не умеет паралелить процесс- только заданна последовательность. при попытке запуска вот такого процесса
Изображение
с одинаковым условием перехода выполняется по-моему то условие- которое в алфавитном порядке выше.
при этом можно создавать связанные заявки (еще раз спасибо MrIch)
имеем при создании процессной заявки форму из динамических полей
Изображение
следующий шаг- создания множества связанных заявок в разные очереди на выполнение. в разных новых заявках необходимо отразить информацию из первоначальных динамических полей. как ? знает кто-то?
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: process management

Сообщение alexus » 13 сен 2017, 00:23

В 5-ке точно можно создавать связанные тикеты в процессах.
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

e.levitskiy
OTRS Новобранец
Сообщения: 46
Зарегистрирован: 25 июл 2014, 11:56

Re: process management

Сообщение e.levitskiy » 13 сен 2017, 09:32

в 4 тоже можно, никаких проблем, мой вопрос- как в связанный тикет передать инфо из процессного тикета? в данном случае динамические поля.
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)

e.levitskiy
OTRS Новобранец
Сообщения: 46
Зарегистрирован: 25 июл 2014, 11:56

Re: process management

Сообщение e.levitskiy » 13 сен 2017, 09:39

т.е. заводим процессную заявку
Изображение
согласно действиям перехода создается еще одна заявка. все класс
Изображение
но в процессной заявке есть динамические поля с информацией
Изображение
а в генерируемой действием перехода - нет, пустая заявка
Изображение
вот и ломаю голову- как передать в генерируемые связанные заявки информацию из родительской процессной
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)

MrIch
OTRS Новобранец
Сообщения: 97
Зарегистрирован: 30 ноя 2015, 10:37

Re: process management

Сообщение MrIch » 13 сен 2017, 10:21

Приветствую!)

И опять же - тоже бился над данной проблемой), ну и как следствие - *типо интрига* - модификация кода!)

Но тут уже нужна либо прям конкретика, либо вам лучше в этом разобраться самому).

https://drive.google.com/open?id=0By1Uj ... UNmdmRYaGM - ссылка на мой модуль с тестовой системы.
у меня пользователи дураки - поэтому все за них я делаю с помощью кода, дабы потом не нужно было править).
В чем тут фишка (опишу только то, что вносил):
1) Есть два варианта работы модуля - если в веб интерфейсе указан параметр ProcessTicket(строка 156) и если нет (со строки 764)
2) Если нет - то это стандартный кусок модуля без модификаций (со строки 764)
3) Если указан (строка 156) , то:
-Перед тем как делать какие-либо действия - вытаскиваем всю инфу по изначальному процессному заданию сюда: %Ticket12 (159)
-Специфика нужная мне для разбития - если указан чекбокс в динамическом поле (169) - то создаем заявку с определенным набором условий, если нет - то проверяем второе динамическое поле (466), если опять нет - просто выдаем единичку - типо все ок).
-Все параметры, которые передаются в функцию создания заявки - записываются в %TicketParam (из стандартного куска кода взято)- на строках 172-182 идет соотношение между этим массивом(переменной или еще чем - хз, делаю все по наитию, в терминах перла не разбираюсь)) ) и данными полученными от процессной заявки
-По каким то причинам при создании заявки - отрска не хочет указывать клиента - делаем это руками (193)
-Также в подзаявку засовываем инфу по первому сообщению из процессной заявки (234-253)
4) Дальше уже идет специфика - она вам по идее не нужна - можете навставлять стандартный код со строки 331 по 464
5) Для того, чтобы передать динамические поля в связанный тикет, нужно будет поменять в цикле DYNAMICFIELD
код

Код: Выделить всё

my $Success = $DynamicFieldBackendObject->ValueSet(
            DynamicFieldConfig => $DynamicFieldConfig,
            ObjectID           => $ObjectID,
            Value              => $Param{Config}->{ 'DynamicField_' . $DynamicFieldConfig->{Name} },
            UserID             => $Param{UserID},
        );
на

Код: Выделить всё

my $Success = $DynamicFieldBackendObject->ValueSet(
            DynamicFieldConfig => $DynamicFieldConfig,
            ObjectID           => $ObjectID,
            Value              => $Param{Ticket}->{ 'DynamicField_' . $DynamicFieldConfig->{Name} },
            UserID             => $Param{UserID},
        ); 
OTRS ITSM 5.0.3
Ubuntu 14.04 + PostgreySQL 9.3.9 +Apache 2.4.7

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: process management

Сообщение alexus » 13 сен 2017, 10:56

Ребята, вы тут функционал BPM-системы обсуждаете ))). Понятно, что задачи бывают такие. Но OTRS всё-таки немного другой продукт. Можно, конечно, там всего навернуть. Но надо иметь эксперитизу для этого.
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

MrIch
OTRS Новобранец
Сообщения: 97
Зарегистрирован: 30 ноя 2015, 10:37

Re: process management

Сообщение MrIch » 13 сен 2017, 11:09

Можно конечно - но так не интересно)).
Открытый же продукт - соответственно можно крутить как душе угодно).
OTRS ITSM 5.0.3
Ubuntu 14.04 + PostgreySQL 9.3.9 +Apache 2.4.7

e.levitskiy
OTRS Новобранец
Сообщения: 46
Зарегистрирован: 25 июл 2014, 11:56

Re: process management

Сообщение e.levitskiy » 13 сен 2017, 11:26

эм, а чем отличается функционально процесс создания рабочего места сотрудника от процесса заказа книги из мануала?
процесс ? процесс! инструмент в ОТРС есть? есть! хреновый? хреновый, ибо бесплатный ) но есть!
информации по процессам на форуме мало, так почему бы не наполнить его полезной информацией. будем расти и развиваться вместе!
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: process management

Сообщение alexus » 13 сен 2017, 11:30

У нас есть платный модуль Workflow, который как раз решает задачу создания последовательности связанных и зависимых тикетов. Можно и Процессы докрутить-допилить, но мы в своей практике их не используем, т.к. решили подобные задачи другим путём.
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

e.levitskiy
OTRS Новобранец
Сообщения: 46
Зарегистрирован: 25 июл 2014, 11:56

Re: process management

Сообщение e.levitskiy » 13 сен 2017, 15:35

MrIch писал(а):Приветствую!)

1) Есть два варианта работы модуля - если в веб интерфейсе указан параметр ProcessTicket(строка 156) и если нет (со строки 764)
[/code]
спасибо, разбираюсь, не очень понятна эта фраза. подскажете что подразумевается?
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: process management

Сообщение ykolesnikov » 13 сен 2017, 16:02

А ещё есть ITSM модуль ChangeManagement, хотя уверен, workflow от Радиант будет удобнее в данном случае.
А "допильщиков" :D с профессиональным праздником - Днём Программиста!
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

e.levitskiy
OTRS Новобранец
Сообщения: 46
Зарегистрирован: 25 июл 2014, 11:56

Re: process management

Сообщение e.levitskiy » 13 сен 2017, 16:11

ykolesnikov писал(а):А ещё есть ITSM модуль ChangeManagement,
я им не проникся (либо некорректно оценил функционал) ввиду обязательного назначения исполнителя. а хочется направлять процессную заявку в профильную очередь специалистов, без привязки к агентам, чтобы на выполнение брал любой свободный
в контексте моей задачи-
-при трудоустройстве сотрудника в интерфейсе кастомера сотрудник отдела кадров заполняет все необходимые поля (ФИО/должность/руководитель/необходимое оборудование/необходимая канцелярия/и т.п./ - заявка залетает в одну "родительскую" очередь , и множится в другие необходимые очереди. в размноженных заявках хотелось бы в идеале отразить "каждому свое"
админам -динамические поля с информацией для заведения учетки. техподдержке-поля для подготовки оборудования/ хозяйственникам- инфо для подготовки канцелярии/и т.п.
минимально- всем показывать всё.
как такое завернуть через ChangeManagement без согласований работ и прочих лишних "в контексте данной задачи" приседаний- не представляю
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)

MrIch
OTRS Новобранец
Сообщения: 97
Зарегистрирован: 30 ноя 2015, 10:37

Re: process management

Сообщение MrIch » 13 сен 2017, 17:51

e.levitskiy писал(а):
MrIch писал(а):Приветствую!)

1) Есть два варианта работы модуля - если в веб интерфейсе указан параметр ProcessTicket(строка 156) и если нет (со строки 764)
[/code]
спасибо, разбираюсь, не очень понятна эта фраза. подскажете что подразумевается?
Если при настройке TransactionAction укажете ProcessTicket = чему угодно, то заявка пойдет по 156-764, если не указан - то с 764 строки будет выполняться код).

Изображение

ykolesnikov писал(а): А "допильщиков" :D с профессиональным праздником - Днём Программиста!
Спасибо )))
OTRS ITSM 5.0.3
Ubuntu 14.04 + PostgreySQL 9.3.9 +Apache 2.4.7

Ответить