diff --git a/include/class_acc_account_ledger.php b/include/class_acc_account_ledger.php index 3aa0ef437..99e653b4b 100644 --- a/include/class_acc_account_ledger.php +++ b/include/class_acc_account_ledger.php @@ -128,9 +128,11 @@ class Acc_Account_Ledger " jr_comment as description,jrn_def_name as jrn_name,". "j_debit, jr_internal,jr_pj_number,coalesce(comptaproc.get_letter_jnt(j_id),-1) as letter ". ",pcm_lib ". + ",jr_tech_per,p_exercice ". " from jrnx left join jrn_def on (jrn_def_id=j_jrn_def )". " left join jrn on (jr_grpt_id=j_grpt)". " left join tmp_pcmn on (j_poste=pcm_val)". + " left join parm_periode on (p_id=jr_tech_per) ". " where j_poste=$1 and ". " ( to_date($2,'DD.MM.YYYY') <= j_date and ". " to_date($3,'DD.MM.YYYY') >= j_date )". @@ -297,7 +299,7 @@ class Acc_Account_Ledger if ( $p_array==null)$p_array=$_REQUEST; $this->get_name(); list($array,$tot_deb,$tot_cred)=$this->get_row_date( $p_array['from_periode'], - $p_array['to_periode'],$let + $p_array['to_periode'],$let ); if ( count($this->row ) == 0 ) @@ -321,6 +323,7 @@ class Acc_Account_Ledger ; $progress=0; bcscale(2); + $old_exercice=""; foreach ( $this->row as $op ) { $vw_operation=sprintf('%s', @@ -329,7 +332,11 @@ class Acc_Account_Ledger if ( $op['letter'] !=-1) $let=$op['letter']; $tmp_diff=bcsub($op['deb_montant'],$op['cred_montant']); $progress=bcadd($progress,$tmp_diff); - + /* + * reset prog. balance to zero if we change of exercice + */ + if ( $old_exercice != $op['p_exercice']) + $progress=$tmp_diff; echo "". "".format_date($op['j_date'])."". td(h($op['jr_pj_number'])). @@ -341,7 +348,7 @@ class Acc_Account_Ledger td($let,' style="color:red;text-align:right"'). ""; - + $old_exercice=$op['p_exercice']; } echo ''; $solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde créditeur"; diff --git a/include/class_fiche.php b/include/class_fiche.php index 1d3298234..e653b4446 100644 --- a/include/class_fiche.php +++ b/include/class_fiche.php @@ -1130,9 +1130,11 @@ class Fiche "case when j_debit='f' then j_montant else 0 end as cred_montant,". " jr_comment as description,jrn_def_name as jrn_name,". " jr_pj_number,". - "j_debit, jr_internal,jr_id,coalesce(comptaproc.get_letter_jnt(j_id),-1) as letter ". + "j_debit, jr_internal,jr_id,coalesce(comptaproc.get_letter_jnt(j_id),-1) as letter, ". + " jr_tech_per,p_exercice". " from jrnx left join jrn_def on jrn_def_id=j_jrn_def ". " left join jrn on jr_grpt_id=j_grpt". + " left join parm_periode on (p_id=jr_tech_per) ". " where j_qcode=$1 and ". " ( to_date($2,'DD.MM.YYYY') <= j_date and ". " to_date($3,'DD.MM.YYYY') >= j_date )". @@ -1283,14 +1285,23 @@ class Fiche th('Let.','style="text-align:right"'); "" ; - + $old_exercice=""; + bcscale(2); foreach ( $this->row as $op ) { $vw_operation=sprintf('%s', $op['jr_id'], dossier::id(), $op['jr_internal']); $let=''; if ( $op['letter'] !=-1) $let=$op['letter']; - $progress+=$op['deb_montant']-$op['cred_montant']; + + $tmp_diff=bcsub($op['deb_montant'],$op['cred_montant']); + $progress=bcadd($progress,$tmp_diff); + /* + * reset prog. balance to zero if we change of exercice + */ + if ( $old_exercice != $op['p_exercice']) + $progress=$tmp_diff; + echo "". "".format_date($op['j_date_fmt'])."". td(h($op['jr_pj_number'])). @@ -1301,6 +1312,7 @@ class Fiche td(nbm(abs($progress)),'style="text-align:right"'). td($let,' style="color:red;text-align:right"'). ""; + $old_exercice=$op['p_exercice']; } $solde_type=($tot_deb>$tot_cred)?"solde débiteur":"solde créditeur";