Hauptmenü

Service als Pflichtfeld?

Begonnen von danielwi, 12.08.2020 17:50:39

⏪ vorheriges - nächstes ⏩

danielwi

Hallo,


ich weiß, dass das Thema hier schon einmal behandelt wurde. Allerdings löst das nicht mein Problem. Ich habe bereits an allen Stellen in der Sysconfig den Wert von ServiceMandatory auf ja gesetzt. Allerdings verhindert das nicht, dass man ein Ticket ohne ausgewählten Service schließt. Vor allem im Reiter "Ticketkerndaten" kann man den nächsten Status problemlos auswählen.


Ich habe es auch versucht, über ACLs zu lösen (siehe Anhang). Allerdings greift die ACL auch nach dem Anwenden nicht. Ich vermute, dass ich die Filterbedingung falsch gesetzt habe. Kann mir hier jemand weiter helfen?


VG
Daniel




Nick Stemmler

#1
Guten Morgen danielwi,

in der aktuellen KIX Version ist es nicht möglich, das Servicefeld unter den Ticketkerndaten als Pflichtfeld zu definieren.
Hierzu kannst du gern einen neuen Post in der Kategorie Feature Request erstellen, den Befehl habe ich dir bereits am Ende meines Beitrags ausgearbeitet.


Alternativ möchte ich dir noch folgende Lösung vorschlagen:
Die Agenten sollen nicht mehr in der Lage sein, das Ticket über die Ticketkerndaten zu schließen.
Tickets können zukünftig über Ticket bearbeiten oder Ticket schließen geschlossen werden, da es hier möglich ist das Servicefeld als Pflichtfeld zu definieren.

Lösung:
1. Servicefeld aktivieren und als Pflichtfeld definieren


***1.1 Für Feld Ticket schließen***
****************************************************************
Frontend::Agent::Ticket::ViewClose bearbeiten
--> Ticket::Frontend::AgentTicketClose###Service #Ja
--> Ticket::Frontend::AgentTicketClose###ServiceMandatory #Ja
****************************************************************



***1.2 Für Feld Ticket bearbeiten***
****************************************************************
Frontend::Agent::Ticket::ViewNote
--> Ticket::Frontend::AgentTicketNote###Service #Ja
--> Ticket::Frontend::AgentTicketNote###ServiceMandatory #Ja
****************************************************************




2. Statusfeld unter Ticketkerndaten deaktivieren (Variante 1)
ODER
   Statusauswahl begrenzen (Variante 2)


***Variante 1: Ticketkerndaten Status ausblenden***
****************************************************************
Frontend::Agent::Ticket::ViewTicketZoomTabEditCoreData
--> Ticket::Frontend::AgentTicketZoomTabEditCoreData###State
****************************************************************



ODER


***Variante 2: Ticketkerndaten Statusauswahl begrenzen***
****************************************************************
Frontend::Agent::Ticket::ViewTicketZoomTabEditCoreData
--> Ticket::Frontend::AgentTicketZoomTabEditCoreData###StateType
--> Werte "closed" und "pending auto" entfernen
****************************************************************




Optional: Feature Request
unter Frontend::Agent::Ticket::ViewTicketZoomTabEditCoreData soll der Befehl Ticket::Frontend::AgentTicketZoomTabEditCoreData###ServiceMandatory eingefügt werden.
(Bitte den Beitrag selbst erstellen!)


Ich freue mich auf dein Feedback!


Viele Grüße
Nick

danielwi

Hallo Nick,


danke für das ausführliche Feedback. Das hilft schon mal ein bisschen weiter. Es hat jedoch einen Grund, wieso ich den Weg über die ACLs gehen wollte. Wie können den Ticket-State auch in vielen anderen Formularen ändern, um den Admins das Leben zu erleichtern. Beispielsweise auch in den Formularen für Telefonate oder E-Mail-Antworten. Dort müsste das Service-Feld dann auch als Mandatory eingeblendet werden. Und da habe ich bisher keine Möglichkeit gefunden. Kannst Du das so bestätigen oder hast du noch eine Idee?


VG
Daniel

Nick Stemmler

#3
Hallo Daniel,


es ist im KIX nicht möglich das Feld "Service" bei ausgehenden E-Mails oder bei Telefonaten zu hinterlegen.
Dies wird auch über die ACL nicht funktionieren.


Aber ich konnte noch eine weitere Lösung für dich erörtern.
Man kann statt der Deaktivierung bzw. der Konfiguration der Service Felder in der Sysconfig auch teilweise den Weg über die ACL gehen.
Ich fasse hierzu noch einmal kurz die Situation zusammen.
Screenshots zur Einrichtung findest du im Anhang.


Situation:
Die Agenten dürfen keine Statusänderung per Ticketkerndaten oder dem "Bearbeiten" Button hervorrufen, wenn das Feld "Service" nicht ausgefüllt wurde.


Erklärung:
Es müssen zwei neue ACL angelegt werden.
Die Erste, die die Bearbeitung des Ticketstatus pauschal verhindert. (Feld nicht mehr auswählbar)
Die Zweite, die die Bearbeitung des Ticketstatus wieder zulässt, sobald das Feld "Service" ausgewählt wird.
(Wie bereits erwähnt ist eine Statusänderung per Mailversand oder Telefon auch ohne Serviceangabe weiterhin möglich!)


