Merge pull request #12911 from aspangaro/9.0_FEC
FIX: FEC export format
This commit is contained in:
commit
3a9ef7c5e7
@ -38,6 +38,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/functions.lib.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/lib/functions.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php';
|
||||||
|
|
||||||
class AccountancyExport
|
class AccountancyExport
|
||||||
{
|
{
|
||||||
@ -658,9 +659,9 @@ class AccountancyExport
|
|||||||
print $end_line;
|
print $end_line;
|
||||||
|
|
||||||
foreach ( $objectLines as $line ) {
|
foreach ( $objectLines as $line ) {
|
||||||
$date_creation = dol_print_date($line->date_creation, '%d%m%Y');
|
$date_creation = dol_print_date($line->date_creation, '%Y%m%d');
|
||||||
$date_doc = dol_print_date($line->doc_date, '%d%m%Y');
|
$date_doc = dol_print_date($line->doc_date, '%Y%m%d');
|
||||||
$date_valid = dol_print_date($line->date_validated, '%d%m%Y');
|
$date_valid = dol_print_date($line->date_validated, '%Y%m%d');
|
||||||
|
|
||||||
// FEC:JournalCode
|
// FEC:JournalCode
|
||||||
print $line->code_journal . $separator;
|
print $line->code_journal . $separator;
|
||||||
@ -696,10 +697,10 @@ class AccountancyExport
|
|||||||
print $line->label_operation . $separator;
|
print $line->label_operation . $separator;
|
||||||
|
|
||||||
// FEC:Debit
|
// FEC:Debit
|
||||||
print price2num($line->debit) . $separator;
|
print price2fec($line->debit) . $separator;
|
||||||
|
|
||||||
// FEC:Credit
|
// FEC:Credit
|
||||||
print price2num($line->credit) . $separator;
|
print price2fec($line->credit) . $separator;
|
||||||
|
|
||||||
// FEC:EcritureLet
|
// FEC:EcritureLet
|
||||||
print $line->lettering_code . $separator;
|
print $line->lettering_code . $separator;
|
||||||
|
|||||||
@ -4523,7 +4523,6 @@ function price2num($amount,$rounding='',$alreadysqlnb=0)
|
|||||||
return $amount;
|
return $amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Output a dimension with best unit
|
* Output a dimension with best unit
|
||||||
*
|
*
|
||||||
|
|||||||
@ -2320,9 +2320,9 @@ function getModuleDirForApiClass($module)
|
|||||||
/*
|
/*
|
||||||
* Return 2 hexa code randomly
|
* Return 2 hexa code randomly
|
||||||
*
|
*
|
||||||
* @param $min int Between 0 and 255
|
* @param int $min Between 0 and 255
|
||||||
* @param $max int Between 0 and 255
|
* @param int $max Between 0 and 255
|
||||||
* @return String
|
* @return String Color string
|
||||||
*/
|
*/
|
||||||
function random_color_part($min=0,$max=255)
|
function random_color_part($min=0,$max=255)
|
||||||
{
|
{
|
||||||
@ -2332,11 +2332,40 @@ function random_color_part($min=0,$max=255)
|
|||||||
/*
|
/*
|
||||||
* Return hexadecimal color randomly
|
* Return hexadecimal color randomly
|
||||||
*
|
*
|
||||||
* @param $min int Between 0 and 255
|
* @param int $min Between 0 and 255
|
||||||
* @param $max int Between 0 and 255
|
* @param int $max Between 0 and 255
|
||||||
* @return String
|
* @return String Color string
|
||||||
*/
|
*/
|
||||||
function random_color($min=0, $max=255)
|
function random_color($min=0, $max=255)
|
||||||
{
|
{
|
||||||
return random_color_part($min, $max) . random_color_part($min, $max) . random_color_part($min, $max);
|
return random_color_part($min, $max) . random_color_part($min, $max) . random_color_part($min, $max);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to format a value into a defined format for French administration (no thousand separator & decimal separator force to ',' with two decimals)
|
||||||
|
* Function used into accountancy FEC export
|
||||||
|
*
|
||||||
|
* @param float $amount Amount to format
|
||||||
|
* @return string Chain with formatted upright
|
||||||
|
* @see price2num() Format a numeric into a price for FEC files
|
||||||
|
*/
|
||||||
|
function price2fec($amount)
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
|
// Clean parameters
|
||||||
|
if (empty($amount)) $amount=0; // To have a numeric value if amount not defined or = ''
|
||||||
|
$amount = (is_numeric($amount) ? $amount : 0); // Check if amount is numeric, for example, an error occured when amount value = o (letter) instead 0 (number)
|
||||||
|
|
||||||
|
// Output decimal number by default
|
||||||
|
$nbdecimal = (empty($conf->global->ACCOUNTING_FEC_DECIMAL_LENGTH) ? 2 : $conf->global->ACCOUNTING_FEC_DECIMAL_LENGTH);
|
||||||
|
|
||||||
|
// Output separators by default
|
||||||
|
$dec = (empty($conf->global->ACCOUNTING_FEC_DECIMAL_SEPARATOR) ? ',' : $conf->global->ACCOUNTING_FEC_DECIMAL_SEPARATOR);
|
||||||
|
$thousand = (empty($conf->global->ACCOUNTING_FEC_THOUSAND_SEPARATOR) ? '' : $conf->global->ACCOUNTING_FEC_THOUSAND_SEPARATOR);
|
||||||
|
|
||||||
|
// Format number
|
||||||
|
$output = number_format($amount, $nbdecimal, $dec, $thousand);
|
||||||
|
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user