Report meldet SQL-Fehler
-
i-doit 1.4.3 pro
Hallo,
habe eben einen Report erstellt mit folgenden Kriterien:
Titel: Telefonverkabelung
Objekte mit leeren Verknüpfungen anzeigen? JaGewählte Attribute: Name (Allgemein), Anschlussart (Anschlüsse), Verbunden mit Anschluss (Anschlüsse)
Bedingungen: Kategorie: Telefon/Fax / Attribut: Typ = ISDN ODER Typ = VoipSobald ich auf Ausgabe prüfen Klicke kommt:
Ein Fehler ist aufgetreten: Database error : Query error: 'SELECT obj_main.isys_obj__id AS 'id', obj_main.isys_obj__title AS 'LC__UNIVERSAL__TITLE###1', j1.isys_connection_type__title AS 'LC__CATG__CONNECTOR__CONNECTION_TYPE###50', j2.isys_obj__id AS 'LC__CATG__CONNECTOR__ASSIGNED_CONNECTOR###50' 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_catg_connector_list AS j2 ON j2.isys_catg_connector_list__isys_obj__id = obj_main.isys_obj__id LEFT JOIN isys_connection_type AS j1 ON j1.isys_connection_type__id = j2.isys_catg_connector_list__isys_connection_type__id LEFT JOIN isys_catg_connector_list AS j6 ON j6.isys_catg_connector_list__isys_obj__id = obj_main.isys_obj__id AND j6.isys_catg_connector_list__assigned_category = 'C__CATG__CONNECTOR' LEFT JOIN isys_catg_connector_list AS j4 ON j4.isys_catg_connector_list__isys_cable_connection__id = j6.isys_catg_connector_list__isys_cable_connection__id AND j4.isys_catg_connector_list__id != j6.isys_catg_connector_list__id LEFT JOIN isys_catg_telephone_fax_list AS j10 ON j10.isys_catg_telephone_fax_list__isys_obj__id = obj_main.isys_obj__id LEFT JOIN isys_telephone_fax_type AS j9 ON j9.isys_telephone_fax_type__id = j10.isys_catg_telephone_fax_list__isys_telephone_fax_type__id WHERE TRUE AND ( (j9.isys_telephone_fax_type__id = '3' )OR (j9.isys_telephone_fax_type__id = '2' )) ORDER BY obj_main.isys_obj__id ASC LIMIT 0, 25;': Unknown column 'j2.isys_obj__id' in 'field list' .Speichere ich den Report und führe diesen aus kommt:
Nachricht
Database error : Query error: 'SELECT
obj_main.isys_obj__id AS 'id',
obj_main.isys_obj__title AS 'LC__UNIVERSAL__TITLE###1',
j1.isys_connection_type__title AS 'LC__CATG__CONNECTOR__CONNECTION_TYPE###50',
j2.isys_obj__id AS 'LC__CATG__CONNECTOR__ASSIGNED_CONNECTOR###50'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_catg_connector_list AS j2 ON j2.isys_catg_connector_list__isys_obj__id = obj_main.isys_obj__id
LEFT JOIN isys_connection_type AS j1 ON j1.isys_connection_type__id = j2.isys_catg_connector_list__isys_connection_type__id
LEFT JOIN isys_catg_connector_list AS j6 ON j6.isys_catg_connector_list__isys_obj__id = obj_main.isys_obj__id AND j6.isys_catg_connector_list__assigned_category = 'C__CATG__CONNECTOR'
LEFT JOIN isys_catg_connector_list AS j4 ON j4.isys_catg_connector_list__isys_cable_connection__id = j6.isys_catg_connector_list__isys_cable_connection__id AND j4.isys_catg_connector_list__id != j6.isys_catg_connector_list__id
LEFT JOIN isys_catg_telephone_fax_list AS j10 ON j10.isys_catg_telephone_fax_list__isys_obj__id = obj_main.isys_obj__id
LEFT JOIN isys_telephone_fax_type AS j9 ON j9.isys_telephone_fax_type__id = j10.isys_catg_telephone_fax_list__isys_telephone_fax_type__idWHERE TRUE
AND ( (j9.isys_telephone_fax_type__id = '3' )OR (j9.isys_telephone_fax_type__id = '2' )) ORDER BY obj_main.isys_obj__id ASC;':
Unknown column 'j2.isys_obj__id' in 'field list'
Der Fehler passiert erst, wenn ich das Attribut "Verbunden mit Anschluss (Anschlüsse)" hinzufüge, nach dem ich zuvor ein anderes Attribut hinzufügte.
Besteht die Liste der gewählten Attribute nur aus "Name (Allgemein)" und "Verbunden mit Anschluss (Anschlüsse)", passiert der SQL-Error nicht, es wird aber unter "Verbunden mit Anschluss (Anschlüsse)" nur die ID dieses Attributes ausgegeben und nicht der Name des hinterlegten Anschlusses.LG StefanP
-
Hallo StefanP,
versuch mal folgenden Report:
–-
SELECT
j1.isys_obj__id AS 'id',
j1.isys_obj__title AS 'Name',
-- isys_catg_connector_list__title AS 'Anschluss Telefon/Fax',
isys_connection_type__title AS 'Anschlussart',
j2.isys_obj__title AS 'Verbunden mit Anschluss'FROM isys_obj AS j1
LEFT JOIN isys_catg_telephone_fax_list
ON isys_catg_telephone_fax_list__isys_obj__id = j1.isys_obj__idLEFT JOIN isys_telephone_fax_type
ON isys_telephone_fax_type__id = isys_catg_telephone_fax_list__isys_telephone_fax_type__idLEFT JOIN isys_catg_connector_list
ON isys_catg_connector_list__isys_obj__id = j1.isys_obj__idLEFT JOIN isys_connection_type
ON isys_connection_type__id = isys_catg_connector_list__isys_connection_type__idLEFT JOIN isys_catg_relation_list
ON isys_catg_relation_list__id = isys_catg_connector_list__isys_catg_relation_list__idLEFT JOIN isys_obj AS j2
ON j2.isys_obj__id = isys_catg_relation_list__isys_obj__id__masterWHERE TRUE
AND j1.isys_obj__isys_obj_type__id = 38
AND (isys_telephone_fax_type__id = '2'
OR isys_telephone_fax_type__id = '3' )ORDER BY j1.isys_obj__title ASC
In der letzten Spalte 'Verbunden mit Anschluss' wird lediglich das Objekt ausgegeben, nicht aber der Port. Reicht Dir das so?
Gruss,
jkondek -
Hallo StefanP,
danke das du den Fehler gefunden hast. Dieser Fehler wird ab dem nächsten Minor Release gefixt sein. Wenn du den Namen noch mit ausgeben willst musst du wenn du das Attribut ausgewählt hast auf die Lupe drücken dann öffnet sich ein weiterer Selektor wo du dann unter Allgemein den Namen auswählen kannst.
Gruß
vqh -
Hallo,
ich habe nun die 1.4.4 pro laufen, der SQL fehler kommt nun nicht mehr, aber dafür ist das Ergebnis des Reports kurios.
Siehe Anhang ( 001 und 002 )Sobald ich das Attribut "Verbunden mit Anschluss ( Anschlüsse)" über das Lupensymbol mit einem weiteren Attribut erweitere, multiplizieren sich die Ergebnisse des Reports.
Ohne dem erweiterten Attribut passt das Ergebnis, nur wird eben zB. der Anschlussname nicht aufgelöst sondern nur die ID.
Siehe Anhang ( 003 )Mache ich da was falsch ?
LG Stefan
-
Hi Stefan,
das liegt daran, dass Du mehrere Anschlüsse für das Ci eingetragen hast. Die Report Engine löst dann jeden verknüpften Anschluss in einer weiteren Zeile auf. Eine Idee unserseits ist hier aktuell, die Namen der darunterliegenden Ci's nicht mehr darzustellen (so ähnlich wie in der Listeneditierung). Damit klar ersichtlich ist das alles ab der zweiten Zeile noch zu dem obenstehenden CI gehört.
Des Weiteren planen wir ebenso eine Option, dass die Ergebnisse in einer Zeile bleiben, dann in der zweiten Spalte (hier Bezeichnung (Verbunden mit Anschluss)) aber kommasepariert dargestellt werden und die Ergebnisliste nicht vertikal skaliert, sondern horizontal.
Wir sehen das so oder so nicht direkt als Fehler der Engine, sondern planen Optionen, mit dem Verhalten umzugehen und die Darstellung zu optimieren
Die oben beschriebenen Verbesserungen werden allerdings wahrscheinlich erst zur 1.5 Anfang nächsten Jahres erscheinen. Vorher schaffen wir es leider nicht.Gruß,
Dennis -
Hallo,
hat sich hier inzwischen etwas getan?
Arbeite gerade mit der 1.5.3 Pro und das Phänomen tritt so immer noch auf:
Sobald ich das Attribut "Verbunden mit Anschluss ( Anschlüsse)" über das Lupensymbol mit einem weiteren Attribut erweitere, multiplizieren sich die Ergebnisse des Reports.
Ohne dem erweiterten Attribut passt das Ergebnis, nur wird eben zB. der Anschlussname nicht aufgelöst sondern nur die ID.Viele Grüße
lywa-15