Fix some product and services export profiles
This commit is contained in:
parent
ef8bb1f5ca
commit
d55c440740
@ -245,7 +245,39 @@ class modProduct 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.'product as p';
|
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_price as pr ON p.rowid = pr.fk_product AND pr.entity = '.$conf->entity; // export prices only for the current entity
|
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_price as pr ON p.rowid = pr.fk_product AND pr.entity = '.$conf->entity; // export prices only for the current entity
|
||||||
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity('product').')';
|
$this->export_sql_end[$r] .=' WHERE p.entity IN ('.getEntity('product').')'; // For product and service profile
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||||
|
{
|
||||||
|
// Exports product multiprice
|
||||||
|
$r++;
|
||||||
|
$this->export_code[$r]=$this->rights_class.'_'.$r;
|
||||||
|
$this->export_label[$r]="ProductsPricePerCustomer"; // Translation key (used only if key ExportDataset_xxx_z not found)
|
||||||
|
$this->export_permission[$r]=array(array("produit","export"));
|
||||||
|
$this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref",
|
||||||
|
's.nom'=>'ThirdParty',
|
||||||
|
'pr.price_base_type'=>"PriceBase",
|
||||||
|
'pr.price'=>"PriceUnitPriceHT",'pr.price_ttc'=>"PriceUnitPriceTTC",
|
||||||
|
'pr.price_min'=>"MinPriceUnitPriceHT",'pr.price_min_ttc'=>"MinPriceUnitPriceTTC",
|
||||||
|
'pr.tva_tx'=>'PriceVATRate',
|
||||||
|
'pr.default_vat_code'=>'PriceVATCode',
|
||||||
|
'pr.datec'=>'DateCreation');
|
||||||
|
if (is_object($mysoc) && $mysoc->useNPR()) $this->export_fields_array[$r]['pr.recuperableonly']='NPR';
|
||||||
|
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",
|
||||||
|
's.nom'=>'company',
|
||||||
|
'pr.price_base_type'=>"product",'pr.price'=>"product",
|
||||||
|
'pr.price_ttc'=>"product",
|
||||||
|
'pr.price_min'=>"product",'pr.price_min_ttc'=>"product",
|
||||||
|
'pr.tva_tx'=>'product',
|
||||||
|
'pr.default_vat_code'=>'product',
|
||||||
|
'pr.recuperableonly'=>'product',
|
||||||
|
'pr.datec'=>"product");
|
||||||
|
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||||
|
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||||
|
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_customer_price as pr ON p.rowid = pr.fk_product AND pr.entity = '.$conf->entity; // export prices only for the current entity
|
||||||
|
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON pr.fk_soc = s.rowid';
|
||||||
|
$this->export_sql_end[$r] .=' WHERE p.entity IN ('.getEntity('product').')'; // For product and service profile
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! empty($conf->global->PRODUIT_SOUSPRODUITS))
|
if (! empty($conf->global->PRODUIT_SOUSPRODUITS))
|
||||||
@ -292,7 +324,7 @@ class modProduct extends DolibarrModules
|
|||||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_extrafields as extra ON p.rowid = extra.fk_object,';
|
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_extrafields as extra ON p.rowid = extra.fk_object,';
|
||||||
$this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'product_association as pa, '.MAIN_DB_PREFIX.'product as p2';
|
$this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'product_association as pa, '.MAIN_DB_PREFIX.'product as p2';
|
||||||
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity('product').')';
|
$this->export_sql_end[$r] .=' WHERE p.entity IN ('.getEntity('product').')'; // For product and service profile
|
||||||
$this->export_sql_end[$r] .=' AND p.rowid = pa.fk_product_pere AND p2.rowid = pa.fk_product_fils';
|
$this->export_sql_end[$r] .=' AND p.rowid = pa.fk_product_pere AND p2.rowid = pa.fk_product_fils';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -182,7 +182,7 @@ class modService extends DolibarrModules
|
|||||||
if (! empty($conf->fournisseur->enabled)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_fournisseur_price as pf ON pf.fk_product = p.rowid LEFT JOIN '.MAIN_DB_PREFIX.'societe s ON s.rowid = pf.fk_soc';
|
if (! empty($conf->fournisseur->enabled)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_fournisseur_price as pf ON pf.fk_product = p.rowid LEFT JOIN '.MAIN_DB_PREFIX.'societe s ON s.rowid = pf.fk_soc';
|
||||||
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 1 AND p.entity IN ('.getEntity('product').')';
|
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 1 AND p.entity IN ('.getEntity('product').')';
|
||||||
if (! empty($conf->global->EXPORTTOOL_CATEGORIES)) $this->export_sql_order[$r] =' GROUP BY p.rowid'; // FIXME The group by used a generic value to say "all fields in select except function fields"
|
if (! empty($conf->global->EXPORTTOOL_CATEGORIES)) $this->export_sql_order[$r] =' GROUP BY p.rowid'; // FIXME The group by used a generic value to say "all fields in select except function fields"
|
||||||
|
|
||||||
if (empty($conf->product->enabled)) // We enable next import templates only if module product not already enabled (to avoid duplicate entries)
|
if (empty($conf->product->enabled)) // We enable next import templates only if module product not already enabled (to avoid duplicate entries)
|
||||||
{
|
{
|
||||||
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||||
@ -215,9 +215,41 @@ class modService 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.'product as p';
|
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_price as pr ON p.rowid = pr.fk_product AND pr.entity = '.$conf->entity; // export prices only for the current entity
|
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_price as pr ON p.rowid = pr.fk_product AND pr.entity = '.$conf->entity; // export prices only for the current entity
|
||||||
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity('product').')';
|
$this->export_sql_end[$r] .=' WHERE p.entity IN ('.getEntity('product').')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||||
|
{
|
||||||
|
// Exports product multiprice
|
||||||
|
$r++;
|
||||||
|
$this->export_code[$r]=$this->rights_class.'_'.$r;
|
||||||
|
$this->export_label[$r]="ProductsPricePerCustomer"; // Translation key (used only if key ExportDataset_xxx_z not found)
|
||||||
|
$this->export_permission[$r]=array(array("produit","export"));
|
||||||
|
$this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref",
|
||||||
|
's.nom'=>'ThirdParty',
|
||||||
|
'pr.price_base_type'=>"PriceBase",
|
||||||
|
'pr.price'=>"PriceUnitPriceHT",'pr.price_ttc'=>"PriceUnitPriceTTC",
|
||||||
|
'pr.price_min'=>"MinPriceUnitPriceHT",'pr.price_min_ttc'=>"MinPriceUnitPriceTTC",
|
||||||
|
'pr.tva_tx'=>'PriceVATRate',
|
||||||
|
'pr.default_vat_code'=>'PriceVATCode',
|
||||||
|
'pr.datec'=>'DateCreation');
|
||||||
|
if (is_object($mysoc) && $mysoc->useNPR()) $this->export_fields_array[$r]['pr.recuperableonly']='NPR';
|
||||||
|
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",
|
||||||
|
's.nom'=>'company',
|
||||||
|
'pr.price_base_type'=>"product",'pr.price'=>"product",
|
||||||
|
'pr.price_ttc'=>"product",
|
||||||
|
'pr.price_min'=>"product",'pr.price_min_ttc'=>"product",
|
||||||
|
'pr.tva_tx'=>'product',
|
||||||
|
'pr.default_vat_code'=>'product',
|
||||||
|
'pr.recuperableonly'=>'product',
|
||||||
|
'pr.datec'=>"product");
|
||||||
|
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||||
|
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||||
|
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_customer_price as pr ON p.rowid = pr.fk_product AND pr.entity = '.$conf->entity; // export prices only for the current entity
|
||||||
|
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON pr.fk_soc = s.rowid';
|
||||||
|
$this->export_sql_end[$r] .=' WHERE p.entity IN ('.getEntity('product').')';
|
||||||
|
}
|
||||||
|
|
||||||
if (! empty($conf->global->PRODUIT_SOUSPRODUITS))
|
if (! empty($conf->global->PRODUIT_SOUSPRODUITS))
|
||||||
{
|
{
|
||||||
// Exports virtual products
|
// Exports virtual products
|
||||||
@ -262,7 +294,7 @@ class modService extends DolibarrModules
|
|||||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_extrafields as extra ON p.rowid = extra.fk_object,';
|
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_extrafields as extra ON p.rowid = extra.fk_object,';
|
||||||
$this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'product_association as pa, '.MAIN_DB_PREFIX.'product as p2';
|
$this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'product_association as pa, '.MAIN_DB_PREFIX.'product as p2';
|
||||||
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity('product').')';
|
$this->export_sql_end[$r] .=' WHERE p.entity IN ('.getEntity('product').')';
|
||||||
$this->export_sql_end[$r] .=' AND p.rowid = pa.fk_product_pere AND p2.rowid = pa.fk_product_fils';
|
$this->export_sql_end[$r] .=' AND p.rowid = pa.fk_product_pere AND p2.rowid = pa.fk_product_fils';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -337,4 +337,5 @@ CloneDestinationReference=Destination product reference
|
|||||||
ErrorCopyProductCombinations=There was an error while copying the product variants
|
ErrorCopyProductCombinations=There was an error while copying the product variants
|
||||||
ErrorDestinationProductNotFound=Destination product not found
|
ErrorDestinationProductNotFound=Destination product not found
|
||||||
ErrorProductCombinationNotFound=Product variant not found
|
ErrorProductCombinationNotFound=Product variant not found
|
||||||
ActionAvailableOnVariantProductOnly=Action only available on the variant of product
|
ActionAvailableOnVariantProductOnly=Action only available on the variant of product
|
||||||
|
ProductsPricePerCustomer=Product prices per customers
|
||||||
Loading…
Reference in New Issue
Block a user