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;
|
global $conf, $hookmanager;
|
||||||
|
|
||||||
|
dol_include_once('/multicurrency/class/multicurrency.class.php');
|
||||||
dol_include_once('/core/class/extrafields.class.php');
|
dol_include_once('/core/class/extrafields.class.php');
|
||||||
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
@ -1355,6 +1356,29 @@ class Commande extends CommonOrder
|
|||||||
$this->origin = $object->element;
|
$this->origin = $object->element;
|
||||||
$this->origin_id = $object->id;
|
$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
|
// get extrafields from original line
|
||||||
$object->fetch_optionals();
|
$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));
|
$remise_absolue = (!empty($expesrc->remise_absolue) ? $expesrc->remise_absolue : (!empty($soc->remise_absolue) ? $soc->remise_absolue : 0));
|
||||||
|
|
||||||
if (!empty($conf->multicurrency->enabled)) {
|
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_code = (!empty($expesrc->multicurrency_code) ? $expesrc->multicurrency_code : (!empty($soc->multicurrency_code) ? $soc->multicurrency_code : $objectsrc->multicurrency_code));
|
||||||
$currency_tx = (!empty($expesrc->currency_tx) ? $expesrc->currency_tx : (!empty($soc->currency_tx) ? $soc->currency_tx : $objectsrc->currency_tx));
|
$currency_tx = (!empty($expesrc->multicurrency_tx) ? $expesrc->multicurrency_tx : (!empty($soc->multicurrency_tx) ? $soc->multicurrency_tx : $objectsrc->multicurrency_tx));
|
||||||
}
|
}
|
||||||
|
|
||||||
//Replicate extrafields
|
//Replicate extrafields
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user