Project

General

Profile

Fehler #162

Workflow Verkaufsauftrag -> Rechnung defekt sobald Lieferungen erstellt wurden

Added by Jan Büren over 8 years ago. Updated over 8 years ago.

Status:
Neu
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
05/11/2016
Due date:
% Done:

0%

Estimated time:

Description

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 ...

History

#1

Updated by Jan Büren over 8 years ago

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.

Also available in: Atom PDF