More comment and add a unit test to check that {t} tag is correctly
supported.
This commit is contained in:
parent
dc0d12eccd
commit
a886136e67
@ -628,8 +628,8 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m
|
|||||||
if (preg_match('/\{(t+)\}/i',$mask,$regType))
|
if (preg_match('/\{(t+)\}/i',$mask,$regType))
|
||||||
{
|
{
|
||||||
$masktype=$regType[1];
|
$masktype=$regType[1];
|
||||||
$masktype_value=substr(preg_replace('/^TE_/','',$objsoc->typent_code),0,dol_strlen($regType[1]));//get n first characters of client code where n is length in mask
|
$masktype_value=substr(preg_replace('/^TE_/','',$objsoc->typent_code),0,dol_strlen($regType[1]));// get n first characters of thirdpaty typent_code (where n is length in mask)
|
||||||
$masktype_value=str_pad($masktype_value,dol_strlen($regType[1]),"#",STR_PAD_RIGHT);
|
$masktype_value=str_pad($masktype_value,dol_strlen($regType[1]),"#",STR_PAD_RIGHT); // we fill on right with # to have same number of char than into mask
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -541,6 +541,27 @@ class NumberingModulesTest extends PHPUnit_Framework_TestCase
|
|||||||
print __METHOD__." result=".$result."\n";
|
print __METHOD__." result=".$result."\n";
|
||||||
$this->assertEquals('198101-0001', $result); // counter must start to 1
|
$this->assertEquals('198101-0001', $result); // counter must start to 1
|
||||||
|
|
||||||
|
// Test with {t} tag
|
||||||
|
$conf->global->SOCIETE_FISCAL_MONTH_START=1;
|
||||||
|
$conf->global->FACTURE_MERCURE_MASK_CREDIT='{t}{yyyy}{mm}-{0000}';
|
||||||
|
$conf->global->FACTURE_MERCURE_MASK_INVOICE='{t}{yyyy}{mm}-{0000}';
|
||||||
|
|
||||||
|
$tmpthirdparty=new Societe($this->savdb);
|
||||||
|
$tmpthirdparty->initAsSpecimen();
|
||||||
|
$tmpthirdparty->typent_code = 'TE_ABC';
|
||||||
|
|
||||||
|
$localobject=new Facture($this->savdb);
|
||||||
|
$localobject->initAsSpecimen();
|
||||||
|
$localobject->date=dol_mktime(12, 0, 0, 1, 1, 1982); // we use year 1980 to be sure to not have existing invoice for this year
|
||||||
|
$numbering=new mod_facture_mercure();
|
||||||
|
$result=$numbering->getNextValue($tmpthirdparty, $localobject);
|
||||||
|
$result2=$localobject->create($user,1);
|
||||||
|
$result3=$localobject->validate($user, $result);
|
||||||
|
print __METHOD__." result=".$result."\n";
|
||||||
|
$this->assertEquals('A198201-0001', $result); // counter must start to 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user