($form->{"reqdate_$i"}) ? qq|'$form->{"reqdate_$i"}'| : "NULL";
# get pricegroup_id and save ist
- ($null, my $pricegroup_id) = split /--/, $form->{"sellprice_drag_$i"};
+ ($null, my $pricegroup_id) = split /--/, $form->{"sellprice_pg_$i"};
$pricegroup_id *= 1;
$subtotal = $form->{"subtotal_$i"} * 1;
my %oid = ('Pg' => 'oid',
'Oracle' => 'rowid');
- my $transdate = "'$form->{transdate}'";
- if (!$transdate) {
- $transdate = "current_date";
- }
+ my $transdate =
+ $form->{transdate} ? $dbh->quote($form->{transdate}) : "current_date";
+
if(!$form->{taxzone_id}) {
$form->{taxzone_id} = 0;
}
o.sellprice, o.parts_id AS id, o.unit, o.discount, p.bin, p.notes AS partnotes, p.inventory_accno_id AS part_inventory_accno_id,
o.reqdate, o.project_id, o.serialnumber, o.ship,
o.ordnumber, o.transdate, o.cusordnumber, o.subtotal, o.longdescription,
- pr.projectnumber, p.alu, p.formel,
+ pr.projectnumber, p.formel,
pg.partsgroup, o.pricegroup_id, (SELECT pricegroup FROM pricegroup WHERE id=o.pricegroup_id) as pricegroup
FROM orderitems o
JOIN parts p ON (o.parts_id = p.id)
$stw->finish;
}
- #set expense_accno=inventory_accno if they are different => bilanz
- $vendor_accno =
- ($ref->{expense_accno} != $ref->{inventory_accno})
- ? $ref->{inventory_accno}
- : $ref->{expense_accno};
+ # delete orderitems_id in collective orders, so that they get cloned no matter what
+ delete $ref->{orderitems_id} if (@ids);
# get tax rates and description
$accno_id =
- ($form->{vc} eq "customer") ? $ref->{income_accno} : $vendor_accno;
+ ($form->{vc} eq "customer") ? $ref->{income_accno} : $ref->{expense_accno};
$query = qq|SELECT c.accno, t.taxdescription, t.rate, t.taxnumber
- FROM tax t LEFT JOIN chart c ON (c.id=t.chart_id)
- WHERE t.taxkey in (SELECT taxkey_id from chart where accno = '$accno_id')
- ORDER BY accno|;
+ FROM tax t LEFT JOIN chart c on (c.id=t.chart_id)
+ WHERE t.id in (SELECT tk.tax_id from taxkeys tk where tk.chart_id = (SELECT id from chart WHERE accno='$accno_id') AND startdate<=$transdate ORDER BY startdate desc LIMIT 1)
+ ORDER BY c.accno|;
$stw = $dbh->prepare($query);
$stw->execute || $form->dberror($query);
$ref->{taxaccounts} = "";