Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision efe9b725

Von Jan Büren vor mehr als 2 Jahren hinzugefügt

  • ID efe9b725cf65ceb492d9125df8270e3a9475195d
  • Vorgänger 61e1b31e
  • Nachfolger 2d1975a8

ARAP _post_transaction Anlegen der id am Anfang wie bei den Rechnungsmasken

Nicht ganz sauber getrennt, ein bisschen Refactor ist im Vor-Commit

Unterschiede anzeigen:

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