#1372 closed Fehler (fixed)
Datenbankabfragefehler bei Kunden- bzw. Lieferantensuche
| Erstellt von: | bibi@… | Verantwortlicher: | hli@… |
|---|---|---|---|
| Priorität: | normal | Meilenstein: | |
| Komponente: | kivitendo CRM | Version: | 1.4.1 |
| Schweregrad: | normal | Stichworte: | Kunden |
| Beobachter: |
Beschreibung
Drückt man bei der Kunden- oder Lieferantensuche einen Buchstaben, mit dem kein Kunde oder Lieferant beginnt, so gibt es eine Fehlermeldung in der lxcrm.err:
Syntaxfehler bei »and«
LINE 1: ...ndesland b on s.shiptobland=b.id where trans_id= and module...
]
Ich hänge mal einen kleine Patch an.
Grüße
Bernd
Anhänge (1)
Änderungshistorie (5)
Geändert vor 5 Jahren durch bibi@…
comment:1 Geändert vor 5 Jahren durch hli@…
Ich kann den Fehler nicht nachvollziehen
comment:2 Geändert vor 5 Jahren durch hli@…
- Lösung auf invalid gesetzt
- Status von new nach closed geändert
Nee, da ist was anderes Faul. So kann - darf - die Lösung nicht lauten, denn diese Funktion wird nur aufgerufen, wenn die Suche mehr als einen Treffer erziehlt.
comment:3 Geändert vor 5 Jahren durch bibi@…
(In reply to comment #3)
Nee, da ist was anderes Faul. So kann - darf - die Lösung nicht lauten, denn
diese Funktion wird nur aufgerufen, wenn die Suche mehr als einen Treffer
erziehlt.
Mhmm, ok. Aber ganz verstehe ich das nicht. Du siehst die Fehlermeldung also gar nicht? Dann ist bei mir sicher irgenwas durcheinander. Ich sehe die Fehler-Log-Meldung allerdsings in zwei Installationen.
Aber da es dennoch funktioniert, lasse ich es mal so. Ach und der Patch: Macht der denn was kaputt? getAllShipto() aufzurufen, wenn id nicht gesetzt ist, macht doch keinen Sinn, oder?
Hier ist mal meine "Analyse":
Wenn ich bei mir die Funktionsaufrufe richtig nachvollziehe, dann wird beim Drücken eines Anfangsbuchstabens in firmen1.php, Zeile 28 versucht alle Firmen in $daten zu holen. Wenn es keine gibt, ist dann ist $daten == false. Also wird in Zeile 75 (der 2. else-Zweig nach "if (count($daten)==1 && $daten<>false)" und "else if (count($daten)>1)") weitergemacht und vartpl() mit $_POST als zweitem Argument ($daten für vartpl()) aufgerufen. $_POST ist hier aber leer. Und in FirmenLib?.php, vartpl() wird dann in Zeile 1076 getAllShipto() mit $datenid? aufgerufen. $datenid? ist hier aber dann auch leer. Das führt dann in der Abfrage in getAllShipto() zu dem Fehler.
Viele Grüße
Bernd
comment:4 Geändert vor 5 Jahren durch hli@…
- Lösung von invalid nach fixed geändert
ok,ok. Du hast Recht.
Ich nutze bei keine Treffer nicht leertpl sondern vartpl und fülle die mit den letzten Sucheingaben.
Habe es aber an zentralerer Stelle gefixt.
Muß dringend aufräumen 8=/

diff zur Lösung