NEW Societe - Add perentity functionality on customer/supplier accountancy auxiliary account
This commit is contained in:
parent
24e3dd0992
commit
adfae30112
@ -243,10 +243,12 @@ if (!empty($conf->global->MAIN_PRODUCT_PERENTITY_SHARED)) {
|
||||
$sql .= " p.tosell as status, p.tobuy as status_buy,";
|
||||
$sql .= " aa.rowid as aarowid, aa2.rowid as aarowid_intra, aa3.rowid as aarowid_export, aa4.rowid as aarowid_thirdparty,";
|
||||
$sql .= " co.code as country_code, co.label as country_label,";
|
||||
$sql .= " s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur,";
|
||||
$sql .= " s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur,";
|
||||
if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
|
||||
$sql .= " spe.accountancy_code_customer as code_compta_client, spe.accountancy_code_supplier as code_compta_fournisseur,";
|
||||
$sql .= " spe.accountancy_code_buy as company_code_buy";
|
||||
} else {
|
||||
$sql .= " s.code_compta as code_compta_client, s.code_compta_fournisseur,";
|
||||
$sql .= " s.accountancy_code_buy as company_code_buy";
|
||||
}
|
||||
$parameters = array();
|
||||
|
||||
@ -88,7 +88,12 @@ class box_factures_imp extends ModeleBoxes
|
||||
|
||||
if ($user->rights->facture->lire) {
|
||||
$sql = "SELECT s.rowid as socid, s.nom as name, s.name_alias";
|
||||
$sql .= ", s.code_client, s.code_compta, s.client";
|
||||
$sql .= ", s.code_client, s.client";
|
||||
if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
|
||||
$sql .= ", spe.accountancy_code_customer as code_compta";
|
||||
} else {
|
||||
$sql .= ", s.code_compta";
|
||||
}
|
||||
$sql .= ", s.logo, s.email, s.entity";
|
||||
$sql .= ", s.tva_intra, s.siren as idprof1, s.siret as idprof2, s.ape as idprof3, s.idprof4, s.idprof5, s.idprof6";
|
||||
$sql .= ", f.ref, f.date_lim_reglement as datelimite";
|
||||
@ -100,6 +105,9 @@ class box_factures_imp extends ModeleBoxes
|
||||
$sql .= ", f.paye, f.fk_statut as status, f.rowid as facid";
|
||||
$sql .= ", sum(pf.amount) as am";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s";
|
||||
if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
|
||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "societe_perentity as spe ON spe.fk_soc = s.rowid AND spe.entity = " . ((int) $conf->entity);
|
||||
}
|
||||
if (!$user->rights->societe->client->voir && !$user->socid) {
|
||||
$sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
}
|
||||
@ -115,7 +123,12 @@ class box_factures_imp extends ModeleBoxes
|
||||
if ($user->socid) {
|
||||
$sql .= " AND s.rowid = ".((int) $user->socid);
|
||||
}
|
||||
$sql .= " GROUP BY s.rowid, s.nom, s.name_alias, s.code_client, s.code_compta, s.client, s.logo, s.email, s.entity, s.tva_intra, s.siren, s.siret, s.ape, s.idprof4, s.idprof5, s.idprof6,";
|
||||
$sql .= " GROUP BY s.rowid, s.nom, s.name_alias, s.code_client, s.client, s.logo, s.email, s.entity, s.tva_intra, s.siren, s.siret, s.ape, s.idprof4, s.idprof5, s.idprof6,";
|
||||
if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
|
||||
$sql .= " spe.accountancy_code_customer as code_compta";
|
||||
} else {
|
||||
$sql .= " s.code_compta";
|
||||
}
|
||||
$sql .= " f.ref, f.date_lim_reglement,";
|
||||
$sql .= " f.type, f.datef, f.total_ht, f.total_tva, f.total_ttc, f.paye, f.fk_statut, f.rowid";
|
||||
//$sql.= " ORDER BY f.datef DESC, f.ref DESC ";
|
||||
|
||||
@ -1281,7 +1281,7 @@ class Societe extends CommonObject
|
||||
}
|
||||
|
||||
$this->code_compta_client = trim(empty($this->code_compta) ? $this->code_compta_client : $this->code_compta);
|
||||
$this->code_compta = $this->code_compta_client; // for backward compatbility
|
||||
$this->code_compta = $this->code_compta_client; // for backward compatibility
|
||||
$this->code_compta_fournisseur = trim($this->code_compta_fournisseur);
|
||||
|
||||
// Check parameters. More tests are done later in the ->verify()
|
||||
@ -1451,6 +1451,14 @@ class Societe extends CommonObject
|
||||
if (empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
|
||||
$sql .= ", accountancy_code_buy = '" . $this->db->escape($this->accountancy_code_buy) . "'";
|
||||
$sql .= ", accountancy_code_sell= '" . $this->db->escape($this->accountancy_code_sell) . "'";
|
||||
|
||||
if ($customer) {
|
||||
$sql .= ", code_compta = ".(!empty($this->code_compta_client) ? "'".$this->db->escape($this->code_compta_client)."'" : "null");
|
||||
}
|
||||
|
||||
if ($supplier) {
|
||||
$sql .= ", code_compta_fournisseur = ".(($this->code_compta_fournisseur != "") ? "'".$this->db->escape($this->code_compta_fournisseur)."'" : "null");
|
||||
}
|
||||
}
|
||||
$sql .= ",webservices_url = ".(!empty($this->webservices_url) ? "'".$this->db->escape($this->webservices_url)."'" : "null");
|
||||
$sql .= ",webservices_key = ".(!empty($this->webservices_key) ? "'".$this->db->escape($this->webservices_key)."'" : "null");
|
||||
@ -1461,12 +1469,10 @@ class Societe extends CommonObject
|
||||
|
||||
if ($customer) {
|
||||
$sql .= ", code_client = ".(!empty($this->code_client) ? "'".$this->db->escape($this->code_client)."'" : "null");
|
||||
$sql .= ", code_compta = ".(!empty($this->code_compta_client) ? "'".$this->db->escape($this->code_compta_client)."'" : "null");
|
||||
}
|
||||
|
||||
if ($supplier) {
|
||||
$sql .= ", code_fournisseur = ".(!empty($this->code_fournisseur) ? "'".$this->db->escape($this->code_fournisseur)."'" : "null");
|
||||
$sql .= ", code_compta_fournisseur = ".(($this->code_compta_fournisseur != "") ? "'".$this->db->escape($this->code_compta_fournisseur)."'" : "null");
|
||||
}
|
||||
$sql .= ", fk_user_modif = ".($user->id > 0 ? $user->id : "null");
|
||||
$sql .= ", fk_multicurrency = ".(int) $this->fk_multicurrency;
|
||||
@ -1540,12 +1546,23 @@ class Societe extends CommonObject
|
||||
$sql = "INSERT INTO " . MAIN_DB_PREFIX . "societe_perentity (";
|
||||
$sql .= " fk_soc";
|
||||
$sql .= ", entity";
|
||||
$sql .= ", accountancy_code_customer";
|
||||
$sql .= ", accountancy_code_supplier";
|
||||
$sql .= ", accountancy_code_buy";
|
||||
$sql .= ", accountancy_code_sell";
|
||||
$sql .= ") VALUES (";
|
||||
$sql .= $this->id;
|
||||
$sql .= ", " . $conf->entity;
|
||||
$sql .= ", '" . $this->db->escape($this->accountancy_code_buy) . "'";
|
||||
|
||||
if ($customer) {
|
||||
$sql .= ", accountancy_code_customer = ".(!empty($this->code_compta_client) ? "'".$this->db->escape($this->code_compta_client)."'" : "null");
|
||||
}
|
||||
|
||||
if ($supplier) {
|
||||
$sql .= ", accountancy_code_supplier = ".(($this->code_compta_fournisseur != "") ? "'".$this->db->escape($this->code_compta_fournisseur)."'" : "null");
|
||||
}
|
||||
|
||||
$sql .= ", '" . $this->db->escape($this->accountancy_code_sell) . "'";
|
||||
$sql .= ")";
|
||||
$result = $this->db->query($sql);
|
||||
@ -1646,11 +1663,11 @@ class Societe extends CommonObject
|
||||
$sql .= ', s.fk_forme_juridique as forme_juridique_code';
|
||||
$sql .= ', s.webservices_url, s.webservices_key, s.model_pdf';
|
||||
if (empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
|
||||
$sql .= ', s.accountancy_code_buy, s.accountancy_code_sell';
|
||||
$sql .= ', s.code_compta, s.code_compta_fournisseur, s.accountancy_code_buy, s.accountancy_code_sell';
|
||||
} else {
|
||||
$sql .= ', spe.accountancy_code_buy, spe.accountancy_code_sell';
|
||||
$sql .= ', spe.accountancy_code_customer as code_compta, spe.accountancy_code_supplier as code_compta_fournisseur, spe.accountancy_code_buy, spe.accountancy_code_sell';
|
||||
}
|
||||
$sql .= ', s.code_client, s.code_fournisseur, s.code_compta, s.code_compta_fournisseur, s.parent, s.barcode';
|
||||
$sql .= ', s.code_client, s.code_fournisseur, s.parent, s.barcode';
|
||||
$sql .= ', s.fk_departement as state_id, s.fk_pays as country_id, s.fk_stcomm, s.mode_reglement, s.cond_reglement, s.transport_mode';
|
||||
$sql .= ', s.fk_account, s.tva_assuj';
|
||||
$sql .= ', s.mode_reglement_supplier, s.cond_reglement_supplier, s.transport_mode_supplier';
|
||||
|
||||
@ -263,12 +263,20 @@ $max = 15;
|
||||
$sql = "SELECT s.rowid, s.nom as name, s.email, s.client, s.fournisseur";
|
||||
$sql .= ", s.code_client";
|
||||
$sql .= ", s.code_fournisseur";
|
||||
$sql .= ", s.code_compta_fournisseur";
|
||||
$sql .= ", s.code_compta";
|
||||
if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
|
||||
$sql .= ", spe.accountancy_code_supplier as code_compta_fournisseur";
|
||||
$sql .= ", spe.accountancy_code_customer as code_compta";
|
||||
} else {
|
||||
$sql .= ", s.code_compta_fournisseur";
|
||||
$sql .= ", s.code_compta";
|
||||
}
|
||||
$sql .= ", s.logo";
|
||||
$sql .= ", s.entity";
|
||||
$sql .= ", s.canvas, s.tms as date_modification, s.status as status";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s";
|
||||
if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
|
||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "societe_perentity as spe ON spe.fk_soc = s.rowid AND spe.entity = " . ((int) $conf->entity);
|
||||
}
|
||||
if (!$user->rights->societe->client->voir && !$socid) {
|
||||
$sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user