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 = ?,
 | ||
| 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