Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 6f063101

Von Moritz Bunkus vor mehr als 10 Jahren hinzugefügt

  • ID 6f063101b0d1c37da024f46b9481267b869a945e
  • Vorgänger 38b898b0
  • Nachfolger ecd9e568

RDBO Invoice->new_from: Fälligkeitsdatum und Zahlungsbedingungen gefixt

1. Konvertierung von Order-Objekten: Hier wurde das Fälligkeitsdatum
zwar richtig übernommen, nicht aber die Zahlungsbedingungen.

2. Konvertierung von DeliveryOrder-Objekten: Lieferscheine haben gar
keinen Fremdschlüssel auf die Zahlungsbedingungen. Daher wurden hier
weder das Fälligkeitsdatum noch die Zahlungsbedingungen übernommen.

Was jetzt gemacht wird, ist die Zahlungsbedingungen vom Quellobjekt zu
nehmen, wenn dort welche existieren, und ansonsten vom dazugehörigen
Kunden. Wurden Zahlungsbedingungen gefunden, so wird das
Fälligkeitsdatum daraus berechnet und ansonsten auf »Rechnungsdatum + 1
Tag« gesetzt.

Unterschiede anzeigen:

SL/DB/Invoice.pm
130 130

  
131 131
  require SL::DB::Employee;
132 132

  
133
  my $terms = $source->can('payment_id') && $source->payment_id ? $source->payment_terms->terms_netto : 0;
133
  my $terms = $source->can('payment_id') && $source->payment_id ? $source->payment_terms
134
            : $source->customer_id                              ? $source ->customer->payment_terms
135
            :                                                     undef;
136

  
134 137
  my (@columns, @item_columns, $item_parent_id_column, $item_parent_column);
135 138

  
136 139
  if (ref($source) eq 'SL::DB::Order') {
......
151 154
                                                cp_id language_id taxzone_id shipto_id globalproject_id transaction_description currency_id delivery_term_id), @columns),
152 155
               transdate   => DateTime->today_local,
153 156
               gldate      => DateTime->today_local,
154
               duedate     => DateTime->today_local->add(days => $terms * 1),
157
               duedate     => DateTime->today_local->add(days => ($terms ? $terms->terms_netto * 1 : 1)),
158
               payment_id  => $terms ? $terms->id : undef,
155 159
               invoice     => 1,
156 160
               type        => 'invoice',
157 161
               storno      => 0,

Auch abrufbar als: Unified diff