Merge branch '16.0' of git@github.com:Dolibarr/dolibarr.git into 17.0

This commit is contained in:
Laurent Destailleur
2023-01-03 02:37:14 +01:00
3 changed files with 39 additions and 11 deletions

View File

@@ -1301,6 +1301,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;
@@ -1376,6 +1377,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();