From c5677263c637016991f99e1b63f067280da75163 Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Tue, 8 Jan 2019 20:44:35 +0100 Subject: [PATCH] New transaction reference formats {FF}/{FFFF} for fiscal years starting on other day than January 1st. --- includes/references.inc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/includes/references.inc b/includes/references.inc index 526dc155..82cff2a1 100644 --- a/includes/references.inc +++ b/includes/references.inc @@ -10,6 +10,7 @@ See the License here . ***********************************************************************/ include_once($path_to_root . "/includes/db/class.reflines_db.inc"); +include_once($path_to_root . "/admin/db/fiscalyears_db.inc"); include_once($path_to_root . "/includes/types.inc"); //--------------------------------------------------------------------------------------------- // 2.4 - further changes toward removing refs table introduced: @@ -56,6 +57,8 @@ $refline_placeholders = array( 'MM' => 'date', 'YY' => 'date', 'YYYY' => 'date', + 'FF' => 'date', // fiscal year + 'FFFF' => 'date', 'UU' => 'user', 'P' => 'pos', // FIXME: for placeholders below all the code should work, but as the ref length is variable, @@ -121,6 +124,11 @@ class references list($day, $month, $year) = explode_date_to_dmy($context['date']); $out .= $ph == 'MM' ? sprintf('%02d', $month) : ($ph == 'YY' ? sprintf('%02d', $year%100): sprintf('%04d', $year)); break; + case 'FF': + case 'FFFF': + list($day, $month, $year) = explode_date_to_dmy(get_fiscalyear_begin_for_date($context['date'])); + $out .= $ph == 'FF' ? sprintf('%02d', $year%100): sprintf('%04d', $year); + break; case 'C': $out .= sprintf('%d', $context['customer']); break; @@ -286,11 +294,16 @@ class references { list($year4, $month, $day) = explode("-", date2sql($context['date'])); $year2 = substr($year4, 2); + $f_year = explode("-", date2sql(get_fiscalyear_begin_for_date($context['date']))); + $f_year2 = substr($f_year[0], 2); + $f_year4 = $f_year[0]; } else { $month = '\d{2,}'; $year2 = '\d{2,}'; $year4 = '\d{4,}'; + $f_year2 = '\d{2,}'; + $f_year4 = '\d{4,}'; } $cust = @$context['customer'] ? $context['customer'] : '\d+'; $supp = @$context['supplier'] ? $context['supplier'] : '\d+'; @@ -306,6 +319,8 @@ class references '/\{MM\}/', '/\{YY\}/', '/\{YYYY\}/', + '/\{FF\}/', + '/\{FFFF\}/', '/\{C\}/', '/\{B\}/', '/\{S\}/', @@ -320,6 +335,8 @@ class references $month, $year2, $year4, + $f_year2, + $f_year4, $cust, $branch, $supp, -- 2.30.2