Report findet keine Einträge für Vertragsende < XXXX-XX-XX
-
Hallo zusammen,
ich versuche einen Report zu Generieren welcher alle Objekte anzeigt, die bspw. die nächsten Jahre auslaufen.
Dazu habe ich einen Report erstellt und mittels Kategorie: Vertrag und dem Attribut: Vertragsende < 2022-08-31 erstellt.
Auch mit <= findet er keine Objekte.
Mittels >= und dem heutigen Datum kann er mir alle Verträge auflisten!
Mache ich hier einen grundlegenden Fehler?
Ziel des ganzen sollen monatliche Benachrichtigungen sein, falls ein Vertrag ausläuft.
Danke und liebe Grüße
-
Moin @johannesjohannes
wie sieht denn die entsprechende SQL-Query zu dem Report aus?
Kannst du diese zur Verfügung stellen? Ich denke es würde sogar nur reichen, wenn du den WHERE Block mitgibst. Evtl. wird dort etwas in der WHERE Kondition.Viele Grüße
Phil -
Hi,
mal eine Gegenfrage: Wieso richtest du nicht die Benachrichtigungen dafür ein? Da gibt es doch ein Modul genau für ablaufende Verträge?
Liebe Grüße
Christian -
Ich hab vor ca. einem Jahr gleiches umsetzen wollen. Gleiches Fehlerbild. Das Ticket kam nicht zur erfolgreichen Lösung.
-
Wir hatten für diesen Zweck mal folgenden Report erstellt. Soweit ich sehen kann funktioniert der auch, allerdings ist der bei uns nicht im Gebrauch.
SELECT obj_main.isys_obj__id AS '__id__', obj_main.isys_obj__title AS 'LC__UNIVERSAL__TITLE###1', isys_cats_contract_list__end_date FROM isys_obj AS obj_main INNER JOIN isys_cmdb_status AS obj_main_status ON obj_main_status.isys_cmdb_status__id = obj_main.isys_obj__isys_cmdb_status__id LEFT JOIN isys_obj_type AS j3 ON j3.isys_obj_type__id = obj_main.isys_obj__isys_obj_type__id LEFT JOIN isys_cats_contract_list AS j7 ON j7.isys_cats_contract_list__isys_obj__id = obj_main.isys_obj__id LEFT JOIN isys_contract_end_type AS j6 ON j6.isys_contract_end_type__id = j7.isys_cats_contract_list__isys_contract_end_type__id WHERE j3.isys_obj_type__id = '28' AND obj_main.isys_obj__status = '2' AND j6.isys_contract_end_type__id = '2' AND isys_cats_contract_list__end_date > now() AND DATE_SUB(isys_cats_contract_list__end_date, INTERVAL 90 DAY) <= now() ORDER BY isys_cats_contract_list__end_date ASC ;
-
Hallo,
vielen Dank erst einmal für die Antworten.
Nun habe ich auch den "Bug" entdeckt. Man kann zwar wie oben in meinem ersten Beitrag erstelltem Bild das Datum eintragen, dies wird in der SQL-Abfrage aber mit 0 eingetragen. Das funktioniert natürlich nicht...
Richtiges Datum in der SQL-Abfrage eintragen und zack geht es.
Vorher:
SELECT obj_main.isys_obj__id AS '__id__', obj_main.isys_obj__title AS 'LC__UNIVERSAL__TITLE###1', j2.isys_obj_type__title AS 'LC__REPORT__FORM__OBJECT_TYPE###1' FROM isys_obj AS obj_main INNER JOIN isys_cmdb_status AS obj_main_status ON obj_main_status.isys_cmdb_status__id = obj_main.isys_obj__isys_cmdb_status__id LEFT JOIN isys_obj_type AS j2 ON j2.isys_obj_type__id = obj_main.isys_obj__isys_obj_type__id LEFT JOIN isys_cats_contract_list AS j4 ON j4.isys_cats_contract_list__isys_obj__id = obj_main.isys_obj__id WHERE TRUE AND ( (j2.isys_obj_type__id != '60' ) AND (j2.isys_obj_type__id != '63' ) ) AND ( (j2.isys_obj_type__id = '28' ) AND (j4.isys_cats_contract_list__end_date > 0 ) ORDER BY obj_main.isys_obj__title DESC
Nachher:
SELECT obj_main.isys_obj__id AS '__id__', obj_main.isys_obj__title AS 'LC__UNIVERSAL__TITLE###1', j2.isys_obj_type__title AS 'LC__REPORT__FORM__OBJECT_TYPE###1' FROM isys_obj AS obj_main INNER JOIN isys_cmdb_status AS obj_main_status ON obj_main_status.isys_cmdb_status__id = obj_main.isys_obj__isys_cmdb_status__id LEFT JOIN isys_obj_type AS j2 ON j2.isys_obj_type__id = obj_main.isys_obj__isys_obj_type__id LEFT JOIN isys_cats_contract_list AS j4 ON j4.isys_cats_contract_list__isys_obj__id = obj_main.isys_obj__id WHERE TRUE AND ( (j2.isys_obj_type__id != '60' ) AND (j2.isys_obj_type__id != '63' ) ) AND ( (j2.isys_obj_type__id = '28' ) AND (j4.isys_cats_contract_list__end_date > '2020-01-01' ) ) ORDER BY obj_main.isys_obj__title DESC
-
Hallo zusammen,
kurzer Nachtrag und eine weitere Frage/Anmerkung :
Nach dem nun die SQL-Query verändert wurde, kann ich den Query-Builder nicht mehr verwenden...
Gibt es hierfür eine mögliche Lösung bzw. einen Ort an welchem ich für dieses Problem die Logs einsehen kann?
-
Der graphische Query Builder ist kein universelles Tool, sondern beschränkt auf die SQL Queries, die auch damit erstellt wurden. Sobald Sie einmal von Hand eingegriffen haben werden Sie dauerhaft auf die rein textuelle Darstellung zurückgeworfen und müssen Änderungen dort vornehmen.