Task #1457 & 1281 : operation ouverture séparée
This commit is contained in:
parent
e892d79c53
commit
6c00cee4be
17 changed files with 192 additions and 72 deletions
|
|
@ -425,8 +425,8 @@ case 'save':
|
|||
}
|
||||
}
|
||||
|
||||
$cn->exec_sql("update jrn set jr_comment=$1,jr_pj_number=$2,jr_date=to_date($4,'DD.MM.YYYY') where jr_id=$3",
|
||||
array($_POST['lib'],$_POST['npj'],$jr_id,$_POST['p_date']));
|
||||
$cn->exec_sql("update jrn set jr_comment=$1,jr_pj_number=$2,jr_date=to_date($4,'DD.MM.YYYY'),jr_optype=$5 where jr_id=$3",
|
||||
array($_POST['lib'],$_POST['npj'],$jr_id,$_POST['p_date'],$_POST['jr_optype']));
|
||||
$cn->exec_sql("update jrnx set j_date=to_date($1,'DD.MM.YYYY') where j_grpt in (select jr_grpt_id from jrn where jr_id=$2)",
|
||||
array($_POST['p_date'],$jr_id));
|
||||
$cn->exec_sql('update operation_analytique set oa_date=j_date from jrnx
|
||||
|
|
@ -496,6 +496,7 @@ case 'save':
|
|||
//////////////////////////////////////////////////////////////////
|
||||
$op->save_info($_POST['OTHER'],'OTHER');
|
||||
$op->save_info($_POST['BON_COMMANDE'],'BON_COMMANDE');
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
// Save related
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
|
|
|||
|
|
@ -286,10 +286,9 @@ if ( isset($_GET['view'] ) )
|
|||
$bal->to_poste=$_GET['to_poste'];
|
||||
if ( isset($_GET['unsold'])) $bal->unsold=true;
|
||||
$previous=(isset($_GET['previous_exc']))?1:0;
|
||||
|
||||
$row=$bal->get_row($_GET['from_periode'],
|
||||
$_GET['to_periode'],
|
||||
$previous);
|
||||
$from_periode=$http->get("from_periode","number");
|
||||
$to_periode=$http->get("to_periode","number");
|
||||
$row=$bal->get_row($from_periode,$to_periode);
|
||||
$previous= (isset ($row[0]['sum_cred_previous']))?1:0;
|
||||
|
||||
$periode=new Periode($cn);
|
||||
|
|
@ -312,18 +311,18 @@ if ( isset($_GET['view'] ) )
|
|||
echo '<th>Solde N-1</th>';
|
||||
|
||||
}
|
||||
echo '<th>'._('Ouverture').'</th>';
|
||||
echo '<th>Débit</th>';
|
||||
echo '<th>Crédit</th>';
|
||||
echo '<th>Solde Débiteur </th>';
|
||||
echo '<th>Solde Créditeur</th>';
|
||||
if ( isset($_GET['lvl1']) || isset($_GET['lvl2']) || isset($_GET['lvl3']))
|
||||
echo '<th>Solde</th>';
|
||||
echo '<th>Solde</th>';
|
||||
// if ( isset($_GET['lvl1']) || isset($_GET['lvl2']) || isset($_GET['lvl3']))
|
||||
// echo '<th>Solde</th>';
|
||||
$i=0;
|
||||
if ( $previous == 1) {
|
||||
$a_sum=array('sum_cred','sum_deb','solde_deb','solde_cred','sum_cred_previous','sum_deb_previous','solde_deb_previous','solde_cred_previous');
|
||||
}
|
||||
else {
|
||||
$a_sum=array('sum_cred','sum_deb','solde_deb','solde_cred') ;
|
||||
$a_sum=array('sum_cred','sum_deb','solde_deb','solde_cred','sum_deb_ope','sum_cred_ope') ;
|
||||
}
|
||||
foreach($a_sum as $a)
|
||||
{
|
||||
|
|
@ -374,10 +373,21 @@ if ( isset($_GET['view'] ) )
|
|||
echo td(nbm(abs($delta_previous))." $side_previous",'class="previous_year" style="text-align:right;font-weight:bold;" ');
|
||||
|
||||
}
|
||||
echo td(nbm(${'lvl'.$ind}['sum_deb']),'style="text-align:right;font-weight:bold;" ');
|
||||
echo td(nbm(${'lvl'.$ind}['sum_cred']),'style="text-align:right;font-weight:bold;"');
|
||||
echo td(nbm(${'lvl'.$ind}['solde_deb']),'style="text-align:right;font-weight:bold;"');
|
||||
echo td(nbm(${'lvl'.$ind}['solde_cred']),'style="text-align:right;font-weight:bold;"');
|
||||
/*echo td(nbm(${'lvl'.$ind}['sum_deb']),'style="text-align:right;font-weight:bold;" ');
|
||||
echo td(nbm(${'lvl'.$ind}['sum_cred']),'style="text-align:right;font-weight:bold;"');*/
|
||||
// Ouverture
|
||||
$solde3=bcsub(${'lvl'.$ind}['sum_deb_ope'],${'lvl'.$ind}['sum_cred_ope']);
|
||||
$side3=($solde3<0)?" C":" D";
|
||||
$side3=($solde3==0)?" ":$side3;
|
||||
echo td(nbm(abs($solde3)).$side3);
|
||||
|
||||
// Saldo debit
|
||||
$solde_deb=bcsub(${'lvl'.$ind}['sum_deb'],${'lvl'.$ind}['sum_deb_ope']);
|
||||
echo td(nbm($solde_deb),'style="text-align:right;font-weight:bold;"');
|
||||
|
||||
// Saldo cred
|
||||
$solde_cred=bcsub(${'lvl'.$ind}['sum_cred'],${'lvl'.$ind}['sum_cred_ope']);
|
||||
echo td(nbm($solde_cred),'style="text-align:right;font-weight:bold;"');
|
||||
$delta=bcsub(${'lvl'.$ind}['solde_cred'],${'lvl'.$ind}['solde_deb']);
|
||||
$side=($delta > 0 ) ? "C":"D";
|
||||
echo td(nbm(abs($delta))." $side",'style="text-align:right;font-weight:bold;" ');
|
||||
|
|
@ -407,6 +417,7 @@ if ( isset($_GET['view'] ) )
|
|||
echo '<TR class="'.$tr.'">';
|
||||
echo td($view_history);
|
||||
echo td(h($r['label']));
|
||||
|
||||
if ($previous == 1 ) {
|
||||
echo td(nbm($r['sum_deb_previous']),' class="previous_year"');
|
||||
echo td(nbm($r['sum_cred_previous']),' class="previous_year" ');
|
||||
|
|
@ -423,10 +434,19 @@ if ( isset($_GET['view'] ) )
|
|||
$r['sum_cred_previous']);
|
||||
|
||||
}
|
||||
echo td(nbm($r['sum_deb']),'style="text-align:right;"');
|
||||
echo td(nbm($r['sum_cred']),'style="text-align:right;"');
|
||||
echo td(nbm($r['solde_deb']),'style="text-align:right;"');
|
||||
echo td(nbm($r['solde_cred']),'style="text-align:right;"');
|
||||
$solde=bcsub($r['sum_deb_ope'],$r['sum_cred_ope']);
|
||||
$side=($solde < 0)?" C":" D";
|
||||
$side=($solde==0)?"":$side;
|
||||
echo td(nbm(abs($solde)).$side,'style="text-align:right;"');
|
||||
echo td(nbm(bcsub($r['sum_deb'],$r['sum_deb_ope'])),'style="text-align:right;"');
|
||||
echo td(nbm(bcsub($r['sum_cred'],$r['sum_cred_ope'])),'style="text-align:right;"');
|
||||
|
||||
$solde2=bcsub($r['sum_deb'],$r['sum_cred']);
|
||||
$side=($solde2 < 0)?" C":" D";
|
||||
$side=($solde2==0)?"":$side;
|
||||
|
||||
echo td(nbm(abs($solde2)).$side,'style="text-align:right;"');
|
||||
|
||||
if ( isset($_GET['lvl1']) || isset($_GET['lvl2']) || isset($_GET['lvl3'])) echo '<td></td>';
|
||||
echo '</TR>';
|
||||
|
||||
|
|
|
|||
|
|
@ -183,7 +183,12 @@ class Acc_Account
|
|||
$this->data_sql->delete();
|
||||
|
||||
}
|
||||
|
||||
function find_by_value($p_pcm_val)
|
||||
{
|
||||
$id=$this->db->get_value("select id from tmp_pcmn where pcm_val=$1",[$p_pcm_val]);
|
||||
$this->data_sql->setp("id",$id);
|
||||
$this->data_sql->load();
|
||||
}
|
||||
function save() {
|
||||
try {
|
||||
$this->verify();
|
||||
|
|
|
|||
|
|
@ -172,6 +172,7 @@ class Acc_Account_Ledger
|
|||
j_debit, jr_internal,jr_pj_number
|
||||
,(select distinct jl_id from sqlletter where sqlletter.j_id=j1.j_id ) as letter
|
||||
,pcm_lib
|
||||
,jr_optype
|
||||
,jr_tech_per
|
||||
,p_exercice
|
||||
,jrn_def_name
|
||||
|
|
@ -394,6 +395,7 @@ class Acc_Account_Ledger
|
|||
"<TH style=\"text-align:left\">"._('Code interne')." </TH>".
|
||||
"<TH style=\"text-align:left\">"._('Tiers')." </TH>".
|
||||
"<TH style=\"text-align:left\">"._('Description')."</TH>".
|
||||
"<TH style=\"text-align:left\">"._('Type')."</TH>".
|
||||
"<TH style=\"text-align:right\">"._('Débit')."</TH>".
|
||||
"<TH style=\"text-align:right\">"._("Crédit")."</TH>".
|
||||
th('Prog.','style="text-align:right"').
|
||||
|
|
@ -434,7 +436,7 @@ class Acc_Account_Ledger
|
|||
echo "<TR class=\"highlight\">".
|
||||
"<TD>$old_exercice</TD>".
|
||||
"<TD></TD>".td().td().td().
|
||||
"<TD>"._("Totaux")."</TD>".
|
||||
"<TD>"._("Totaux")."</TD>".td("").
|
||||
"<TD style=\"text-align:right\">".nbm($sum_deb)."</TD>".
|
||||
"<TD style=\"text-align:right\">".nbm($sum_cred)."</TD>".
|
||||
td(nbm(abs($progress)).$side,'style="text-align:right"').
|
||||
|
|
@ -460,6 +462,7 @@ class Acc_Account_Ledger
|
|||
"<TD>".$vw_operation."</TD>".
|
||||
"<TD>".$tiers."</TD>".
|
||||
"<TD>".h($op['description'])."</TD>".
|
||||
td($op['jr_optype']).
|
||||
"<TD style=\"text-align:right\">".nbm($op['deb_montant'])."</TD>".
|
||||
"<TD style=\"text-align:right\">".nbm($op['cred_montant'])."</TD>".
|
||||
td(nbm(abs($progress)).$side,'style="text-align:right"').
|
||||
|
|
@ -475,7 +478,7 @@ class Acc_Account_Ledger
|
|||
echo "<TR class=\"highlight\">".
|
||||
td($op['p_exercice']).
|
||||
td().td().td().td().
|
||||
"<TD >Totaux</TD>".
|
||||
"<TD >Totaux</TD>".td("").
|
||||
"<TD style=\"text-align:right\">".nbm($sum_deb)."</TD>".
|
||||
"<TD style=\"text-align:right\">".nbm($sum_cred)."</TD>".
|
||||
"<TD style=\"text-align:right\">".nbm(abs($diff)).$side."</TD>".
|
||||
|
|
|
|||
|
|
@ -105,13 +105,21 @@ class Acc_Balance
|
|||
{
|
||||
case 0:
|
||||
// build query
|
||||
$sql="select j_poste as poste,sum(deb) as sum_deb, sum(cred) as sum_cred from
|
||||
$sql="select j_poste as poste,
|
||||
sum(deb) as sum_deb,
|
||||
sum(cred) as sum_cred,
|
||||
sum(deb_op) as sum_deb_ope ,
|
||||
sum(cred_op) as sum_cred_ope
|
||||
from
|
||||
( select j_poste,
|
||||
case when j_debit='t' then j_montant else 0 end as deb,
|
||||
case when j_debit='f' then j_montant else 0 end as cred
|
||||
case when j_debit='f' then j_montant else 0 end as cred,
|
||||
case when j_debit='t' and jr_optype='OPE' then j_montant else 0 end as deb_op,
|
||||
case when j_debit='f' and jr_optype='OPE' then j_montant else 0 end as cred_op
|
||||
from jrnx join tmp_pcmn on (j_poste=pcm_val)
|
||||
left join parm_periode on (j_tech_per = p_id)
|
||||
join jrn_def on (j_jrn_def=jrn_def_id)
|
||||
join jrn on (j_grpt=jr_grpt_id)
|
||||
where
|
||||
$jrn $from_poste $to_poste
|
||||
$and $filter_sql
|
||||
|
|
@ -143,11 +151,16 @@ class Acc_Balance
|
|||
$jrn $from_poste $to_poste
|
||||
$and $filter_sql and $per_sql
|
||||
) as sub_m group by j_poste order by j_poste ) ,
|
||||
p as ( select j_poste,sum(deb) as sdeb,sum(cred) as scred
|
||||
p as ( select j_poste,sum(deb) as sdeb,
|
||||
sum(cred) as scred ,
|
||||
sum(deb_op) as sum_deb_ope ,
|
||||
sum(cred_op) as sum_cred_ope
|
||||
from
|
||||
(select j_poste,
|
||||
case when j_debit='t' then j_montant else 0 end as deb,
|
||||
case when j_debit='f' then j_montant else 0 end as cred
|
||||
case when j_debit='f' then j_montant else 0 end as cred ,
|
||||
case when j_debit='t' and jr_optype='OPE' then j_montant else 0 end as deb_op,
|
||||
case when j_debit='f' and jr_optype='OPE' then j_montant else 0 end as cred_op
|
||||
from jrnx join tmp_pcmn on (j_poste=pcm_val)
|
||||
left join parm_periode on (j_tech_per = p_id)
|
||||
join jrn_def on (j_jrn_def=jrn_def_id)
|
||||
|
|
@ -158,7 +171,10 @@ class Acc_Balance
|
|||
,coalesce(m.sdeb,0) as sum_deb
|
||||
, coalesce(m.scred,0) as sum_cred
|
||||
,coalesce(p.sdeb,0) as sum_deb_previous
|
||||
, coalesce(p.scred,0) as sum_cred_previous from m full join p on (p.j_poste=m.j_poste)
|
||||
, coalesce(p.scred,0) as sum_cred_previous
|
||||
,coalesce(sum_deb_ope)
|
||||
,coalesce(sum_cred_ope)
|
||||
from m full join p on (p.j_poste=m.j_poste)
|
||||
order by poste";
|
||||
|
||||
} catch (Exception $exc) {
|
||||
|
|
@ -166,13 +182,21 @@ class Acc_Balance
|
|||
/*
|
||||
* no previous exercice
|
||||
*/
|
||||
$sql="select upper(j_poste::text) as poste,sum(deb) as sum_deb, sum(cred) as sum_cred from
|
||||
( select j_poste,
|
||||
case when j_debit='t' then j_montant else 0 end as deb,
|
||||
case when j_debit='f' then j_montant else 0 end as cred
|
||||
from jrnx join tmp_pcmn on (j_poste=pcm_val)
|
||||
left join parm_periode on (j_tech_per = p_id)
|
||||
join jrn_def on (j_jrn_def=jrn_def_id)
|
||||
$sql="select j_poste as poste,
|
||||
sum(deb) as sum_deb,
|
||||
sum(cred) as sum_cred,
|
||||
sum(deb_op) as sum_deb_ope ,
|
||||
sum(cred_op) as sum_cred_ope
|
||||
from
|
||||
( select j_poste,
|
||||
case when j_debit='t' then j_montant else 0 end as deb,
|
||||
case when j_debit='f' then j_montant else 0 end as cred,
|
||||
case when j_debit='t' and jr_optype='OPE' then j_montant else 0 end as deb_op,
|
||||
case when j_debit='f' and jr_optype='OPE' then j_montant else 0 end as cred_op
|
||||
from jrnx join tmp_pcmn on (j_poste=pcm_val)
|
||||
left join parm_periode on (j_tech_per = p_id)
|
||||
join jrn_def on (j_jrn_def=jrn_def_id)
|
||||
join jrn on (j_grpt=jr_grpt_id)
|
||||
where
|
||||
$jrn $from_poste $to_poste
|
||||
$and $filter_sql
|
||||
|
|
@ -188,6 +212,10 @@ class Acc_Balance
|
|||
$tot_deb= 0.0;
|
||||
$tot_deb_saldo=0.0;
|
||||
$tot_cred_saldo=0.0;
|
||||
$tot_cred_ope= 0.0;
|
||||
$tot_deb_ope= 0.0;
|
||||
$tot_deb_saldo_ope=0.0;
|
||||
$tot_cred_saldo_ope=0.0;
|
||||
$tot_cred_previous= 0.0;
|
||||
$tot_deb_previous= 0.0;
|
||||
$tot_deb_saldo_previous=0.0;
|
||||
|
|
@ -206,7 +234,11 @@ class Acc_Balance
|
|||
$a['sum_cred']=round($r['sum_cred'],2);
|
||||
$a['solde_deb']=round(( $a['sum_deb'] >= $a['sum_cred'] )? $a['sum_deb']- $a['sum_cred']:0,2);
|
||||
$a['solde_cred']=round(( $a['sum_deb'] <= $a['sum_cred'] )?$a['sum_cred']-$a['sum_deb']:0,2);
|
||||
|
||||
// opening
|
||||
$a['sum_deb_ope']=round($r['sum_deb_ope'],2);
|
||||
$a['sum_cred_ope']=round($r['sum_cred_ope'],2);
|
||||
$a['solde_deb_ope']=round(( $a['sum_deb_ope'] >= $a['sum_cred_ope'] )? $a['sum_deb_ope']- $a['sum_cred_ope']:0,2);
|
||||
$a['solde_cred_ope']=round(( $a['sum_deb_ope'] <= $a['sum_cred_ope'] )?$a['sum_cred_ope']-$a['sum_deb_ope']:0,2);
|
||||
|
||||
|
||||
if ($p_previous_exc==1)
|
||||
|
|
@ -223,10 +255,16 @@ class Acc_Balance
|
|||
if ($p_previous_exc==0 && $this->unsold==true && $a['solde_cred']==0 && $a['solde_deb']==0) continue;
|
||||
if ($p_previous_exc==1 && $this->unsold==true && $a['solde_cred']==0 && $a['solde_deb']==0 && $a['solde_cred_previous']==0 && $a['solde_deb_previous']==0) continue;
|
||||
$array[$i]=$a;
|
||||
// Normal op
|
||||
$tot_cred= bcadd ($tot_cred,$a['sum_cred']);
|
||||
$tot_deb= bcadd($tot_deb, $a['sum_deb']);
|
||||
$tot_deb_saldo= bcadd($tot_deb_saldo, $a['solde_deb']);
|
||||
$tot_cred_saldo= bcadd($tot_cred_saldo,$a['solde_cred']);
|
||||
// Opening op.
|
||||
$tot_cred_ope= bcadd ($tot_cred_ope,$a['sum_cred_ope']);
|
||||
$tot_deb_ope= bcadd($tot_deb_ope, $a['sum_deb_ope']);
|
||||
$tot_deb_saldo_ope= bcadd($tot_deb_saldo_ope, $a['solde_deb_ope']);
|
||||
$tot_cred_saldo_ope= bcadd($tot_cred_saldo_ope,$a['solde_cred_ope']);
|
||||
|
||||
|
||||
}//for i
|
||||
|
|
@ -242,6 +280,10 @@ class Acc_Balance
|
|||
$a['sum_cred']=$tot_cred;
|
||||
$a['solde_deb']=$tot_deb_saldo;
|
||||
$a['solde_cred']=$tot_cred_saldo;
|
||||
$a['sum_deb_ope']=$tot_deb_ope;
|
||||
$a['sum_cred_ope']=$tot_cred_ope;
|
||||
$a['solde_deb_ope']=$tot_deb_saldo_ope;
|
||||
$a['solde_cred_ope']=$tot_cred_saldo_ope;
|
||||
if ($p_previous_exc==1) {
|
||||
$a['sum_deb_previous']=$tot_deb_previous;
|
||||
$a['sum_cred_previous']=$tot_cred_previous;
|
||||
|
|
|
|||
|
|
@ -995,7 +995,7 @@ class Acc_Ledger extends jrn_def_sql
|
|||
* @brief show the result of the array to confirm
|
||||
* before inserting
|
||||
* @param$p_array array from the form
|
||||
* \return string
|
||||
* @return HTML string
|
||||
*/
|
||||
function confirm($p_array, $p_readonly=false)
|
||||
{
|
||||
|
|
@ -1005,7 +1005,7 @@ class Acc_Ledger extends jrn_def_sql
|
|||
$msg=$this->verify($p_array);
|
||||
$this->id=$p_array['p_jrn'];
|
||||
if (empty($p_array))
|
||||
return 'Aucun résultat';
|
||||
return _("Aucun résultat");
|
||||
$anc=null;
|
||||
extract($p_array, EXTR_SKIP);
|
||||
$lPeriode=new Periode($this->db);
|
||||
|
|
@ -1126,11 +1126,7 @@ class Acc_Ledger extends jrn_def_sql
|
|||
${'amount'.$i})."</td>";
|
||||
$total_cred=bcadd($total_cred, ${"amount".$i});
|
||||
}
|
||||
/* $ret.="<td>";
|
||||
$ret.=(isset(${"ck$i"})) ? HtmlInput::hidden('ck' . $i, ${'ck' . $i}) : "";
|
||||
$ret.="</td>"; */
|
||||
// CA
|
||||
|
||||
if ($g_parameter->MY_ANALYTIC!='nu') // use of AA
|
||||
{
|
||||
if (preg_match("/^[6,7]+/", $strPoste)==1)
|
||||
|
|
@ -1306,9 +1302,6 @@ class Acc_Ledger extends jrn_def_sql
|
|||
|
||||
$ret.=HtmlInput::hidden('nb_item', $nb_row);
|
||||
$ret.=dossier::hidden();
|
||||
|
||||
$ret.=dossier::hidden();
|
||||
|
||||
$ret.=HtmlInput::hidden('jrn_type', $this->get_type());
|
||||
$info=HtmlInput::infobulle(0);
|
||||
$info_poste=HtmlInput::infobulle(9);
|
||||
|
|
@ -1370,8 +1363,7 @@ class Acc_Ledger extends jrn_def_sql
|
|||
|
||||
if ($poste->value!='')
|
||||
{
|
||||
$Poste=new Acc_Account($this->db);
|
||||
$Poste->set_parameter('value', $poste->value);
|
||||
$Poste=new Acc_Account($this->db,$poste->value);
|
||||
$label=$Poste->get_lib();
|
||||
}
|
||||
|
||||
|
|
@ -1731,6 +1723,7 @@ class Acc_Ledger extends jrn_def_sql
|
|||
$acc_end->grpt=$seq;
|
||||
$acc_end->jrn=$this->id;
|
||||
$acc_end->mt=$mt;
|
||||
$acc_end->jr_optype=$jr_optype;
|
||||
$jr_id=$acc_end->insert_jrn();
|
||||
$this->jr_id=$jr_id;
|
||||
if ($jr_id==false)
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ class Acc_Operation
|
|||
var $amount; /*!< amount of the operatoin */
|
||||
var $grpt; /*!< the group id */
|
||||
var $date_paid;
|
||||
var $jr_optype; /*!< type of operation :NOR,CLO,EXT,OPE
|
||||
/*!
|
||||
* \brief constructor set automatically the attributes user and periode
|
||||
* \param $p_cn the databse connection
|
||||
|
|
@ -58,6 +59,7 @@ class Acc_Operation
|
|||
$this->user=$_SESSION['g_user'];
|
||||
$this->periode=$g_user->get_periode();
|
||||
$this->jr_id=0;
|
||||
$this->jr_optype="NOR";
|
||||
}
|
||||
/**
|
||||
*@brief retrieve the grpt_id from jrn for a jr_id
|
||||
|
|
@ -271,12 +273,12 @@ class Acc_Operation
|
|||
function insert_jrn()
|
||||
{
|
||||
$p_comment=$this->desc;
|
||||
|
||||
|
||||
$diff=$this->db->get_value("select check_balance ($1)",array($this->grpt));
|
||||
if ( $diff != 0 )
|
||||
{
|
||||
|
||||
echo "Erreur : balance incorrecte :diff = $diff";
|
||||
printf (_("Erreur : balance incorrecte :diff = %d"),$diff);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -288,11 +290,11 @@ class Acc_Operation
|
|||
// if amount == -1then the triggers will throw an error
|
||||
//
|
||||
$Res=$this->db->exec_sql("insert into jrn (jr_def_id,jr_montant,jr_comment,".
|
||||
"jr_date,jr_ech,jr_grpt_id,jr_tech_per,jr_mt) values (".
|
||||
"jr_date,jr_ech,jr_grpt_id,jr_tech_per,jr_mt,jr_optype) values (".
|
||||
"$1,$2,$3,".
|
||||
"to_date($4,'DD.MM.YYYY'),to_date($5,'DD.MM.YYYY'),$6,$7,$8)",
|
||||
"to_date($4,'DD.MM.YYYY'),to_date($5,'DD.MM.YYYY'),$6,$7,$8,$9)",
|
||||
array ($this->jrn, $this->amount,$p_comment,
|
||||
$this->date,$echeance,$this->grpt,$this->periode,$this->mt)
|
||||
$this->date,$echeance,$this->grpt,$this->periode,$this->mt,$this->jr_optype)
|
||||
);
|
||||
if ( $Res == false) return false;
|
||||
$this->jr_id=$this->db->get_current_seq('s_jrn');
|
||||
|
|
@ -708,6 +710,29 @@ class Acc_Operation
|
|||
$b=$a->get_quant();
|
||||
var_dump($b);
|
||||
}
|
||||
/**
|
||||
* Return a select object to choose the type of operation
|
||||
* - NOR normal
|
||||
* - EXT reverse operation
|
||||
* - CLO closing periode
|
||||
* - OPE opening periode
|
||||
* @param string $p_status
|
||||
* @return \ISelect
|
||||
*/
|
||||
static function select_operation_type($p_status)
|
||||
{
|
||||
$type_operation=new ISelect("jr_optype");
|
||||
$type_operation->value=array(
|
||||
array(("label")=>_("Normal"), "value"=>"NOR"),
|
||||
array(("label")=>_("Ouverture"), "value"=>"OPE"),
|
||||
array(("label")=>_("Fermeture"), "value"=>"CLO"),
|
||||
array(("label")=>_("Extourne"), "value"=>"EXT")
|
||||
);
|
||||
|
||||
$type_operation->selected=$p_status;
|
||||
return $type_operation;
|
||||
}
|
||||
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
class Acc_Detail extends Acc_Operation
|
||||
|
|
@ -727,7 +752,7 @@ class Acc_Detail extends Acc_Operation
|
|||
$sql="SELECT jr_id, jr_def_id, jr_montant, jr_comment, jr_date, jr_grpt_id,
|
||||
jr_internal, jr_tech_date, jr_tech_per, jrn_ech, jr_ech, jr_rapt,jr_ech,
|
||||
jr_valid, jr_opid, jr_c_opid, jr_pj, jr_pj_name, jr_pj_type,
|
||||
jr_pj_number, jr_mt,jr_rapt,jr_date_paid
|
||||
jr_pj_number, jr_mt,jr_rapt,jr_date_paid,jr_optype
|
||||
FROM jrn where jr_id=$1";
|
||||
$array=$this->db->get_array($sql,array($this->jr_id));
|
||||
if ( count($array) == 0 ) throw new Exception('Aucune ligne trouvée');
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ class Acc_Report
|
|||
$r.= HtmlInput::hidden('line',$p_line);
|
||||
$r.= HtmlInput::hidden('fr_id',$this->id);
|
||||
$wForm=new IText();
|
||||
$r.="Nom du rapport : ";
|
||||
$r.=_("Nom du rapport")." : ";
|
||||
$r.=$wForm->input('form_nom',$this->name);
|
||||
|
||||
$r.= '<TABLE id="rap1" width="100%">';
|
||||
|
|
|
|||
|
|
@ -1254,6 +1254,7 @@ 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,j_poste,".
|
||||
" jr_pj_number,".
|
||||
" jr_optype,".
|
||||
"j_debit, jr_internal,jr_id,(select distinct jl_id from sqlletter where sqlletter.j_id=j1.j_id ) as letter , ".
|
||||
" jr_tech_per,p_exercice,jrn_def_name,
|
||||
(with cred as (select jl_id, sum(j_montant) as amount_cred from letter_cred left join jrnx using (j_id) group by jl_id ),
|
||||
|
|
@ -1457,6 +1458,7 @@ class Fiche
|
|||
"<TH style=\"text-align:left\">"._('Code interne')." </TH>".
|
||||
"<TH style=\"text-align:left\">"._('Tiers')." </TH>".
|
||||
"<TH style=\"text-align:left\">"._('Description')." </TH>".
|
||||
"<TH style=\"text-align:left\">"._('Type')." </TH>".
|
||||
"<TH style=\"text-align:right\">"._('Débit')." </TH>".
|
||||
"<TH style=\"text-align:right\">"._('Crédit')." </TH>".
|
||||
th('Prog.','style="text-align:right"').
|
||||
|
|
@ -1492,7 +1494,7 @@ class Fiche
|
|||
echo "<TR class=\"highlight\">".
|
||||
"<TD>$old_exercice</TD>".
|
||||
td('').
|
||||
"<TD></TD>".
|
||||
"<TD></TD>".td("").td("").
|
||||
"<TD>Totaux</TD>".
|
||||
td().
|
||||
"<TD style=\"text-align:right\">".nbm($sum_deb)."</TD>".
|
||||
|
|
@ -1520,6 +1522,7 @@ class Fiche
|
|||
"<TD>".$vw_operation."</TD>".
|
||||
td($tiers).
|
||||
"<TD>".h($op['description'])."</TD>".
|
||||
td($op['jr_optype']).
|
||||
"<TD style=\"text-align:right\">".nbm($op['deb_montant'])."</TD>".
|
||||
"<TD style=\"text-align:right\">".nbm($op['cred_montant'])."</TD>".
|
||||
td(nbm(abs($progress)).$side,'style="text-align:right"').
|
||||
|
|
@ -1537,7 +1540,7 @@ class Fiche
|
|||
td().
|
||||
td().
|
||||
td(_('Totaux')).
|
||||
"<TD></TD>".
|
||||
"<TD></TD>".td("").td("").
|
||||
"<TD style=\"text-align:right\">".nbm($sum_deb)."</TD>".
|
||||
"<TD style=\"text-align:right\">".nbm($sum_cred)."</TD>".
|
||||
"<TD style=\"text-align:right\">".nbm($diff)."</TD>".
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ if ( count($a_poste) == 0 )
|
|||
}
|
||||
|
||||
// Header
|
||||
$header = array( _("Date"), _("Référence"), _("Libellé"), _("Pièce"),_("Lettrage"), _("Débit"), _("Crédit"), _("Solde") );
|
||||
$header = array( _("Date"), _("Référence"), _("Libellé"), _("Pièce"),_("Lettrage"),_("Type"), _("Débit"), _("Crédit"), _("Solde") );
|
||||
|
||||
$l=(isset($_GET['letter']))?2:0;
|
||||
$s=(isset($_REQUEST['solded']))?1:0;
|
||||
|
|
@ -195,6 +195,7 @@ foreach ($a_poste as $poste)
|
|||
$export->add($detail['jr_pj_number']);
|
||||
if ($detail['letter'] == -1) { $export->add(""); }
|
||||
else { $export->add($detail['letter']);}
|
||||
$export->add($detail['jr_optype']);
|
||||
if ($detail['deb_montant'] > 0 )
|
||||
$export->add($detail['deb_montant'],"number");
|
||||
else
|
||||
|
|
|
|||
|
|
@ -198,7 +198,7 @@ foreach ($a_poste as $poste)
|
|||
/* limit set to 40 for the substring */
|
||||
$triple_point = (mb_strlen($detail['description']) > 40 ) ? '...':'';
|
||||
// $pdf->LongLine($width[$i], 6, mb_substr($detail['description'],0,40).$triple_point, 0,$lor[$i]);
|
||||
$pdf->LongLine($width[$i], 6,$detail['description'], 0,$lor[$i]);
|
||||
$pdf->LongLine($width[$i], 6,$detail['description'].'['.$detail['jr_optype'].']', 0,$lor[$i]);
|
||||
$i++;
|
||||
$pdf->write_cell($width[$i], 6, $detail['jr_pj_number'], 0, 0, $lor[$i]);
|
||||
$i++;
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ if ( isset( $_REQUEST['bt_html'] ) )
|
|||
}
|
||||
if ( isDate($_REQUEST['from_periode'])==null || isDate($_REQUEST['to_periode'])==null)
|
||||
{
|
||||
echo alert('Date malformée, désolée');
|
||||
echo alert(_('Date malformée, désolée'));
|
||||
return;
|
||||
}
|
||||
echo '<div class="content">';
|
||||
|
|
@ -181,6 +181,7 @@ if ( isset( $_REQUEST['bt_html'] ) )
|
|||
<td>Référence</td>
|
||||
<td>Libellé</td>
|
||||
<td>Pièce</td>
|
||||
<td>Type</td>
|
||||
<td align="right">Débit</td>
|
||||
<td align="right">Crédit</td>
|
||||
<td align="right">Solde</td>
|
||||
|
|
@ -205,15 +206,15 @@ if ( isset( $_REQUEST['bt_html'] ) )
|
|||
echo '<tr class="highlight">
|
||||
<td>'.$current_exercice.'</td>
|
||||
<td>'.''.'</td>
|
||||
<td>'.'Total du compte '.$poste_id['pcm_val'].'</td>
|
||||
<td>'.''.'</td>
|
||||
<td align="right">'.($solde_d > 0 ? nbm( $solde_d) : '').'</td>
|
||||
<td>'._("Total du compte").$poste_id['pcm_val'].'</td>
|
||||
<td>'.''.'</td>'.td("").
|
||||
'<td align="right">'.($solde_d > 0 ? nbm( $solde_d) : '').'</td>
|
||||
<td align="right">'.($solde_c > 0 ? nbm( $solde_c) : '').'</td>
|
||||
<td align="right">'.nbm( abs($solde_c-$solde_d)).'</td>
|
||||
<td>';
|
||||
if ($solde_c > $solde_d ) echo _("Crédit");
|
||||
if ($solde_c < $solde_d ) echo _("Débit");
|
||||
if ($solde_c == $solde_d ) echo "=";
|
||||
if ($solde_c == $solde_d ) echo " ";
|
||||
|
||||
echo '</td>'.
|
||||
'</tr>';
|
||||
|
|
@ -241,7 +242,7 @@ if ( isset( $_REQUEST['bt_html'] ) )
|
|||
$side=" ".$Poste->get_amount_side($solde);
|
||||
$letter="";
|
||||
$html_let="";
|
||||
if ($detail['letter']!=-1) {
|
||||
if ($detail['letter'] > 0) {
|
||||
$letter=strtoupper(base_convert($detail['letter'],10,36));
|
||||
$html_let = HtmlInput::show_reconcile("", $letter);
|
||||
}
|
||||
|
|
@ -252,6 +253,7 @@ if ( isset( $_REQUEST['bt_html'] ) )
|
|||
<td>'.HtmlInput::detail_op($detail['jr_id'],$detail['jr_internal']).'</td>
|
||||
<td>'.$detail['description'].'</td>
|
||||
<td>'.$detail['jr_pj_number'].'</td>
|
||||
<td>'.$detail['jr_optype'].'</td>
|
||||
<td align="right">'.($detail['deb_montant'] > 0 ? nbm($detail['deb_montant']) : '').'</td>
|
||||
<td align="right">'.($detail['cred_montant'] > 0 ? nbm($detail['cred_montant']) : '').'</td>
|
||||
<td align="right">'.nbm(abs($solde)).$side.'</td>
|
||||
|
|
@ -262,8 +264,8 @@ if ( isset( $_REQUEST['bt_html'] ) )
|
|||
<td>'.$current_exercice.'</td>
|
||||
<td>'.''.'</td>
|
||||
<td>'.'<b>'.'Total du compte '.$poste_id['pcm_val'].'</b>'.'</td>
|
||||
<td>'.''.'</td>
|
||||
<td align="right">'.'<b>'.($solde_d > 0 ? nbm( $solde_d) : '').'</b>'.'</td>
|
||||
<td>'.''.'</td>'.td("").
|
||||
'<td align="right">'.'<b>'.($solde_d > 0 ? nbm( $solde_d) : '').'</b>'.'</td>
|
||||
<td align="right">'.'<b>'.($solde_c > 0 ? nbm( $solde_c) : '').'</b>'.'</td>
|
||||
<td align="right">'.'<b>'.nbm( abs($solde_c-$solde_d)).'</b>'.'</td>
|
||||
<td>';
|
||||
|
|
|
|||
|
|
@ -163,13 +163,13 @@ if ($sa=='step2')
|
|||
$periode=$cn->make_array("select distinct p_exercice,p_exercice from parm_periode order by p_exercice");
|
||||
$w=new ISelect();
|
||||
$w->table=0;
|
||||
$w->label='Periode';
|
||||
$w->label=_('Periode N-1');
|
||||
$w->readonly=false;
|
||||
$w->value=$periode;
|
||||
$w->name="p_periode";
|
||||
$w->selected=$g_user->get_exercice()-1;
|
||||
echo "<p>";
|
||||
echo _('Période').' : '.$w->input();
|
||||
echo _('Période N-1').' : '.$w->input();
|
||||
echo "</p>";
|
||||
echo HtmlInput::submit('ok', _('Continuer'));
|
||||
echo dossier::hidden();
|
||||
|
|
@ -237,7 +237,7 @@ if ($sa=='step4')
|
|||
$result["ac"]=$http->request("ac");
|
||||
$result['p_periode']=$p_periode;
|
||||
$result['gDossier']=Dossier::id();
|
||||
|
||||
$result['jr_optype']="OPE";
|
||||
// default date = first day of Exercice
|
||||
$periode=new Periode($cn,$g_user->get_periode());
|
||||
list($periode_start,$periode_end)=$periode->get_limit($g_user->get_exercice());
|
||||
|
|
@ -260,7 +260,6 @@ if ($sa=='step4')
|
|||
$idx++;
|
||||
}
|
||||
$cn=Dossier::connect();
|
||||
|
||||
$jrn=new Acc_Ledger($cn,$p_jrn);
|
||||
$_POST=$result;
|
||||
$_REQUEST=$result;
|
||||
|
|
|
|||
|
|
@ -45,12 +45,13 @@ echo $ledger->confirm($_POST,false);
|
|||
?>
|
||||
<div id="tab_id" >
|
||||
<script>
|
||||
var a_tab = ['modele_div_id','reverse_div_id','document_div_id'];
|
||||
var a_tab = ['modele_div_id','reverse_div_id','document_div_id','operationtype_div_id'];
|
||||
</script>
|
||||
<ul class="tabs">
|
||||
<li class="tabs_selected" style="float: none"> <a href="javascript:void(0)" title="<?php echo _("Modèle à sauver")?>" onclick="unselect_other_tab(this.parentNode.parentNode);this.parentNode.className='tabs_selected';show_tabs(a_tab,'modele_div_id')"> <?php echo _('Modèle')?> </a></li>
|
||||
<li class="tabs" style="float: none"> <a href="javascript:void(0)" title="<?php echo _("Document")?>" onclick="unselect_other_tab(this.parentNode.parentNode);this.parentNode.className='tabs_selected';show_tabs(a_tab,'document_div_id')"> <?php echo _('Document')?> </a></li>
|
||||
<li class="tabs" style="float: none"> <a href="javascript:void(0)" title="<?php echo _("Extourne")?>" onclick="unselect_other_tab(this.parentNode.parentNode);this.parentNode.className='tabs_selected';show_tabs(a_tab,'reverse_div_id')"> <?php echo _('Extourne')?> </a></li>
|
||||
<li class="tabs" style="float: none"> <a href="javascript:void(0)" title="<?php echo _("Type opération")?>" onclick="unselect_other_tab(this.parentNode.parentNode);this.parentNode.className='tabs_selected';show_tabs(a_tab,'operationtype_div_id')"> <?php echo _('Type opération')?> </a></li>
|
||||
</ul>
|
||||
<div id="modele_div_id">
|
||||
<?php echo Pre_operation::save_propose(); ?>
|
||||
|
|
@ -73,6 +74,13 @@ echo $ledger->confirm($_POST,false);
|
|||
echo '</p>';
|
||||
?>
|
||||
</div>
|
||||
<div id="operationtype_div_id" style="display:none;height:185px;height:10rem">
|
||||
<?php
|
||||
$status=$http->request("jr_optype","string","NOR");
|
||||
echo $_POST['jr_optype'];
|
||||
echo Acc_Operation::select_operation_type($status)->input();
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
echo HtmlInput::submit("save",_("Confirmer"));
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ $p_msg=(isset($p_msg))?$p_msg:"";
|
|||
print '<p class="notice">'.$p_msg.'</p>';
|
||||
echo '<form method="post" class="print" onsubmit="return controleBalance();" >';
|
||||
echo dossier::hidden();
|
||||
echo HtmlInput::request_to_hidden(array('ac'));
|
||||
echo HtmlInput::request_to_hidden(array('ac','jr_optype'));
|
||||
|
||||
echo $ledger->input($p_post);
|
||||
|
||||
|
|
|
|||
|
|
@ -145,6 +145,18 @@ endif;
|
|||
<tr>
|
||||
<td> <?php echo _("Autre information")?> : </td><td><?php echo HtmlInput::infobulle(30)." ".$other->input();?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<?=_("Type opération")?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
// Opération type
|
||||
|
||||
echo Acc_Operation::select_operation_type($detail->det->jr_optype)->input();
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="linked_operation_div<?php echo $div;?>" style="display:<?php echo $a_tab['linked_operation_div']['display']?>" class="myfieldset">
|
||||
|
|
|
|||
|
|
@ -89,4 +89,10 @@ insert into user_active_security (us_login,us_ledger,us_action) select user_nam
|
|||
alter table jrn_def add jrn_enable int;
|
||||
alter table jrn_def alter jrn_enable set default 1;
|
||||
update jrn_def set jrn_enable=1;
|
||||
comment on column jrn_def.jrn_enable is 'Set to 1 if the ledger is enable ';
|
||||
comment on column jrn_def.jrn_enable is 'Set to 1 if the ledger is enable ';
|
||||
|
||||
|
||||
alter table jrn add jr_optype varchar(3);
|
||||
alter table jrn alter jr_optype set default 'NOR';
|
||||
comment on column jrn.jr_optype is 'Type of operation , NOR = NORMAL , OPE opening , EXT extourne, CLO closing';
|
||||
update jrn set jr_optype='NOR';
|
||||
Loading…
Add table
Add a link
Reference in a new issue