ich habe folgendes Problem. Bei uns kommen unter anderem zwoi dynamische Felder zum Einsatz, die den Störungsanfang und das Störungsende beinhalten (Störungsanfang ≠ Zeitpunkt, an dem das Ticket eröffnet wird, Störungsende ≠ Zeitpunkt, zu dem das Ticket geschlossen wird).
Das Feld Störungsanfang ist im Dialog "Ticket erstellen" ein Pflichtfeld.
Das Feld Störungsende ist im Dialog "Ticket schließen" ein Pflichtfeld.
Es soll nun nur möglich sein ein Ticket zu schließen, wenn das Feld Störungsende gesetzt ist.
Über den Dialog "Ticket schließen" ist das der Fall.
Nun kann ich aber beim Ticket erstllen, den Status "geschlossen", "warten auf erfolgreich schließen" und "warten auf erfolglos schließen" setzten und damit diese Beschränkung umgehen. Genauso kann ich über den Dialog "Warten auf..." dem Ticket entsprechende Status zuweisen und darüber die Beschränkung umgehen.
Das habe ich nun versucht mittels zwei ACL zu lösen. Hier der relevante Code aus dem Export:
Code: Select all
ConfigChange:
PossibleNot:
Ticket:
State:
- closed successful
- closed unsuccessful
- pending auto close+
- pending auto close-
ConfigMatch: ''
ID: '1'
Name: 1. Ticket schließen nicht möglich
ConfigChange:
PossibleAdd:
Ticket:
State:
- closed successful
- closed unsuccessful
- pending auto close+
- pending auto close-
ConfigMatch:
Properties:
Ticket:
DynamicField_Ende:
- '[Not]undef'
ID: '2'
Name: 2. Ticket erfolgreich schließen nur bei gesetztem Störungsende
In der zweiten ACL werden diese wieder aktiviert, wenn das Dyamische Feld Ende (interner Name für das Störungsende) gesetzt ist.
Durch die Namen wird auch dafür gesorgt, dass die beiden ACLs auch in dieser Reihenfolge ausgeführt werden.
Sie funktionieren auch in soweit, dass betreffenden Status so lange nicht zur Verfügung stehen, wie das Feld "Störungsende" nicht gesetzt ist.
Wenn ich nun aber das Feld "Störungsende" setze, werden die Status erst aktviert, wenn der Wert in die Datenbank geschrieben wird und nicht während des Dialoges. Wenn ich in der zweiten ACL in der Bedingung allerdings mal testweise kein dynamisches Feld sondern ein bereits vorhandes Feld nehme wirkt sich die Änderung unmittelbar aus.
Woran liegt das? Und gibt es eine Möglichkeit das ganz anzupassen, dass sich Änderungen im Feld Störungsende unmiitelbar auswirken?
Oder habt ihr ggf. andere Lösungsmöglichkeiten das Problem zu umgehen, dass Tickets geschlossen werden, ohne dass ein Störungsende eingetragen ist?
Ich hoffe, dass mir hier jemand weiterhelfen kann.