[Frontaccounting-cvs_updates] frontaccount/includes references.inc, 1.1.2.8, 1.1.2.9
Brought to you by:
frontaccounting,
itronics
From: itronics <itr...@us...> - 2010-04-30 13:08:46
|
Update of /cvsroot/frontaccounting/frontaccount/includes In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv17627/d Modified Files: Tag: unstable references.inc Log Message: Reference recover afer voiding of last transaction in sequence. Index: references.inc =================================================================== RCS file: /cvsroot/frontaccounting/frontaccount/includes/references.inc,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -C2 -d -r1.1.2.8 -r1.1.2.9 *** references.inc 12 Jan 2010 14:04:55 -0000 1.1.2.8 --- references.inc 30 Apr 2010 13:08:38 -0000 1.1.2.9 *************** *** 38,42 **** $this->save_last($reference, $type); } ! function exists($type, $reference) { --- 38,42 ---- $this->save_last($reference, $type); } ! // check if reference is used for any non voided transaction (used for ST_JOURNALENTRY type) function exists($type, $reference) { *************** *** 54,57 **** --- 54,68 ---- return get_next_reference($type); } + // + // Restore previous reference if voided trans ref was the last one. + // + function restore_last($type, $id) + { + $reference = $this->get($type, $id); + $last = $this->increment($this->get_next($type), true); //decrement + if ($reference==$last) { + save_next_reference($type, $last); + } + } //------------------------------------ *************** *** 61,66 **** return strlen(trim($reference)) > 0; } ! ! function increment($reference) { // New method done by Pete. So f.i. WA036 will increment to WA037 and so on. --- 72,79 ---- return strlen(trim($reference)) > 0; } ! // ! // Increments (or decrements if $back==true) reference template ! // ! function increment($reference, $back=false) { // New method done by Pete. So f.i. WA036 will increment to WA037 and so on. *************** *** 75,79 **** $dig_count = strlen($number); // How many digits? eg. 0003 = 4 $fmt = '%0' . $dig_count . 'd'; // Make a format string - leading zeroes ! $nextval = sprintf($fmt, intval($number + 1)); // Add one on, and put prefix back on return $prefix.$nextval.$postfix; --- 88,93 ---- $dig_count = strlen($number); // How many digits? eg. 0003 = 4 $fmt = '%0' . $dig_count . 'd'; // Make a format string - leading zeroes ! $val = intval($number + ($back ? ($number<1 ? 0 : -1) : 1)); ! $nextval = sprintf($fmt, $val); // Add one on, and put prefix back on return $prefix.$nextval.$postfix; *************** *** 82,86 **** return $reference; } - //------------------------------------ } --- 96,99 ---- |