/[phpcompta]/phpcompta/include/form_input.php
ViewVC logotype

Diff of /phpcompta/include/form_input.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.65 by sparkyx, Thu Oct 27 12:27:21 2005 UTC revision 1.66 by sparkyx, Thu Oct 27 13:09:42 2005 UTC
# Line 175  function InputType($p_label,$p_type,$p_n Line 175  function InputType($p_label,$p_type,$p_n
175    return $r;    return $r;
176    
177  }  }
 /* function FormFin($p_cn,$p_jrn,$p_user,$p_array=null,$pview_only=true,$p_item=1)  
  * Purpose : Display the form for financial  
  *           Used to show detail, encode a new fin op  
  *           or update one  
  *          
  * parm :  
  *      - p_array which can be empty  
  *      - the "journal"  
  *      - $p_user = $g_user  
  *      - $p_submit contains the submit string  
  *      - view_only if we cannot change it (no right or centralized op)  
  *      - $p_item number of article  
  * gen :  
  *      -  
  * return: string with the form  
  */  
 function FormFin($p_cn,$p_jrn,$p_periode,$p_submit,$p_array=null,$pview_only=true,$p_item=4,$p_save=false)  
 {  
   include_once("poste.php");  
   if ( $p_array != null ) {  
     // array contains old value  
     foreach ( $p_array as $a=>$v) {  
       ${"$a"}=$v;  
     }  
   }  
   // The date  
   list ($l_date_start,$l_date_end)=GetPeriode($p_cn,$p_periode);  
   $flag=(isset($e_date))?1:0;  
   $e_date=( ! isset($e_date) ) ? substr($l_date_start,2,8):$e_date;  
   
   // Verify if valid date  
   if ($flag ==1 and   VerifyOperationDate($p_cn,$p_periode,$e_date)   == null) {  
     if ( $pview_only == true)  
       return null;  
     else  
       $e_date=substr($l_date_start,2,8);  
   }  
   
   
   $e_ech=(isset($e_ech))?$e_ech:"";  
   $e_comment=(isset($e_comment))?$e_comment:"";  
   
   $r="";  
   if ( $pview_only == false) {  
     $r.=JS_SEARCH_CARD;  
     $r.=JS_CONCERNED_OP;  
   }  
   //      $r.='<FORM METHOD="POST" enctype="multipart/form-data" ACTION="user_jrn.php?action=record">';  
   $r.="<FORM NAME=\"form_detail\" enctype=\"multipart/form-data\" ACTION=\"user_jrn.php?action=new&p_jrn=$p_jrn\" METHOD=\"POST\">";  
   $r.='<TABLE>';  
   $r.='<TR>'.InputType("Date ","Text","e_date",$e_date,$pview_only).'</TR>';  
   
   
   include_once("fiche_inc.php");  
   $r.='<INPUT TYPE="HIDDEN" name="nb_item" value="'.$p_item.'">';  
   
   // bank_account operation  
   // Save old value and set a new one  
   $e_bank_account=( isset ($e_bank_account) )?$e_bank_account:"";  
   $e_bank_account_label="";    
   
     // retrieve e_bank_account_label  
   if ( isNumber($e_bank_account) == 1 ) {  
     if ( isFicheOfJrn($p_cn,$p_jrn,$e_bank_account,'deb') == 0 ) {  
       $msg="Fiche inexistante !!! ";  
       echo_error($msg); echo_error($msg);        
       echo "<SCRIPT>alert('$msg');</SCRIPT>";  
       $e_bank_account="";  
       echo_debug(__FILE__,__LINE__,"FormFin returns NULL the bank account is not valid");  
       return null;  
     } else {  
       $a_client=GetFicheAttribut($p_cn,$e_bank_account);  
       if ( $a_client != null)    
         $e_bank_account_label=$a_client['vw_name']."  adresse ".$a_client['vw_addr']."  ".$a_client['vw_cp'];  
       }  
   }else {  
       
     if ( $pview_only ==true) {  
       return null;  
       echo_debug(__FILE__,__LINE__,"FormFin returns NULL the bank account is not valid");  
     }  
       
   }  
     
   //  $r.='<TR>'.InputType("Banque","js_search","e_bank_account",$e_bank_account,$pview_only,FICHE_TYPE_FIN).'</TR>';  
     $W1=new widget("js_search");  
     $W1->readonly=$pview_only;  
     $W1->label="Banque";  
     $W1->name="e_bank_account";  
     $W1->value=$e_bank_account;  
     $W1->extra=FICHE_TYPE_FIN;  // credits  
     $W1->extra2=$p_jrn;  
     $r.="<TR>".$W1->IOValue()."</TD>";  
   
   $r.="</TABLE>";  
     
   $r.=       InputType(""       ,"span"   ,"e_bank_account_label",$e_bank_account_label,false).'</TD>';  
     
   $e_comment=(isset($e_comment))?$e_comment:"";  
     
   // ComputeBanqueSaldo  
   // cred = n� !!!  
   if ( $pview_only == true ) {  
     $solde=GetSolde($p_cn,GetFicheAttribut($p_cn,$e_bank_account,ATTR_DEF_ACCOUNT));  
     $r.=" <b> Solde = ".$solde." </b>";  
     $new_solde=$solde;  
   }  
   
   // Start the div for item to move money  
   $r.="<DIV>";  
   $r.='<H2 class="info">Actions</H2>';  
   $r.='<TABLE>';  
   $r.="<TR>";  
   $r.="<th></TH>";  
   $r.="<th>code</TH>";  
   $r.="<th>D&eacute;omination</TH>";  
   $r.="<th>Description</TH>";  
   $r.="<th>Montant</TH>";  
   $r.='<th colspan="2"> Op. Concern&eacute;</th>';  
   $r.="</TR>";  
   // Parse each " tiers"  
     for ($i=0; $i < $p_item; $i++) {  
       $tiers=(isset(${"e_other".$i}))?${"e_other".$i}:"";  
       $tiers_label="";  
       $tiers_amount=(isset(${"e_other$i"."_amount"}))?${"e_other$i"."_amount"}:0;  
       if ( isNumber($tiers_amount) == 0) {  
         if ( $pview_only==true ){  
           $msg="Montant invalide !!! ";  
           echo_error($msg); echo_error($msg);    
           echo "<SCRIPT>alert('$msg');</SCRIPT>";  
           return null;  
         }  
         $tiers_amount=0;  
       }  
       $tiers_comment=(isset (${"e_other$i"."_comment"}))?${"e_other$i"."_comment"}:"";  
     // If $tiers has a value  
     if ( isNumber($tiers) == 1 ) {  
       if ( isFicheOfJrn($p_cn,$p_jrn,$tiers,'cred') == 0 ) {  
         $msg="Fiche inexistante !!! ";  
         echo_error($msg); echo_error($msg);      
         echo "<SCRIPT>alert('$msg');</SCRIPT>";  
         $tiers="";  
       } else {  
         // retrieve the tva label and name  
         $a_fiche=GetFicheAttribut($p_cn, $tiers);  
         if ( $a_fiche != null ) {  
           $tiers_label=$a_fiche['vw_name'];  
         }  
       }  
     }  
     ${"e_other$i"."_amount"}=(isset (${"e_other$i"."_amount"}))?${"e_other$i"."_amount"}:0;  
     // Compute the string to pass to InputType  
     // $f=FICHE_TYPE_CLIENT.",".FICHE_TYPE_FOURNISSEUR.",".FICHE_TYPE_ADM_TAX.",".FICHE_TYPE_FIN;  
     //    $r.='<TR>'.InputType("","js_search","e_other".$i,$tiers,$pview_only,'cred');  
     $W1=new widget("js_search");  
     $W1->label="";  
     $W1->name="e_other".$i;  
     $W1->value=$tiers;  
     $W1->extra='cred';  // credits  
     $W1->extra2=$p_jrn;  
     $W1->readonly=$pview_only;  
     $r.="<TR>".$W1->IOValue()."</TD>";  
   
     $r.=InputType("","span", "e_other$i"."_label", $tiers_label,$pview_only);  
     // Comment  
     $r.=InputType("","Text","e_other$i"."_comment",$tiers_comment,$pview_only);  
     // amount  
     $r.=InputType("","TEXT","e_other$i"."_amount",$tiers_amount,$pview_only);  
     ${"e_concerned".$i}=(isset(${"e_concerned".$i}))?${"e_concerned".$i}:"";  
     $r.=InputType("","js_concerned","e_concerned".$i,${"e_concerned".$i},$pview_only);  
     $r.='</TR>';  
    // if not recorded the new amount must be recalculate  
    // if recorded the old amount is recalculated  
     if ( $pview_only == true)        
       $new_solde=($p_save==false)?$new_solde+$tiers_amount:$new_solde-$tiers_amount;  
  }  
   
 $r.="</TABLE>";  
   
  if ( $pview_only==true && $p_save==false) {  
 // check for upload piece  
    $file=new widget("file");  
    $file->table=1;  
    $r.="<hr>";  
    $r.= "<table>";  
    $r.="<TR>".$file->IOValue("pj","","Pi&eagrave;ce justificative")."</TR>";  
    $r.="</table>";  
    $r.="<hr>";  
  }  
 $r.=$p_submit;  
 $r.="</DIV>";  
 $r.="</FORM>";  
   
 // if view_only is true  
 //Put the new saldo here (old saldo - operation)  
  if ( $pview_only==true)  {  
    // if not recorded the new amount must be recalculate  
    if ( $p_save == false) {  
      $r.=" <b> Ancien Solde = ".$solde." </b><br>";  
      $r.=" <b> Nouveau Solde = ".$new_solde." </b><br>";  
    }  
    // if recorded the old amount is recalculated  
    if ($p_save == true ) {  
      $r.=" <b> Ancien Solde = ".$new_solde." </b><br>";  
      $r.=" <b> Nouveau Solde = ".$solde." </b><br>";  
    }  
  }  
   
 return $r;  
   
   
 }  
   
 /* function RecordFin  
  **************************************************  
  * Purpose : Record an invoice in the table jrn &  
  *           jrnx  
  *          
  * parm :  
  *      - $p_cn Database connection  
  *  - $p_array contains all the invoice data  
  * e_date => e : 01.01.2003  
  * e_bank_account => e : 3  
  *  - $p_user userid  
  *  - $p_jrn current folder (journal)  
  *  - array e_other$i, e_other$i_amount, e_other$i_label  
  * gen :  
  *      - none  
  * return:  
  *            true on success  
  */  
 function RecordFin($p_cn,$p_array,$p_user,$p_jrn) {  
   echo_debug(__FILE__,__LINE__,"RecordFin");  
   foreach ( $p_array as $v => $e)  
   {  
     ${"$v"}=$e;  
   }  
   // Get the default period  
   $periode=$p_user->GetPeriode();  
   
   // Test if the data are correct  
   // Verify the date  
   if ( isDate($e_date) == null ) {  
           echo_error("Invalid date $e_date");  
           echo_debug(__FILE__,__LINE__,"Invalid date $e_date");  
           echo "<SCRIPT> alert('INVALID DATE $e_date !!!!');</SCRIPT>";  
           return null;  
                 }  
     
   // Debit = banque  
   $poste_bq=GetFicheAttribut($p_cn,$e_bank_account,ATTR_DEF_ACCOUNT);  
   StartSql($p_cn);  
   $amount=0.0;    
   // Credit = goods  
   for ( $i = 0; $i < $nb_item;$i++) {  
     // if tiers is set and amount != 0 insert it into the database  
     // and quit the loop ?  
     if ( ${"e_other$i"."_amount"} == 0 ) continue;  
     $poste=GetFicheAttribut($p_cn,${"e_other$i"},ATTR_DEF_ACCOUNT);  
   
     $amount+=${"e_other$i"."_amount"};  
     // Record a line for the bank  
     //    $type=( ${"e_other$i"."_amount"} < 0 )?'d':'c';  
   
     // Compute the j_grpt  
     $seq=NextSequence($p_cn,'s_grpt');  
   
     if ( InsertJrnx($p_cn,'d',$p_user->id,$p_jrn,$poste_bq,$e_date,round(${"e_other$i"."_amount"},2),$seq,$periode) == false ) {  
       $Rollback($p_cn);exit("error __FILE__ __LINE__");  
     }  
   
   
     // Record a line for the other account  
     //    $type=( ${"e_other$i"."_amount"} < 0 )?'c':'d';  
     if ( ($j_id=InsertJrnx($p_cn,'c',$p_user->id,$p_jrn,$poste,$e_date,round(${"e_other$i"."_amount"},2),$seq,$periode)) == false )  
       { $Rollback($p_cn);exit("error __FILE__ __LINE__");}  
   
     echo_debug(__FILE__,__LINE__,"   $j_id=InsertJrnx($p_cn,'d',$p_user,$p_jrn,$poste,$e_date,".${"e_other$i"}."_amount".",$seq,$periode);");  
   
     if ( ($jr_id=InsertJrn($p_cn,$e_date,'',$p_jrn,FormatString(${"e_other$i"."_comment"}),  
                            round(${"e_other$i"."_amount"},2),$seq,$periode))==false) {  
       $Rollback($p_cn);exit("error __FILE__ __LINE__");}  
     
     if ( isNumber(${"e_concerned".$i}) == 1 ) {  
   
       InsertRapt($p_cn,$jr_id,${"e_concerned$i"});  
     }  
   
   
   // Set Internal code and Comment  
     $internal_code=SetInternalCode($p_cn,$seq,$p_jrn);  
     $comment=$internal_code."  client : ".GetFicheName($p_cn,$e_bank_account);  
     if ( FormatString(${"e_other$i"."_comment"}) == null ) {  
       // Update comment if comment is blank  
       $Res=ExecSql($p_cn,"update jrn set jr_comment='".$comment."' where jr_grpt_id=".$seq);  
     }  
       
   } // for nbitem  
   if ( isset ($_FILES))  
     save_upload_document($p_cn,$seq);  
   
   Commit($p_cn);  
 }  
178  /* function FormODS($p_cn,$p_jrn,$p_user,$p_array=null,$pview_only=true,$p_article=1)  /* function FormODS($p_cn,$p_jrn,$p_user,$p_array=null,$pview_only=true,$p_article=1)
179   * Purpose : Display the miscellaneous operation   * Purpose : Display the miscellaneous operation
180   *           Used to show detail, encode a new oper   *           Used to show detail, encode a new oper

Legend:
Removed from v.1.65  
changed lines
  Added in v.1.66

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26