Projekt

Allgemein

Profil

Fehler #162

Workflow Verkaufsauftrag -> Rechnung defekt sobald Lieferungen erstellt wurden

Von Jan Büren vor mehr als 8 Jahren hinzugefügt. Vor mehr als 8 Jahren aktualisiert.

Status:
Neu
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
-
Beginn:
11.05.2016
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Sobald Teillieferungen zu einem Auftrag erstellt sind, habe ich zwei Fehlerfälle.

Entweder erhalte ich beim Knopf Rechnung im Auftrag:

UPDATE oe SET
ordnumber = ?, quonumber = ?, cusordnumber = ?, transdate = ?, vendor_id = ?,
customer_id = ?, amount = ?, netamount = ?, reqdate = ?, taxincluded = ?,
shippingpoint = ?, shipvia = ?, notes = ?, intnotes = ?, currency_id = (SELECT id FROM currencies WHERE name=?), closed = ?,
delivered = ?, proforma = ?, quotation = ?, department_id = ?, language_id = ?,
taxzone_id = ?, shipto_id = ?, payment_id = ?, delivery_vendor_id = ?, delivery_customer_id = ?,delivery_term_id = ?,
globalproject_id = ?, employee_id = ?, salesman_id = ?, cp_id = ?, transaction_description = ?, marge_total = ?, marge_percent = ?
, order_probability = ?, expected_billing_date = ?
WHERE id = ? (810182, , , 11.05.2016, , 7297, -1130.5, -950, 22.04.2016, f, , , , , EUR, f, t, f, f, 967, , 4, , , , , , , 14533, 14533, 0, , 344.92, 36.3073684210526, 0, , 14850)
ERROR: insert or update on table "oe" violates foreign key constraint "oe_cp_id_fkey" 
DETAIL: Key (cp_id)=(0) is not present in table "contacts".

Das ist etwas komisch. Ggf. liegt es am Upgrade von 3.3 auf 3.4.x

Der andere Fall ist, dass beim Workflow die Fehlermeldung:

"Can't call method meta on line 1636 in bin/mozillo/io.p" kommt und zusätzlich wird dann ein neues Auftrags-Objekt ohne den schon gelieferten Artikel angelegt:

Die Stelle in io.pl ist in _make_record_items.


  eval "require $class";

  my $obj = $::form->{"orderitems_id_$row"}
          ? $class->meta->convention_manager->auto_manager_class_name->find_by(id => $::form->{"orderitems_id_$row"})
          : $class->new;  
   for my $method (apply { s/_$row$// } grep { /_$row$/ } keys %$::form) {

Die Frage ist, ob es prinzipiell ein Problem bei verknüpften items ist oder eher mit "temporären" inkosistenzen beim update.

Ich hab den Fall jetzt bei drei Verkaufsaufträgen, denn werd ich manuell lösen, aber falls es öfters oder jmd. anderen betrifft hier das Ticket ...

Historie

#1

Von Jan Büren vor mehr als 8 Jahren aktualisiert

Uhh. Nee, das ist doch nicht so einfach handhabbar.
Eigentlich sollte jeder der teilgelieferte Aufträge hat und einen Upgrade von 3.3 Februar auf 3.4 von gestern macht in diese Fehler laufen ...

Mein erster Verdacht wäre: Der Commit von Martin, der die korrekt gelieferten Positionen im Auftrag berechnet.

Die _make_record_item in io.pl sieht erstmal io (grins) aus.

Zusätzlich doof ist, dass anstatt einer Rechnung ein neuer Auftrag mit den noch nicht gelieferten Positionen entsteht.

Der Vorgänger-Fehler cp_id 0/NULL sieht eher nach schlecht escapten SQL aus.

Auch abrufbar als: Atom PDF