Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision ad4bebf4

Von Felix Eichler vor etwa 3 Jahren hinzugefügt

  • ID ad4bebf4dfcc48d0e313bfc4cb045de485c4d9fb
  • Vorgänger 8f07fac1
  • Nachfolger 83fac3d1

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

Unterschiede anzeigen:

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