[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Noalyss-commit] [noalyss] 02/03: Task #1231 - Cohérence listes CSV Jou
From: |
Dany De Bontridder |
Subject: |
[Noalyss-commit] [noalyss] 02/03: Task #1231 - Cohérence listes CSV Journaux #1231 Rewrite code for export CSV for ACC , Stock and follow up |
Date: |
Sun, 13 Dec 2015 16:40:19 +0000 |
sparkyx pushed a commit to branch master
in repository noalyss.
commit 90d21428b3317b9ad013c6b3fe0a258604112000
Author: Dany De Bontridder <address@hidden>
Date: Sun Dec 13 17:27:32 2015 +0100
Task #1231 - Cohérence listes CSV Journaux
#1231 Rewrite code for export CSV for ACC , Stock and follow up
---
include/class/class_acc_account_ledger.php | 6 +-
include/class/class_acc_reconciliation.php | 77 +++++++++++--
include/class/class_balance_age.php | 99 +++++++++-------
include/class/class_document_export.php | 4 +-
include/export/export_balance_age_csv.php | 4 +-
include/export/export_balance_csv.php | 40 ++++---
include/export/export_fiche_balance_csv.php | 95 ++++++++++-------
include/export/export_fiche_csv.php | 41 +++-----
include/export/export_fiche_detail_csv.php | 124 +++++++++++----------
include/export/export_form_csv.php | 40 ++++----
include/export/export_gl_csv.php | 114 ++++++++++---------
include/export/export_histo_csv.php | 56 +++++-----
include/export/export_ledger_csv.php | 161 ++++++++++++++++-----------
include/export/export_poste_detail_csv.php | 157 ++++++++++++++------------
include/export/export_rec_csv.php | 8 +-
include/export/export_stock_histo_csv.php | 40 ++++----
include/export/export_stock_resume_list.php | 86 +++++++--------
17 files changed, 641 insertions(+), 511 deletions(-)
diff --git a/include/class/class_acc_account_ledger.php
b/include/class/class_acc_account_ledger.php
index 2ecc032..5fd1f4c 100644
--- a/include/class/class_acc_account_ledger.php
+++ b/include/class/class_acc_account_ledger.php
@@ -98,10 +98,10 @@ class Acc_Account_Ledger
/*!
* \brief Get data for accounting entry between 2 date
*
- * \param $p_from date from
- * \param $p_to end date
+ *\param $p_from date from
+ *\param $p_to end date
*\param $let 0 means all rows, 1 only lettered, 2 only unlettered
- * \param $solded 0 means all account, 1 means only accounts with a
saldo <> 0
+ *\param $solded 0 means all account, 1 means only accounts with a saldo
<> 0
*\note the data are filtered by the access of the current user
* \return double array
(j_date,deb_montant,cred_montant,description,jrn_name,j_debit,jr_internal)
* (tot_deb,tot_credit
diff --git a/include/class/class_acc_reconciliation.php
b/include/class/class_acc_reconciliation.php
index 1695357..ba6abf4 100644
--- a/include/class/class_acc_reconciliation.php
+++ b/include/class/class_acc_reconciliation.php
@@ -434,6 +434,10 @@ j1.j_poste as poste
*/
function export_csv($p_choice)
{
+ require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+ $export=new Noalyss_Csv(_('rapprochement'));
+ $export->send_header();
+
$array = $this->get_data($p_choice);
for ($i = 0; $i < count($array); $i++)
{
@@ -443,14 +447,30 @@ j1.j_poste as poste
$first = $array[$i]['first'];
$a_depend = array();
+ $title=array();
if (isset($array[$i]['depend']))
{
$a_depend = $array[$i]['depend'];
//----- HEADER ----
if ($i == 0)
{
- printf('"n°";"Date";"internal";"libellé";"n° pièce";"nom
journal";"type journal";"montant"');
- printf(';"<->";"Date";"internal";"libellé";"n° pièce";"nom
journal";"type journal";"montant"' . "\n\r");
+ $title[]=_('n°');
+ $title[]=_('Date');
+ $title[]=_('internal');
+ $title[]=_('libellé');
+ $title[]=_('pièce');
+ $title[]=_('journal');
+ $title[]=_('type journal');
+ $title[]=_('montant');
+ $title[]=_('<->');
+ $title[]=_('Date');
+ $title[]=_('Interne');
+ $title[]=_('libell');
+ $title[]=_('pièce');
+ $title[]=_('nom journal');
+ $title[]=_('type journal');
+ $title[]=_('montant');
+
}
}
else
@@ -458,34 +478,73 @@ j1.j_poste as poste
//----- HEADER ----
if ($i == 0)
{
- printf('"n°";"Date";"internal";"libellé";"n° pièce";"nom
journal";"type journal";"montant"' . "\n\r");
+ $title[]=_('n°');
+ $title[]=_('Date');
+ $title[]=_('interne');
+ $title[]=_('libellé');
+ $title[]=_('pièce');
+ $title[]=_('journal');
+ $title[]=_('type journal');
+ $title[]=_('montant');
+
}
}
+ $export->write_header($title);
// --------------------------
// Print First
// --------------------------
- printf('%d;"%s";"%s";"%s";"%s";"%s";"%s";%f',$i,
$first['jr_date'], $first['jr_internal'], $first['jr_comment'],
$first['jr_pj_number'], $first['jrn_def_name'], $first['jrn_def_type'],
$first['jr_montant']);
+ $export->add($i,"number");
+ $export->add($first['jr_date']);
+ $export->add($first['jr_internal']);
+ $export->add($first['jr_comment']);
+ $export->add($first['jr_pj_number']);
+ $export->add($first['jrn_def_name']);
+ $export->add($first['jrn_def_type']);
+ $export->add($first['jr_montant'],"number");
if (count($a_depend) > 0)
{
// --------------------------------------
// Print first depending operation
// --------------------------------------
$depend = $a_depend[0];
- printf(';"<->";"%s";"%s";"%s";"%s";"%s";"%s";%f' . "\n\r",
$depend['jr_date'], $depend['jr_internal'], $depend['jr_comment'],
$depend['jr_pj_number'], $depend['jrn_def_name'], $depend['jrn_def_type'],
$depend['jr_montant']);
-
+ $export->add("<->");
+
+ $export->add($depend['jr_date']);
+ $export->add($depend['jr_internal']);
+ $export->add($depend['jr_comment']);
+ $export->add($depend['jr_pj_number']);
+ $export->add($depend['jrn_def_name']);
+ $export->add($depend['jrn_def_type']);
+ $export->add($depend['jr_montant'],"number");
+ $export->write();
// --------------------------------------
// print other depending operation if any
// --------------------------------------
for ($e = 1; $e < count($a_depend); $e++)
{
$depend = $a_depend[$e];
- printf(';;;;;;;"<->";');
- printf('"%s";"%s";"%s";"%s";"%s";"%s";%f' . "\n\r",
$depend['jr_date'], $depend['jr_internal'], $depend['jr_comment'],
$depend['jr_pj_number'], $depend['jrn_def_name'], $depend['jrn_def_type'],
$depend['jr_montant']);
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add("<->");
+ $export->add($depend['jr_date']);
+ $export->add($depend['jr_internal']);
+ $export->add($depend['jr_comment']);
+ $export->add($depend['jr_pj_number']);
+ $export->add($depend['jrn_def_name']);
+ $export->add($depend['jrn_def_type']);
+ $export->add($depend['jr_montant'],"number");
+ $export->write();
}
}
else
{
- printf("\n\r");
+ $export->write();
}
}
}
diff --git a/include/class/class_balance_age.php
b/include/class/class_balance_age.php
index 9706f8b..60f3551 100644
--- a/include/class/class_balance_age.php
+++ b/include/class/class_balance_age.php
@@ -131,23 +131,33 @@ class Balance_Age
$nb_fiche=count($a_fiche);
require NOALYSS_TEMPLATE.'/balance_aged_result.php';
}
-
+ /**
+ * Export Aged Balance to CSV
+ * @param $p_date_start date DD.MM.YYYY
+ * @param type $p_let unlet for unlettered operations
+ */
function export_csv($p_date_start, $p_let)
{
+ require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+ bcscale(2);
+ $export=new Noalyss_Csv('aged_balance');
+ $header = array(_('QuickCode') ,
+ _('Nom'),
+ _('Prénom'),
+ _('Date'),
+ _('N° pièce'),
+ _('Interne'),
+ _('Fin'),
+ _('<30 jours'),
+ _('entre 30 et 60 jours'),
+ _('entre 60 et 90 jours'),
+ _('> 90 jours') );
+ $export->send_header();
+ $export->write_header($header);
+
+
$nb_fiche=count($this->afiche);
- $title=sprintf('"%s";', _('QuickCode'));
- $title.=sprintf('"%s";', _('Nom'));
- $title.=sprintf('"%s";', _('Prénom'));
- $title.=sprintf('"%s";', _('Date'));
- $title.=sprintf('"%s";', _('N° pièce'));
- $title.=sprintf('"%s";', _('Interne'));
- $title.=sprintf('"%s";', _('Fin'));
- $title.=sprintf('"%s";', _('<30 jours'));
- $title.=sprintf('"%s";', _('entre 30 et 60 jours'));
- $title.=sprintf('"%s";', _('entre 60 et 90 jours'));
- $title.=sprintf('"%s";', _('> 90 jours'));
- $title.=sprintf("\n\r");
- $flag_title=false;
+
for ($i=0; $i<$nb_fiche; $i++)
{
$card=new Lettering_Card($this->cn,
$this->afiche[$i]['quick_code']);
@@ -155,7 +165,6 @@ class Balance_Age
$card->get_balance_ageing($p_let);
if (empty($card->content))
continue;
- if ( ! $flag_title ) { echo $title;$flag_title=true;}
$nb_row=count($card->content);
$sum_lt_30=0;
$sum_gt_30_lt_60=0;
@@ -165,75 +174,77 @@ class Balance_Age
for ($j=0; $j<$nb_row; $j++)
{
$show=true;
- printf('"%s";', str_replace('"', '',
$this->afiche[$i]['quick_code']));
- printf('"%s";', str_replace('"', '',
$this->afiche[$i]['name']));
- printf('"%s";', str_replace('"', '',
$this->afiche[$i]['first_name']));
- printf('"%s";', $card->content[$j]['j_date_fmt']);
- printf('"%s";', $card->content[$j]['jr_pj_number']);
- printf('"%s";', $card->content[$j]['jr_internal']);
+ $export->add($this->afiche[$i]['quick_code']);
+ $export->add($this->afiche[$i]['name']);
+ $export->add($this->afiche[$i]['first_name']);
+ $export->add($card->content[$j]['j_date_fmt']);
+ $export->add($card->content[$j]['jr_pj_number']);
+ $export->add($card->content[$j]['jr_internal']);
if
($card->content[$j]['jrn_def_type']=='FIN'||$card->content[$j]['jrn_def_type']=='ODS')
{
- printf("%s;", nb($card->content[$j]['j_montant']));
+ $export->add($card->content[$j]['j_montant'],"number");
$sum_fin=bcadd($sum_fin, $card->content[$j]['j_montant']);
$show=false;
}
else
{
- printf('0;');
+ $export->add(0,'number');
}
if ($show&&$card->content[$j]['day_paid']<=30)
{
- printf("%s;", nb($card->content[$j]['j_montant']));
+ $export->add($card->content[$j]['j_montant'],"number");
$sum_lt_30=bcadd($sum_lt_30,
$card->content[$j]['j_montant']);
$show=false;
}
else
{
- printf('0;');
+ $export->add(0,'number');
}
if
($show&&$card->content[$j]['day_paid']>30&&$card->content[$j]['day_paid']<=60)
{
- printf("%s;", nb($card->content[$j]['j_montant']));
+ $export->add($card->content[$j]['j_montant'],"number");
$sum_gt_30_lt_60=bcadd($sum_gt_30_lt_60,
$card->content[$j]['j_montant']);
}
else
{
- printf('0;');
+ $export->add(0,'number');
}
if
($show&&$card->content[$j]['day_paid']>60&&$card->content[$j]['day_paid']<=90)
{
- printf("%s;", nb($card->content[$j]['j_montant']));
+ $export->add($card->content[$j]['j_montant'],"number");
$sum_gt_60_lt_90=bcadd($sum_gt_60_lt_90,
$card->content[$j]['j_montant']);
}
else
{
- printf('0;');
+ $export->add(0,'number');
}
if ($show&&$card->content[$j]['day_paid']>90)
{
- printf("%s", nb($card->content[$j]['j_montant']));
+ $export->add($card->content[$j]['j_montant'],"number");
$sum_gt_90=bcadd($sum_gt_90,
$card->content[$j]['j_montant']);
}
else
{
- printf('0;');
+ $export->add(0,'number');
}
- printf("\n\r");
+ $export->write();
}
- printf('"%s";', _('Totaux'));
- printf('"";');
- printf('"";');
- printf('"";');
- printf('"";');
- printf('"";');
- printf('%s;', nb($sum_fin));
- printf('%s;', nb($sum_lt_30));
- printf('%s;', nb($sum_gt_30_lt_60));
- printf('%s;', nb($sum_gt_60_lt_90));
- printf('%s', nb($sum_gt_90));
- printf("\n\r");
+ $export->add(_('Totaux'));
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add($sum_fin,"number");
+ $export->add($sum_lt_30,"number");
+ $export->add($sum_gt_30_lt_60,"number");
+ $export->add($sum_gt_60_lt_90,"number");
+ $export->add($sum_gt_90,"number");
+ $export->write();
+
+
}
}
diff --git a/include/class/class_document_export.php
b/include/class/class_document_export.php
index b6737a6..cf6d66a 100644
--- a/include/class/class_document_export.php
+++ b/include/class/class_document_export.php
@@ -204,8 +204,8 @@ class Document_Export
{
try
{
- if (CONVERT_GIF_PDF == 'NO') throw new
Exception(_("CONVERT_GIF_PDF n'est pas installé"));
- if (PDFTK == 'NO') throw new Exception(_("TKPDF n'est
pas installé"));
+ if (CONVERT_GIF_PDF == 'NOT') throw new
Exception(_("CONVERT_GIF_PDF n'est pas installé"));
+ if (PDFTK == 'NOT') throw new Exception(_("TKPDF
n'est pas installé"));
} catch (Exception $ex)
{
throw ($ex);
diff --git a/include/export/export_balance_age_csv.php
b/include/export/export_balance_age_csv.php
index 023dd47..589231d 100644
--- a/include/export/export_balance_age_csv.php
+++ b/include/export/export_balance_age_csv.php
@@ -22,9 +22,7 @@
if (!defined('ALLOWED'))
die('Appel direct ne sont pas permis');
require 'class/class_balance_age.php';
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="balance_age.csv"',FALSE);
+
/**
* @file
* @brief Export an ageing balance
diff --git a/include/export/export_balance_csv.php
b/include/export/export_balance_csv.php
index 805a42d..6069648 100644
--- a/include/export/export_balance_csv.php
+++ b/include/export/export_balance_csv.php
@@ -21,9 +21,8 @@
* \brief Return the balance in CSV format
*/
if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="balance.csv"',FALSE);
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+
include_once ("lib/ac_common.php");
include_once("class/class_acc_balance.php");
require_once NOALYSS_INCLUDE.'/lib/class_database.php';
@@ -35,7 +34,7 @@ $cn=Dossier::connect();
bcscale(2);
require_once NOALYSS_INCLUDE.'/class/class_user.php';
-
+$export=new Noalyss_Csv('balance');
$bal=new Acc_Balance($cn);
$bal->jrn=null;
switch( $_GET['p_filter'])
@@ -70,33 +69,36 @@ $row=$bal->get_row($_GET['from_periode'],
$_GET['to_periode'],
$prev);
$prev = ( isset ($row[0]['sum_cred_previous'])) ?1:0;
-echo 'poste;libelle;';
-if ($prev == 1 ) echo 'deb n-1;cred n-1;solde n-1;d/c;';
-echo 'deb;cred;solde;d/c';
-printf("\n");
+$title=array('poste','libelle');
+if ($prev == 1 ) $title=array_merge($title,array('deb n-1','cred n-1','solde
n-1','d/c;'));
+$title=array_merge($title,array('deb','cred','solde','d/c'));
+
+$export->send_header();
+$export->write_header($title);
foreach ($row as $r)
{
- echo $r['poste'].';'.
- $r['label'].';';
+ $export->add($r['poste']);
+ $export->add($r['label']);
+
if ( $prev == 1 )
{
$delta=bcsub($r['solde_deb_previous'],$r['solde_cred_previous']);
$sign=($delta<0)?'C':'D';
$sign=($delta == 0)?'=':$sign;
- echo nb($r['sum_deb_previous']).';'.
- nb($r['sum_cred_previous']).';'.
- nb(abs($delta)).';'.
- "$sign".';';
+ $export->add($r['sum_deb_previous'],"number");
+ $export->add($r['sum_cred_previous'],"number");
+ $export->add(abs($delta),"number");
+ $export->add($sign);
}
$delta=bcsub($r['solde_deb'],$r['solde_cred']);
$sign=($delta<0)?'C':'D';
$sign=($delta == 0)?'=':$sign;
- echo nb($r['sum_deb']).';'.
- nb($r['sum_cred']).';'.
- nb(abs($delta)).';'.
- "$sign";
- printf("\n");
+ $export->add($r['sum_deb'],"number");
+ $export->add($r['sum_cred'],"number");
+ $export->add(abs($delta),"number");
+ $export->add($sign);
+ $export->write();
}
diff --git a/include/export/export_fiche_balance_csv.php
b/include/export/export_fiche_balance_csv.php
index 3b9b47f..b9f3643 100644
--- a/include/export/export_fiche_balance_csv.php
+++ b/include/export/export_fiche_balance_csv.php
@@ -24,16 +24,17 @@
* of card
*/
if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="bal-fiche.csv"',FALSE);
+
// Security we check if user does exist and his privilege
require_once NOALYSS_INCLUDE.'/class/class_user.php';
require_once NOALYSS_INCLUDE.'/lib/class_database.php';
require_once NOALYSS_INCLUDE.'/class/class_dossier.php';
require_once NOALYSS_INCLUDE.'/lib/ac_common.php';
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+
$allcard=(isset($_GET['allcard']))?1:0;
+$export=new Noalyss_Csv(_('fiche-balance'));
/* balance */
if ( $_GET['histo'] == 4 || $_GET['histo'] == 5)
@@ -52,9 +53,12 @@ if ( $_GET['histo'] == 4 || $_GET['histo'] == 5)
{
$afiche[0]=array('fd_id'=>$_REQUEST['cat']);
}
- printf('"Quick code";"Nom";"poste
comptable";"debit";"credit";"solde";"D/C";');
- printf("\n");
- for ($e = 0; $e < count($afiche); $e++)
+
+ $title=array("Quick code",_("Nom"),_("poste
comptable"),_("debit"),_("credit"),_("solde"),"D/C");
+ $export->send_header();
+ $export->write_header($title);
+
+ for ($e = 0; $e < count($afiche); $e++)
{
$aCard = $cn->get_array("select f_id,ad_value from fiche join
fiche_Detail using (f_id) where ad_id=1 and fd_id=$1 order by 2 ",
array($afiche[$e]['fd_id']));
@@ -82,8 +86,14 @@ if ( $_GET['histo'] == 4 || $_GET['histo'] == 5)
if (bcsub($solde['credit'], $solde['debit']) > 0)
$side = 'Cred.';
- printf('"%s";"%s";"%s";%s;%s;%s;"%s"',
$oCard->strAttribut(ATTR_DEF_QUICKCODE), $oCard->strAttribut(ATTR_DEF_NAME),
$oCard->strAttribut(ATTR_DEF_ACCOUNT),nb($solde['debit']),
nb($solde['credit']), nb(abs($solde['solde'])), $side);
- printf("\n");
+ $export->add($oCard->strAttribut(ATTR_DEF_QUICKCODE));
+ $export->add($oCard->strAttribut(ATTR_DEF_NAME));
+ $export->add($oCard->strAttribut(ATTR_DEF_ACCOUNT));
+ $export->add($solde['debit'],"number");
+ $export->add($solde['credit'],"number");
+ $export->add(abs($solde['solde']),"number");
+ $export->add($side);
+ $export->write();
}
}
}
@@ -133,20 +143,24 @@ else
/* skip if nothing to display */
if (count($letter->content) == 0)
continue;
-
printf('"%s";"%s";"%s"'."\n",$row->strAttribut(ATTR_DEF_QUICKCODE),
$row->strAttribut(ATTR_DEF_NAME),$row->strAttribut(ATTR_DEF_ACCOUNT));
+ $export->add($row->strAttribut(ATTR_DEF_QUICKCODE));
+ $export->add( $row->strAttribut(ATTR_DEF_NAME));
+ $export->add($row->strAttribut(ATTR_DEF_ACCOUNT));
+ $export->write();
- printf('"%s";"%s";"%s";"%s";"%s";"%s";"%s";"%s";"%s"',
- _('Date'),
- _('ref'),
- _('Interne'),
- _('Comm'),
- _('Débit'),
- _('Crébit'),
- _('Prog.'),
- _('D/C'),
- _('Let.'),
- _("Diff Let."));
- printf("\n");
+
+ $export->add(_('Date'));
+ $export->add(_('ref'));
+ $export->add(_('Interne'));
+ $export->add(_('Comm'));
+ $export->add(_('Débit'));
+ $export->add(_('Crébit'));
+ $export->add(_('Prog.'));
+ $export->add(_('D/C'));
+ $export->add(_('Let.'));
+ $export->add(_("Diff Let."));
+ $export->write();
+
$amount_deb = 0;
$amount_cred = 0;
$prog = 0;
@@ -154,33 +168,32 @@ else
for ($i = 0; $i < count($letter->content); $i++)
{
$row = $letter->content[$i];
- printf ('"%s";',$row['j_date_fmt']);
- printf ('"%s";',$row['jr_pj_number']);
- printf ('"%s";',$row['jr_internal']);
- printf ('"%s";',$row['jr_comment']);
+ $export->add($row['j_date_fmt']);
+ $export->add($row['jr_pj_number']);
+ $export->add($row['jr_internal']);
+ $export->add($row['jr_comment']);
if ($row['j_debit'] == 't')
{
- printf("%s;",nb($row['j_montant']));
+
$export->add($row['j_montant'],"number");
$amount_deb=bcadd($amount_deb,$row['j_montant']);
$prog = bcadd($prog, $row['j_montant']);
- printf (";");
}
else
{
- printf(";");
- printf("%s;",nb($row['j_montant']));
+
$export->add($row['j_montant'],"number");
$amount_cred=bcadd($amount_cred,$row['j_montant']);
$prog = bcsub($prog, $row['j_montant']);
}
- printf
("%s;\"%s\";",abs(nb($prog)),$fic->get_amount_side($prog));
+ $export->add(abs($prog),"number");
+
$export->add($fic->get_amount_side($prog),"number");
if ($row['letter'] != -1)
{
- printf('"%s";',
strtoupper(base_convert($row['letter'],10,36)));
- printf("%s",nb($row['letter_diff']));
+
$export->add(strtoupper(base_convert($row['letter'],10,36)));
+
$export->add($row['letter_diff'],"number");
}
else
- printf(";");
- printf("\n");
+ $export->add("");
+ $export->write();
}
if ($prog < 0 )
$msg="Solde Debit";
@@ -188,10 +201,16 @@ else
$msg="Solde Credit";
else
$msg="soldé";
-
- printf(';;;"%s";%s;%s;%s;"%s"',
-
$msg,nb($amount_deb),nb($amount_cred),nb(abs($prog)),$fic->get_amount_side($prog));
- printf("\n");
+ $export->add("");
+ $export->add("");
+ $export->add("");
+
+ $export->add($msg);
+ $export->add($amount_deb,"number");
+ $export->add($amount_cred,"number");
+ $export->add(abs($prog),"number");
+ $export->add($fic->get_amount_side($prog),"number");
+ $export->write();
}
}
}
diff --git a/include/export/export_fiche_csv.php
b/include/export/export_fiche_csv.php
index 0b9b601..07fc7e4 100644
--- a/include/export/export_fiche_csv.php
+++ b/include/export/export_fiche_csv.php
@@ -21,19 +21,21 @@
* \brief Send a CSV file with card
*/
if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="fiche.csv"',FALSE);
include_once NOALYSS_INCLUDE."/lib/ac_common.php";
include_once NOALYSS_INCLUDE.'/class/class_fiche.php';
require_once NOALYSS_INCLUDE.'/lib/class_database.php';
require_once NOALYSS_INCLUDE.'/class/class_dossier.php';
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+
$gDossier=dossier::id();
$cn=Dossier::connect();
require_once NOALYSS_INCLUDE.'/class/class_user.php';
+$export=new Noalyss_Csv(_('fiche'));
+$export->send_header();
+
if ( isset ($_GET['fd_id']))
@@ -44,20 +46,13 @@ if ( isset ($_GET['fd_id']))
$o=0;
// Heading
$fiche_def->GetAttribut();
+ $title=array();
foreach ($fiche_def->attribut as $attribut)
{
- if ( $o == 0 )
- {
- printf("\"%s\"",$attribut->ad_text);
- $o=1;
- }
- else
- {
- printf(";\"%s\"",$attribut->ad_text);
- }
+ $title[]=$attribut->ad_text;
}
- printf("\n");
- $o=0;
+ $export->write_header($title);
+
// Details
foreach ($e as $fiche)
@@ -68,21 +63,13 @@ if ( isset ($_GET['fd_id']))
foreach ( $detail->attribut as $dattribut )
{
- $export=str_replace("\n"," ", $dattribut->av_text);
- $export=str_replace("\r"," ", $export);
- if ( $o == 0 )
- {
- printf("\"%s\"",$export);
- $o=1;
- }
+ if ( $dattribut->ad_type=="numeric")
+ $export->add($dattribut->av_text,"number");
else
- {
- printf (";\"%s\"",$export);
-
- }
+ $export->add($dattribut->av_text);
+
}
- printf("\n");
- $o=0;
+ $export->write();
}
diff --git a/include/export/export_fiche_detail_csv.php
b/include/export/export_fiche_detail_csv.php
index 286e63a..bfe6ca2 100644
--- a/include/export/export_fiche_detail_csv.php
+++ b/include/export/export_fiche_detail_csv.php
@@ -24,6 +24,8 @@ if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas
permis');
include_once("lib/ac_common.php");
require_once NOALYSS_INCLUDE.'/lib/class_database.php';
require_once NOALYSS_INCLUDE.'/class/class_fiche.php';
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+
$f_id=HtmlInput::default_value_request("f_id", "-");
if ( $f_id == "-") {
throw new Exception ('Invalid parameter');
@@ -35,13 +37,13 @@ $gDossier=dossier::id();
$cn=Dossier::connect();
+
$Fiche=new Fiche($cn,$f_id);
$qcode=$Fiche->get_quick_code();
-header('Content-type: application/csv');
+$export=new Noalyss_Csv(_('fiche_').$qcode);
+$export->send_header();
-header('Pragma: public');
-header('Content-Disposition:
attachment;filename="fiche-'.$qcode.'.csv"',FALSE);
$Fiche->getName();
list($array,$tot_deb,$tot_cred)=$Fiche->get_row_date(
$_GET['from_periode'],
@@ -50,25 +52,26 @@ list($array,$tot_deb,$tot_cred)=$Fiche->get_row_date(
);
if ( count($Fiche->row ) == 0 )
{
- echo "Aucune donnée";
+ echo _("Aucune donnée");
return;
}
if ( ! isset ($_REQUEST['oper_detail']))
{
- echo '"Qcode";'.
- "\"Date\";".
- "\"n° pièce\";".
- "\"Code interne\";".
- '"Code journal";'.
- '"Nom journal";'.
- "\"Description\";".
- "\"Débit\";".
- "\"Crédit\";".
- "\"Prog.\";".
- "\"Let.\"" ;
- printf("\n");
+ $title=array();
+ $title=array("Qcode",
+ "Date",
+ "n° pièce",
+ "Code interne",
+ "Code journal",
+ "Nom journal",
+ "Description",
+ "Débit",
+ "Crédit",
+ "Prog.",
+ "Let." );
+ $export->write_header($title);
$progress=0;
$current_exercice="";
$tot_deb=0;$tot_cred=0;
@@ -83,14 +86,15 @@ if ( ! isset ($_REQUEST['oper_detail']))
if ( $current_exercice != $op['p_exercice']) {
$solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde
créditeur";
$diff=abs($tot_deb-$tot_cred);
- printf(
- ";;;".
- '"'._('total').'";'.
- '"'.$current_exercice.'";;'.
- '"'."$solde_type".'"'.";".
- nb($tot_deb).";".
- nb($tot_cred).";".
- nb($diff).";"."\n");
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add(_('total'));
+ $export->add($current_exercice);
+ $export->add($solde_type);
+ $export->add($tot_deb,"number");
+ $export->add($tot_cred,"number");
+ $export->add($diff,"number");
/*
* reset total and current_exercice
*/
@@ -102,29 +106,32 @@ if ( ! isset ($_REQUEST['oper_detail']))
$progress=bcadd($progress,$diff);
$tot_deb=bcadd($tot_deb,$op['deb_montant']);
$tot_cred=bcadd($tot_cred,$op['cred_montant']);
- echo '"'.$op['j_qcode'].'";'.
- '"'.$op['j_date_fmt'].'"'.";".
- '"'.$op['jr_pj_number'].'"'.";".
- '"'.$op['jr_internal'].'"'.";".
- '"'.$op['jrn_def_code'].'"'.";".
- '"'.$op['jrn_def_name'].'"'.";".
- '"'.$op['description'].'"'.";".
- nb($op['deb_montant']).";".
- nb($op['cred_montant']).";".
- nb(abs($progress)).';'.
-
'"'.(($op['letter']==-1)?'':strtoupper(base_convert($op['letter'],10,36))).'"';
- printf("\n");
+ $export->add($op['j_qcode']);
+ $export->add($op['j_date_fmt']);
+ $export->add($op['jr_pj_number']);
+ $export->add($op['jr_internal']);
+ $export->add($op['jrn_def_code']);
+ $export->add($op['jrn_def_name']);
+ $export->add($op['description']);
+ $export->add($op['deb_montant'],"number");
+ $export->add($op['cred_montant'],"number");
+ $export->add(abs($progress),"number");
+ if ($op['letter'] !=-1){
+ $export->add(strtoupper(base_convert($op['letter'],10,36)));
+ } else {
+ $export->add("");
+ }
+
+ $export->write();
}
}
else
{
- echo '"Poste";"Qcode";"date";"ref";"internal";';
- echo "\"Description\";".
- "\"Montant\";".
- "\"D/C\"";
+ $title=array("Poste","Qcode","date","ref","internal",
+ "Description","Montant","D/C");
- printf("\r\n");
+ $export->write_header($title);
foreach ( $Fiche->row as $op )
{
@@ -134,16 +141,15 @@ else
foreach ( $result as $r)
{
- printf('"%s";"%s";"%s";"%s";"%s";%s;%s;"%s"',
- $r['j_poste'],
- $r['j_qcode'],
- $r['jr_date'],
- $op['jr_pj_number'],
- $r['jr_internal'],
- $r['description'],
- nb($r['j_montant']),
- $r['debit']);
- printf("\r\n");
+ $export->add($r['j_poste']);
+ $export->add($r['j_qcode']);
+ $export->add($r['jr_date']);
+ $export->add($op['jr_pj_number']);
+ $export->add($r['jr_internal']);
+ $export->add($r['description']);
+ $export->add($r['j_montant'],"number");
+ $export->add($r['debit']);
+ $export->write();
}
@@ -152,12 +158,16 @@ else
}
}
$solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde créditeur";
+$solde_type=($tot_cred == $tot_deb)?" solde = ":$solde_type;
$diff=abs($tot_deb-$tot_cred);
-printf(
- '"'."$solde_type".'"'.";".
- nb($diff).";".
- nb($tot_deb).";".
- nb($tot_cred)."\n");
-
+$export->add(_("totaux"));
+$export->add("D");
+$export->add($tot_deb,"number");
+
+$export->add("C");
+$export->add($tot_cred,"number");
+$export->add($solde_type);
+$export->add($diff,"number");
+$export->write();
exit;
?>
diff --git a/include/export/export_form_csv.php
b/include/export/export_form_csv.php
index ed26bcb..4b151b3 100644
--- a/include/export/export_form_csv.php
+++ b/include/export/export_form_csv.php
@@ -26,11 +26,9 @@ require_once NOALYSS_INCLUDE.'/lib/class_database.php';
require_once NOALYSS_INCLUDE.'/class/class_user.php';
require_once NOALYSS_INCLUDE.'/class/class_acc_report.php';
require_once NOALYSS_INCLUDE.'/lib/class_impress.php';
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="rapport.csv"',FALSE);
-
require_once NOALYSS_INCLUDE.'/class/class_dossier.php';
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+
$gDossier=dossier::id();
/* Admin. Dossier */
@@ -38,6 +36,9 @@ $cn=Dossier::connect();
$Form=new Acc_Report($cn,$_GET['form_id']);
$Form->get_name();
+
+$export=new Noalyss_Csv('report');
+$export->send_header();
// Step ?
//--
$step=HtmlInput::default_value_get("p_step", 0);
@@ -52,17 +53,16 @@ if ( $step == 0 )
if ( count($Form->row ) == 0 )
exit;
- echo "\"Description\";".
- "\"Montant\"\n";
-
+ $title=array(_("Description"),
+ _("Montant"));
+ $export->write_header($title);
foreach ( $Form->row as $op )
{
- echo '"'.$op['desc'].'"'.";".
- nb($op['montant']).
- "\n";
-
+ $export->add($op['desc']);
+ $export->add($op['montant'],"number");
+ $export->write();
}
}
elseif ($step == 1)
@@ -78,27 +78,27 @@ elseif ($step == 1)
}
// Display column heading
//--
- $x="";
- printf ("Mois;");
+ $title=array();
+ $title[0]=_("Mois");
+ $i=1;
foreach ($array[0] as $e)
{
- printf("%s%s",$x,$e['desc']);
- $x=";";
-
+ $title[$i]=$e['desc'];
+ $i++;
}
- printf("\n");
+ $export->write_header($title);
// Display value for each line
//--
$a=0;
foreach ($array as $e )
{
- print $periode_name[$a];
+ $export->add( $periode_name[$a]);
$a++;
foreach ($e as $elt)
{
- printf(";%s",nb($elt['montant']));
+ $export->add($elt['montant'],"number");
}
- printf("\n");
+ $export->write();
}
}
exit;
diff --git a/include/export/export_gl_csv.php b/include/export/export_gl_csv.php
index 367903c..fbc6950 100644
--- a/include/export/export_gl_csv.php
+++ b/include/export/export_gl_csv.php
@@ -23,27 +23,22 @@
* \brief create GL comptes as PDF
*/
if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-include_once('class/class_acc_account_ledger.php');
-include_once('lib/ac_common.php');
+include_once NOALYSS_INCLUDE.'/class/class_acc_account_ledger.php';
+include_once NOALYSS_INCLUDE.'/lib/ac_common.php';
require_once NOALYSS_INCLUDE.'/lib/class_database.php';
-include_once('lib/class_impress.php');
+include_once NOALYSS_INCLUDE.'/lib/class_impress.php';
require_once NOALYSS_INCLUDE.'/class/class_own.php';
require_once NOALYSS_INCLUDE.'/class/class_dossier.php';
require_once NOALYSS_INCLUDE.'/class/class_user.php';
-
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="gl_comptes.csv"',FALSE);
-header('Pragma: public');
-
-
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
$gDossier=dossier::id();
/* Security */
$cn=Dossier::connect();
-
+$export=new Noalyss_Csv(_('grandlivre'));
extract($_GET);
-
+$export->send_header();
if ( isset($poste_id) && strlen(trim($poste_id)) != 0 && isNumber($poste_id) )
{
if ( isset ($poste_fille) )
@@ -119,16 +114,14 @@ foreach ($a_poste as $poste)
continue;
}
- echo sprintf("%s - %s ",$Poste->id,$Poste->get_name());
- printf("\n");
-
- for($i=0;$i<count($header);$i++)
- echo $header[$i].";";
- printf("\n");
+ $export->add(sprintf("%s - %s ",$Poste->id,$Poste->get_name()));
+ $export->write();
+ $export->write_header($header);
$solde = 0.0;
$solde_d = 0.0;
$solde_c = 0.0;
+ bcscale(2);
$current_exercice="";
foreach ($Poste->row as $detail)
{
@@ -151,17 +144,25 @@ foreach ($a_poste as $poste)
if ( $current_exercice == "") $current_exercice=$detail['p_exercice'];
if ( $current_exercice != $detail['p_exercice']) {
- echo ";";
- echo '"'.$current_exercice.'";';
- echo ";";
- echo ";";
- echo _('Total').$Poste->id.";";
- echo ($solde_d > 0 ? nb($solde_d) : '').";";
- echo ($solde_c > 0 ? nb( $solde_c) : '').";";
- echo nb(abs($solde_c-$solde_d)).";";
- echo ($solde_c > $solde_d ? 'C' : 'D').";";
- printf("\n");
- printf("\n");
+ $export->add("");
+ $export->add($current_exercice);
+ $export->add("");
+ $export->add("");
+ $export->add(_('Total')." ".$Poste->id);
+ if ( $solde_d > 0 ) {
+ $export->add($solde_d,"number");
+ } else {
+ $export->add("");
+ }
+ if ( $solde_c > 0 ) {
+ $export->add($solde_c,"number");
+ } else {
+ $export->add("");
+ }
+
+ $export->add(abs($solde_c-$solde_d),"number");
+ $export->add(($solde_c > $solde_d ? 'C' : 'D'));
+ $export->write();
/*
* reset total and current_exercice
*/
@@ -173,40 +174,47 @@ foreach ($a_poste as $poste)
}
if ($detail['cred_montant'] > 0)
{
- $solde -= $detail['cred_montant'];
- $solde_c += $detail['cred_montant'];
+ $solde =bcsub($solde,$detail['cred_montant']);
+ $solde_c =bcadd($solde_c, $detail['cred_montant']);
}
if ($detail['deb_montant'] > 0)
{
- $solde += $detail['deb_montant'];
- $solde_d += $detail['deb_montant'];
+ $solde =bcadd($solde, $detail['deb_montant']);
+ $solde_d = bcadd($solde_d,$detail['deb_montant']);
}
- echo $detail['j_date_fmt'].";";
- echo $detail['jr_internal'].";";
- echo $detail['description'].";";
- echo $detail['jr_pj_number'].";";
- if ($detail['letter'] == -1) { echo ';'; } else { echo
$detail['letter'].";";}
- echo ($detail['deb_montant'] > 0 ? nb($detail['deb_montant']) :
'').";";
- echo ($detail['cred_montant'] > 0 ? nb($detail['cred_montant']) :
'').";";
- echo nb(abs($solde)).";";
- echo $Poste->get_amount_side($solde);
- printf("\n");
+ $export->add($detail['j_date_fmt']);
+ $export->add($detail['jr_internal']);
+ $export->add($detail['description']);
+ $export->add($detail['jr_pj_number']);
+ if ($detail['letter'] == -1) { $export->add(""); }
+ else { $export->add($detail['letter']);}
+ if ($detail['deb_montant'] > 0 )
+ $export->add($detail['deb_montant'],"number");
+ else
+ $export->add("");
+
+ if ($detail['cred_montant'] > 0 )
+ $export->add($detail['cred_montant'],"number");
+ else
+ $export->add("");
+ $export->add(abs($solde),"number");
+ $export->add($Poste->get_amount_side($solde),"text");
+ $export->write();
}
- echo ";";
- echo '"'.$current_exercice.'";';
- echo ";";
- echo ";";
- echo _('Total').$Poste->id.";";
- echo ($solde_d > 0 ? nb($solde_d) : '').";";
- echo ($solde_c > 0 ? nb( $solde_c) : '').";";
- echo nb(abs($solde_c-$solde_d)).";";
- echo ($solde_c > $solde_d ? 'C' : 'D').";";
- printf("\n");
- printf("\n");
+ $export->add("");
+ $export->add($current_exercice);
+ $export->add("");
+ $export->add("");
+ $export->add(_('Total').$Poste->id);
+ if ($solde_d > 0 ) $export->add($solde_d,"number"); else $export->add("");
+ if ($solde_c > 0 ) $export->add($solde_c,"number"); else $export->add("");
+ $export->add(abs($solde_c-$solde_d),"number");
+ $export->add(($solde_c > $solde_d ? 'C' : 'D'));
+ $export->write();
}
exit;
diff --git a/include/export/export_histo_csv.php
b/include/export/export_histo_csv.php
index 8eae32b..e284c15 100644
--- a/include/export/export_histo_csv.php
+++ b/include/export/export_histo_csv.php
@@ -23,9 +23,7 @@
* \brief history of the accountancy exported in CSV
*/
if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="histo-export.csv"',FALSE);
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
$ledger=new Acc_Ledger($cn,0);
list($sql,$where)=$ledger->build_search_sql($_GET);
@@ -33,43 +31,45 @@ list($sql,$where)=$ledger->build_search_sql($_GET);
$order=" order by jr_date_order asc,substring(jr_pj_number,'[0-9]+$')::numeric
asc ";
$res=$cn->get_array($sql.$order);
-
-printf('"%s";',"Internal");
-printf('"%s";',"Journal");
-printf('"%s";',"Date");
-printf('"%s";',"Echeance");
-printf('"%s";',"Paiement");
-printf('"%s";',"Piece");
-printf('"%s";"";',"Tiers");
-printf('"%s";',"Description");
-printf('"%s";',"Note");
-printf('"%s"',"Montant opération");
-printf("\r\n");
+$title=array();
+$title[]=_("Internal");
+$title[]=_("Journal");
+$title[]=_("Date");
+$title[]=_("Echeance");
+$title[]=_("Paiement");
+$title[]=_("Piece");
+$title[]=_("Tiers");
+$title[]=_("Description");
+$title[]=_("Note");
+$title[]=_("Montant opération");
+$export=new Noalyss_Csv("histo");
+$export->send_header();
+$export->write_header($title);
for ($i=0;$i<count($res);$i++)
{
- printf('"%s";',$res[$i]['jr_internal']);
- printf('"%s";',$res[$i]['jrn_def_name']);
- printf('"%s";',$res[$i]['str_jr_date']);
- printf('"%s";',$res[$i]['str_jr_ech']);
- printf('"%s";',$res[$i]['str_jr_date_paid']);
- printf('"%s";',$res[$i]['jr_pj_number']);
- printf('"%s";',$res[$i]['quick_code']);
- printf('"%s %s";',$res[$i]['name'],$res[$i]['first_name']);
- printf('"%s";',$res[$i]['jr_comment']);
- printf('"%s";',$res[$i]['n_text']);
+ $export->add($res[$i]['jr_internal']);
+ $export->add($res[$i]['jrn_def_name']);
+ $export->add($res[$i]['str_jr_date']);
+ $export->add($res[$i]['str_jr_ech']);
+ $export->add($res[$i]['str_jr_date_paid']);
+ $export->add($res[$i]['jr_pj_number']);
+ $export->add($res[$i]['quick_code']);
+ $export->add($res[$i]['name']." ".$res[$i]['first_name']);
+ $export->add($res[$i]['jr_comment']);
+ $export->add($res[$i]['n_text']);
$amount=$res[$i]['jr_montant'];
- if ( $res[$i]['total_invoice']!=null &&
$res[$i]['jr_montant']!=$res[$i]['total_invoice'])
+ if ( $res[$i]['total_invoice']!=null &&
$res[$i]['jr_montant']!=$res[$i]['total_invoice'])
$amount=$res[$i]['total_invoice'];
if ( $res[$i]['jrn_def_type'] == 'FIN')
{
$positive = $cn->get_value("select qf_amount from quant_fin
where jr_id=$1",array($res[$i]['jr_id']));
if ( $positive !='' ) $amount=$positive;
}
- printf('%s',nb($amount));
+ $export->add($amount,"number");
- printf("\r\n");
+ $export->write();
}
\ No newline at end of file
diff --git a/include/export/export_ledger_csv.php
b/include/export/export_ledger_csv.php
index 240f9c4..df91236 100644
--- a/include/export/export_ledger_csv.php
+++ b/include/export/export_ledger_csv.php
@@ -21,11 +21,7 @@
* \brief Send a ledger in CSV format
*/
if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-$fDate = date('dmy-Hi');
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="jrn-'.$fDate.'.csv"',FALSE);
-include_once ("lib/ac_common.php");
+include_once NOALYSS_INCLUDE."/lib/ac_common.php";
require_once NOALYSS_INCLUDE.'/class/class_own.php';
require_once NOALYSS_INCLUDE.'/class/class_acc_ledger_sold.php';
require_once NOALYSS_INCLUDE.'/class/class_acc_ledger_purchase.php';
@@ -34,6 +30,11 @@ $gDossier=dossier::id();
require_once NOALYSS_INCLUDE.'/lib/class_database.php';
require_once NOALYSS_INCLUDE.'/class/class_acc_ledger.php';
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+$export=new Noalyss_Csv(_('journal'));
+
+$export->send_header();
+
/*
* Variable from $_GET
@@ -100,19 +101,23 @@ if ($get_option == 2)
if ($ret_detail == null)
return;
$nb = Database::num_row($ret_detail);
- $output=fopen("php://output","w");
-
+ $title=array();
+ foreach ($a_heading as $key=> $value)
+ {
+ $title[]=$value;
+ }
for ($i = 0;$i < $nb ; $i++) {
$row=Database::fetch_array($ret_detail, $i);
if ( $i == 0 ) {
- fputcsv($output,$a_heading,';');
+ $export->write_header($title);
}
$a_row=array();
+ $type="text";
for ($j=0;$j < count($row) / 2;$j++) {
- $a_row[]=$row[$j];
+ if ( $j > 18 ) $type="number";
+ $export->add($row[$j],$type);
}
- fputcsv($output,$a_row,';');
- unset($a_row);
+ $export->write();
}
}
}
@@ -123,9 +128,22 @@ if ($get_option == 2)
if ( $get_option == 0 )
{
$Jrn->get_row( $get_from_periode, $get_to_periode );
-
+ $title=array();
+ $title[]=_("operation");
+ $title[]=_("N° Pièce");
+ $title[]=_("Interne");
+ $title[]=_("Date");
+ $title[]=_("Poste");
+ $title[]=_("Libellé");
+ $title[]=_("Débit");
+ $title[]=_("Crédit");
+ $export->write_header($title);
if ( count($Jrn->row) == 0)
exit;
+ $old_id="";
+ /**
+ * @todo add table headers
+ */
foreach ( $Jrn->row as $op )
{
// should clean description : remove <b><i> tag and '; char
@@ -134,20 +152,17 @@ if ( $get_option == 0 )
$desc=str_replace("</b>","",$desc);
$desc=str_replace("<i>","",$desc);
$desc=str_replace("</i>","",$desc);
- $desc=str_replace('"',"'",$desc);
- $desc=str_replace(";",",",$desc);
-
- printf("\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";%s;%s\n",
- $op['j_id'],
- $op['jr_pj_number'],
- $op['internal'],
- $op['j_date'],
- $op['poste'],
- $desc,
- nb($op['deb_montant']),
- nb($op['cred_montant'])
- );
-
+ if ( $op['j_id'] != "") $old_id=$op['j_id'];
+
+ $export->add($old_id,"text");
+ $export->add($op['jr_pj_number']);
+ $export->add($op['internal']);
+ $export->add($op['j_date']);
+ $export->add($op['poste']);
+ $export->add($desc);
+ $export->add($op['deb_montant'],"number");
+ $export->add($op['cred_montant'],"number");
+ $export->write();
}
exit;
}
@@ -165,23 +180,24 @@ if ($get_option == 1)
$Row=$Jrn->get_rowSimple($get_from_periode,
$get_to_periode,
0);
- printf ('" operation";'.
- '"Date";'.
- '"N° Pièce";'.
- '"Tiers";'.
- '"commentaire";'.
- '"internal";'.
- '"montant";'.
- "\r\n");
+ $title=array();
+ $title[]=_("operation");
+ $title[]=_("Date");
+ $title[]=_("N° Pièce");
+ $title[]=_("Tiers");
+ $title[]=_("commentaire");
+ $title[]=_("internal");
+ $title[]=_("montant");
+ $export->write_header($title);
foreach ($Row as $line)
{
- echo $line['num'].";";
- echo $line['date'].";";
- echo $line['jr_pj_number'].";";
- echo $Jrn->get_tiers($line['jrn_def_type'],$line['jr_id']).";";
- echo $line['comment'].";";
- echo $line['jr_internal'].";";
+ $export->add( $line['num']);
+ $export->add($line['date']);
+ $export->add($line['jr_pj_number']);
+
$export->add($Jrn->get_tiers($line['jrn_def_type'],$line['jr_id']));
+ $export->add($line['comment']);
+ $export->add($line['jr_internal']);
// echo "<TD>".$line['pj'].";";
// If the ledger is financial :
// the credit must be negative and written in red
@@ -190,15 +206,15 @@ if ($get_option == 1)
$positive = $cn->get_value("select qf_amount from quant_fin ".
" where jr_id=".$line['jr_id']);
- echo nb($positive);
- echo ";";
+ $export->add($positive,"number");
+ $export->add("");
}
else
{
- echo nb($line['montant']).";";
+ $export->add($line['montant'],"number");
}
- printf("\r\n");
+ $export->write();
}
}
@@ -217,33 +233,46 @@ if ($get_option == 1)
. "jr_id in (select jra_concerned from jrn_rapt where jr_id =
$1 union all select jr_id from jrn_rapt where jra_concerned=$1)");
$own=new Own($cn);
- $col_tva="";
+ $title=array();
+ $title[]=_('Date');
+ $title[]=_("Paiement");
+ $title[]=_("operation");
+ $title[]=_("Pièce");
+ $title[]=_("Client/Fourn.");
+ $title[]=_("Note");
+ $title[]=_("interne");
+ $title[]=_("HTVA");
+ $title[]=_("privé");
+ $title[]=_("DNA");
+ $title[]=_("tva non ded.");
+ $title[]=_("TVA NP");
if ( $own->MY_TVA_USE=='Y')
{
$a_Tva=$cn->get_array("select tva_id,tva_label from tva_rate order
by tva_rate,tva_label,tva_id");
foreach($a_Tva as $line_tva)
{
- $col_tva.='"Tva '.$line_tva['tva_label'].'";';
+ $title[]="Tva ".$line_tva['tva_label'];
}
}
- echo
'"Date";"Paiement";"operation";"Pièce";"Client/Fourn.";"Commentaire";"inter.";"HTVA";"privé";"DNA";"tva
non ded.";"TVA NP";'.$col_tva.'"TVAC";"opérations liées"'."\n\r";
+ $title[]=_("TVAC");
+ $title[]=_("opérations liées");
+ $export->write_header($title);
+
foreach ($Row as $line)
{
- printf('"%s";"%s";"%s";"%s";"%s";%s;%s;%s;%s;%s;%s;%s;',
- $line['date'],
- $line['date_paid'],
- $line['num'],
- $line['jr_pj_number'],
- $Jrn->get_tiers($line['jrn_def_type'],$line['jr_id']),
- $line['comment'],
- $line['jr_internal'],
- nb($line['HTVA']),
- nb($line['dep_priv']),
- nb($line['dna']),
- nb($line['tva_dna']),
- nb($line['tva_np'])
- );
+ $export->add($line['date']);
+ $export->add($line['date_paid']);
+ $export->add($line['num']);
+ $export->add($line['jr_pj_number']);
+
$export->add($Jrn->get_tiers($line['jrn_def_type'],$line['jr_id']));
+ $export->add($line['comment']);
+ $export->add($line['jr_internal']);
+ $export->add($line['HTVA'],"number");
+ $export->add($line['dep_priv'],"number");
+ $export->add($line['dna'],"number");
+ $export->add($line['tva_dna'],"number");
+ $export->add($line['tva_np'],"number");
$a_tva_amount=array();
//- set all TVA to 0
foreach ($a_Tva as $l) {
@@ -260,23 +289,23 @@ if ($get_option == 1)
foreach ($a_Tva as $line_tva)
{
$a=$line_tva['tva_id'];
- echo nb($a_tva_amount[$a]).';';
+ $export->add($a_tva_amount[$a],"number");
}
}
- echo nb ($line['TVAC']);
+ $export->add($line['TVAC'],"number");
/**
* Retrieve payment if any
*/
$ret_reconcile=$cn->execute('reconcile_date',array($line['jr_id']));
$max=Database::num_row($ret_reconcile);
if ($max > 0) {
- $sep=";";
for ($e=0;$e<$max;$e++) {
$row=Database::fetch_array($ret_reconcile, $e);
- echo $sep.$row['str_date'].'; '. $row['jr_internal'];
+ $export->add($row['str_date']);
+ $export->add($row['jr_internal']);
}
}
- printf("\r\n");
+ $export->write();
}
}
diff --git a/include/export/export_poste_detail_csv.php
b/include/export/export_poste_detail_csv.php
index fda4552..c8644aa 100644
--- a/include/export/export_poste_detail_csv.php
+++ b/include/export/export_poste_detail_csv.php
@@ -25,10 +25,12 @@ require_once NOALYSS_INCLUDE.'/lib/ac_common.php';
require_once NOALYSS_INCLUDE.'/lib/class_database.php';
require_once NOALYSS_INCLUDE.'/class/class_acc_account_ledger.php';
require_once NOALYSS_INCLUDE.'/class/class_acc_operation.php';
-$fDate=date('dmy-Hi');
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition:
attachment;filename="poste-'.$fDate.'-'.$_REQUEST['poste_id'].'.csv"',FALSE);
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+
+$r_poste=HtmlInput::default_value_request("poste_id", "error");
+
+$export=new Noalyss_Csv(_('poste').'_'.$r_poste);
+
require_once NOALYSS_INCLUDE.'/class/class_dossier.php';
$gDossier=dossier::id();
@@ -44,6 +46,7 @@ else
$a_poste=$cn->get_array("select pcm_val from tmp_pcmn where pcm_val =
$1",array($_REQUEST['poste_id']));
}
bcscale(2);
+$export->send_header();
if ( ! isset ($_REQUEST['oper_detail']))
{
if ( count($a_poste) == 0 )
@@ -59,20 +62,21 @@ if ( ! isset ($_REQUEST['oper_detail']))
);
if ( count($Poste->row ) == 0 )
continue;
-
- echo '"Poste";'.
- '"n° pièce";'.
- '"Code journal";'.
- '"Nom journal";'.
- '"Lib.";'.
- "\"Code interne\";".
- "\"Date\";".
- "\"Description\";".
- "\"Débit\";".
- "\"Crédit\";".
- "\"Prog.\";".
- "\"Let.\"";
- printf("\n");
+ $title=array();
+
+ $title[]=_("Poste");
+ $title[]=_("n° pièce");
+ $title[]=_("Code journal");
+ $title[]=_("Nom journal");
+ $title[]=_("Lib.");
+ $title[]=_("Interne");
+ $title[]=_("Date");
+ $title[]=_("Description");
+ $title[]=_("Débit");
+ $title[]=_("Crédit");
+ $title[]=_("Prog.");
+ $title[]=_("Let.");
+ $export->write_header($title);
$prog=0;
$current_exercice="";
@@ -89,14 +93,19 @@ if ( ! isset ($_REQUEST['oper_detail']))
if ( $current_exercice != $op['p_exercice']) {
$solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde
créditeur";
$diff=abs($tot_deb-$tot_cred);
- printf(
- ";;;".
- '"'._('total').'";'.
- '"'.$current_exercice.'";'.
- '"'."$solde_type".'"'.";".
- nb($tot_deb).";".
- nb($tot_cred).";".
- nb($diff).";"."\n");
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add(_("total"));
+ $export->add($current_exercice);
+ $export->add($solde_type);
+ $export->add("");
+ $export->add("");
+
+ $export->add($tot_deb,"number");
+ $export->add($tot_cred,"number");
+ $export->add($diff,"number");
+ $export->write();
/*
* reset total and current_exercice
*/
@@ -104,36 +113,42 @@ if ( ! isset ($_REQUEST['oper_detail']))
$current_exercice=$op['p_exercice'];
$tot_deb=0;$tot_cred=0;
}
- $tot_deb=bcadd($tot_deb,$op['deb_montant']);
- $tot_cred=bcadd($tot_cred,$op['cred_montant']);
- $diff=bcsub($op['deb_montant'],$op['cred_montant']);
- $prog=bcadd($prog,$diff);
- echo '"'.$pos['pcm_val'].'";'.
- '"'.$op['jr_pj_number'].'"'.";".
- '"'.$op['jrn_def_code'].'"'.";".
- '"'.$op['jrn_def_name'].'"'.";".
- '"'.$name.'";'.
- '"'.$op['jr_internal'].'"'.";".
- '"'.$op['j_date_fmt'].'"'.";".
- '"'.$op['description'].'";'.
- nb($op['deb_montant']).";".
- nb($op['cred_montant']).";".
- nb(abs($prog)).";".
-
(($op['letter']!=-1)?strtoupper(base_convert($op['letter'],10,36)):"");
- printf("\n");
+ $tot_deb=bcadd($tot_deb,$op['deb_montant']);
+ $tot_cred=bcadd($tot_cred,$op['cred_montant']);
+ $diff=bcsub($op['deb_montant'],$op['cred_montant']);
+ $prog=bcadd($prog,$diff);
+ $export->add($pos['pcm_val']);
+ $export->add($op['jr_pj_number']);
+ $export->add($op['jrn_def_code']);
+ $export->add($op['jrn_def_name']);
+ $export->add($name);
+ $export->add($op['jr_internal']);
+ $export->add($op['j_date_fmt']);
+ $export->add($op['description']);
+ $export->add($op['deb_montant'],"number");
+ $export->add($op['cred_montant'],"number");
+ $export->add(abs($prog),"number");
+
$export->add((($op['letter']!=-1)?strtoupper(base_convert($op['letter'],10,36)):""));
+
+ $export->write();
}
$solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde créditeur";
$diff=abs($tot_deb-$tot_cred);
- printf(
- ";;;".
- '"'._('total').'";'.
- '"'.$current_exercice.'";'.
- '"'."$solde_type".'"'.";".
- nb($tot_deb).";".
- nb($tot_cred).";".
- nb($diff).";"."\n");
+ $export->add("");
+ $export->add("");
+ $export->add("");
+ $export->add(_("total"));
+ $export->add($current_exercice);
+ $export->add($solde_type);
+ $export->add("");
+ $export->add("");
+
+ $export->add($tot_deb,"number");
+ $export->add($tot_cred,"number");
+ $export->add($diff,"number");
+ $export->write();
}
}
else
@@ -152,16 +167,17 @@ else
);
if ( count($Poste->row ) == 0 )
continue;
+ $title=array();
+ $title[]=_("Poste");
+ $title[]=_("Lib.");
+ $title[]=_("QuickCode");
+ $title[]=_("Interne");
+ $title[]=_("Date");
+ $title[]=_("Description");
+ $title[]=_("Montant");
+ $title[]=_("D/C");
+ $export->write_header($title);
- echo '"Poste";'.
- '"Lib.";'.
- '"QuickCode";'.
- "\"Code interne\";".
- "\"Date\";".
- "\"Description\";".
- "\"Montant\";".
- "\"D/C\"";
- printf("\n");
foreach ( $Poste->row as $a )
@@ -171,17 +187,16 @@ else
$result=$op->get_jrnx_detail();
foreach ( $result as $r)
{
- printf('"%s";"%s";"%s";"%s";"%s";"%s";"%s";%12.2f;"%s"',
- $r['j_poste'],
- $r['pcm_lib'],
- $r['j_qcode'],
- $r['jr_internal'],
- $r['jr_date'],
- $a['description'],
- $a['jr_pj_number'],
- nb($r['j_montant']),
- $r['debit']);
- printf("\r\n");
+ $export->add($r['j_poste']);
+ $export->add($r['pcm_lib']);
+ $export->add($r['j_qcode']);
+ $export->add($r['jr_internal']);
+ $export->add($r['jr_date']);
+ $export->add($a['description']);
+ $export->add($a['jr_pj_number']);
+ $export->add($r['j_montant'],"number");
+ $export->add($r['debit']);
+ $export->write();
}
diff --git a/include/export/export_rec_csv.php
b/include/export/export_rec_csv.php
index 00e3198..9e95eb0 100644
--- a/include/export/export_rec_csv.php
+++ b/include/export/export_rec_csv.php
@@ -8,17 +8,13 @@
* @see impress_rec.inc.php
*/
if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
-$Date=date('Ymd');
-$filename="reconcialed_operation-".$Date;
-
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="'.$filename.'.csv"',FALSE);
require_once NOALYSS_INCLUDE.'/class/class_acc_reconciliation.php';
require_once NOALYSS_INCLUDE.'/lib/ac_common.php';
require_once NOALYSS_INCLUDE.'/lib/class_database.php';
require_once NOALYSS_INCLUDE.'/class/class_dossier.php';
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+
// --------------------------
// Check if all mandatory arg are passed
foreach (array('choice','p_end','p_start') as $arg)
diff --git a/include/export/export_stock_histo_csv.php
b/include/export/export_stock_histo_csv.php
index 33a629b..ae96470 100644
--- a/include/export/export_stock_histo_csv.php
+++ b/include/export/export_stock_histo_csv.php
@@ -27,36 +27,36 @@
*/
if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
require_once NOALYSS_INCLUDE.'/class/class_stock.php';
-
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+$export=new Noalyss_Csv(_('historique-stock'));
$stock=new Stock($cn);
$sql = $stock->create_query_histo($_GET);
$sql .= " order by real_date asc";
$res=$cn->exec_sql($sql);
$max_row=Database::num_row($res);
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition: attachment;filename="histo-stock.csv"',FALSE);
-printf('"Date";');
- printf('"%s";','Code Stock');
- printf('"%s";','Depot');
- printf('"%s";','Fiche');
- printf('"%s";','Commentaire');
- printf('%s;','Quantité');
- printf('"%s";','IN/OUT');
- printf("\n\r");
+$export->send_header();
+
+$export->write_header(array(_("Date"),
+ _('Code Stock'),
+ _('Depot'),
+ _('Fiche'),
+ _('Commentaire'),
+ _('Quantité'),
+ _('IN/OUT')));
+
for ($i=0;$i<$max_row;$i++)
{
$row=Database::fetch_array($res,$i);
- printf('"%s";',$row['cdate']);
- printf('"%s";',$row['sg_code']);
- printf('"%s";',$row['r_name']);
- printf('"%s";',$row['qcode']);
+ $export->add($row['cdate']);
+ $export->add($row['sg_code']);
+ $export->add($row['r_name']);
+ $export->add($row['qcode']);
$row['ccomment']=str_replace('"','',$row['ccomment']);
- printf('"%s";',$row['ccomment']);
- printf('%s;',nbm($row['sg_quantity']));
- printf('"%s";',$row['direction']);
- printf("\n\r");
+ $export->add($row['ccomment']);
+ $export->add($row['sg_quantity'],"number");
+ $export->add($row['direction']);
+ $export->write();
}
diff --git a/include/export/export_stock_resume_list.php
b/include/export/export_stock_resume_list.php
index 51ca30a..10ed971 100644
--- a/include/export/export_stock_resume_list.php
+++ b/include/export/export_stock_resume_list.php
@@ -32,60 +32,56 @@ global $cn;
$stock=new Stock($cn);
$tmp_id = $stock->build_tmp_table($_GET);
-header('Pragma: public');
-header('Content-type: application/csv');
-header('Content-Disposition:
attachment;filename="stock-summary-list.csv"',FALSE);
+require_once NOALYSS_INCLUDE.'/lib/class_noalyss_csv.php';
+$export=new Noalyss_Csv(_('résumé-stock'));
+$export->send_header();
+$export->write_header(array(_("Depot"),_("Adresse"),_("Ville"),_("Pays"),_("Code
Stock"),_("Fiches"),_("IN"),_("OUT"),_("Delta")));
-?>
-"Depot";"Adresse";"Ville";"Pays";"Code Stock";"Fiches";"IN";"OUT";"DIFF"
-<?php
$a_repo=$cn->get_array("select distinct
t.r_id,r_name,r_adress,r_city,r_country from stock_repository as s join
tmp_stockgood_detail as t
on (s.r_id=t.r_id)
where
s_id=$1
order by 2
",array($tmp_id));
- for ($r=0;$r<count($a_repo);$r++):
+for ($r=0;$r<count($a_repo);$r++) {
- $a_stock=$cn->get_array(
- "
- select coalesce(sum(s_qin),0) as
qin,coalesce(sum(s_qout),0) as qout,sg_code
- from tmp_stockgood_detail
where r_id=$1 and s_id=$2
- group by sg_code
- order by sg_code
+ $a_stock=$cn->get_array(
+ "
+ select coalesce(sum(s_qin),0) as qin,coalesce(sum(s_qout),0) as
qout,sg_code
+ from tmp_stockgood_detail where r_id=$1 and s_id=$2
+ group by sg_code
+ order by sg_code
- ",array($a_repo[$r]['r_id'],$tmp_id));
- for ($s=0;$s<count($a_stock);$s++):
+ ",array($a_repo[$r]['r_id'],$tmp_id));
+ for ($s=0;$s<count($a_stock);$s++){
- $a_card=$cn->get_array(
- "
- select f_id,vw_name,quick_code
- from vw_fiche_attr
- where
- f_id in (
- select distinct f_id from
fiche_detail
- where
- ad_id=19 and
- ad_value=$1)
- order by vw_name,quick_code
- ",array($a_stock[$s]['sg_code']));
+ $a_card=$cn->get_array(
+ "
+ select f_id,vw_name,quick_code
+ from vw_fiche_attr
+ where
+ f_id in (
+ select distinct f_id from fiche_detail
+ where
+ ad_id=19 and
+ ad_value=$1)
+ order by vw_name,quick_code
+ ",array($a_stock[$s]['sg_code']));
-printf ('"%s";',$a_repo[$r]['r_name']);
-printf ('"%s";',$a_repo[$r]['r_adress']);
-printf ('"%s";',$a_repo[$r]['r_city']);
-printf ('"%s";',$a_repo[$r]['r_country']);
-printf('"%s";',$a_stock[$s]['sg_code']);
- $sep="";
- for ( $c=0;$c<count($a_card);$c++):
- $a=sprintf('[%s]
%s',$a_card[$c]['quick_code'], $a_card[$c]['vw_name']);
- $sep=" / ";
- endfor; // for C
- if ( count($a_card)== 0 ) $a= ' Erreur Code non
utilisé';
- printf('"%s";',$a);
- printf('%s;',nbm($a_stock[$s]['qin']));
- printf('%s;',nbm($a_stock[$s]['qout']));
- printf ('%s',nbm(bcsub($a_stock[$s]['qin'],$a_stock[$s]['qout'])));
- printf("\r\n");
- endfor;
- endfor;
+ $export->add($a_repo[$r]['r_name']);
+ $export->add($a_repo[$r]['r_adress']);
+ $export->add($a_repo[$r]['r_city']);
+ $export->add($a_repo[$r]['r_country']);
+ $export->add($a_stock[$s]['sg_code']);
+ for ( $c=0;$c<count($a_card);$c++) {
+ $a=sprintf('[%s] %s',$a_card[$c]['quick_code'],
$a_card[$c]['vw_name']);
+ }
+ if ( count($a_card)== 0 ) $a= ' Erreur Code non utilisé';
+ $export->add($a);
+ $export->add($a_stock[$s]['qin'],"number");
+ $export->add($a_stock[$s]['qout'],"number");
+ $export->add(bcsub($a_stock[$s]['qin'],$a_stock[$s]['qout']),"number");
+ $export->write();
+ }
+ }