Lösung per ACL:
KIX Admin ->Access Control Lists (ACL) -> Neue ACL erstellen
1. ACL
Filterbedingungen = Properties
--> Frontend --> "Action" eintragen --> Regular Expression auswählen
--> "AgentTicketZoom" eintragen --> zusätzliches Feld "AgentTicketNote" eintragen



Wertänderung = PossibleNot
--> Ticket --> "State" eintragen --> Regular Expression auswählen
--> ".*" eintragen
Speichern und abschließen




2. ACL
Filterbedingungen = Properties
--> Ticket --> "Service" eintragen --> Regular Expression auswählen
--> ".*" eintragen


Wertänderung = Possible --> Ticket --> "State" eintragen --> Regular Expression auswählen
--> ".*" eintragen
Speichern und abschließen
ACLs in Betrieb nehmen




Viele Grüße
Nick

danielwi

#4

Hi,


sorry aber das klappt so nicht. Ich habe eben zwei Stunden lang gefummelt und es nicht hin bekommen. In meiner Verzweiflung habe ich es mal auf das nötigste runter gebrochen. Und schon daran scheitert es:


1. Ich verbiete das schließen von Tickets generell. Das funktioniert auch. Ich sehe in der Dropdown-Liste keine Einträge mehr, mit denen ich ein Ticket schließen könnte.
2. Ich erlaube in der nächsten ACL die Einträge wieder, indem ich mit der gleichen RefEx wie auch in Punkt 1. arbeite. Da die ACLs ja linear abgearbeitet werden, müssten wieder alle Einträge sichtbar sein. Aber statt dessen ist das Feld Staus-Feld in allen Formularen ausgegraut.
3. Ein weiterer Versuch: Ich erlaube einfach wieder alle Felder. Ergebnis: Es erscheinen einfach die gleichen Einträge wie auch unter 1.


Lasse ich ACL1 weg, werden alle Einträge wie erwartet angezeigt. Sowohl in Beispiel 2 als auch in Beispiel 3.
Anscheined ist es nicht möglich, die in ACL1 ausgeblendeten Felder wieder einzublenden. Ich kann nur mit dem Rest arbeiten. Was soll das? Natürlich habe ich auch alle ACLs schon testweise neu erstellt. Ich habe auch mit Possible und PossibleNot experimentiert. Alles brachte das gleiche Ergebnis.

Edit: Ich habe mit mal die Logs anzeigen lassen:


Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Possible param 'merged' added to return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Possible param 'pending auto close-' added to return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Possible param 'pending auto close+' added to return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Possible param 'pending reminder' added to return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Possible param 'removed' added to return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Possible param 'open' added to return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Possible param 'closed unsuccessful' added to return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Possible param 'closed successful' added to return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Possible param 'pending auto reopen' added to return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Possible param 'closed with workaround' added to return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Possible param 'new' added to return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Reset return data:'Ticket:State''
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Used with Possible:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Matched for return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' PossibleNot param 'merged' leaved for return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' PossibleNot param 'pending auto close-' removed from return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' PossibleNot param 'pending auto close+' removed from return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' PossibleNot param 'pending reminder' leaved for return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' PossibleNot param 'removed' leaved for return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' PossibleNot param 'open' leaved for return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' PossibleNot param 'closed unsuccessful' removed from return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' PossibleNot param 'closed successful' removed from return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' PossibleNot param 'pending auto reopen' leaved for return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' PossibleNot param 'closed with workaround' removed from return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' PossibleNot param 'new' leaved for return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' Used with PossibleNot:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' Matched for return data:'Ticket:State'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '990_DependingDynamicFieldSelection' Matched for return data:'Ticket:Queue'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1500_Erlaube_Ticket_schliessen' Matched for return data:'Ticket:Queue'
Fri Sep 4 12:58:03 2020 info KIX-CGI-37 TicketACL '1000_Verbiete_Ticket_schliessen' Matched for return data:'Ticket:Queue'


Die Werte scheinen ja korrekt zugewiesen zu werden. Wieso in Gottes Namen bekomme ich sie dann im Status-Feld nicht angezeigt?


VG
Daniel

Nick Stemmler

Hallo Daniel,


die Anleitung selbst ist richtig und wurde von mir erfolgreich getestet.
Ich habe gesehen, dass du in einem weiteren Foreneintrag ebenfalls Probleme mit der ACL Funktion hast.
(Verweiste Merged-Tickets als Nebeneffekt von ACL)


Anscheinend liegt ein Fehler in deinem System vor, mein Kollege Jörg hat in deinem anderen Ticket eine Datei von dir angefordert und wird diese auswerten.
Auch das Problem aus diesem Thread wird sich damit wahrscheinlich lösen lassen.


Viele Grüße
Nick

danielwi

Hi Nick,


danke für den Hinweis. Ich habe die Datei gesendet und warte nun auf Rückmeldung. :)


VG
Daniel