Revision 041a8bb7
Von Stephan Köhler vor fast 19 Jahren hinzugefügt
SL/OE.pm | ||
---|---|---|
319 | 319 |
$query = qq|INSERT INTO orderitems (|; |
320 | 320 |
$query .= "id, " if $form->{"orderitems_id_$i"}; |
321 | 321 |
$query .= qq|trans_id, parts_id, description, qty, sellprice, discount, |
322 |
unit, reqdate, project_id, serialnumber, ship, pricegroup_id) |
|
322 |
unit, reqdate, project_id, serialnumber, ship, pricegroup_id, |
|
323 |
ordnumber, transdate, cusordnumber) |
|
323 | 324 |
VALUES (|; |
324 | 325 |
$query .= qq|$form->{"orderitems_id_$i"},| |
325 | 326 |
if $form->{"orderitems_id_$i"}; |
... | ... | |
327 | 328 |
'$form->{"description_$i"}', $form->{"qty_$i"}, |
328 | 329 |
$fxsellprice, $form->{"discount_$i"}, |
329 | 330 |
'$form->{"unit_$i"}', $reqdate, (SELECT id from project where projectnumber = '$project_id'), |
330 |
'$form->{"serialnumber_$i"}', $form->{"ship_$i"}, |
|
331 |
'$pricegroup_id')|;
|
|
331 |
'$form->{"serialnumber_$i"}', $form->{"ship_$i"}, '$pricegroup_id',
|
|
332 |
'$form->{"ordnumber_$i"}', '$form->{"transdate_$i"}', '$form->{"cusordnumber_$i"}')|;
|
|
332 | 333 |
$dbh->do($query) || $form->dberror($query); |
333 | 334 |
|
334 | 335 |
$form->{"sellprice_$i"} = $fxsellprice; |
... | ... | |
577 | 578 |
# connect to database |
578 | 579 |
my $dbh = $form->dbconnect_noauto($myconfig); |
579 | 580 |
|
580 |
my $query; |
|
581 |
my $query, @ids;
|
|
581 | 582 |
|
582 | 583 |
# translate the ids (given by id_# and trans_id_#) into one array of ids, so we can join them later |
583 | 584 |
map { push @ids, $form->{"trans_id_$_"} if ($form->{"id_$_"}) } (1 .. $form->{"rowcount"}); |
... | ... | |
703 | 704 |
c1.accno AS inventory_accno, |
704 | 705 |
c2.accno AS income_accno, |
705 | 706 |
c3.accno AS expense_accno, |
706 |
oe.ordnumber, oe.transdate, oe.cusordnumber,
|
|
707 |
oe.ordnumber AS ordnumber_oe, oe.transdate AS transdate_oe, oe.cusordnumber AS cusordnumber_oe,
|
|
707 | 708 |
p.partnumber, p.assembly, o.description, o.qty, |
708 | 709 |
o.sellprice, o.parts_id AS id, o.unit, o.discount, p.bin, p.notes AS partnotes, |
709 | 710 |
o.reqdate, o.project_id, o.serialnumber, o.ship, |
711 |
o.ordnumber, o.transdate, o.cusordnumber, |
|
710 | 712 |
pr.projectnumber, |
711 | 713 |
pg.partsgroup, o.pricegroup_id, (SELECT pricegroup FROM pricegroup WHERE id=o.pricegroup_id) as pricegroup |
712 | 714 |
FROM orderitems o |
... | ... | |
727 | 729 |
$sth->execute || $form->dberror($query); |
728 | 730 |
|
729 | 731 |
while ($ref = $sth->fetchrow_hashref(NAME_lc)) { |
732 |
|
|
733 |
# in collective order, copy global ordnumber, transdate, cusordnumber into item scope |
|
734 |
# unless already present there |
|
735 |
# remove _oe entries afterwards |
|
736 |
map { $ref->{$_} = $ref->{"${_}_oe"} if ($ref->{$_} eq '') } |
|
737 |
qw|ordnumber transdate cusordnumber| if (@ids); |
|
738 |
map{ delete $ref->{$_} } |
|
739 |
qw|ordnumber_oe transdate_oe cusordnumber_oe|; |
|
730 | 740 |
|
731 | 741 |
#set expense_accno=inventory_accno if they are different => bilanz |
732 | 742 |
$vendor_accno = |
Auch abrufbar als: Unified diff
Merge von 690 aus unstable: Sammelauftraege und DB-Schema
DB-Schema geaendert um in invoice und orderitems die Variablen ordnumber_$i, transdate_$i, cusordnumber_$i zu speichern.
Speichern/Laden von Auftraegen und Buchen/Laden von Rechnungen modifiziert um diese Variablen zu halten.