Revision aec14b51
Von Jan Büren vor mehr als 2 Jahren hinzugefügt
SL/AP.pm | ||
---|---|---|
$form->{defaultcurrency} = $form->get_default_currency($myconfig);
|
||
$form->{taxincluded} = 0 unless $form->{taxincluded};
|
||
|
||
# make sure to have a id
|
||
my ($query, $sth, @values);
|
||
if (!$payments_only) {
|
||
# if we have an id delete old records
|
||
if ($form->{id}) {
|
||
|
||
# delete detail records
|
||
$query = qq|DELETE FROM acc_trans WHERE trans_id = ?|;
|
||
do_query($form, $dbh, $query, $form->{id});
|
||
|
||
} else {
|
||
|
||
($form->{id}) = selectrow_query($form, $dbh, qq|SELECT nextval('glid')|);
|
||
|
||
$query =
|
||
qq|INSERT INTO ap (id, invnumber, employee_id,currency_id, taxzone_id) | .
|
||
qq|VALUES (?, ?, (SELECT e.id FROM employee e WHERE e.login = ?),
|
||
(SELECT id FROM currencies WHERE name = ?), (SELECT taxzone_id FROM vendor WHERE id = ?) )|;
|
||
do_query($form, $dbh, $query, $form->{id}, $form->{invnumber}, $::myconfig{login}, $form->{currency}, $form->{vendor_id});
|
||
|
||
}
|
||
}
|
||
# check default or record exchangerate
|
||
if ($form->{currency} eq $form->{defaultcurrency}) {
|
||
$form->{exchangerate} = 1;
|
||
} else {
|
||
... | ... | |
0, $form->{exchangerate}, $form->{id}, 'ap');
|
||
}
|
||
}
|
||
|
||
# get the charts selected
|
||
$form->{AP_amounts}{"amount_$_"} = $form->{"AP_amount_chart_id_$_"} for (1 .. $form->{rowcount});
|
||
|
||
... | ... | |
$form->{payables} = $form->{invtotal};
|
||
|
||
if (!$payments_only) {
|
||
# if we have an id delete old records
|
||
if ($form->{id}) {
|
||
|
||
# delete detail records
|
||
$query = qq|DELETE FROM acc_trans WHERE trans_id = ?|;
|
||
do_query($form, $dbh, $query, $form->{id});
|
||
|
||
} else {
|
||
|
||
($form->{id}) = selectrow_query($form, $dbh, qq|SELECT nextval('glid')|);
|
||
|
||
$query =
|
||
qq|INSERT INTO ap (id, invnumber, employee_id,currency_id, taxzone_id) | .
|
||
qq|VALUES (?, ?, (SELECT e.id FROM employee e WHERE e.login = ?),
|
||
(SELECT id FROM currencies WHERE name = ?), (SELECT taxzone_id FROM vendor WHERE id = ?) )|;
|
||
do_query($form, $dbh, $query, $form->{id}, $form->{invnumber}, $::myconfig{login}, $form->{currency}, $form->{vendor_id});
|
||
|
||
}
|
||
|
||
$query = qq|UPDATE ap SET invnumber = ?,
|
||
transdate = ?, ordnumber = ?, vendor_id = ?, taxincluded = ?,
|
||
amount = ?, duedate = ?, deliverydate = ?, tax_point = ?, paid = ?, netamount = ?,
|
Auch abrufbar als: Unified diff
ARAP _post_transaction Anlegen der id am Anfang wie bei den Rechnungsmasken
Nicht ganz sauber getrennt, ein bisschen Refactor ist im Vor-Commit