Merge pull request #13847 from aspangaro/12.0_a27
NEW Accountancy - Add Fiducial Winfic eWinfic WinSis Compta
This commit is contained in:
commit
cd4c19f363
Binary file not shown.
@ -5,11 +5,12 @@
|
|||||||
* Copyright (C) 2015 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2015 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
* Copyright (C) 2016 Pierre-Henry Favre <phf@atm-consulting.fr>
|
* Copyright (C) 2016 Pierre-Henry Favre <phf@atm-consulting.fr>
|
||||||
* Copyright (C) 2016-2019 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2016-2020 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2013-2017 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013-2017 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2017 Elarifr. Ari Elbaz <github@accedinfo.com>
|
* Copyright (C) 2017 Elarifr. Ari Elbaz <github@accedinfo.com>
|
||||||
* Copyright (C) 2017-2019 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2017-2019 Frédéric France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2017 André Schild <a.schild@aarboard.ch>
|
* Copyright (C) 2017 André Schild <a.schild@aarboard.ch>
|
||||||
|
* Copyright (C) 2020 Guillaume Alexandre <guillaume@tag-info.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -52,6 +53,7 @@ class AccountancyExport
|
|||||||
public static $EXPORT_TYPE_SAGE50_SWISS = 45;
|
public static $EXPORT_TYPE_SAGE50_SWISS = 45;
|
||||||
public static $EXPORT_TYPE_CHARLEMAGNE = 50;
|
public static $EXPORT_TYPE_CHARLEMAGNE = 50;
|
||||||
public static $EXPORT_TYPE_QUADRATUS = 60;
|
public static $EXPORT_TYPE_QUADRATUS = 60;
|
||||||
|
public static $EXPORT_TYPE_WINFIC = 70;
|
||||||
public static $EXPORT_TYPE_OPENCONCERTO = 100;
|
public static $EXPORT_TYPE_OPENCONCERTO = 100;
|
||||||
public static $EXPORT_TYPE_LDCOMPTA = 110;
|
public static $EXPORT_TYPE_LDCOMPTA = 110;
|
||||||
public static $EXPORT_TYPE_LDCOMPTA10 = 120;
|
public static $EXPORT_TYPE_LDCOMPTA10 = 120;
|
||||||
@ -105,6 +107,7 @@ class AccountancyExport
|
|||||||
self::$EXPORT_TYPE_BOB50 => $langs->trans('Modelcsv_bob50'),
|
self::$EXPORT_TYPE_BOB50 => $langs->trans('Modelcsv_bob50'),
|
||||||
self::$EXPORT_TYPE_CIEL => $langs->trans('Modelcsv_ciel'),
|
self::$EXPORT_TYPE_CIEL => $langs->trans('Modelcsv_ciel'),
|
||||||
self::$EXPORT_TYPE_QUADRATUS => $langs->trans('Modelcsv_quadratus'),
|
self::$EXPORT_TYPE_QUADRATUS => $langs->trans('Modelcsv_quadratus'),
|
||||||
|
self::$EXPORT_TYPE_WINFIC => $langs->trans('Modelcsv_winfic'),
|
||||||
self::$EXPORT_TYPE_EBP => $langs->trans('Modelcsv_ebp'),
|
self::$EXPORT_TYPE_EBP => $langs->trans('Modelcsv_ebp'),
|
||||||
self::$EXPORT_TYPE_COGILOG => $langs->trans('Modelcsv_cogilog'),
|
self::$EXPORT_TYPE_COGILOG => $langs->trans('Modelcsv_cogilog'),
|
||||||
self::$EXPORT_TYPE_AGIRIS => $langs->trans('Modelcsv_agiris'),
|
self::$EXPORT_TYPE_AGIRIS => $langs->trans('Modelcsv_agiris'),
|
||||||
@ -136,6 +139,7 @@ class AccountancyExport
|
|||||||
self::$EXPORT_TYPE_BOB50 => 'bob50',
|
self::$EXPORT_TYPE_BOB50 => 'bob50',
|
||||||
self::$EXPORT_TYPE_CIEL => 'ciel',
|
self::$EXPORT_TYPE_CIEL => 'ciel',
|
||||||
self::$EXPORT_TYPE_QUADRATUS => 'quadratus',
|
self::$EXPORT_TYPE_QUADRATUS => 'quadratus',
|
||||||
|
self::$EXPORT_TYPE_WINFIC => 'winfic',
|
||||||
self::$EXPORT_TYPE_EBP => 'ebp',
|
self::$EXPORT_TYPE_EBP => 'ebp',
|
||||||
self::$EXPORT_TYPE_COGILOG => 'cogilog',
|
self::$EXPORT_TYPE_COGILOG => 'cogilog',
|
||||||
self::$EXPORT_TYPE_AGIRIS => 'agiris',
|
self::$EXPORT_TYPE_AGIRIS => 'agiris',
|
||||||
@ -184,6 +188,10 @@ class AccountancyExport
|
|||||||
'label' => $langs->trans('Modelcsv_quadratus'),
|
'label' => $langs->trans('Modelcsv_quadratus'),
|
||||||
'ACCOUNTING_EXPORT_FORMAT' => 'txt',
|
'ACCOUNTING_EXPORT_FORMAT' => 'txt',
|
||||||
),
|
),
|
||||||
|
self::$EXPORT_TYPE_WINFIC => array(
|
||||||
|
'label' => $langs->trans('Modelcsv_winfic'),
|
||||||
|
'ACCOUNTING_EXPORT_FORMAT' => 'txt',
|
||||||
|
),
|
||||||
self::$EXPORT_TYPE_EBP => array(
|
self::$EXPORT_TYPE_EBP => array(
|
||||||
'label' => $langs->trans('Modelcsv_ebp'),
|
'label' => $langs->trans('Modelcsv_ebp'),
|
||||||
),
|
),
|
||||||
@ -246,7 +254,7 @@ class AccountancyExport
|
|||||||
$filename = 'general_ledger-'.$this->getFormatCode($formatexportset);
|
$filename = 'general_ledger-'.$this->getFormatCode($formatexportset);
|
||||||
$type_export = 'general_ledger';
|
$type_export = 'general_ledger';
|
||||||
|
|
||||||
global $db; // The tpl file use $db
|
global $db; // The tpl file use $db
|
||||||
include DOL_DOCUMENT_ROOT.'/accountancy/tpl/export_journal.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/accountancy/tpl/export_journal.tpl.php';
|
||||||
|
|
||||||
|
|
||||||
@ -269,6 +277,9 @@ class AccountancyExport
|
|||||||
case self::$EXPORT_TYPE_QUADRATUS :
|
case self::$EXPORT_TYPE_QUADRATUS :
|
||||||
$this->exportQuadratus($TData);
|
$this->exportQuadratus($TData);
|
||||||
break;
|
break;
|
||||||
|
case self::$EXPORT_TYPE_WINFIC :
|
||||||
|
$this->exportWinfic($TData);
|
||||||
|
break;
|
||||||
case self::$EXPORT_TYPE_EBP :
|
case self::$EXPORT_TYPE_EBP :
|
||||||
$this->exportEbp($TData);
|
$this->exportEbp($TData);
|
||||||
break;
|
break;
|
||||||
@ -548,6 +559,85 @@ class AccountancyExport
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Export format : WinFic - eWinfic - WinSis Compta
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param array $TData data
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function exportWinfic(&$TData)
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
|
$end_line = "\r\n";
|
||||||
|
|
||||||
|
//We should use dol_now function not time however this is wrong date to transfert in accounting
|
||||||
|
//$date_ecriture = dol_print_date(dol_now(), $conf->global->ACCOUNTING_EXPORT_DATE); // format must be ddmmyy
|
||||||
|
//$date_ecriture = dol_print_date(time(), $conf->global->ACCOUNTING_EXPORT_DATE); // format must be ddmmyy
|
||||||
|
foreach ($TData as $data) {
|
||||||
|
$code_compta = $data->numero_compte;
|
||||||
|
if (!empty($data->subledger_account))
|
||||||
|
$code_compta = $data->subledger_account;
|
||||||
|
|
||||||
|
$Tab = array();
|
||||||
|
//$Tab['type_ligne'] = 'M';
|
||||||
|
$Tab['code_journal'] = str_pad(self::trunc($data->code_journal, 2), 2);
|
||||||
|
|
||||||
|
//We use invoice date $data->doc_date not $date_ecriture which is the transfert date
|
||||||
|
//maybe we should set an option for customer who prefer to keep in accounting software the tranfert date instead of invoice date ?
|
||||||
|
//$Tab['date_ecriture'] = $date_ecriture;
|
||||||
|
$Tab['date_operation'] = dol_print_date($data->doc_date, '%d%m%Y');
|
||||||
|
|
||||||
|
$Tab['folio'] = ' 1';
|
||||||
|
|
||||||
|
$Tab['num_ecriture'] = str_pad(self::trunc($data->piece_num, 6), 6, ' ', STR_PAD_LEFT);
|
||||||
|
|
||||||
|
$Tab['jour_ecriture'] = dol_print_date($data->doc_date, '%d%m%y');
|
||||||
|
|
||||||
|
$Tab['num_compte'] = str_pad(self::trunc($code_compta, 6), 6, '0');
|
||||||
|
|
||||||
|
if($data->sens == 'D'){
|
||||||
|
$Tab['montant_debit'] = str_pad(number_format(abs($data->montant), 2, ',', ''), 13, ' ', STR_PAD_LEFT);
|
||||||
|
|
||||||
|
$Tab['montant_crebit'] = str_pad(number_format(0, 2, ',', ''), 13, ' ', STR_PAD_LEFT);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$Tab['montant_debit'] = str_pad(number_format(0, 2, ',', ''), 13, ' ', STR_PAD_LEFT);
|
||||||
|
|
||||||
|
$Tab['montant_crebit'] = str_pad(number_format(abs($data->montant), 2, ',', ''), 13, ' ', STR_PAD_LEFT);
|
||||||
|
}
|
||||||
|
|
||||||
|
$Tab['libelle_ecriture'] = str_pad(self::trunc(dol_string_unaccent($data->doc_ref).' '.dol_string_unaccent($data->label_operation), 30), 30);
|
||||||
|
|
||||||
|
$Tab['lettrage'] = str_repeat(' ', 2);
|
||||||
|
|
||||||
|
$Tab['code_piece'] = str_repeat(' ', 5);
|
||||||
|
|
||||||
|
$Tab['code_stat'] = str_repeat(' ', 4);
|
||||||
|
|
||||||
|
if (!empty($data->date_echeance))
|
||||||
|
//$Tab['date_echeance'] = dol_print_date($data->date_echeance, $conf->global->ACCOUNTING_EXPORT_DATE);
|
||||||
|
$Tab['date_echeance'] = dol_print_date($data->date_echeance, '%d%m%Y');
|
||||||
|
else
|
||||||
|
$Tab['date_echeance'] = dol_print_date($data->doc_date, '%d%m%Y');
|
||||||
|
|
||||||
|
$Tab['monnaie'] = '1';
|
||||||
|
|
||||||
|
$Tab['filler'] = ' ';
|
||||||
|
|
||||||
|
$Tab['ind_compteur'] = ' ';
|
||||||
|
|
||||||
|
$Tab['quantite'] = '0,000000000';
|
||||||
|
|
||||||
|
$Tab['code_pointage'] = str_repeat(' ', 2);
|
||||||
|
|
||||||
|
$Tab['end_line'] = $end_line;
|
||||||
|
|
||||||
|
print implode('|', $Tab);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Export format : EBP
|
* Export format : EBP
|
||||||
@ -930,7 +1020,7 @@ class AccountancyExport
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Export format : LD Compta version 9 & higher
|
* Export format : LD Compta version 9
|
||||||
* http://www.ldsysteme.fr/fileadmin/telechargement/np/ldcompta/Documentation/IntCptW9.pdf
|
* http://www.ldsysteme.fr/fileadmin/telechargement/np/ldcompta/Documentation/IntCptW9.pdf
|
||||||
*
|
*
|
||||||
* @param array $objectLines data
|
* @param array $objectLines data
|
||||||
|
|||||||
@ -314,12 +314,13 @@ Modelcsv_quadratus=Export for Quadratus QuadraCompta
|
|||||||
Modelcsv_ebp=Export for EBP
|
Modelcsv_ebp=Export for EBP
|
||||||
Modelcsv_cogilog=Export for Cogilog
|
Modelcsv_cogilog=Export for Cogilog
|
||||||
Modelcsv_agiris=Export for Agiris
|
Modelcsv_agiris=Export for Agiris
|
||||||
Modelcsv_LDCompta=Export for LD Compta (v9 & higher) (Test)
|
Modelcsv_LDCompta=Export for LD Compta (v9) (Test)
|
||||||
Modelcsv_LDCompta10=Export for LD Compta (v10 & higher)
|
Modelcsv_LDCompta10=Export for LD Compta (v10 & higher)
|
||||||
Modelcsv_openconcerto=Export for OpenConcerto (Test)
|
Modelcsv_openconcerto=Export for OpenConcerto (Test)
|
||||||
Modelcsv_configurable=Export CSV Configurable
|
Modelcsv_configurable=Export CSV Configurable
|
||||||
Modelcsv_FEC=Export FEC
|
Modelcsv_FEC=Export FEC
|
||||||
Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland
|
Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland
|
||||||
|
Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta
|
||||||
ChartofaccountsId=Chart of accounts Id
|
ChartofaccountsId=Chart of accounts Id
|
||||||
|
|
||||||
## Tools - Init accounting account on product / service
|
## Tools - Init accounting account on product / service
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user