#1001 closed Fehler (fixed)
einkauf --> berichte --> lieferschein
| Erstellt von: | aw@… | Verantwortlicher: | p.reetz@… |
|---|---|---|---|
| Priorität: | normal | Meilenstein: | |
| Komponente: | kivitendo ERP | Version: | 2.6.0 beta |
| Schweregrad: | schwerwiegend | Stichworte: | Einkauf |
| Beobachter: | m.bunkus@…, information@… |
Beschreibung
unter einkauf --> berichte --> lieferschein
einen lieferanten auswählen und auf einen der angezeigten lieferscheine klicken.. danach folgende fehlermeldung
Fehler!
SELECT doi.id AS delivery_order_items_id,
p.partnumber, p.assembly, doi.description, doi.qty,
doi.sellprice, doi.parts_id AS id, doi.unit, doi.discount, p.bin, p.notes AS partnotes,
doi.reqdate, doi.project_id, doi.serialnumber, doi.lastcost,
doi.ordnumber, doi.transdate, doi.cusordnumber, doi.longdescription,
doi.price_factor_id, doi.price_factor, doi.marge_price_factor,
pr.projectnumber,
pg.partsgroup
FROM delivery_order_items doi
JOIN parts p ON (doi.parts_id = p.id)
JOIN delivery_orders dord ON (doi.delivery_order_id = dord.id)
LEFT JOIN project pr ON (doi.project_id = pr.id)
LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id)
WHERE doi.delivery_order_id IN (?)
ORDER BY doi.oid (47964)
FEHLER: Spalte doi.oid existiert nicht
LINE 15: ORDER BY doi.oid
Änderungshistorie (4)
comment:1 Geändert vor 6 Jahren durch m.bunkus@…
- Beobachter m.bunkus@… hinzugefügt
- Lösung auf invalid gesetzt
- Status von new nach closed geändert
comment:2 Geändert vor 6 Jahren durch aw@…
sehr geehrter herr Moritz Bunkus,
besteht die möglichkeit ein bestehendes system dahin zu erweitern, dass man händisch die entsprechenden oid einträge an der datenbank vornimmt oder ein skript, welches diese fehlenden einträge ersetzt????
meine postgresql.conf habe ich geändert, nur werden die fehlenden oid-spalten nicht ergänzt... wäre um hilfe sehr dankbar...
comment:3 Geändert vor 6 Jahren durch m.bunkus@…
Mir ist kein einfacher Weg bekannt (also ein simpler Befehl wie "ALTER TABLE x ADD OIDS").
Grob gesehen kann man es beheben, indem man die folgenden Schritte für alle Tabellen durchführt, die OIDs benötigen (Liste seihe weiter unten):
- Eine neue Tabelle mit dentischer Struktur aber anderem Namen anlegen und bei der "CREATE TABLE ..."-Anweisung ganz am Schluss "WITH OIDS" anfügen.
- Von der bisherigen Tabelle in die neue Tabelle kopieren. Hat man die Spalten in identischer Reihenfolge angelegt, dann sollte ein "INSERT INTO name_copy SELECT FROM name" funktionieren. Ansonsten müssen alle Spalten manuell angegeben werden.
- Die alte Tabelle umbenennen oder entfernen.
- Die neue Tabelle in den alten Namen umbenenne.
Diejenigen Tabellen, die OIDs benötigen, sind:
delivery_order_items
parts
acc_trans
invoice
assembly
orderitems
partsgroup
comment:4 Geändert vor 6 Jahren durch information@…
- Beobachter information@… hinzugefügt
- Lösung von invalid nach fixed geändert
Ich schliesse den Bug an dieser Stelle. Falls Sie weiterhin Probleme haben, können wir Ihnen auch gerne per Fernwartung weiterhelfen.
Ich schätze den Aufwand auf 1h.

Ihre PostgreSQL-Installation legt beim Anlegen der Datenbanktabellen nicht automatisch die OID-Spalte an. Diese wird für einige Tabellen benötigt. In der Dokumentation zu Lx-Office steht auch, wie PostgreSQL diesbezüglich zu konfigurieren ist.
Das Release v2.6.0 wird automatisch dafür sorgen, dass diejenigen Tabellen, für die die OID-Spalte benötigt wird, automatisch mit OID-Spalte angelegt werden, egal ob der Benutzer PostgreSQL nun umkonfiguriert hat oder nicht.