Hauptmenü

Jobs: Bearbeiter / Verantwortlicher setzen funktioniert nicht bei Events

Begonnen von Alexander Gensler, 12.03.2024 16:11:39

⏪ vorheriges - nächstes ⏩

Alexander Gensler

Guten Tag,

in KIX 18 (Build: 4438-0.1868-0) habe ich einen Job, der beim Event "TicketCreate" mehrere Aktionen durchführt:
- Titel setzen
- Bearbeiter setzen (<KIX_CONTACT_Login>; Anmerkung: ja es ist Absicht, dass der angegebene Kontakt gleichzeitig Bearbeiter ist)
- Verantwortlichen setzen ( <KIX_TICKET_DynamicField_xxx_Object_0_Login)
- Status setzen
Leider werden, wenn der Job durch TicketCreate angestoßen wird, nur der Titel und der Status gesetzt. Führe ich den Job dagegen manuell aus, werden alle vier Aktionen problemlos ausgeführt.

Ich hatte zuerst die Vermutung, dass während "TicketCreate" die Platzhalter KIX_CONTACT und KIX_TICKET vielleicht noch nicht zur Verfügung stehen, da bei der Aktion Titel setzen allerdings auch auf den Platzhalter aus dem Namespace KIX_TICKET zugegriffen wird, sollte zumindest letzteres möglich sein.

Viele Grüße
Alexander

Frank Niethardt

Moin Alexander,

versuch mal, nicht "TicketCreate" zu nehmen, sondern "NotificationNewTicket". Hat bei mir geholfen, als ich versucht habe den Inhalt des erstellenden Articles in ein Dynamisches Feld zu setzen, um eine "Beschreibung" im Ticket zu haben. 

Ich habe das Gefühl, dass KIX noch zu sehr mit der Ticketerstellung beschäftigt ist, oder aber "TicketCreate" zu früh gefeuert wird, um schon auf alle Informationen Zugriff zu haben.

Viele Grüße
Frank

Alexander Gensler

Guten Morgen Frank,

vielen Dank für den Hinweis. Was sind denn die Voraussetzungen, dass NotificationNewTicket abgefeuert wird? Bei mir startet der Job nun gar nicht.

Viele Grüße
Alexander

Frank Niethardt

Soweit ich den Code verstehe, muss ein Ticket erstellt worden sein aus einem Article. Dieser erste Article feuert dann den Event.

Alexander Gensler

#4
Aktuell wird das Ticket im SSP erstellt, ein Artikel ist nicht dabei, da alle benötigten Daten über Dynamische Felder abgefragt werden.

Ich habe es testweise mal mit einem im Hintergrund gesetzten Artikel gemacht, dann wird zwar der Job gestartet, das Setzen von Bearbeiter und Verantwortlicher funktioniert aber auch da nicht. Gleichzeitig hat der Test bestätigt, dass zu diesem Zeitpunkt noch nicht auf die benötigten Daten zugegriffen werden kann, denn ich habe im Artikel die Daten aus den Dynamischen Feldern verwendet und diese konnten dort noch nicht angezeigt werden.

Es gibt zwar eine Möglichkeit beim Job über die Aktion "Wait", dass er erst 30 Sekunden wartet. Das ändert aber auch nichts, da dann die Erstellung des gesamten Tickets, nicht aber die Ausführung des Jobs um 30 Sekunden verzögert wird.

Frank Niethardt

Ein Ticket ohne Article zu haben ist zwar verständlich, aber nach meiner Erfahrung wird in KIX davon ausgegangen, dass du einen Article hast. Beispielsweise habe ich ein Ticket ohne Article, was auf ewig fett in den Listen auftaucht, weil ich es nicht als "gelesen" setzen kann.

Ich hab das jetzt so gemacht, dass ich einfach statt extra dynamischen Feldern in der Maske einen Article vom Typ Note konfiguriert habe. Dadurch bekommst du schon einen Betreff, eine Beschreibung und evtl. die Möglichkeit, Dateien anzuhängen. Der Betreff wird automatisch zum Titel und den Inhalt des Articles ziehe ich mir in ein Beschreibungsfeld, was dann wiederum in den Ticket Details angezeigt wird.

Bei dem eigentlichen Problem kann ich dir dann leider nicht weiterhelfen, ich hätte auch mit dem "Wait" getestet.

Beatrice Müller

Hallo Alexander,

und wenn dein Job durch das Setzen eines der dynamischen Feldes getriggert wird?
Lässt sich das Problem damit lösen?

Viele Grüße
Beatrice

Alexander Gensler

Hallo Beatrice,

vielen Dank für den Hinweis, leider funktioniert es damit auch nicht.
Ich habe als Event "TicketDynamicFieldUpdate_Personalsachbearbeiter" ausgewählt und genau dieses Feld dann verwendet, um den Ticket-Bearbeiter mittels <KIX_TICKET_DynamicField_Personalsachbearbeiter_Object_0_Login> zu setzen. Führe ich den Job händisch aus, funktioniert es wiederum.

Viele Grüße
Alexander

Beatrice Müller

Hallo Alexander,

mittlerweile hat sich das Problem als Bug heraus gestellt, welcher mit der v32 behoben sein wird.

Wenn ein User Agent und Kunde zugleich ist und im Kundenportal ein Ticket einstellt, kann dieses Ticket nicht per Job dem gleichen User im Agentenportal zugewiesen werden.
Im Log sollte dabei so etwas in der Art zu finden sein:
Couldn't update ticket xy - setting the lock state "lock" failed!
Viele Grüße
Beatrice