AccountingPeriod - Methode an get_balance_starting_date übergeben
authorG. Richardson <grichardson@kivitec.de>
Mon, 30 Sep 2019 08:56:14 +0000 (10:56 +0200)
committerG. Richardson <grichardson@kivitec.de>
Mon, 30 Sep 2019 09:50:42 +0000 (11:50 +0200)
Für den Fall, daß man die Methode zur Ermittlung des Startdatums nicht
aus der Mandantenkonfiguration nehmen möchte, sondern diese selber
vorgeben, gibt es nun einen neuen Parameter, um die Methode selber zu
bestimmen. Der Default ist weiterhin der Wert aus der
Mandantenkonfiguration.

SL/DB/Helper/AccountingPeriod.pm

index e29d0e5..9be3774 100644 (file)
@@ -20,9 +20,10 @@ sub get_balance_startdate_method_options {
 }
 
 sub get_balance_starting_date {
-  my ($self,$asofdate) = @_;
+  my ($self, $asofdate, $startdate_method) = @_;
 
-  $asofdate ||= DateTime->today_local;
+  $asofdate         ||= DateTime->today_local;
+  $startdate_method ||= $::instance_conf->get_balance_startdate_method;
 
   unless ( ref $asofdate eq 'DateTime' ) {
     $asofdate = $::locale->parse_date_to_object($asofdate);
@@ -30,7 +31,6 @@ sub get_balance_starting_date {
 
   my $dbh = $::form->get_standard_dbh;
 
-  my $startdate_method = $::instance_conf->get_balance_startdate_method;
 
   # We could use the following objects to determine the starting date for
   # calculating the balance from asofdate (the reference date for the balance):
@@ -122,7 +122,7 @@ SL::DB::Helper::AccountingPeriod - Helper functions for calculating dates relati
 Returns an arrayref of translated options for determining the startdate of a
 balance period or the yearend period. To be used as the options for a dropdown.
 
-=item C<get_balance_starting_date $date>
+=item C<get_balance_starting_date $date $startdate_method>
 
 Given a date this method calculates and returns the starting date of the
 financial period relative to that date, according to the configured
@@ -134,6 +134,8 @@ date-parsed.
 
 If no argument is passed the current day is assumed as default.
 
+If no startdate method is passed, the default method from defaults is used.
+
 =back
 
 =head1 BUGS