Merge pull request #14532 from StephaneLesage/import-thirdparty-mothercompany-debtlimit-bank-incoterms
NEW Third-Party Import new fields: mother company,outstanding debt limit,bank account,incoterms
This commit is contained in:
commit
f4793f505e
@ -261,13 +261,15 @@ class modSociete extends DolibarrModules
|
|||||||
$this->export_icon[$r] = 'company';
|
$this->export_icon[$r] = 'company';
|
||||||
$this->export_permission[$r] = array(array("societe", "export"));
|
$this->export_permission[$r] = array(array("societe", "export"));
|
||||||
$this->export_fields_array[$r] = array(
|
$this->export_fields_array[$r] = array(
|
||||||
's.rowid'=>"Id", 's.nom'=>"Name", 's.name_alias'=>"AliasNameShort", 's.status'=>"Status", 's.client'=>"Customer", 's.fournisseur'=>"Supplier", 's.datec'=>"DateCreation", 's.tms'=>"DateLastModification",
|
's.rowid'=>"Id", 's.nom'=>"Name", 's.name_alias'=>"AliasNameShort", 'ps.nom'=>"ParentCompany",
|
||||||
|
's.status'=>"Status", 's.client'=>"Customer", 's.fournisseur'=>"Supplier", 's.datec'=>"DateCreation", 's.tms'=>"DateLastModification",
|
||||||
's.code_client'=>"CustomerCode", 's.code_fournisseur'=>"SupplierCode", 's.code_compta'=>"AccountancyCode", 's.code_compta_fournisseur'=>"SupplierAccountancyCode",
|
's.code_client'=>"CustomerCode", 's.code_fournisseur'=>"SupplierCode", 's.code_compta'=>"AccountancyCode", 's.code_compta_fournisseur'=>"SupplierAccountancyCode",
|
||||||
's.address'=>"Address", 's.zip'=>"Zip", 's.town'=>"Town", 'd.nom'=>'State', 'r.nom'=>'Region', 'c.label'=>"Country", 'c.code'=>"CountryCode", 's.phone'=>"Phone", 's.fax'=>"Fax",
|
's.address'=>"Address", 's.zip'=>"Zip", 's.town'=>"Town", 'd.nom'=>'State', 'r.nom'=>'Region', 'c.label'=>"Country", 'c.code'=>"CountryCode", 's.phone'=>"Phone", 's.fax'=>"Fax",
|
||||||
's.url'=>"Url", 's.email'=>"Email", 's.default_lang'=>"DefaultLang", 's.siren'=>"ProfId1", 's.siret'=>"ProfId2", 's.ape'=>"ProfId3", 's.idprof4'=>"ProfId4",
|
's.url'=>"Url", 's.email'=>"Email", 's.default_lang'=>"DefaultLang", 's.siren'=>"ProfId1", 's.siret'=>"ProfId2", 's.ape'=>"ProfId3", 's.idprof4'=>"ProfId4",
|
||||||
's.idprof5'=>"ProfId5", 's.idprof6'=>"ProfId6", 's.tva_intra'=>"VATIntraShort", 's.capital'=>"Capital", 's.note_private'=>"NotePrivate", 's.note_public'=>"NotePublic",
|
's.idprof5'=>"ProfId5", 's.idprof6'=>"ProfId6", 's.tva_intra'=>"VATIntraShort", 's.capital'=>"Capital", 's.note_private'=>"NotePrivate", 's.note_public'=>"NotePublic",
|
||||||
't.libelle'=>"ThirdPartyType", 'ce.code'=>"Staff", "cfj.libelle"=>"JuridicalStatus", 's.fk_prospectlevel'=>'ProspectLevel',
|
't.libelle'=>"ThirdPartyType", 'ce.code'=>"Staff", "cfj.libelle"=>"JuridicalStatus", 's.fk_prospectlevel'=>'ProspectLevel',
|
||||||
'st.code'=>'ProspectStatus', 'payterm.libelle'=>'PaymentConditions', 'paymode.libelle'=>'PaymentMode'
|
'st.code'=>'ProspectStatus', 'payterm.libelle'=>'PaymentConditions', 'paymode.libelle'=>'PaymentMode',
|
||||||
|
's.outstanding_limit'=>'OutstandingBill', 'pbacc.ref'=>'PaymentBankAccount', 'incoterm.code'=>'IncotermLabel'
|
||||||
);
|
);
|
||||||
if (!empty($conf->global->SOCIETE_USEPREFIX)) $this->export_fields_array[$r]['s.prefix'] = 'Prefix';
|
if (!empty($conf->global->SOCIETE_USEPREFIX)) $this->export_fields_array[$r]['s.prefix'] = 'Prefix';
|
||||||
if (!empty($conf->global->PRODUIT_MULTIPRICES)) $this->export_fields_array[$r]['s.price_level'] = 'PriceLevel';
|
if (!empty($conf->global->PRODUIT_MULTIPRICES)) $this->export_fields_array[$r]['s.price_level'] = 'PriceLevel';
|
||||||
@ -280,6 +282,7 @@ class modSociete extends DolibarrModules
|
|||||||
$keyforselect = 'societe'; $keyforelement = 'company'; $keyforaliasextra = 'extra';
|
$keyforselect = 'societe'; $keyforelement = 'company'; $keyforaliasextra = 'extra';
|
||||||
include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php';
|
include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php';
|
||||||
$this->export_fields_array[$r] += array('u.login'=>'SaleRepresentativeLogin', 'u.firstname'=>'SaleRepresentativeFirstname', 'u.lastname'=>'SaleRepresentativeLastname');
|
$this->export_fields_array[$r] += array('u.login'=>'SaleRepresentativeLogin', 'u.firstname'=>'SaleRepresentativeFirstname', 'u.lastname'=>'SaleRepresentativeLastname');
|
||||||
|
|
||||||
//$this->export_TypeFields_array[$r]=array(
|
//$this->export_TypeFields_array[$r]=array(
|
||||||
// 's.rowid'=>"List:societe:nom",'s.nom'=>"Text",'s.status'=>"Text",'s.client'=>"Boolean",'s.fournisseur'=>"Boolean",'s.datec'=>"Date",'s.tms'=>"Date",
|
// 's.rowid'=>"List:societe:nom",'s.nom'=>"Text",'s.status'=>"Text",'s.client'=>"Boolean",'s.fournisseur'=>"Boolean",'s.datec'=>"Date",'s.tms'=>"Date",
|
||||||
// 's.code_client'=>"Text",'s.code_fournisseur'=>"Text",'s.address'=>"Text",'s.zip'=>"Text",'s.town'=>"Text",'c.label'=>"List:c_country:label:label",
|
// 's.code_client'=>"Text",'s.code_fournisseur'=>"Text",'s.address'=>"Text",'s.zip'=>"Text",'s.town'=>"Text",'c.label'=>"List:c_country:label:label",
|
||||||
@ -289,15 +292,17 @@ class modSociete extends DolibarrModules
|
|||||||
// 's.fk_stcomm'=>'List:c_stcomm:libelle:code','d.nom'=>'List:c_departements:nom:rowid'
|
// 's.fk_stcomm'=>'List:c_stcomm:libelle:code','d.nom'=>'List:c_departements:nom:rowid'
|
||||||
//);
|
//);
|
||||||
$this->export_TypeFields_array[$r] = array(
|
$this->export_TypeFields_array[$r] = array(
|
||||||
's.rowid'=>"Numeric", 's.nom'=>"Text", 's.name_alias'=>"Text", 's.status'=>"Numeric", 's.client'=>"Numeric", 's.fournisseur'=>"Boolean", 's.datec'=>"Date", 's.tms'=>"Date",
|
's.rowid'=>"Numeric", 's.nom'=>"Text", 's.name_alias'=>"Text", 'ps.nom'=>"Text",
|
||||||
's.code_client'=>"Text", 's.code_fournisseur'=>"Text", 's.code_compta'=>"Text", 's.code_compta_fournisseur'=>"Text", 's.address'=>"Text", 's.zip'=>"Text",
|
's.status'=>"Numeric", 's.client'=>"Numeric", 's.fournisseur'=>"Boolean", 's.datec'=>"Date", 's.tms'=>"Date",
|
||||||
's.town'=>"Text", 'c.label'=>"List:c_country:label:label", 'c.code'=>"Text", 's.phone'=>"Text", 's.fax'=>"Text", 's.url'=>"Text", 's.email'=>"Text",
|
's.code_client'=>"Text", 's.code_fournisseur'=>"Text", 's.code_compta'=>"Text", 's.code_compta_fournisseur'=>"Text",
|
||||||
's.default_lang'=>"Text", 's.siret'=>"Text", 's.siren'=>"Text", 's.ape'=>"Text", 's.idprof4'=>"Text", 's.idprof5'=>"Text", 's.idprof6'=>"Text",
|
's.address'=>"Text", 's.zip'=>"Text",'s.town'=>"Text", 'd.nom'=>'Text', 'r.nom'=>'Text', 'c.label'=>"List:c_country:label:label", 'c.code'=>"Text", 's.phone'=>"Text", 's.fax'=>"Text",
|
||||||
's.tva_intra'=>"Text", 's.capital'=>"Numeric", 's.note_private'=>"Text", 's.note_public'=>"Text", 't.libelle'=>"Text",
|
's.url'=>"Text", 's.email'=>"Text", 's.default_lang'=>"Text", 's.siret'=>"Text", 's.siren'=>"Text", 's.ape'=>"Text", 's.idprof4'=>"Text",
|
||||||
'ce.code'=>"List:c_effectif:libelle:code", "cfj.libelle"=>"Text", 's.fk_prospectlevel'=>'List:c_prospectlevel:label:code',
|
's.idprof5'=>"Text", 's.idprof6'=>"Text", 's.tva_intra'=>"Text", 's.capital'=>"Numeric", 's.note_private'=>"Text", 's.note_public'=>"Text",
|
||||||
'st.code'=>'List:c_stcomm:libelle:code', 'd.nom'=>'Text', 'r.nom' => 'Text', 'u.login'=>'Text', 'u.firstname'=>'Text', 'u.lastname'=>'Text', 'payterm.libelle'=>'Text',
|
't.libelle'=>"Text", 'ce.code'=>"List:c_effectif:libelle:code", "cfj.libelle"=>"Text", 's.fk_prospectlevel'=>'List:c_prospectlevel:label:code',
|
||||||
'paymode.libelle'=>'Text', 's.entity'=>'Numeric',
|
'st.code'=>'List:c_stcomm:libelle:code', 'payterm.libelle'=>'Text', 'paymode.libelle'=>'Text',
|
||||||
's.price_level'=>'Numeric'
|
's.outstanding_limit'=>'Numeric', 'pbacc.ref'=>'Text', 'incoterm.code'=>'Text',
|
||||||
|
'u.login'=>'Text', 'u.firstname'=>'Text', 'u.lastname'=>'Text',
|
||||||
|
's.entity'=>'Numeric', 's.price_level'=>'Numeric'
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->export_entities_array[$r] = array('u.login'=>'user', 'u.firstname'=>'user', 'u.lastname'=>'user'); // We define here only fields that use another picto
|
$this->export_entities_array[$r] = array('u.login'=>'user', 'u.firstname'=>'user', 'u.lastname'=>'user'); // We define here only fields that use another picto
|
||||||
@ -305,6 +310,7 @@ class modSociete extends DolibarrModules
|
|||||||
$this->export_sql_start[$r] = 'SELECT DISTINCT ';
|
$this->export_sql_start[$r] = 'SELECT DISTINCT ';
|
||||||
$this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'societe as s';
|
$this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'societe as s';
|
||||||
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_extrafields as extra ON s.rowid = extra.fk_object';
|
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_extrafields as extra ON s.rowid = extra.fk_object';
|
||||||
|
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as ps ON s.parent = ps.rowid';
|
||||||
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_typent as t ON s.fk_typent = t.id';
|
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_typent as t ON s.fk_typent = t.id';
|
||||||
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as c ON s.fk_pays = c.rowid';
|
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as c ON s.fk_pays = c.rowid';
|
||||||
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_effectif as ce ON s.fk_effectif = ce.id';
|
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_effectif as ce ON s.fk_effectif = ce.id';
|
||||||
@ -315,6 +321,8 @@ class modSociete extends DolibarrModules
|
|||||||
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid LEFT JOIN '.MAIN_DB_PREFIX.'user as u ON sc.fk_user = u.rowid';
|
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid LEFT JOIN '.MAIN_DB_PREFIX.'user as u ON sc.fk_user = u.rowid';
|
||||||
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_payment_term as payterm ON s.cond_reglement = payterm.rowid';
|
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_payment_term as payterm ON s.cond_reglement = payterm.rowid';
|
||||||
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as paymode ON s.mode_reglement = paymode.id';
|
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as paymode ON s.mode_reglement = paymode.id';
|
||||||
|
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'bank_account as pbacc ON s.fk_account = pbacc.rowid';
|
||||||
|
$this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as incoterm ON s.fk_incoterms = incoterm.rowid';
|
||||||
$this->export_sql_end[$r] .= ' WHERE s.entity IN ('.getEntity('societe').')';
|
$this->export_sql_end[$r] .= ' WHERE s.entity IN ('.getEntity('societe').')';
|
||||||
if (is_object($user) && empty($user->rights->societe->client->voir)) {
|
if (is_object($user) && empty($user->rights->societe->client->voir)) {
|
||||||
$this->export_sql_end[$r] .= ' AND (sc.fk_user = '.$user->id.' ';
|
$this->export_sql_end[$r] .= ' AND (sc.fk_user = '.$user->id.' ';
|
||||||
@ -409,6 +417,7 @@ class modSociete extends DolibarrModules
|
|||||||
$this->import_fields_array[$r] = array(//field order as per structure of table llx_societe
|
$this->import_fields_array[$r] = array(//field order as per structure of table llx_societe
|
||||||
's.nom' => "Name*",
|
's.nom' => "Name*",
|
||||||
's.name_alias' => "AliasNameShort",
|
's.name_alias' => "AliasNameShort",
|
||||||
|
's.parent' => "ParentCompany",
|
||||||
's.status' => "Status",
|
's.status' => "Status",
|
||||||
's.code_client' => "CustomerCode",
|
's.code_client' => "CustomerCode",
|
||||||
's.code_fournisseur' => "SupplierCode",
|
's.code_fournisseur' => "SupplierCode",
|
||||||
@ -445,6 +454,9 @@ class modSociete extends DolibarrModules
|
|||||||
's.cond_reglement' => "PaymentTermsCustomer",
|
's.cond_reglement' => "PaymentTermsCustomer",
|
||||||
's.mode_reglement_supplier' => 'PaymentTypeSupplier',
|
's.mode_reglement_supplier' => 'PaymentTypeSupplier',
|
||||||
's.cond_reglement_supplier' => "PaymentTermsSupplier",
|
's.cond_reglement_supplier' => "PaymentTermsSupplier",
|
||||||
|
's.outstanding_limit'=>'OutstandingBill',
|
||||||
|
's.fk_account'=>'PaymentBankAccount',
|
||||||
|
's.fk_incoterms'=>'IncotermLabel',
|
||||||
's.tva_assuj' => 'VATIsUsed',
|
's.tva_assuj' => 'VATIsUsed',
|
||||||
's.barcode' => 'BarCode',
|
's.barcode' => 'BarCode',
|
||||||
's.default_lang' => 'DefaultLanguage',
|
's.default_lang' => 'DefaultLanguage',
|
||||||
@ -498,6 +510,29 @@ class modSociete extends DolibarrModules
|
|||||||
),
|
),
|
||||||
's.capital' => array('rule' => 'numeric'),
|
's.capital' => array('rule' => 'numeric'),
|
||||||
's.fk_stcomm' => array('rule' => 'zeroifnull'),
|
's.fk_stcomm' => array('rule' => 'zeroifnull'),
|
||||||
|
's.parent' => array(
|
||||||
|
'rule' => 'fetchidfromref',
|
||||||
|
'file' => '/societe/class/societe.class.php',
|
||||||
|
'class' => 'Societe',
|
||||||
|
'method' => 'fetch',
|
||||||
|
'element' => 'ThirdParty'
|
||||||
|
),
|
||||||
|
's.outstanding_limit' => array('rule' => 'numeric'),
|
||||||
|
's.fk_account' => array(
|
||||||
|
'rule' => 'fetchidfromcodeid',
|
||||||
|
'classfile' => '/compta/bank/class/account.class.php',
|
||||||
|
'class' => 'Account',
|
||||||
|
'method' => 'fetch',
|
||||||
|
'element' => 'BankAccount'
|
||||||
|
// ),
|
||||||
|
// TODO
|
||||||
|
// 's.fk_incoterms' => array(
|
||||||
|
// 'rule' => 'fetchidfromcodeid',
|
||||||
|
// 'classfile' => '/core/class/cincoterm.class.php',
|
||||||
|
// 'class' => 'Cincoterm',
|
||||||
|
// 'method' => 'fetch',
|
||||||
|
// 'dict' => 'IncotermLabel'
|
||||||
|
)
|
||||||
);
|
);
|
||||||
//$this->import_convertvalue_array[$r]=array('s.fk_soc'=>array('rule'=>'lastrowid',table='t');
|
//$this->import_convertvalue_array[$r]=array('s.fk_soc'=>array('rule'=>'lastrowid',table='t');
|
||||||
$this->import_regex_array[$r] = array(//field order as per structure of table llx_societe
|
$this->import_regex_array[$r] = array(//field order as per structure of table llx_societe
|
||||||
@ -509,6 +544,7 @@ class modSociete extends DolibarrModules
|
|||||||
's.cond_reglement' => 'rowid@'.MAIN_DB_PREFIX.'c_payment_term',
|
's.cond_reglement' => 'rowid@'.MAIN_DB_PREFIX.'c_payment_term',
|
||||||
's.mode_reglement_supplier' => 'id@'.MAIN_DB_PREFIX.'c_paiement',
|
's.mode_reglement_supplier' => 'id@'.MAIN_DB_PREFIX.'c_paiement',
|
||||||
's.cond_reglement_supplier' => 'rowid@'.MAIN_DB_PREFIX.'c_payment_term',
|
's.cond_reglement_supplier' => 'rowid@'.MAIN_DB_PREFIX.'c_payment_term',
|
||||||
|
's.fk_incoterms' => 'rowid@'.MAIN_DB_PREFIX.'c_incoterms',
|
||||||
's.tva_assuj' => '^[0|1]',
|
's.tva_assuj' => '^[0|1]',
|
||||||
's.fk_multicurrency' => '^[0|1]',
|
's.fk_multicurrency' => '^[0|1]',
|
||||||
's.datec' => '^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]( [0-9][0-9]:[0-9][0-9]:[0-9][0-9])?$',
|
's.datec' => '^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]( [0-9][0-9]:[0-9][0-9]:[0-9][0-9])?$',
|
||||||
@ -518,6 +554,7 @@ class modSociete extends DolibarrModules
|
|||||||
$this->import_examplevalues_array[$r] = array(//field order as per structure of table llx_societe
|
$this->import_examplevalues_array[$r] = array(//field order as per structure of table llx_societe
|
||||||
's.nom' => "TPBigCompany",
|
's.nom' => "TPBigCompany",
|
||||||
's.name_alias' => "Alias for TPBigCompany",
|
's.name_alias' => "Alias for TPBigCompany",
|
||||||
|
's.parent' => "TPMotherCompany",
|
||||||
's.status' => "0 (closed) / 1 (active)",
|
's.status' => "0 (closed) / 1 (active)",
|
||||||
's.code_client' => 'eg. CU01-0001 / empty / "auto"',
|
's.code_client' => 'eg. CU01-0001 / empty / "auto"',
|
||||||
's.code_fournisseur' => 'eg. SU01-0001 / empty / "auto"',
|
's.code_fournisseur' => 'eg. SU01-0001 / empty / "auto"',
|
||||||
@ -554,6 +591,9 @@ class modSociete extends DolibarrModules
|
|||||||
's.cond_reglement' => '1/2/3...matches field "rowid" in table "'.MAIN_DB_PREFIX.'c_payment_term"',
|
's.cond_reglement' => '1/2/3...matches field "rowid" in table "'.MAIN_DB_PREFIX.'c_payment_term"',
|
||||||
's.mode_reglement_supplier' => '1/2/3...matches field "id" in table "'.MAIN_DB_PREFIX.'c_paiement"',
|
's.mode_reglement_supplier' => '1/2/3...matches field "id" in table "'.MAIN_DB_PREFIX.'c_paiement"',
|
||||||
's.cond_reglement_supplier' => '1/2/3...matches field "rowid" in table "'.MAIN_DB_PREFIX.'c_payment_term"',
|
's.cond_reglement_supplier' => '1/2/3...matches field "rowid" in table "'.MAIN_DB_PREFIX.'c_payment_term"',
|
||||||
|
's.outstanding_limit' => "5000",
|
||||||
|
's.fk_account' => "rowid or ref",
|
||||||
|
's.fk_incoterms' => '1/2/3...matches field "rowid" in table "'.MAIN_DB_PREFIX.'c_incoterms"',
|
||||||
's.tva_assuj' => '0 (VAT not used) / 1 (VAT used)',
|
's.tva_assuj' => '0 (VAT not used) / 1 (VAT used)',
|
||||||
's.barcode' => '123456789',
|
's.barcode' => '123456789',
|
||||||
's.default_lang' => 'en_US / es_ES etc...matches a language directory in htdocs/langs/',
|
's.default_lang' => 'en_US / es_ES etc...matches a language directory in htdocs/langs/',
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user