process management
Модератор: ykolesnikov
-
- OTRS Новобранец
- Сообщения: 46
- Зарегистрирован: 25 июл 2014, 11:56
process management
и снова здравствуйте, уважаемые коллеги
вновь вернулся к подзабытому желанию освоить process management
столкнулся с непониманием одного момента:
- при выполнении условия перехода- создается связанная заявка, крайне хочется в нее передать CustomerUser того, кто создал процессную заявку.
в мануале вообще не указано, можно ли использовать переменные
своим умом понимаю, что новая заявка- новая сущность, которая никоим образом не связана (кроме линка) с родителем, и передать ей кастомера, создавшего процессную заявку попросту никак. но может все-таки?
суть- процесс трудоустройства на работу- сотрудник отдела кадров заполняет форму процессной заявки (завести учетку, выдать комп, телефон, подготовить канцелярией и т.п.) эти работы выполняют разные отделы. соответственно при заведении процессной заявки необходимо наплодить несколько новых профильных.(заведение учетки админам, подготовить ПК в техподдержку и т.п.) но в качестве кастомера необходимо указать сотрудника отдела кадров, который изначально завел процессную заявку, чтобы он контролировал процесс выполнения- что сделано а что нет. ( при выполнении прилетает емейл-уведомление)
сотрудник отдела кадров не один, поэтому жестко указать его нельзя.
#хелпмиплиз
вновь вернулся к подзабытому желанию освоить 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)
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
-
- OTRS Новобранец
- Сообщения: 46
- Зарегистрирован: 25 июл 2014, 11:56
Re: process management
вот тут, замучался, что тут подставить- чтобы нужный клиент был указан? пробовал разное, не могу сообразить, возможно ли вообще переменные использовать?
история заявок показывает что воспринимает это все как текст..
история заявок показывает что воспринимает это все как текст..
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
Re: process management
Приветствую!
Тоже долго пытался понять, как заставить отрску брать данные родителя.
Данную проблему решил с помощью изменения кода /opt/otrs/Kernel/System/ProcessManagement/TransitionAction/TicketCreate.pm
Вот пример кода, который вам нужно будет вставить в данный модуль, дабы получилось - то, что вы хотите:
в начало:
Делаем поиск по TicketCreate и видим такую строчку:
После нее добавляем:
Сохраняем - пробуем).
В результате у вас создаться заявка - в которой клиентом будет клиент процессной заявки
Тоже долго пытался понять, как заставить отрску брать данные родителя.
Данную проблему решил с помощью изменения кода /opt/otrs/Kernel/System/ProcessManagement/TransitionAction/TicketCreate.pm
Вот пример кода, который вам нужно будет вставить в данный модуль, дабы получилось - то, что вы хотите:
в начало:
Код: Выделить всё
use strict;
use warnings;
use utf8;
use Kernel::System::ObjectManager; # эту строчку добавляем
use Kernel::System::VariableCheck qw(:all);
Код: Выделить всё
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
Ubuntu 14.04 + PostgreySQL 9.3.9 +Apache 2.4.7
-
- OTRS Новобранец
- Сообщения: 46
- Зарегистрирован: 25 июл 2014, 11:56
Re: process management
Респект!! работает! спасибо огромное!
*нужно учить код:)
*нужно учить код:)
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
-
- OTRS Новобранец
- Сообщения: 46
- Зарегистрирован: 25 июл 2014, 11:56
Re: process management
продолжаем...как дальше размножить процессную заявку на множество связанных заявок ?
насколько я понял- процесс-менеджмент не умеет паралелить процесс- только заданна последовательность. при попытке запуска вот такого процесса
с одинаковым условием перехода выполняется по-моему то условие- которое в алфавитном порядке выше.
при этом можно создавать связанные заявки (еще раз спасибо MrIch)
имеем при создании процессной заявки форму из динамических полей
следующий шаг- создания множества связанных заявок в разные очереди на выполнение. в разных новых заявках необходимо отразить информацию из первоначальных динамических полей. как ? знает кто-то?
насколько я понял- процесс-менеджмент не умеет паралелить процесс- только заданна последовательность. при попытке запуска вот такого процесса
с одинаковым условием перехода выполняется по-моему то условие- которое в алфавитном порядке выше.
при этом можно создавать связанные заявки (еще раз спасибо MrIch)
имеем при создании процессной заявки форму из динамических полей
следующий шаг- создания множества связанных заявок в разные очереди на выполнение. в разных новых заявках необходимо отразить информацию из первоначальных динамических полей. как ? знает кто-то?
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: process management
В 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? Спросите меня как!
Алексей Юсов
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? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 46
- Зарегистрирован: 25 июл 2014, 11:56
Re: process management
в 4 тоже можно, никаких проблем, мой вопрос- как в связанный тикет передать инфо из процессного тикета? в данном случае динамические поля.
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
-
- OTRS Новобранец
- Сообщения: 46
- Зарегистрирован: 25 июл 2014, 11:56
Re: process management
т.е. заводим процессную заявку
согласно действиям перехода создается еще одна заявка. все класс
но в процессной заявке есть динамические поля с информацией
а в генерируемой действием перехода - нет, пустая заявка
вот и ломаю голову- как передать в генерируемые связанные заявки информацию из родительской процессной
согласно действиям перехода создается еще одна заявка. все класс
но в процессной заявке есть динамические поля с информацией
а в генерируемой действием перехода - нет, пустая заявка
вот и ломаю голову- как передать в генерируемые связанные заявки информацию из родительской процессной
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
Re: process management
Приветствую!)
И опять же - тоже бился над данной проблемой), ну и как следствие - *типо интрига* - модификация кода!)
Но тут уже нужна либо прям конкретика, либо вам лучше в этом разобраться самому).
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
код
на
И опять же - тоже бился над данной проблемой), ну и как следствие - *типо интрига* - модификация кода!)
Но тут уже нужна либо прям конкретика, либо вам лучше в этом разобраться самому).
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
Ubuntu 14.04 + PostgreySQL 9.3.9 +Apache 2.4.7
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: process management
Ребята, вы тут функционал 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? Спросите меня как!
Алексей Юсов
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? Спросите меня как!
Re: process management
Можно конечно - но так не интересно)).
Открытый же продукт - соответственно можно крутить как душе угодно).
Открытый же продукт - соответственно можно крутить как душе угодно).
OTRS ITSM 5.0.3
Ubuntu 14.04 + PostgreySQL 9.3.9 +Apache 2.4.7
Ubuntu 14.04 + PostgreySQL 9.3.9 +Apache 2.4.7
-
- OTRS Новобранец
- Сообщения: 46
- Зарегистрирован: 25 июл 2014, 11:56
Re: process management
эм, а чем отличается функционально процесс создания рабочего места сотрудника от процесса заказа книги из мануала?
процесс ? процесс! инструмент в ОТРС есть? есть! хреновый? хреновый, ибо бесплатный ) но есть!
информации по процессам на форуме мало, так почему бы не наполнить его полезной информацией. будем расти и развиваться вместе!
процесс ? процесс! инструмент в ОТРС есть? есть! хреновый? хреновый, ибо бесплатный ) но есть!
информации по процессам на форуме мало, так почему бы не наполнить его полезной информацией. будем расти и развиваться вместе!
Евгений Левицкий
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: process management
У нас есть платный модуль 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? Спросите меня как!
Алексей Юсов
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? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 46
- Зарегистрирован: 25 июл 2014, 11:56
Re: process management
спасибо, разбираюсь, не очень понятна эта фраза. подскажете что подразумевается?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)
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: process management
А ещё есть ITSM модуль ChangeManagement, хотя уверен, workflow от Радиант будет удобнее в данном случае.
А "допильщиков" с профессиональным праздником - Днём Программиста!
А "допильщиков" с профессиональным праздником - Днём Программиста!
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
-
- OTRS Новобранец
- Сообщения: 46
- Зарегистрирован: 25 июл 2014, 11:56
Re: process management
я им не проникся (либо некорректно оценил функционал) ввиду обязательного назначения исполнителя. а хочется направлять процессную заявку в профильную очередь специалистов, без привязки к агентам, чтобы на выполнение брал любой свободный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)
OTRS 6.0.10, ITSM 6.0.10
Oracle ent. Linux redhat 6.7 / MySQL 5.1.73 / Apache/2.2.15 (Oracle)
Re: process management
Если при настройке TransactionAction укажете ProcessTicket = чему угодно, то заявка пойдет по 156-764, если не указан - то с 764 строки будет выполняться код).e.levitskiy писал(а):спасибо, разбираюсь, не очень понятна эта фраза. подскажете что подразумевается?MrIch писал(а):Приветствую!)
1) Есть два варианта работы модуля - если в веб интерфейсе указан параметр ProcessTicket(строка 156) и если нет (со строки 764)
[/code]
Спасибо )))ykolesnikov писал(а): А "допильщиков" с профессиональным праздником - Днём Программиста!
OTRS ITSM 5.0.3
Ubuntu 14.04 + PostgreySQL 9.3.9 +Apache 2.4.7
Ubuntu 14.04 + PostgreySQL 9.3.9 +Apache 2.4.7