Revision efe9b725
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 = ?,
|
SL/AR.pm | ||
---|---|---|
|
||
my $dbh = $provided_dbh || SL::DB->client->dbh;
|
||
|
||
# if we have an id delete old records else make one
|
||
if (!$payments_only) {
|
||
if ($form->{id}) {
|
||
# delete detail records
|
||
$query = qq|DELETE FROM acc_trans WHERE trans_id = ?|;
|
||
do_query($form, $dbh, $query, $form->{id});
|
||
|
||
} else {
|
||
$query = qq|SELECT nextval('glid')|;
|
||
($form->{id}) = selectrow_query($form, $dbh, $query);
|
||
$query = qq|INSERT INTO ar (id, invnumber, employee_id, currency_id, taxzone_id) VALUES (?, 'dummy', ?, (SELECT id FROM currencies WHERE name=?), (SELECT taxzone_id FROM customer WHERE id = ?))|;
|
||
do_query($form, $dbh, $query, $form->{id}, $form->{employee_id}, $form->{currency}, $form->{customer_id});
|
||
if (!$form->{invnumber}) {
|
||
my $trans_number = SL::TransNumber->new(type => 'invoice', dbh => $dbh, number => $form->{partnumber}, id => $form->{id});
|
||
$form->{invnumber} = $trans_number->create_unique;
|
||
}
|
||
}
|
||
}
|
||
|
||
$form->{defaultcurrency} = $form->get_default_currency($myconfig);
|
||
# check default or record exchangerate
|
||
if ($form->{currency} eq $form->{defaultcurrency}) {
|
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