From 6e98da9ea64b2511c79db5ffd57a793ba4e596dd Mon Sep 17 00:00:00 2001 From: Dany De Bontridder Date: Tue, 24 May 2011 21:12:54 +0000 Subject: [PATCH] 0000271: Filter pour grand livre : poste et lettrage --- include/class_acc_account_ledger.php | 13 ++++++++----- include/export_gl_csv.php | 22 +++++++++++++--------- include/export_gl_pdf.php | 12 +++++++----- include/impress_gl_comptes.inc.php | 16 ++++++++++------ 4 files changed, 38 insertions(+), 25 deletions(-) diff --git a/include/class_acc_account_ledger.php b/include/class_acc_account_ledger.php index cd1a85d23..3f59df1b1 100644 --- a/include/class_acc_account_ledger.php +++ b/include/class_acc_account_ledger.php @@ -101,6 +101,7 @@ class Acc_Account_Ledger * * \param $p_from date from * \param $p_to end date + *\param $let 0 means all rows, 1 only lettered, 2 only unlettered *\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 @@ -432,7 +433,6 @@ class Acc_Account_Ledger $hid->input("type","poste").$hid->input('p_action','impress').""; } - $letter=HtmlInput::default_value('letter',0,$_REQUEST); echo '
'. dossier::hidden(). @@ -443,9 +443,10 @@ class Acc_Account_Ledger $hid->input("from_periode",$_REQUEST['from_periode']). $hid->input("to_periode",$_REQUEST['to_periode']). $hid->input('from_poste',$_REQUEST['from_poste']). - $hid->input('to_poste',$_REQUEST['to_poste']). - $hid->input('letter',$letter); + $hid->input('to_poste',$_REQUEST['to_poste']) + ; + if ( isset($_REQUEST['letter'] )) echo HtmlInput::hidden('letter','2'); @@ -467,8 +468,10 @@ class Acc_Account_Ledger $hid->input("from_periode",$_REQUEST['from_periode']). $hid->input("to_periode",$_REQUEST['to_periode']). $hid->input('from_poste',$_REQUEST['from_poste']). - $hid->input('to_poste',$_REQUEST['to_poste']). - $hid->input('letter',$letter); + $hid->input('to_poste',$_REQUEST['to_poste']); + + + if ( isset($_REQUEST['letter'] )) echo HtmlInput::hidden('letter','2'); if (isset($_REQUEST['poste_fille'])) echo $hid->input('poste_fille','on'); diff --git a/include/export_gl_csv.php b/include/export_gl_csv.php index 66eacc30d..6005298e0 100644 --- a/include/export_gl_csv.php +++ b/include/export_gl_csv.php @@ -59,6 +59,7 @@ if ( isset($poste_id) && strlen(trim($poste_id)) != 0 && isNumber($poste_id) ) } else { + $sql="select pcm_val from tmp_pcmn "; if ($from_poste != '') { $cond_poste = ' where '; @@ -69,11 +70,11 @@ else { if ( $cond_poste == '') { - $cond_poste = ' where pcm_val <= upper (\''.Database::escape_string($from_poste).'\')'; + $cond_poste = ' where pcm_val <= upper (\''.Database::escape_string($to_poste).'\')'; } else { - $cond_poste.=' and pcm_val <= upper (\''.Database::escape_string($from_poste).'\')'; + $cond_poste.=' and pcm_val <= upper (\''.Database::escape_string($to_poste).'\')'; } } @@ -92,11 +93,14 @@ if ( count($a_poste) == 0 ) // Header $header = array( "Date", "Référence", "Libellé", "Pièce", "Débit", "Crédit", "Solde" ); +$let=(isset($_GET['letter']))?2:0; + foreach ($a_poste as $poste) { + $Poste=new Acc_Account_Ledger($cn,$poste['pcm_val']); - list($array,$tot_deb,$tot_cred)=$Poste->get_row_date($from_periode,$to_periode); + list($array,$tot_deb,$tot_cred)=$Poste->get_row_date($from_periode,$to_periode,$let); // don't print empty account if ( count($array) == 0 ) @@ -146,9 +150,9 @@ foreach ($a_poste as $poste) echo $detail['jr_internal'].";"; echo $detail['description'].";"; echo $detail['jr_pj_number'].";"; - echo ($detail['deb_montant'] > 0 ? sprintf("%.2f", $detail['deb_montant']) : '').";"; - echo ($detail['cred_montant'] > 0 ? sprintf("%.2f", $detail['cred_montant']) : '').";"; - echo sprintf("%.2f", $solde).";"; + echo ($detail['deb_montant'] > 0 ? nb($detail['deb_montant']) : '').";"; + echo ($detail['cred_montant'] > 0 ? nb($detail['cred_montant']) : '').";"; + echo nb($solde).";"; printf("\n"); } @@ -158,9 +162,9 @@ foreach ($a_poste as $poste) echo ";"; echo ";"; echo 'Total du compte '.$Poste->id.";"; - echo ($solde_d > 0 ? sprintf("%.2f", $solde_d) : '').";"; - echo ($solde_c > 0 ? sprintf("%.2f", $solde_c) : '').";"; - echo sprintf("%.2f", abs($solde_c-$solde_d)).";"; + 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"); diff --git a/include/export_gl_pdf.php b/include/export_gl_pdf.php index 722cac1ee..5383b92d3 100644 --- a/include/export_gl_pdf.php +++ b/include/export_gl_pdf.php @@ -43,6 +43,8 @@ $User->Check(); $User->check_dossier($gDossier); $User->can_request(IMPBIL,0); +$sql="select pcm_val from tmp_pcmn "; + extract($_GET); if ($from_poste != '') { @@ -50,15 +52,15 @@ if ($from_poste != '') $cond_poste .=' pcm_val >= upper (\''.Database::escape_string($from_poste).'\')'; } -if ( $to_poste->value != '') +if ( $to_poste != '') { if ( $cond_poste == '') { - $cond_poste = ' where pcm_val <= upper (\''.Database::escape_string($from_poste).'\')'; + $cond_poste = ' where pcm_val <= upper (\''.Database::escape_string($to_poste).'\')'; } else { - $cond_poste.=' and pcm_val <= upper (\''.Database::escape_string($from_poste).'\')'; + $cond_poste.=' and pcm_val <= upper (\''.Database::escape_string($to_poste).'\')'; } } @@ -83,12 +85,12 @@ $header = array( "Date", "Référence", "Libellé", "Pièce","Let", "Débit", "C $lor = array( "L" , "L" , "L" , "L" , "R", "R" , "R" , "R" ); // Column widths (in mm) $width = array( 13 , 20 , 60 , 15 , 12 , 20 , 20 , 20 ); -$l=(isset($_REQUEST['letter']))?1:0; +$l=(isset($_REQUEST['letter']))?2:0; foreach ($a_poste as $poste) { - $Poste=new Acc_Account_Ledger($cn,$poste['pcm_val']); + $Poste=new Acc_Account_Ledger($cn,$poste['pcm_val']); list($array,$tot_deb,$tot_cred)=$Poste->get_row_date($from_periode,$to_periode,$l); diff --git a/include/impress_gl_comptes.inc.php b/include/impress_gl_comptes.inc.php index 6d9029e97..d5c49ce2c 100644 --- a/include/impress_gl_comptes.inc.php +++ b/include/impress_gl_comptes.inc.php @@ -62,21 +62,23 @@ $date_to->value=(isset($_REQUEST['to_periode']))?$_REQUEST['to_periode']:$last_d echo td(_('Depuis').$date_from->input()); echo td(_('Jusque ').$date_to->input()); -$letter=new ICheck('letter'); +$letter=new ICheckbox('letter'); $letter->selected=(isset($_REQUEST['letter']))?true:false; $from_poste=new IPoste('from_poste'); $from_poste->value=HtmlInput::default_value('from_poste','',$_REQUEST); +$from_poste->set_attribute('account','from_poste'); $to_poste=new IPoste('to_poste'); $to_poste->value=HtmlInput::default_value('to_poste','',$_REQUEST); +$to_poste->set_attribute('account','to_poste'); echo ''; -echo td.(_('Depuis le poste')).td($from_poste->input()).td($from_poste->dsp_button()); +echo td(_('Depuis le poste')).td($from_poste->input()); echo ''; echo ''; -echo td.(_("Jusqu'au poste")).td($to_poste->input()).td($to_poste->dsp_button()); +echo td(_("Jusqu'au poste")).td($to_poste->input()); echo ''; echo ''; @@ -113,15 +115,16 @@ if ( isset( $_REQUEST['bt_html'] ) ) { if ( $cond_poste == '') { - $cond_poste = ' where pcm_val <= upper (\''.Database::escape_string($from_poste->value).'\')'; + $cond_poste = ' where pcm_val <= upper (\''.Database::escape_string($to_poste->value).'\')'; } else { - $cond_poste.=' and pcm_val <= upper (\''.Database::escape_string($from_poste->value).'\')'; + $cond_poste.=' and pcm_val <= upper (\''.Database::escape_string($to_poste->value).'\')'; } } $sql=$sql.$cond_poste.' order by pcm_val::text'; + $a_poste=$cn->get_array($sql); if ( sizeof($a_poste) == 0 ) @@ -143,7 +146,8 @@ if ( isset( $_REQUEST['bt_html'] ) ) { $Poste=new Acc_Account_Ledger ($cn, $poste_id['pcm_val']); $Poste->load(); - $l=(isset($_REQUEST['letter']))?1:0; + $l=(isset($_REQUEST['letter']))?2:0; + $Poste->get_row_date( $_GET['from_periode'], $_GET['to_periode'],$l); if ( empty($Poste->row)) {