Revision ad4bebf4
Von Felix Eichler vor etwa 3 Jahren hinzugefügt
SL/DN.pm | ||
---|---|---|
192 | 192 |
AND (d_interest.dunning_id <> ?) |
193 | 193 |
AND NOT (d_interest.fee_interest_ar_id ISNULL) |
194 | 194 |
), 0) |
195 |
AS max_previous_interest |
|
195 |
AS max_previous_interest, |
|
196 |
d.id AS link_id |
|
196 | 197 |
FROM dunning d |
197 | 198 |
WHERE dunning_id = ?|; |
198 | 199 |
@values = ($dunning_id, $dunning_id, $dunning_id); |
... | ... | |
201 | 202 |
my ($fee_remaining, $interest_remaining) = (0, 0); |
202 | 203 |
my ($fee_total, $interest_total) = (0, 0); |
203 | 204 |
|
205 |
my @link_ids; |
|
206 |
|
|
204 | 207 |
while (my $ref = $sth->fetchrow_hashref()) { |
205 | 208 |
$fee_remaining += $form->round_amount($ref->{fee}, 2); |
206 | 209 |
$fee_remaining -= $form->round_amount($ref->{max_previous_fee}, 2); |
... | ... | |
208 | 211 |
$interest_remaining += $form->round_amount($ref->{interest}, 2); |
209 | 212 |
$interest_remaining -= $form->round_amount($ref->{max_previous_interest}, 2); |
210 | 213 |
$interest_total += $form->round_amount($ref->{interest}, 2); |
214 |
push @link_ids, $ref->{link_id}; |
|
211 | 215 |
} |
212 | 216 |
|
213 | 217 |
$sth->finish(); |
... | ... | |
271 | 275 |
$::myconfig{login}); # employee_id |
272 | 276 |
do_query($form, $dbh, $query, @values); |
273 | 277 |
|
278 |
RecordLinks->create_links( |
|
279 |
'dbh' => $dbh, |
|
280 |
'mode' => 'ids', |
|
281 |
'from_table' => 'dunning', |
|
282 |
'from_ids' => \@link_ids, |
|
283 |
'to_table' => 'ar', |
|
284 |
'to_id' => $ar_id, |
|
285 |
); |
|
286 |
|
|
274 | 287 |
$query = |
275 | 288 |
qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate, taxkey, tax_id, chart_link) |
276 | 289 |
VALUES (?, ?, ?, current_date, current_date, 0, |
... | ... | |
326 | 339 |
my $h_update_ar = prepare_query($form, $dbh, $q_update_ar); |
327 | 340 |
|
328 | 341 |
my $q_insert_dunning = |
329 |
qq|INSERT INTO dunning (dunning_id, dunning_config_id, dunning_level, trans_id, |
|
330 |
fee, interest, transdate, duedate)
|
|
331 |
VALUES (?, ?, |
|
342 |
qq|INSERT INTO dunning (id, dunning_id, dunning_config_id, dunning_level, trans_id,
|
|
343 |
fee, interest, transdate, duedate)
|
|
344 |
VALUES (?, ?, ?,
|
|
332 | 345 |
(SELECT dunning_level FROM dunning_config WHERE id = ?), |
333 | 346 |
?, |
334 | 347 |
(SELECT SUM(fee) |
... | ... | |
366 | 379 |
$send_email |= $row->{email}; |
367 | 380 |
$print_invoice |= $row->{print_invoice}; |
368 | 381 |
|
382 |
my ($row_id) = selectrow_query($form, $dbh, qq|SELECT nextval('id')|); |
|
369 | 383 |
my $next_config_id = conv_i($row->{next_dunning_config_id}); |
370 | 384 |
my $invoice_id = conv_i($row->{invoice_id}); |
371 | 385 |
|
372 |
@values = ($dunning_id, $next_config_id, $next_config_id,
|
|
373 |
$invoice_id, $next_config_id, $invoice_id,
|
|
374 |
$next_config_id, $next_config_id); |
|
386 |
@values = ($row_id, $dunning_id, $next_config_id,
|
|
387 |
$next_config_id, $invoice_id, $next_config_id,
|
|
388 |
$invoice_id, $next_config_id, $next_config_id);
|
|
375 | 389 |
do_statement($form, $h_insert_dunning, $q_insert_dunning, @values); |
390 |
|
|
391 |
RecordLinks->create_links( |
|
392 |
'dbh' => $dbh, |
|
393 |
'mode' => 'ids', |
|
394 |
'from_table' => 'ar', |
|
395 |
'from_ids' => $invoice_id, |
|
396 |
'to_table' => 'dunning', |
|
397 |
'to_id' => $row_id, |
|
398 |
); |
|
376 | 399 |
} |
377 | 400 |
# die this transaction, because for this customer only credit notes are |
378 | 401 |
# selected ... |
Auch abrufbar als: Unified diff
Mahnungen: Mit Rechnung verknüpfen
Erstellte Mahnungen werden mit den gemahnten Rechnungen verknüpft und
unter "Verknüpfte Belege" gelistet.
Außerdem werden Rechnungen über Mahnkosten wiederum zu den zugehörigen
Mahnungen verknüpft.
impl. #7440