diff --git a/include/class_fiche.php b/include/class_fiche.php index b573aa2dc..1f428f631 100644 --- a/include/class_fiche.php +++ b/include/class_fiche.php @@ -370,7 +370,7 @@ class fiche { if ($this->id==0) return '- ERROR -'; // object is not in memory we need to look into the database $sql="select av_text from attr_value join jnt_fic_att_value using(jft_id) - where f_id=".$this->id." and ad_id=".$p_ad_id; + where f_id=".FormatString($this->id)." and ad_id=".$p_ad_id; $Res=ExecSql($this->cn,$sql); $row=pg_fetch_all($Res); // if not found return error diff --git a/include/impress_poste.php b/include/impress_poste.php index c49747162..ffe942f3e 100644 --- a/include/impress_poste.php +++ b/include/impress_poste.php @@ -33,116 +33,151 @@ include_once("class_widget.php"); // after in pdf or cvs //----------------------------------------------------- if ( isset( $_POST['bt_html'] ) ) { -include("class_poste.php"); - $Poste=new poste($cn,$_POST['poste_id']); - $Poste->GetName(); - list($array,$tot_deb,$tot_cred)=$Poste->GetRow( $_POST['from_periode'], - $_POST['to_periode'] - ); + include("class_poste.php"); + $go=0; +// we ask a poste_id + if ( strlen(trim($_POST['poste_id'])) != 0 ) + { + // Check if the post is numeric and exists + if ( isNumber($_POST['poste_id']) && + CountSql($cn,'select * from tmp_pcmn where pcm_val='.FormatString($_POST['poste_id'])) != 0 ) + { + $Poste=new poste($cn,$_POST['poste_id']);$go=1; + } + } + if ( strlen(trim($_POST['f_id'])) != 0 ) + { + require_once("class_fiche.php"); + // thanks the qcode we found the poste account + $fiche=new fiche($cn,$_POST['f_id']); + $fiche->GetByQCode($_POST['f_id']); + $p=$fiche->strAttribut(ATTR_DEF_ACCOUNT); + if ( $p != "- ERROR -") { + $Poste=new poste($cn,$p); + $go=1; + } + } + + // A account or a quick code is given + if ( $go == 1) + { + + $Poste->GetName(); + list($array,$tot_deb,$tot_cred)=$Poste->GetRow( $_POST['from_periode'], + $_POST['to_periode'] + ); + + $rep=""; + $submit=new widget(); + $hid=new widget("hidden"); + echo '
'; + echo '

'.$Poste->id." ".$Poste->name.'

'; + echo ""; + echo ''; + echo '"; + + echo '"; + echo '"; - echo '"; - - echo ""; - - echo "
'. + $submit->Submit('bt_other',"Autre poste"). + $hid->IOValue("type","poste")."
'. + $submit->Submit('bt_pdf',"Export PDF"). + $hid->IOValue("type","poste"). + $hid->IOValue("poste_id",$Poste->id). + $hid->IOValue("from_periode",$_POST['from_periode']). + $hid->IOValue("to_periode",$_POST['to_periode']); + + echo "
'. + $submit->Submit('bt_csv',"Export CSV"). + $hid->IOValue("type","poste"). + $hid->IOValue("poste_id",$Poste->id). + $hid->IOValue("from_periode",$_POST['from_periode']). + $hid->IOValue("to_periode",$_POST['to_periode']); - $rep=""; - $submit=new widget(); - $hid=new widget("hidden"); - echo '
'; - echo '

'.$Poste->id." ".$Poste->name.'

'; - echo ""; - echo ''; - echo '"; + echo ""; + + echo ""; + + echo "
'. - $submit->Submit('bt_other',"Autre poste"). - $hid->IOValue("type","poste")."
"; + if ( count($Poste->row ) == 0 ) + exit; - echo '
'. - $submit->Submit('bt_pdf',"Export PDF"). - $hid->IOValue("type","poste"). - $hid->IOValue("poste_id",$Poste->id). - $hid->IOValue("from_periode",$_POST['from_periode']). - $hid->IOValue("to_periode",$_POST['to_periode']); - - echo "
'. - $submit->Submit('bt_csv',"Export CSV"). - $hid->IOValue("type","poste"). - $hid->IOValue("poste_id",$Poste->id). - $hid->IOValue("from_periode",$_POST['from_periode']). - $hid->IOValue("to_periode",$_POST['to_periode']); - - echo "
"; - if ( count($Poste->row ) == 0 ) - exit; - - echo ""; - echo "". - "". - "". - "". - "". + echo "
Code interne Date Description Débit
"; + echo "". + "". + "". + "". + "". "". - ""; - - foreach ( $Poste->row as $op ) { - echo "". - "". - "". - "". - "". - "". - ""; + ""; + + foreach ( $Poste->row as $op ) { + echo "". + "". + "". + "". + "". + "". + ""; - } - $solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde créditeur"; - $diff=abs($tot_deb-$tot_cred); - echo "". - "". - "". - "". - "". - "". - ""; - - echo "
Code interne Date Description Débit Crédit
".$op['jr_internal']."".$op['j_date']."".$op['description']."".$op['deb_montant']."".$op['cred_montant']."
".$op['jr_internal']."".$op['j_date']."".$op['description']."".$op['deb_montant']."".$op['cred_montant']."
$solde_type$diff$tot_deb$tot_cred
"; - echo "
"; - exit; -} + } + $solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde créditeur"; + $diff=abs($tot_deb-$tot_cred); + echo "". + "$solde_type". + "$diff". + "". + "$tot_deb". + "$tot_cred". + ""; + echo ""; + echo ""; + exit; + } +} //----------------------------------------------------- // Show the jrn and date //----------------------------------------------------- include_once("postgres.php"); -$ret=make_array($cn,"select distinct j_poste::text ,j_poste::text||' '||pcm_lib - from jrnx inner join tmp_pcmn on (pcm_val=j_poste) - order by j_poste::text"); //----------------------------------------------------- // Form //----------------------------------------------------- -if ( $ret==null) - exit('Les journaux sont vides'); echo '
'; +echo JS_SEARCH_POSTE; +echo JS_SEARCH_CARD; echo '
'; echo ''; -$w=new widget("select"); +$span=new widget("span"); + +$w=new widget("js_search_poste"); $w->table=1; $w->label="Choississez le poste"; -print $w->IOValue("poste_id",$ret); +print $w->IOValue("poste_id"); +echo $span->IOValue('poste_id_label'); +$w_poste=new widget("js_search_only"); +$w_poste->table=1; +$w_poste->label="Ou Choississez la fiche"; +$w_poste->extra='all'; +print $w_poste->IOValue("f_id"); +echo $span->IOValue('f_id_label'); print ''; print ''; // filter on the current year +$select=new widget("select"); +$select->table=1; $filter_year=" where p_exercice='".$User->getExercice()."'"; $periode_start=make_array($cn,"select p_id,to_char(p_start,'DD-MM-YYYY') from parm_periode $filter_year order by p_id"); -$w->label="Depuis"; -print $w->IOValue('from_periode',$periode_start); -$w->label=" jusqu'à "; +$select->label="Depuis"; +print $select->IOValue('from_periode',$periode_start); +$select->label=" jusqu'à "; $periode_end=make_array($cn,"select p_id,to_char(p_end,'DD-MM-YYYY') from parm_periode $filter_year order by p_id"); -print $w->IOValue('to_periode',$periode_end); +print $select->IOValue('to_periode',$periode_end); print ""; print "
"; $all=new widget("checkbox"); $all->label="Tous les postes"; $all->disabled=true; -echo $all->IOValue("poste_id",""); +echo $all->IOValue("all"); echo '
'; print $w->Submit('bt_html','Impression');