X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/f4f458e99ab42a8143f9fb2e14943d4442790129..041a8bb77df72193d039f511707a58eef62e31c3:/SL/OE.pm diff --git a/SL/OE.pm b/SL/OE.pm index 4abdac0f9..fa178d9e2 100644 --- a/SL/OE.pm +++ b/SL/OE.pm @@ -319,7 +319,8 @@ sub save { $query = qq|INSERT INTO orderitems (|; $query .= "id, " if $form->{"orderitems_id_$i"}; $query .= qq|trans_id, parts_id, description, qty, sellprice, discount, - unit, reqdate, project_id, serialnumber, ship, pricegroup_id) + unit, reqdate, project_id, serialnumber, ship, pricegroup_id, + ordnumber, transdate, cusordnumber) VALUES (|; $query .= qq|$form->{"orderitems_id_$i"},| if $form->{"orderitems_id_$i"}; @@ -327,8 +328,8 @@ sub save { '$form->{"description_$i"}', $form->{"qty_$i"}, $fxsellprice, $form->{"discount_$i"}, '$form->{"unit_$i"}', $reqdate, (SELECT id from project where projectnumber = '$project_id'), - '$form->{"serialnumber_$i"}', $form->{"ship_$i"}, - '$pricegroup_id')|; + '$form->{"serialnumber_$i"}', $form->{"ship_$i"}, '$pricegroup_id', + '$form->{"ordnumber_$i"}', '$form->{"transdate_$i"}', '$form->{"cusordnumber_$i"}')|; $dbh->do($query) || $form->dberror($query); $form->{"sellprice_$i"} = $fxsellprice; @@ -577,7 +578,7 @@ sub retrieve { # connect to database my $dbh = $form->dbconnect_noauto($myconfig); - my $query; + my $query, @ids; # translate the ids (given by id_# and trans_id_#) into one array of ids, so we can join them later map { push @ids, $form->{"trans_id_$_"} if ($form->{"id_$_"}) } (1 .. $form->{"rowcount"}); @@ -703,10 +704,11 @@ sub retrieve { c1.accno AS inventory_accno, c2.accno AS income_accno, c3.accno AS expense_accno, - oe.ordnumber, oe.transdate, oe.cusordnumber, + oe.ordnumber AS ordnumber_oe, oe.transdate AS transdate_oe, oe.cusordnumber AS cusordnumber_oe, p.partnumber, p.assembly, o.description, o.qty, o.sellprice, o.parts_id AS id, o.unit, o.discount, p.bin, p.notes AS partnotes, o.reqdate, o.project_id, o.serialnumber, o.ship, + o.ordnumber, o.transdate, o.cusordnumber, pr.projectnumber, pg.partsgroup, o.pricegroup_id, (SELECT pricegroup FROM pricegroup WHERE id=o.pricegroup_id) as pricegroup FROM orderitems o @@ -727,6 +729,14 @@ sub retrieve { $sth->execute || $form->dberror($query); while ($ref = $sth->fetchrow_hashref(NAME_lc)) { + + # in collective order, copy global ordnumber, transdate, cusordnumber into item scope + # unless already present there + # remove _oe entries afterwards + map { $ref->{$_} = $ref->{"${_}_oe"} if ($ref->{$_} eq '') } + qw|ordnumber transdate cusordnumber| if (@ids); + map{ delete $ref->{$_} } + qw|ordnumber_oe transdate_oe cusordnumber_oe|; #set expense_accno=inventory_accno if they are different => bilanz $vendor_accno =