noalyss
Version-6.7.2
|
class Customer are a specific kind of card More...
Public Member Functions | |
__construct ($p_cn, $p_id=0) | |
Constructor /* only a db connection is needed. | |
get_by_account ($p_poste=0) | |
Get all info contains in the view thanks to the poste elt (account) | |
VatListing ($p_year) | |
Get all the info for making a vat listing for the vat administration. | |
Data Fields | |
$country | |
$cp | |
$name | |
$poste | |
$street | |
$vat_number |
class Customer are a specific kind of card
Definition at line 36 of file class_customer.php.
Customer::__construct | ( | $ | p_cn, |
$ | p_id = 0 |
||
) |
Constructor /* only a db connection is needed.
Reimplemented from Fiche.
Definition at line 48 of file class_customer.php.
{ $this->fiche_def_ref=FICHE_TYPE_CLIENT; parent::__construct($p_cn,$p_id) ; }
Customer::get_by_account | ( | $ | p_poste = 0 | ) |
Get all info contains in the view thanks to the poste elt (account)
Definition at line 57 of file class_customer.php.
References $Res, Fiche\$row, $sql, cn, Database\fetch_array(), name, Database\num_row(), and poste.
{ $this->poste=($p_poste==0)?$this->poste:$p_poste; $sql="select * from vw_client where poste_comptable=$1"; $Res=$this->cn->exec_sql($sql,array($this->poste)); if ( Database::num_row($Res) == 0) return null; if ( Database::num_row($Res) > 1 ) throw new Exception ('Plusieurs fiches avec le même poste',1); // There is only _one_ row by customer $row=Database::fetch_array($Res,0); $this->name=$row['name']; $this->id=$row['f_id']; $this->street=$row['rue']; $this->cp=$row['code_postal']; $this->country=$row['pays']; $this->vat_number=$row['tva_num']; }
Customer::VatListing | ( | $ | p_year | ) |
Get all the info for making a vat listing for the vat administration.
$p_year |
Definition at line 84 of file class_customer.php.
References $amount, $e, $l, $Res, $s, $sql, cn, Database\fetch_all(), Database\fetch_array(), and Database\num_row().
{ $cond_sql=" and A.j_date = B.j_date and extract(year from A.j_date) ='$p_year'"; /* List of customer */ $aCustomer=$this->cn->get_array('select f_id,name,quick_code,tva_num,poste_comptable from vw_client '. " where tva_num !='' "); /* Use the code */ // BASE ACCOUNT // for belgium $s=new Acc_Parm_Code($this->cn,'VENTE'); $s->load(); $SOLD=$s->p_value; $c=new Acc_Parm_Code($this->cn,'CUSTOMER'); $c->load(); $CUSTOMER=$c->p_value; $t=new Acc_Parm_Code($this->cn,'COMPTE_TVA'); $t->load(); $TVA=$t->p_value; $a_Res=array(); /* for each customer compute VAT, Amount...*/ foreach ($aCustomer as $l ) { // Seek the customer //--- $customer=$l['quick_code']; $a_Res[$customer]['name']=$l['name']; $a_Res[$customer]['vat_number']=$l['tva_num']; $a_Res[$customer]['amount']=0; $a_Res[$customer]['tva']=0; $a_Res[$customer]['poste_comptable']=$l['poste_comptable']; /* retrieve only operation of sold and vat */ // Get all the sell operation //---- $sql="select distinct j_grpt from jrnx as A join jrnx as B using (j_grpt) where A.j_qcode = '".$l['quick_code']."' and B.j_poste::text like '".$SOLD."%' $cond_sql "; $Res=$this->cn->exec_sql($sql); // Foreach operation // where 7% or tva account are involved // and store the result in an array (a_Res) //--- for ($i=0; $i < Database::num_row($Res);$i++) { // Get each row //--- $row1=Database::fetch_array($Res,$i); // select the operation //---- $Res2=$this->cn->exec_sql("select j_poste,j_montant,j_debit from jrnx where j_grpt=".$row1['j_grpt']); $a_row=Database::fetch_all($Res2); // Store the amount in the array //--- foreach ($a_row as $e) { $amount=0; $tva=0; if ( substr($e['j_poste'],0, strlen($SOLD))===$SOLD) { $amount=($e['j_debit']=='f')?$e['j_montant']:$e['j_montant']*-1; } if ( substr($e['j_poste'],0, strlen($TVA))===$TVA) { $tva=($e['j_debit']=='f')?$e['j_montant']:$e['j_montant']*-1; } // store sold //--- $a_Res[$customer]['amount']=(isset($a_Res[$customer]['amount']))?$a_Res[$customer]['amount']:0; $a_Res[$customer]['amount']+=$amount; // store vat //--- $a_Res[$customer]['tva']=(isset($a_Res[$customer]['tva']))?$a_Res[$customer]['tva']:0; $a_Res[$customer]['tva']+=$tva; // store customef info //--- $a_Res[$customer]['customer']=$customer; } }// foreach $a } // foreach ( customer) return $a_Res; }
Customer::$country |
$country Country
Definition at line 42 of file class_customer.php.
Customer::$cp |
$cp Zip code
Definition at line 43 of file class_customer.php.
Customer::$name |
$name name of the company
Definition at line 40 of file class_customer.php.
Customer::$poste |
$poste poste comptable
Definition at line 39 of file class_customer.php.
Customer::$street |
$street Street
Definition at line 41 of file class_customer.php.
Customer::$vat_number |
$vat_number vat number
Definition at line 44 of file class_customer.php.