Merge pull request #23294 from atm-gauthier/fix_multicurrency_when_create_order_from_propal
FIX : get multicurrency infos of propal when create order from propal…
This commit is contained in:
commit
af45ef8799
@ -1281,6 +1281,7 @@ class Commande extends CommonOrder
|
||||
{
|
||||
global $conf, $hookmanager;
|
||||
|
||||
dol_include_once('/multicurrency/class/multicurrency.class.php');
|
||||
dol_include_once('/core/class/extrafields.class.php');
|
||||
|
||||
$error = 0;
|
||||
@ -1355,6 +1356,29 @@ class Commande extends CommonOrder
|
||||
$this->origin = $object->element;
|
||||
$this->origin_id = $object->id;
|
||||
|
||||
// Multicurrency (test on $this->multicurrency_tx because we should take the default rate only if not using origin rate)
|
||||
if (!empty($conf->multicurrency->enabled)) {
|
||||
if (!empty($object->multicurrency_code)) {
|
||||
$this->multicurrency_code = $object->multicurrency_code;
|
||||
}
|
||||
if (!empty($conf->global->MULTICURRENCY_USE_ORIGIN_TX) && !empty($object->multicurrency_tx)) {
|
||||
$this->multicurrency_tx = $object->multicurrency_tx;
|
||||
}
|
||||
|
||||
if (!empty($this->multicurrency_code) && empty($this->multicurrency_tx)) {
|
||||
$tmparray = MultiCurrency::getIdAndTxFromCode($this->db, $this->multicurrency_code, $this->date_commande);
|
||||
$this->fk_multicurrency = $tmparray[0];
|
||||
$this->multicurrency_tx = $tmparray[1];
|
||||
} else {
|
||||
$this->fk_multicurrency = MultiCurrency::getIdFromCode($this->db, $this->multicurrency_code);
|
||||
}
|
||||
if (empty($this->fk_multicurrency)) {
|
||||
$this->multicurrency_code = $conf->currency;
|
||||
$this->fk_multicurrency = 0;
|
||||
$this->multicurrency_tx = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// get extrafields from original line
|
||||
$object->fetch_optionals();
|
||||
|
||||
|
||||
@ -2929,8 +2929,8 @@ if ($action == 'create') {
|
||||
$remise_absolue = (!empty($expesrc->remise_absolue) ? $expesrc->remise_absolue : (!empty($soc->remise_absolue) ? $soc->remise_absolue : 0));
|
||||
|
||||
if (!empty($conf->multicurrency->enabled)) {
|
||||
$currency_code = (!empty($expesrc->currency_code) ? $expesrc->currency_code : (!empty($soc->currency_code) ? $soc->currency_code : $objectsrc->multicurrency_code));
|
||||
$currency_tx = (!empty($expesrc->currency_tx) ? $expesrc->currency_tx : (!empty($soc->currency_tx) ? $soc->currency_tx : $objectsrc->currency_tx));
|
||||
$currency_code = (!empty($expesrc->multicurrency_code) ? $expesrc->multicurrency_code : (!empty($soc->multicurrency_code) ? $soc->multicurrency_code : $objectsrc->multicurrency_code));
|
||||
$currency_tx = (!empty($expesrc->multicurrency_tx) ? $expesrc->multicurrency_tx : (!empty($soc->multicurrency_tx) ? $soc->multicurrency_tx : $objectsrc->multicurrency_tx));
|
||||
}
|
||||
|
||||
//Replicate extrafields
|
||||
|
||||
Loading…
Reference in New Issue
Block a user