Revision 24597232
Von Moritz Bunkus vor mehr als 10 Jahren hinzugefügt
SL/DB/PeriodicInvoicesConfig.pm | ||
---|---|---|
79 | 79 |
sub calculate_invoice_dates { |
80 | 80 |
my ($self, %params) = @_; |
81 | 81 |
|
82 |
my $period_len = $self->get_period_length; |
|
82 | 83 |
my $cur_date = $self->first_billing_date || $self->start_date; |
83 |
my $start_date = $self->get_previous_invoice_date || DateTime->new(year => 1970, month => 1, day => 1); |
|
84 | 84 |
my $end_date = $self->end_date || DateTime->today_local->add(years => 10); |
85 |
my $period_len = $self->get_period_length; |
|
85 |
my $start_date = $params{past_dates} ? undef : $self->get_previous_invoice_date; |
|
86 |
$start_date ||= $cur_date->clone->subtract(days => 1); |
|
86 | 87 |
|
87 | 88 |
$start_date = max($start_date, $params{start_date}) if $params{start_date}; |
88 | 89 |
$end_date = min($end_date, $params{end_date}) if $params{end_date}; |
89 | 90 |
|
90 | 91 |
my @dates; |
91 | 92 |
|
92 |
while ($cur_date < $end_date) { |
|
93 |
while ($cur_date <= $end_date) {
|
|
93 | 94 |
push @dates, $cur_date->clone if $cur_date > $start_date; |
94 | 95 |
|
95 | 96 |
$cur_date->add(months => $period_len); |
Auch abrufbar als: Unified diff
Finanzcontrollingbericht: wiederkehrende Rechnungen berücksichtigen