$sth->finish;
map { $form->{$_} =~ s/ +$//g } qw(printed emailed queued);
- my $transdate = "current_date";
- if($form->{invdate}) {
- $transdate = "'$form->{invdate}'";
- }
+ my $transdate =
+ $form->{deliverydate} ? $dbh->quote($form->{deliverydate}) :
+ $form->{invdate} ? $dbh->quote($form->{invdate}) :
+ "current_date";
- if(!$form->{taxzone_id}) {
+ if (!$form->{taxzone_id}) {
$form->{taxzone_id} = 0;
}
# retrieve individual items
i.project_id, pr.projectnumber, i.serialnumber,
p.partnumber, p.assembly, p.bin, p.notes AS partnotes, p.inventory_accno_id AS part_inventory_accno_id, i.id AS invoice_pos,
pg.partsgroup, i.pricegroup_id, (SELECT pricegroup FROM pricegroup WHERE id=i.pricegroup_id) as pricegroup,
- i.ordnumber, i.transdate, i.cusordnumber, p.alu, p.formel, i.subtotal
+ i.ordnumber, i.transdate, i.cusordnumber, p.formel, i.subtotal
FROM invoice i
JOIN parts p ON (i.parts_id = p.id)
LEFT JOIN project pr ON (i.project_id = pr.id)
}
delete($ref->{"part_inventory_accno_id"});
- #set expense_accno=inventory_accno if they are different => bilanz
-
-
while ($ref->{inventory_new_chart} && ($ref->{inventory_valid} >=0)) {
my $query = qq| SELECT accno AS inventory_accno, new_chart_id AS inventory_new_chart, date($transdate) - valid_from AS inventory_valid FROM chart WHERE id = $ref->{inventory_new_chart}|;
my $stw = $dbh->prepare($query);
$stw->finish;
}
- $vendor_accno =
- ($ref->{expense_accno} != $ref->{inventory_accno})
- ? $ref->{inventory_accno}
- : $ref->{expense_accno};
-
# 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')
my ($self, $myconfig, $form) = @_;
+ # connect to database
+ my $dbh = $form->dbconnect($myconfig);
+
my $i = $form->{rowcount};
my $where = "NOT p.obsolete = '1'";
$where .= " ORDER BY p.partnumber";
}
- my $transdate = "";
+ my $transdate;
if ($form->{type} eq "invoice") {
- $transdate = "'$form->{invdate}'";
- } elsif ($form->{type} eq "sales_order") {
- $transdate = "'$form->{transdate}'";
- } elsif ($form->{type} eq "sales_quotation") {
- $transdate = "'$form->{transdate}'";
- }
-
- if ($transdate eq "") {
- $transdate = "current_date";
+ $transdate =
+ $form->{deliverydate} ? $dbh->quote($form->{deliverydate}) :
+ $form->{invdate} ? $dbh->quote($form->{invdate}) :
+ "current_date";
+ } else {
+ $transdate =
+ $form->{transdate} ? $dbh->quote($form->{transdate}) :
+ "current_date";
}
- # connect to database
- my $dbh = $form->dbconnect($myconfig);
-
my $query = qq|SELECT p.id, p.partnumber, p.description, p.sellprice,
p.listprice, p.inventory_accno_id,
c1.accno AS inventory_accno, c1.new_chart_id AS inventory_new_chart, date($transdate) - c1.valid_from as inventory_valid,
c2.accno AS income_accno, c2.new_chart_id AS income_new_chart, date($transdate) - c2.valid_from as income_valid,
c3.accno AS expense_accno, c3.new_chart_id AS expense_new_chart, date($transdate) - c3.valid_from as expense_valid,
p.unit, p.assembly, p.bin, p.onhand, p.notes AS partnotes, p.notes AS longdescription, p.not_discountable,
- pg.partsgroup, p.formel, p.alu, p.payment_id AS part_payment_id
+ pg.partsgroup, p.formel, p.payment_id AS part_payment_id
FROM parts p
LEFT JOIN chart c1 ON ((select inventory_accno_id from buchungsgruppen where id=p.buchungsgruppen_id) = c1.id)
LEFT JOIN chart c2 ON ((select income_accno_id_$form->{taxzone_id} from buchungsgruppen where id=p.buchungsgruppen_id) = c2.id)
}
}
-
- $vendor_accno =
- ($ref->{expense_accno} != $ref->{inventory_accno})
- ? $ref->{inventory_accno}
- : $ref->{expense_accno};
-
# 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 c2.taxkey_id from chart c2 where c2.accno = '$accno_id')