diff --git a/htdocs/bom/class/bom.class.php b/htdocs/bom/class/bom.class.php
index 0e57bebd922..7f9a1aa09c6 100644
--- a/htdocs/bom/class/bom.class.php
+++ b/htdocs/bom/class/bom.class.php
@@ -1073,7 +1073,8 @@ class BOM extends CommonObject
if ($res>0) {
$bom_child->calculateCosts();
$line->childBom[] = $bom_child;
- $this->total_cost += $bom_child->total_cost * $line->qty;
+ $line->total_cost = price2num($bom_child->total_cost * $line->qty, 'MT');
+ $this->total_cost += $line->total_cost;
} else {
$this->error = $bom_child->error;
return -2;
diff --git a/htdocs/bom/tpl/objectline_view.tpl.php b/htdocs/bom/tpl/objectline_view.tpl.php
index 61b394a3b0f..fc6b7709d14 100644
--- a/htdocs/bom/tpl/objectline_view.tpl.php
+++ b/htdocs/bom/tpl/objectline_view.tpl.php
@@ -218,11 +218,19 @@ if ($resql) {
}
// Qty
+ $label = $sub_bom_product->getLabelOfUnit('long');
if ($sub_bom_line->qty_frozen > 0) {
print '
'.price($sub_bom_line->qty, 0, '', 0, 0).' | ';
+ print '';
+ if ($label !== '') print $langs->trans($label);
+ print ' | ';
print ''.$langs->trans('Yes').' | ';
} else {
print ''.price($sub_bom_line->qty * $line->qty, 0, '', 0, 0).' | ';
+ print '';
+ if ($label !== '') print $langs->trans($label);
+ print ' | ';
+ print '';
print ' | ';
}
@@ -239,13 +247,13 @@ if ($resql) {
// Cost
if (!empty($sub_bom->id)) {
$sub_bom->calculateCosts();
- print ''.price($sub_bom->total_cost * $sub_bom_line->qty * $line->qty).' | ';
+ print ''.price(price2num($sub_bom->total_cost * $sub_bom_line->qty * $line->qty, 'MT')).' | ';
$total_cost+= $sub_bom->total_cost * $sub_bom_line->qty * $line->qty;
} elseif ($sub_bom_product->cost_price > 0) {
- print ''.price($sub_bom_product->cost_price * $sub_bom_line->qty * $line->qty).' | ';
+ print ''.price(price2num($sub_bom_product->cost_price * $sub_bom_line->qty * $line->qty, 'MT')).' | ';
$total_cost+= $sub_bom_product->cost_price * $sub_bom_line->qty * $line->qty;
} elseif ($sub_bom_product->pmp > 0) { // PMP if cost price isn't defined
- print ''.price($sub_bom_product->pmp * $sub_bom_line->qty * $line->qty).' | ';
+ print ''.price(price2num($sub_bom_product->pmp * $sub_bom_line->qty * $line->qty, 'MT')).' | ';
$total_cost.= $sub_bom_product->pmp * $sub_bom_line->qty * $line->qty;
} else { // Minimum purchase price if cost price and PMP aren't defined
$sql_supplier_price = 'SELECT MIN(price) AS min_price, quantity AS qty FROM '.MAIN_DB_PREFIX.'product_fournisseur_price';
@@ -255,7 +263,7 @@ if ($resql) {
$obj = $object->db->fetch_object($resql_supplier_price);
$line_cost = $obj->min_price/$obj->qty * $sub_bom_line->qty * $line->qty;
- print ''.price($line_cost).' | ';
+ print ''.price2num($line_cost, 'MT').' | ';
$total_cost+= $line_cost;
}
}
diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php
index 0d2dc7fee63..b3534acd745 100644
--- a/htdocs/contact/class/contact.class.php
+++ b/htdocs/contact/class/contact.class.php
@@ -1789,6 +1789,8 @@ class Contact extends CommonObject
$sql = "SELECT sc.fk_socpeople as id, sc.fk_c_type_contact";
$sql .= " FROM ".MAIN_DB_PREFIX."c_type_contact tc";
$sql .= ", ".MAIN_DB_PREFIX."societe_contacts sc";
+ $sql .= " INNER JOIN ".MAIN_DB_PREFIX."socpeople sp";
+ $sql .= " ON sc.fk_socpeople = sp.rowid AND sp.statut = 1";
$sql .= " WHERE sc.fk_soc =".((int) $this->socid);
$sql .= " AND sc.fk_c_type_contact=tc.rowid";
$sql .= " AND tc.element = '".$this->db->escape($element)."'";
diff --git a/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php b/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php
index 97be43da689..fd5c2ee1980 100644
--- a/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php
+++ b/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php
@@ -846,12 +846,13 @@ class pdf_espadon extends ModelePdfExpedition
$totalWeighttoshow = showDimensionInBestUnit($object->trueWeight, $object->weight_units, "weight", $outputlangs);
}
if ($object->trueVolume) {
- $totalVolumetoshow = showDimensionInBestUnit($object->trueVolume, $object->volume_units, "volume", $outputlangs);
+ if ($object->volume_units < 50) {
+ $totalVolumetoshow = showDimensionInBestUnit($object->trueVolume, $object->volume_units, "volume", $outputlangs);
+ } else {
+ $totalVolumetoshow = price($object->trueVolume, 0, $outputlangs, 0, 0).' '.measuringUnitString(0, "volume", $object->volume_units);
+ }
}
-
-
-
if ($this->getColumnStatus('desc')) {
$this->printStdColumnContent($pdf, $tab2_top, 'desc', $outputlangs->transnoentities("Total"));
}
diff --git a/htdocs/core/modules/modBom.class.php b/htdocs/core/modules/modBom.class.php
index 2e92d3baeaf..d6b9e7a6ff3 100644
--- a/htdocs/core/modules/modBom.class.php
+++ b/htdocs/core/modules/modBom.class.php
@@ -422,7 +422,7 @@ class modBom extends DolibarrModules
$this->import_fieldshidden_array[$r] = array('extra.fk_object' => 'lastrowid-'.MAIN_DB_PREFIX.'bom_bomline');
$this->import_regex_array[$r] = array();
- $this->import_updatekeys_array[$r] = array('bd.fk_bom' => 'BOM Id');
+ $this->import_updatekeys_array[$r] = array('bd.fk_bom' => 'BOM Id', 'bd.fk_product' => 'ProductRef');
$this->import_convertvalue_array[$r] = array(
'bd.fk_bom' => array(
'rule' => 'fetchidfromref',
diff --git a/htdocs/supplier_proposal/card.php b/htdocs/supplier_proposal/card.php
index 399d1271037..d4bb56b3304 100644
--- a/htdocs/supplier_proposal/card.php
+++ b/htdocs/supplier_proposal/card.php
@@ -1968,30 +1968,30 @@ if ($action == 'create') {
// Create an order
if (((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled)) && $object->statut == SupplierProposal::STATUS_SIGNED) {
if ($usercancreateorder) {
- print '';
+ print '';
}
}
// Set accepted/refused
if ($object->statut == SupplierProposal::STATUS_VALIDATED && $usercanclose) {
- print '