Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 6496e465

Von Jan Büren vor etwa 2 Jahren hinzugefügt

  • ID 6496e465e7ecfce1239e56431f111dde3b92ac2c
  • Vorgänger 6395d0e2
  • Nachfolger e83cdc76

Hintergrund-Job zum Bücher schließen

Unterschiede anzeigen:

SL/BackgroundJob/SetClosedTo.pm
1
package SL::BackgroundJob::SetClosedTo;
2

  
3
use strict;
4

  
5
use parent qw(SL::BackgroundJob::Base);
6

  
7
use SL::Helper::DateTime;
8

  
9
sub create_job {
10
  $_[0]->create_standard_job('1 0 10 * *'); # always the 10th of the month
11
}
12

  
13

  
14
sub run {
15
  my ($self, $db_obj) = @_;
16
  my $data       = $db_obj->data_as_hash;
17

  
18
  my $subtract_month = $data->{subtract_month} || 1;
19
  my $subtract_days  = $data->{subtract_days}  || 10;
20

  
21
  die "No integer number for days or month" unless ($subtract_month =~ m/^\d+\z/
22
                                                 && $subtract_days  =~ m/^\d+\z/);
23

  
24
  # new closedto
25
  my $new_closedto = DateTime->new(month => 10, day => 10, year => 2022);
26
  $new_closedto->subtract(months => $subtract_month, days => $subtract_days);
27

  
28
  my $defaults   = SL::DB::Default->get;
29

  
30
  # dont accidently open the books
31
  return 1 if ($defaults->closedto && $defaults->closedto >= $new_closedto);
32

  
33
  $defaults->closedto($new_closedto);
34
  $defaults->save || die "Cannot save closedto!";
35

  
36
  return 1;
37
}
38

  
39
1;
40

  
41
__END__
42

  
43
=encoding utf8
44

  
45
=head1 NAME
46

  
47
SL::BackgroundJob::SetClosedTo - Background job for
48
periodically setting closedto (books closed until).
49
Defaults to the end of the second last month.
50

  
51
=cut
doc/changelog
16 16
   geschlossen werden.
17 17
 - Metadaten für DATEV-CSV-Export exakter nach den Wünschen des DATEV-Prüfprogramms
18 18
   gesetzt (SKR ergänzt und weniger Spalten)
19

  
19
 - Hintergrund-Job der automatisch periodisch die Bücher schließt, falls dies manuell
20
   vergessen wird. Als Intervall sind Monate und Tage rückwirkend auswählbar:
21
   'subtract_month: n', 'subtract_days: n'. Die Einstellung im Job muss wie immer json
22
   kodiert passieren. Falls keine Parameter gesetzt sind, werden die Bücher am 10. des
23
   Monats rückwirkend am letzten Tag des Vorvormonats geschlossen.
20 24

  
21 25
2022-09-19 - Release 3.7.0
22 26

  

Auch abrufbar als: Unified diff