';
-if ($user->rights->margins->read->all) {
- print '| '.$langs->trans('SalesRepresentative').' | ';
- print '';
- print $form->select_dolusers($agentid, 'agentid', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300');
- print ' |
';
-}
+print '| '.$langs->trans('SalesRepresentative').' | ';
+print '';
+print $form->select_dolusers($agentid, 'agentid', 1, '', $user->rights->margins->read->all ? 0 : 1, '', '', 0, 0, 0, '', 0, '', 'maxwidth300');
+print ' |
';
// Start date
print ''.$langs->trans('DateStart').' ('.$langs->trans("DateValidation").') | ';
@@ -153,6 +151,11 @@ $sql.=$db->order($sortfield,$sortorder);
// TODO: calculate total to display then restore pagination
//$sql.= $db->plimit($conf->liste_limit +1, $offset);
+
+print '
';
+print img_info('').' '.$langs->trans("MarginPerSaleRepresentativeWarning").'
';
+
+
dol_syslog('margin::agentMargins.php', LOG_DEBUG);
$result = $db->query($sql);
if ($result)
diff --git a/htdocs/margin/customerMargins.php b/htdocs/margin/customerMargins.php
index 83e173ca0ce..7f6d5a951c2 100644
--- a/htdocs/margin/customerMargins.php
+++ b/htdocs/margin/customerMargins.php
@@ -261,7 +261,7 @@ if ($result)
$companystatic->id=$objp->socid;
$companystatic->name=$objp->name;
$companystatic->client=$objp->client;
- print "".$companystatic->getNomUrl(1,'customer')." | \n";
+ print "".$companystatic->getNomUrl(1,'margin')." | \n";
}
print "".price($pv, null, null, null, null, $rounding)." | \n";
@@ -282,16 +282,16 @@ if ($result)
// affichage totaux marges
$var=!$var;
$totalMargin = $cumul_vente - $cumul_achat;
- if ($totalMargin < 0)
+ /*if ($totalMargin < 0)
{
$marginRate = ($cumul_achat != 0)?-1*(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?-1*(100 * $totalMargin / $cumul_vente):'';
}
else
- {
+ {*/
$marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):'';
- }
+ //}
print '';
if ($client)
diff --git a/htdocs/margin/productMargins.php b/htdocs/margin/productMargins.php
index d604ed5ed22..b4609633447 100644
--- a/htdocs/margin/productMargins.php
+++ b/htdocs/margin/productMargins.php
@@ -295,16 +295,16 @@ if ($result)
// affichage totaux marges
$var=!$var;
$totalMargin = $cumul_vente - $cumul_achat;
- if ($totalMargin < 0)
+ /*if ($totalMargin < 0)
{
$marginRate = ($cumul_achat != 0)?-1*(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?-1*(100 * $totalMargin / $cumul_vente):'';
}
else
- {
+ {*/
$marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):'';
- }
+ //}
print '
';
if ($id > 0)
print '| ';
diff --git a/htdocs/margin/tabs/productMargins.php b/htdocs/margin/tabs/productMargins.php
index 369d226414a..35bd8e85155 100644
--- a/htdocs/margin/tabs/productMargins.php
+++ b/htdocs/margin/tabs/productMargins.php
@@ -225,7 +225,7 @@ if ($id > 0 || ! empty($ref))
$markRate = ($cumul_vente != 0)?-1*(100 * $totalMargin / $cumul_vente):'';
}
else
- {
+ {
$marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):'';
}
diff --git a/htdocs/margin/tabs/thirdpartyMargins.php b/htdocs/margin/tabs/thirdpartyMargins.php
index cd12539c2f7..29bdd16b21e 100644
--- a/htdocs/margin/tabs/thirdpartyMargins.php
+++ b/htdocs/margin/tabs/thirdpartyMargins.php
@@ -176,8 +176,8 @@ if ($socid > 0)
print ' |
';
print_liste_field_titre($langs->trans("Invoice"),$_SERVER["PHP_SELF"],"f.facnumber","","&socid=".$_REQUEST["socid"],'',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("DateInvoice"),$_SERVER["PHP_SELF"],"f.datef","","&socid=".$_REQUEST["socid"],'align="center"',$sortfield,$sortorder);
- print_liste_field_titre($langs->trans("SellingPrice"),$_SERVER["PHP_SELF"],"selling_price","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder);
- print_liste_field_titre($langs->trans("BuyingPrice"),$_SERVER["PHP_SELF"],"buying_price","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("SoldAmount"),$_SERVER["PHP_SELF"],"selling_price","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("PurchasedAmount"),$_SERVER["PHP_SELF"],"buying_price","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Margin"),$_SERVER["PHP_SELF"],"marge","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder);
if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print_liste_field_titre($langs->trans("MarginRate"),$_SERVER["PHP_SELF"],"","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder);
@@ -221,8 +221,8 @@ if ($socid > 0)
print '| '.$invoicestatic->LibStatut($objp->paye,$objp->statut,5).' | ';
print "
\n";
$i++;
- $cumul_achat += $objp->buying_price;
$cumul_vente += $objp->selling_price;
+ $cumul_achat += ($objp->type == 2 ? -1 : 1) * $objp->buying_price;
}
}
@@ -239,6 +239,8 @@ if ($socid > 0)
$marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):'';
}
+
+ // Total
print '';
print '| '.$langs->trans('TotalMargin')." | ";
print "".price($cumul_vente, null, null, null, null, $rounding)." | \n";
diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php
index 39c1f494d31..b3205d3fb44 100644
--- a/htdocs/societe/class/societe.class.php
+++ b/htdocs/societe/class/societe.class.php
@@ -1869,7 +1869,12 @@ class Societe extends CommonObject
$label.= '' . $langs->trans("ShowCategorySupplier") . '';
$link = '';
+ $link = '