db=$p_cn; $this->qcode=""; $this->user=$_SESSION['g_user']; $user=new cl_user($this->db); $this->periode=$user->GetPeriode(); } /* ************************************************** *\brief Insert into the table Jrn * * * \return nothing * */ function insert_jrnx() { if ( $this->poste == "") return true; $debit=($this->type=='c')?'false':'true'; $sql=sprintf("select insert_jrnx ('%s',abs(%.2f),%d,%d,%d,%s,'%s',%d,upper('%s'))", $this->date,round($this->amount,2), $this->poste,$this->grpt,$this->jrn, $debit,$this->user,$this->periode,$this->qcode); $Res=ExecSql($this->db,$sql); if ( $Res==false) return $Res; $this->jrnx_id=GetSequence($this->db,'s_jrn_op'); return $this->jrnx_id; } /*! ************************************************** *\brief Insert into the table Jrn, the amount is computed from jrnx thanks the * group id ($p_grpt) * * \return nothing * */ function insert_jrn() { $p_comment=FormatString($this->desc); // retrieve the value from jrnx // $montant_deb=getDBValue($this->db,"select sum(j_montant) from jrnx where j_debit='t' and j_grpt=".$this->grpt); $montant_cred=getDBValue($this->db,"select sum(j_montant) from jrnx where j_debit='f' and j_grpt=".$this->grpt); echo_debug('InsertJrn',__LINE__,"debit = $montant_deb credit = $montant_cred "); $amount=-1.0000; if ( $montant_deb == $montant_cred ) { $amount=$montant_deb; } else { echo "Erreur : balance incorrecte : débit = $montant_deb crédit = $montant_cred"; return false; } // if amount == -1then the triggers will throw an error // $sql=sprintf("insert into jrn (jr_def_id,jr_montant,jr_comment,jr_date,jr_ech,jr_grpt_id,jr_tech_per) values ( %d,abs(%.2f),'%s',to_date('%s','DD.MM.YYYY'),null,%d,%d)", $this->jrn, $amount,$p_comment,$this->date,$this->grpt,$this->periode); $Res=ExecSql($this->db,$sql); if ( $Res == false) return false; return GetSequence($this->db,'s_jrn'); } }