Hauptmenü

Bug: Filter auf Dynamische Felder (Checkbox) in Berichten

Begonnen von alexander.ritz, 27.03.2018 08:26:59

⏪ vorheriges - nächstes ⏩

alexander.ritz

Guten Morgen!


Da wir teilweise unsere Tickets an Kunden berechnen, gibt es auf Ticketebene ein dynamisches Feld "Abgerechnet" als Checkbox. Damit unsere Buchhaltung nun schnell eine Übersicht der zu berechnenden Tickets abrufen kann, wurde ein entsprechender Bericht erstellt.


Damit in diesem Bericht nur die noch abzurechnenden Tickets angezeigt werden, wurde in die Filtereinstellungen das dynamische Feld "Abgerechnet" mit aufgenommen.


Das Feld kann laut Filtereinstellungen zwei Zustände aufweisen


1. Checked
2. Unchecked


Leider sieht es aber so aus, dass dieses Feld bei einem abzurechnenden Ticket eben nicht den Status "Unchecked" hat sondern eher NULL bzw. "nicht vorhanden". Somit ist ein Filter auf "[/size]Unchecked" nicht möglich. [/size]

[/size]
Übersehe ich etwas? Einen Filter auf != Checked kann man ja nicht einstellen.


Danke
Alexander Ritz




alexander.ritz

Nachtrag dazu...


In den Einstellungen zu dem entsprechenden dynamischen Feld ist als Standardwert "Nicht ausgewählt" eingestellt.


Martin Jäger

Hallo alexander.ritz,

standardmäßig sollten alle Tickets, bei denen du dieses dynamische Feld nicht nachträglich gesetzt hast auf "unchecked" stehen und auch als Filteroption funktionieren.

In meinem lokalen Testsystem wird ein Bericht anhand eines solchen Filters korrekt erstellt.

Kannst du mir einen Screenshot von der Konfiguration deines Berichtes schicken, damit ich diesen eventuell lokal bei mir nachstellen kann?

Ich habe ein dynamisches Feld vom Typ "Kontrollkästchen" angelegt.
Danach habe ich eine Menge von Tickets für verschiedene Kunden erstellt und in einigen Tickets dieses Kontrollkästchen auf "checked" gesetzt.
Anschließend habe ich einen neuen Bericht angelegt und als Filter das dynamische Feld ausgewählt.
Als Filterbedingung habe ich "unchecked" ausgewählt.
Als Filter für die x- / y-Achse habe ich meine Testkunden sowie die Anzahl an Tickets ausgewählt.

Ein anschließendes Ausführen hat mir die korrekte Anzahl an Tickets welche "unchecked" sind, geliefert.


Wenn du ein anderes Vorgehen hierbei hast, lass es mich bitte wissen.
Dann kann ich versuchen deiner Version nachzustellen.


Viele Grüße,

Martin Jäger

alexander.ritz

Hallo Martin,


leider funktioniert es bei mir nicht. Also


1. Ich habe ein dynamisches Feld vom Typ "Kontrollkästchen" für Tickets mit dem Namen "Abgerechnet" erstellt.
2. Das dynamische Feld hat als Standardwert "Nicht ausgewählt".
3. Das dynamische Feld ist auf "AgentTicketZoomTabEditDynamicFields" eingeblendet.
(Einstellungen im Screenshot "Abgerechnet_Einstellungen.png").
4. Im System gibt es bereits viele Tickets, welche in dem Feld "Abgerechnet" einen Haken haben.


Wenn ich nun einen Bericht vom Objekt "Ticketlist" erstellt, in welchem das Feld nur eingeblendet ist, sieht es so aus wie im Screenshot "Bericht.png". Dort sieht man, dass zwar die Tickets mit gesetztem Haken mit "Checked" ausgegeben werden, alle anderen aber nicht mit "unchecked" sondern leer. Dem entsprechend liefert ein Filter auf "unchecked" keine Daten.


Ich habe dann versuchsweise bei einem Ticket mit leerem Wert das Feld gesetzt, gespeichert und den Haken wieder entfernt. Erst dann wird das entsprechende Ticket in der Auswertung mit "Unchecked" ausgegeben.


Schaue ich mir z.B. in der Datenbank ein neu erstelltes E-Mail Ticket an, bei welchem der Haken nicht gesetzt ist, findet sich auch kein Eintrag in der Tabelle "kix17.dynamic_field_value" für die Feld und Ticket ID.


Scheinbar wird also nicht wie eingestellt der Wert auf "Unchecked" gesetzt, sondern es passiert nichts. Ich könnte jetzt zwar vermutlich über zwei Postmaster Filter das Feld setzen und wieder leeren, aber das ist ja nicht grundsätzlich Sinn der Sache. ;-)


Grüße
Alexander Ritz


Martin Jäger

Hallo alexander.ritz,

tatsächlich wird das dynamische Feld bei der Ticketerstellung über E-Mails nicht gesetzt.
Dies geschieht standardmäßig nur über die Tickererstellung aus dem System heraus.
Grund dafür ist ein AJAX-Event, welche allgemein nicht bei der Erstellung aus einer E-Mail ausgeführt werden.

Um dem ganzen entgegenzuwirken kannst du dir entweder einen Postmaster-Filter einrichten, welcher bei einer eingehenden E-Mail das dynamische Feld setzt
oder aber du legst dir einen generic agent an, welcher auf das Event "TicketCreate" reagiert und setzt das dynamische Feld darüber.

Kannst du eine der beiden Möglichkeiten bei Gelegenheit testen und schauen, ob das dynamische Feld bei dir so gesetzt wird?


Viele Grüße,

Martin Jäger

alexander.ritz

Hallo Martin,


über den Postmaster Filter ist es leider nicht möglich ein Kontrollkästchen auf unchecked bzw. 0 zu setzen, das habe ich bereits in einem anderen Fall feststellen müssen. Ein GenericAgent der auf TicketCreate reagiert bringt aber das gewünschte Ergebnis.


Grüße
Alexander Ritz