Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2013-11-04 10:57:04 +01:00
commit f1c398f93c
15 changed files with 225 additions and 206 deletions

View File

@ -1,6 +1,9 @@
-------------------------------------------------------------- --------------------------------------------------------------
English Dolibarr ChangeLog English Dolibarr ChangeLog
-------------------------------------------------------------- --------------------------------------------------------------
***** ChangeLog for 3.4.2 compared to 3.4.1 *****
Fix: Bad rounding on margin calculations and display.
Fix: Option drpo table into backup was broken.
***** ChangeLog for 3.5 compared to 3.4.* ***** ***** ChangeLog for 3.5 compared to 3.4.* *****
For users: For users:

View File

@ -1,4 +1,18 @@
dolibarr (3.5.0) unstable; urgency=low dolibarr (3.5.0-1) unstable; urgency=low
[ Laurent Destailleur (eldy) ]
* New upstream release.
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 22 Apr 2013 12:00:00 +0100
dolibarr (3.4.1-3) unstable; urgency=low
[ Laurent Destailleur (eldy) ]
* Maintenance release.
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 22 Apr 2013 12:00:00 +0100
dolibarr (3.4.0-3) unstable; urgency=low
[ Laurent Destailleur (eldy) ] [ Laurent Destailleur (eldy) ]
* New upstream release. * New upstream release.

View File

@ -219,7 +219,7 @@ print $langs->trans("BackupDescY").'<br><br>';
<fieldset><legend> <input type="checkbox" name="sql_structure" <fieldset><legend> <input type="checkbox" name="sql_structure"
value="structure" id="checkbox_sql_structure" checked="checked" /> <label value="structure" id="checkbox_sql_structure" checked="checked" /> <label
for="checkbox_sql_structure"> <?php echo $langs->trans('ExportStructure') ?></label> </legend> <input for="checkbox_sql_structure"> <?php echo $langs->trans('ExportStructure') ?></label> </legend> <input
type="checkbox" name="drop" value="1" id="checkbox_dump_drop" /> <label type="checkbox" name="drop"<?php echo ((! isset($_GET["drop"]) && ! isset($_POST["drop"])) || GETPOST('drop'))?' checked="checked"':''; ?> id="checkbox_dump_drop" /> <label
for="checkbox_dump_drop"><?php echo $langs->trans("AddDropTable"); ?></label><br> for="checkbox_dump_drop"><?php echo $langs->trans("AddDropTable"); ?></label><br>
</fieldset> </fieldset>
@ -274,7 +274,7 @@ print $langs->trans("BackupDescY").'<br><br>';
<br> <br>
<fieldset><legend><?php echo $langs->trans('ExportStructure') ?></legend> <input <fieldset><legend><?php echo $langs->trans('ExportStructure') ?></legend> <input
type="checkbox" name="nobin_drop" value="1" id="checkbox_dump_drop" /> <label type="checkbox" name="nobin_drop"<?php echo ((! isset($_GET["nobin_drop"]) && ! isset($_POST["nobin_drop"])) || GETPOST('nobin_drop'))?' checked="checked"':''; ?> id="checkbox_dump_drop" /> <label
for="checkbox_dump_drop"><?php echo $langs->trans("AddDropTable"); ?></label><br> for="checkbox_dump_drop"><?php echo $langs->trans("AddDropTable"); ?></label><br>
</fieldset> </fieldset>

View File

@ -134,7 +134,8 @@ if ($what == 'mysql')
if (GETPOST("drop_database")) $param.=" --add-drop-database"; if (GETPOST("drop_database")) $param.=" --add-drop-database";
if (GETPOST("sql_structure")) if (GETPOST("sql_structure"))
{ {
if (GETPOST("drop")) $param.=" --add-drop-table"; if (GETPOST("drop")) $param.=" --add-drop-table=TRUE";
else $param.=" --add-drop-table=FALSE";
} }
else else
{ {

View File

@ -297,20 +297,7 @@ if ($id > 0)
} }
// Type // Type
print "<tr><td>".$langs->trans("Type")."</td><td>".$object->type_libelle."</td><td>".$langs->trans("Payments")."</td></tr>"; print "<tr><td>".$langs->trans("Type")."</td><td>".$object->type_libelle."</td>";
// Period end date
print "<tr><td>".$langs->trans("PeriodEndDate")."</td>";
print "<td>";
if ($action == 'edit')
{
print $form->select_date($object->periode, 'period', 0, 0, 0, 'charge', 1);
}
else
{
print dol_print_date($object->periode,"day");
}
print "</td>";
$rowspan=5; $rowspan=5;
print '<td rowspan="'.$rowspan.'" valign="top">'; print '<td rowspan="'.$rowspan.'" valign="top">';
@ -337,7 +324,7 @@ if ($id > 0)
$i = 0; $total = 0; $i = 0; $total = 0;
echo '<table class="nobordernopadding" width="100%">'; echo '<table class="nobordernopadding" width="100%">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Date").'</td><td>'.$langs->trans("Type").'</td>'; print '<td>'.$langs->trans("Payments").'</td><td>'.$langs->trans("Type").'</td>';
print '<td align="right">'.$langs->trans("Amount").'</td><td>&nbsp;</td></tr>'; print '<td align="right">'.$langs->trans("Amount").'</td><td>&nbsp;</td></tr>';
$var=True; $var=True;
@ -376,6 +363,19 @@ if ($id > 0)
print "</tr>"; print "</tr>";
// Period end date
print "<tr><td>".$langs->trans("PeriodEndDate")."</td>";
print "<td>";
if ($action == 'edit')
{
print $form->select_date($object->periode, 'period', 0, 0, 0, 'charge', 1);
}
else
{
print dol_print_date($object->periode,"day");
}
print "</td></tr>";
// Due date // Due date
if ($action == 'edit') if ($action == 'edit')
{ {
@ -393,8 +393,6 @@ if ($id > 0)
// Status // Status
print '<tr><td>'.$langs->trans("Status").'</td><td>'.$object->getLibStatut(4).'</td></tr>'; print '<tr><td>'.$langs->trans("Status").'</td><td>'.$object->getLibStatut(4).'</td></tr>';
print '<tr><td colspan="2">&nbsp;</td></tr>';
print '</table>'; print '</table>';
if ($action == 'edit') if ($action == 'edit')

View File

@ -1,8 +1,13 @@
<?php <?php
/* Copyright (C) 2006-2013 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2006-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com>
<<<<<<< HEAD
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr> * Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
=======
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2012-2013 Christophe Battarel <christophe.battarel@altairis.fr>
>>>>>>> refs/remotes/origin/3.4
* Copyright (C) 2011-2012 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2011-2012 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
* *
@ -3194,14 +3199,14 @@ abstract class CommonObject
} }
} }
if ($marginInfos['pa_products'] > 0) if ($marginInfos['pa_products'] > 0)
$marginInfos['margin_rate_products'] = 100 * round($marginInfos['margin_on_products'] / $marginInfos['pa_products'],5); $marginInfos['margin_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pa_products'];
if ($marginInfos['pv_products'] > 0) if ($marginInfos['pv_products'] > 0)
$marginInfos['mark_rate_products'] = 100 * round($marginInfos['margin_on_products'] / $marginInfos['pv_products'],5); $marginInfos['mark_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pv_products'];
if ($marginInfos['pa_services'] > 0) if ($marginInfos['pa_services'] > 0)
$marginInfos['margin_rate_services'] = 100 * round($marginInfos['margin_on_services'] / $marginInfos['pa_services'],5); $marginInfos['margin_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pa_services'];
if ($marginInfos['pv_services'] > 0) if ($marginInfos['pv_services'] > 0)
$marginInfos['mark_rate_services'] = 100 * round($marginInfos['margin_on_services'] / $marginInfos['pv_services'],5); $marginInfos['mark_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pv_services'];
// if credit note, margin = -1 * (abs(selling_price) - buying_price) // if credit note, margin = -1 * (abs(selling_price) - buying_price)
if ($marginInfos['pv_total'] < 0) if ($marginInfos['pv_total'] < 0)
@ -3209,9 +3214,9 @@ abstract class CommonObject
else else
$marginInfos['total_margin'] = $marginInfos['pv_total'] - $marginInfos['pa_total']; $marginInfos['total_margin'] = $marginInfos['pv_total'] - $marginInfos['pa_total'];
if ($marginInfos['pa_total'] > 0) if ($marginInfos['pa_total'] > 0)
$marginInfos['total_margin_rate'] = 100 * round($marginInfos['total_margin'] / $marginInfos['pa_total'],5); $marginInfos['total_margin_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pa_total'];
if ($marginInfos['pv_total'] > 0) if ($marginInfos['pv_total'] > 0)
$marginInfos['total_mark_rate'] = 100 * round($marginInfos['total_margin'] / $marginInfos['pv_total'],5); $marginInfos['total_mark_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pv_total'];
return $marginInfos; return $marginInfos;
} }
@ -3230,6 +3235,8 @@ abstract class CommonObject
if (! $user->rights->margins->liretous) return; if (! $user->rights->margins->liretous) return;
$rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT);
$marginInfo = $this->getMarginInfos($force_price); $marginInfo = $this->getMarginInfos($force_price);
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
@ -3249,34 +3256,34 @@ abstract class CommonObject
//if ($marginInfo['margin_on_products'] != 0 && $marginInfo['margin_on_services'] != 0) { //if ($marginInfo['margin_on_products'] != 0 && $marginInfo['margin_on_services'] != 0) {
print '<tr class="impair">'; print '<tr class="impair">';
print '<td>'.$langs->trans('MarginOnProducts').'</td>'; print '<td>'.$langs->trans('MarginOnProducts').'</td>';
print '<td align="right">'.price($marginInfo['pv_products']).'</td>'; print '<td align="right">'.price($marginInfo['pv_products'], null, null, null, null, $rounding).'</td>';
print '<td align="right">'.price($marginInfo['pa_products']).'</td>'; print '<td align="right">'.price($marginInfo['pa_products'], null, null, null, null, $rounding).'</td>';
print '<td align="right">'.price($marginInfo['margin_on_products']).'</td>'; print '<td align="right">'.price($marginInfo['margin_on_products'], null, null, null, null, $rounding).'</td>';
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print '<td align="right">'.(($marginInfo['margin_rate_products'] == '')?'n/a':price($marginInfo['margin_rate_products']).'%').'</td>'; print '<td align="right">'.(($marginInfo['margin_rate_products'] == '')?'n/a':price($marginInfo['margin_rate_products'], null, null, null, null, $rounding).'%').'</td>';
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print '<td align="right">'.(($marginInfo['mark_rate_products'] == '')?'n/a':price($marginInfo['mark_rate_products']).'%').'</td>'; print '<td align="right">'.(($marginInfo['mark_rate_products'] == '')?'n/a':price($marginInfo['mark_rate_products'], null, null, null, null, $rounding).'%').'</td>';
print '</tr>'; print '</tr>';
print '<tr class="pair">'; print '<tr class="pair">';
print '<td>'.$langs->trans('MarginOnServices').'</td>'; print '<td>'.$langs->trans('MarginOnServices').'</td>';
print '<td align="right">'.price($marginInfo['pv_services']).'</td>'; print '<td align="right">'.price($marginInfo['pv_services'], null, null, null, null, $rounding).'</td>';
print '<td align="right">'.price($marginInfo['pa_services']).'</td>'; print '<td align="right">'.price($marginInfo['pa_services'], null, null, null, null, $rounding).'</td>';
print '<td align="right">'.price($marginInfo['margin_on_services']).'</td>'; print '<td align="right">'.price($marginInfo['margin_on_services'], null, null, null, null, $rounding).'</td>';
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print '<td align="right">'.(($marginInfo['margin_rate_services'] == '')?'n/a':price($marginInfo['margin_rate_services']).'%').'</td>'; print '<td align="right">'.(($marginInfo['margin_rate_services'] == '')?'n/a':price($marginInfo['margin_rate_services'], null, null, null, null, $rounding).'%').'</td>';
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print '<td align="right">'.(($marginInfo['mark_rate_services'] == '')?'n/a':price($marginInfo['mark_rate_services']).'%').'</td>'; print '<td align="right">'.(($marginInfo['mark_rate_services'] == '')?'n/a':price($marginInfo['mark_rate_services'], null, null, null, null, $rounding).'%').'</td>';
print '</tr>'; print '</tr>';
//} //}
print '<tr class="impair">'; print '<tr class="impair">';
print '<td>'.$langs->trans('TotalMargin').'</td>'; print '<td>'.$langs->trans('TotalMargin').'</td>';
print '<td align="right">'.price($marginInfo['pv_total']).'</td>'; print '<td align="right">'.price($marginInfo['pv_total'], null, null, null, null, $rounding).'</td>';
print '<td align="right">'.price($marginInfo['pa_total']).'</td>'; print '<td align="right">'.price($marginInfo['pa_total'], null, null, null, null, $rounding).'</td>';
print '<td align="right">'.price($marginInfo['total_margin']).'</td>'; print '<td align="right">'.price($marginInfo['total_margin'], null, null, null, null, $rounding).'</td>';
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print '<td align="right">'.(($marginInfo['total_margin_rate'] == '')?'n/a':price($marginInfo['total_margin_rate']).'%').'</td>'; print '<td align="right">'.(($marginInfo['total_margin_rate'] == '')?'n/a':price($marginInfo['total_margin_rate'], null, null, null, null, $rounding).'%').'</td>';
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print '<td align="right">'.(($marginInfo['total_mark_rate'] == '')?'n/a':price($marginInfo['total_mark_rate']).'%').'</td>'; print '<td align="right">'.(($marginInfo['total_mark_rate'] == '')?'n/a':price($marginInfo['total_mark_rate'], null, null, null, null, $rounding).'%').'</td>';
print '</tr>'; print '</tr>';
print '</table>'; print '</table>';
} }

View File

@ -666,9 +666,10 @@ class FormFile
* @param int $maxlength Maximum length of file name shown * @param int $maxlength Maximum length of file name shown
* @param string $title Title before list * @param string $title Title before list
* @param string $url Full url to use for click links ('' = autodetect) * @param string $url Full url to use for click links ('' = autodetect)
* @param int $showrelpart 0=Show only filename (default), 1=Show first level 1 dir
* @return int <0 if KO, nb of files shown if OK * @return int <0 if KO, nb of files shown if OK
*/ */
function list_of_documents($filearray,$object,$modulepart,$param='',$forcedownload=0,$relativepath='',$permtodelete=1,$useinecm=0,$textifempty='',$maxlength=0,$title='',$url='') function list_of_documents($filearray,$object,$modulepart,$param='',$forcedownload=0,$relativepath='',$permtodelete=1,$useinecm=0,$textifempty='',$maxlength=0,$title='',$url='', $showrelpart=0)
{ {
global $user, $conf, $langs, $hookmanager; global $user, $conf, $langs, $hookmanager;
global $bc; global $bc;
@ -741,8 +742,7 @@ class FormFile
print '&file='.$filepath.'">'; print '&file='.$filepath.'">';
print img_mime($file['name'],$file['name'].' ('.dol_print_size($file['size'],0,0).')').' '; print img_mime($file['name'],$file['name'].' ('.dol_print_size($file['size'],0,0).')').' ';
if ($file['level1name'] <> $object->id) if ($showrelpart == 1) print $file['level1name'].'/';
print $file['level1name'].'/';
print dol_trunc($file['name'],$maxlength,'middle'); print dol_trunc($file['name'],$maxlength,'middle');
print '</a>'; print '</a>';
print "</td>\n"; print "</td>\n";

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2010-2013 Regis Houssin <regis.houssin@capnetworks.com> /* Copyright (C) 2010-2013 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2010-2011 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2010-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr> * Copyright (C) 2012-2013 Christophe Battarel <christophe.battarel@altairis.fr>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -121,14 +121,15 @@
<?php } <?php }
if (! empty($conf->margin->enabled) && empty($user->societe_id)) { if (! empty($conf->margin->enabled) && empty($user->societe_id)) {
$rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT);
?> ?>
<td align="right" class="nowrap"><?php $coldisplay++; ?><?php echo price($line->pa_ht); ?></td> <td align="right" class="nowrap"><?php $coldisplay++; ?><?php echo price($line->pa_ht); ?></td>
<?php if (! empty($conf->global->DISPLAY_MARGIN_RATES) && $user->rights->margins->liretous) {?> <?php if (! empty($conf->global->DISPLAY_MARGIN_RATES) && $user->rights->margins->liretous) {?>
<td align="right" class="nowrap"><?php $coldisplay++; ?><?php echo (($line->pa_ht == 0)?'n/a':price($line->marge_tx).'%'); ?></td> <td align="right" class="nowrap"><?php $coldisplay++; ?><?php echo (($line->pa_ht == 0)?'n/a':price($line->marge_tx, null, null, null, null, $rounding).'%'); ?></td>
<?php <?php
} }
if (! empty($conf->global->DISPLAY_MARK_RATES) && $user->rights->margins->liretous) {?> if (! empty($conf->global->DISPLAY_MARK_RATES) && $user->rights->margins->liretous) {?>
<td align="right" class="nowrap"><?php $coldisplay++; ?><?php echo price($line->marque_tx).'%'; ?></td> <td align="right" class="nowrap"><?php $coldisplay++; ?><?php echo price($line->marque_tx, null, null, null, null, $rounding).'%'; ?></td>
<?php } } ?> <?php } } ?>
<?php if ($line->special_code == 3) { ?> <?php if ($line->special_code == 3) { ?>

View File

@ -1,51 +1,52 @@
# Dolibarr language file - Source file is en_US - marges # Dolibarr language file - Source file is en_US - marges
CHARSET=UTF-8
# Margin=Margin Margin=Marge
# Margins=Margins Margins=Marges
# TotalMargin=Total Margin TotalMargin=Marge Totaal
# MarginOnProducts=Margin / Products MarginOnProducts=Marge / Training
# MarginOnServices=Margin / Services MarginOnServices=Marge / Dienst
# MarginRate=Margin rate MarginRate=Marge verhouding
# MarkRate=Mark rate MarkRate=Markerings verhouding
# DisplayMarginRates=Display margin rates DisplayMarginRates=Toon Marge Verhouding
# DisplayMarkRates=Display mark rates DisplayMarkRates=Toon Markeringsverhouding
# InputPrice=Input price InputPrice=Voer Prijs in
# margin=Profit margins management margin=Winst marge management
# margesSetup=Profit margins management setup margesSetup=Winst marge management setup
# MarginDetails=Margin details MarginDetails=Marge details
# ProductMargins=Product margins ProductMargins=Product marge
# CustomerMargins=Customer margins CustomerMargins=Klant marges
# AgentMargins=Agent margins AgentMargins=Acc. Manager marges
ProductService=Product of Dienst ProductService=Trainning of Dienst
# AllProducts=All products and services AllProducts=Alle Trainingen en Diensten
# ChooseProduct/Service=Choose product or service ChooseProduct/Service=Kies Training of Dienst
# CommercialAgent=Commercial agent CommercialAgent=Commerciel Agent
StartDate=Begindatum StartDate=Start datum
EndDate=Einddatum EndDate=Eind datum
Launch=Start Launch=Start
# ForceBuyingPriceIfNull=Force buying price if null ForceBuyingPriceIfNull=Forceer een inkoopprijs indien null
# ForceBuyingPriceIfNullDetails=if "ON", margin will be zero on line (buying price = selling price), otherwise ("OFF"), marge will be equal to selling price (buying price = 0) ForceBuyingPriceIfNullDetails=indien "ON", marge wodt nul (inkoopprijs = verkoopprijs), anders("OFF"), marge is gelijk verkoopprijs (inkoopprijs = 0)
# MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts MARGIN_METHODE_FOR_DISCOUNT=Marge methode voor globale discounts
# UseDiscountAsProduct=As a product UseDiscountAsProduct=Als een training
# UseDiscountAsService=As a service UseDiscountAsService=Als een dienst
# UseDiscountOnTotal=On subtotal UseDiscountOnTotal=Op subtotaal
# MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defines if a global discount is treated as a product, a service, or only on subtotal for margin calculation. MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Definieert als een globale discount wordt behandelt als een training, een dienst, of alleen een subtotaal voor marge berekening.
# MARGIN_TYPE=Margin type MARGIN_TYPE=Marge type
# MargeBrute=Raw margin MargeBrute=Groffe marge
# MargeNette=Net margin MargeNette=Netto marge
# MARGIN_TYPE_DETAILS=Raw margin : Selling price - Buying price<br/>Net margin : Selling price - Cost price MARGIN_TYPE_DETAILS=Groffe marge : Verkoopprijs - Inkoopprijs<br/>Netto marge : Verkoopprijs - Kostprijs
# CostPrice=Cost price CostPrice=Kostprijs
# BuyingCost=Cost price BuyingCost=Kostprijs
# UnitCharges=Unit charges UnitCharges=Unit toeslag
# Charges=Charges Charges=Toeslag
# AgentContactType=Contact type used for commissioning AgentContactType=Contact type used voor commissie
# AgentContactTypeDetails=Défine what contact type (linked on invoices) will be associated with commercial agents AgentContactTypeDetails=Definieer het contact type (gelinked op facturen) wordt geassocieerd met commercieel agent

View File

@ -168,9 +168,6 @@ if ($result)
print_liste_field_titre($langs->trans("MarkRate"),$_SERVER["PHP_SELF"],"","","&amp;agentid=".$agentid,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("MarkRate"),$_SERVER["PHP_SELF"],"","","&amp;agentid=".$agentid,'align="right"',$sortfield,$sortorder);
print "</tr>\n"; print "</tr>\n";
$cumul_achat = 0;
$cumul_vente = 0;
$cumul_qty = 0;
$rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT); $rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT);
if ($num > 0) if ($num > 0)
@ -187,13 +184,13 @@ if ($result)
if ($marge < 0) if ($marge < 0)
{ {
$marginRate = ($pa != 0)?-1*(100 * round($marge / $pa, 5)):'' ; $marginRate = ($pa != 0)?-1*(100 * $marge / $pa):'' ;
$markRate = ($pv != 0)?-1*(100 * round($marge / $pv, 5)):'' ; $markRate = ($pv != 0)?-1*(100 * $marge / $pv):'' ;
} }
else else
{ {
$marginRate = ($pa != 0)?(100 * round($marge / $pa, 5)):'' ; $marginRate = ($pa != 0)?(100 * $marge / $pa):'' ;
$markRate = ($pv != 0)?(100 * round($marge / $pv, 5)):'' ; $markRate = ($pv != 0)?(100 * $marge / $pv):'' ;
} }
$var=!$var; $var=!$var;
@ -210,18 +207,16 @@ if ($result)
print "<td>".$userstatic->getFullName($langs,0,0,0)."</td>\n"; print "<td>".$userstatic->getFullName($langs,0,0,0)."</td>\n";
} }
print "<td align=\"right\">".price($pv)."</td>\n"; print "<td align=\"right\">".price($pv, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($pa)."</td>\n"; print "<td align=\"right\">".price($pa, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($marge)."</td>\n"; print "<td align=\"right\">".price($marge, null, null, null, null, $rounding)."</td>\n";
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate)."%")."</td>\n"; print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%")."</td>\n";
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate)."%")."</td>\n"; print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%")."</td>\n";
print "</tr>\n"; print "</tr>\n";
$i++; $i++;
$cumul_achat += round($objp->buying_price, $rounding);
$cumul_vente += round($objp->selling_price, $rounding);
} }
} }
print "</table>"; print "</table>";

View File

@ -210,7 +210,7 @@ if ($result)
$cumul_achat = 0; $cumul_achat = 0;
$cumul_vente = 0; $cumul_vente = 0;
$cumul_qty = 0;
$rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT); $rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT);
if ($num > 0) if ($num > 0)
@ -227,13 +227,13 @@ if ($result)
if ($marge < 0) if ($marge < 0)
{ {
$marginRate = ($pa != 0)?-1*(100 * round($marge / $pa, 5)):'' ; $marginRate = ($pa != 0)?-1*(100 * $marge / $pa):'' ;
$markRate = ($pv != 0)?-1*(100 * round($marge / $pv, 5)):'' ; $markRate = ($pv != 0)?-1*(100 * $marge / $pv):'' ;
} }
else else
{ {
$marginRate = ($pa != 0)?(100 * round($marge / $pa, 5)):'' ; $marginRate = ($pa != 0)?(100 * $marge / $pa):'' ;
$markRate = ($pv != 0)?(100 * round($marge / $pv, 5)):'' ; $markRate = ($pv != 0)?(100 * $marge / $pv):'' ;
} }
$var=!$var; $var=!$var;
@ -255,18 +255,18 @@ if ($result)
print "<td>".$companystatic->getNomUrl(1,'customer')."</td>\n"; print "<td>".$companystatic->getNomUrl(1,'customer')."</td>\n";
} }
print "<td align=\"right\">".price($pv)."</td>\n"; print "<td align=\"right\">".price($pv, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($pa)."</td>\n"; print "<td align=\"right\">".price($pa, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($marge)."</td>\n"; print "<td align=\"right\">".price($marge, null, null, null, null, $rounding)."</td>\n";
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate)."%")."</td>\n"; print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%")."</td>\n";
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate)."%")."</td>\n"; print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%")."</td>\n";
print "</tr>\n"; print "</tr>\n";
$i++; $i++;
$cumul_achat += round($objp->buying_price, $rounding); $cumul_achat += $objp->buying_price;
$cumul_vente += round($objp->selling_price, $rounding); $cumul_vente += $objp->selling_price;
} }
} }
@ -275,13 +275,13 @@ if ($result)
$totalMargin = $cumul_vente - $cumul_achat; $totalMargin = $cumul_vente - $cumul_achat;
if ($totalMargin < 0) if ($totalMargin < 0)
{ {
$marginRate = ($cumul_achat != 0)?-1*(100 * round($totalMargin / $cumul_achat, 5)):''; $marginRate = ($cumul_achat != 0)?-1*(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?-1*(100 * round($totalMargin / $cumul_vente, 5)):''; $markRate = ($cumul_vente != 0)?-1*(100 * $totalMargin / $cumul_vente):'';
} }
else else
{ {
$marginRate = ($cumul_achat != 0)?(100 * round($totalMargin / $cumul_achat, 5)):''; $marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?(100 * round($totalMargin / $cumul_vente, 5)):''; $markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):'';
} }
print '<tr '.$bc[$var].' style="border-top: 1px solid #ccc; font-weight: bold">'; print '<tr '.$bc[$var].' style="border-top: 1px solid #ccc; font-weight: bold">';
@ -290,13 +290,13 @@ if ($result)
else else
print '<td>'; print '<td>';
print $langs->trans('TotalMargin')."</td>"; print $langs->trans('TotalMargin')."</td>";
print "<td align=\"right\">".price($cumul_vente)."</td>\n"; print "<td align=\"right\">".price($cumul_vente, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($cumul_achat)."</td>\n"; print "<td align=\"right\">".price($cumul_achat, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($totalMargin)."</td>\n"; print "<td align=\"right\">".price($totalMargin, null, null, null, null, $rounding)."</td>\n";
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate)."%")."</td>\n"; print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%")."</td>\n";
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate)."%")."</td>\n"; print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%")."</td>\n";
print "</tr>\n"; print "</tr>\n";
print "</table>"; print "</table>";
@ -322,9 +322,9 @@ $(document).ready(function() {
$("div.fiche form").submit(); $("div.fiche form").submit();
}); });
$("#totalMargin").html("<?php echo price($totalMargin); ?>"); $("#totalMargin").html("<?php echo price($totalMargin, null, null, null, null, $rounding); ?>");
$("#marginRate").html("<?php echo (($marginRate === '')?'n/a':price($marginRate)."%"); ?>"); $("#marginRate").html("<?php echo (($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%"); ?>");
$("#markRate").html("<?php echo (($markRate === '')?'n/a':price($markRate)."%"); ?>"); $("#markRate").html("<?php echo (($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%"); ?>");
}); });
</script> </script>

View File

@ -125,10 +125,10 @@ function getMarginInfos($pvht, $remise_percent, $tva_tx, $localtax1_tx, $localta
// calcul taux marge // calcul taux marge
if ($paht_ret != 0) if ($paht_ret != 0)
$marge_tx_ret = round((100 * $marge) / $paht_ret, 3); $marge_tx_ret = (100 * $marge) / $paht_ret;
// calcul taux marque // calcul taux marque
if ($pu_ht_remise != 0) if ($pu_ht_remise != 0)
$marque_tx_ret = round((100 * $marge) / $pu_ht_remise, 3); $marque_tx_ret = (100 * $marge) / $pu_ht_remise;
return array($paht_ret, $marge_tx_ret, $marque_tx_ret); return array($paht_ret, $marge_tx_ret, $marque_tx_ret);
} }

View File

@ -215,7 +215,6 @@ if ($result)
$cumul_achat = 0; $cumul_achat = 0;
$cumul_vente = 0; $cumul_vente = 0;
$cumul_qty = 0;
$rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT); $rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT);
if ($num > 0) if ($num > 0)
@ -231,13 +230,13 @@ if ($result)
if ($marge < 0) if ($marge < 0)
{ {
$marginRate = ($pa != 0)?-1*(100 * round($marge / $pa, 5)):'' ; $marginRate = ($pa != 0)?-1*(100 * $marge / $pa):'' ;
$markRate = ($pv != 0)?-1*(100 * round($marge / $pv, 5)):'' ; $markRate = ($pv != 0)?-1*(100 * $marge / $pv):'' ;
} }
else else
{ {
$marginRate = ($pa != 0)?(100 * round($marge / $pa, 5)):'' ; $marginRate = ($pa != 0)?(100 * $marge / $pa):'' ;
$markRate = ($pv != 0)?(100 * round($marge / $pv, 5)):'' ; $markRate = ($pv != 0)?(100 * $marge / $pv):'' ;
} }
$var=!$var; $var=!$var;
@ -261,18 +260,18 @@ if ($result)
$text.= ' - '.$objp->label; $text.= ' - '.$objp->label;
print "<td>".$product_static->getNomUrl(1)."</td>\n"; print "<td>".$product_static->getNomUrl(1)."</td>\n";
} }
print "<td align=\"right\">".price($pv)."</td>\n"; print "<td align=\"right\">".price($pv, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($pa)."</td>\n"; print "<td align=\"right\">".price($pa, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($marge)."</td>\n"; print "<td align=\"right\">".price($marge, null, null, null, null, $rounding)."</td>\n";
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate)."%")."</td>\n"; print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%")."</td>\n";
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate)."%")."</td>\n"; print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%")."</td>\n";
print "</tr>\n"; print "</tr>\n";
$i++; $i++;
$cumul_achat += round($objp->buying_price, $rounding); $cumul_achat += $objp->buying_price;
$cumul_vente += round($objp->selling_price, $rounding); $cumul_vente += $objp->selling_price;
} }
} }
@ -282,13 +281,13 @@ if ($result)
$totalMargin = $cumul_vente - $cumul_achat; $totalMargin = $cumul_vente - $cumul_achat;
if ($totalMargin < 0) if ($totalMargin < 0)
{ {
$marginRate = ($cumul_achat != 0)?-1*(100 * round($totalMargin / $cumul_achat, 5)):''; $marginRate = ($cumul_achat != 0)?-1*(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?-1*(100 * round($totalMargin / $cumul_vente, 5)):''; $markRate = ($cumul_vente != 0)?-1*(100 * $totalMargin / $cumul_vente):'';
} }
else else
{ {
$marginRate = ($cumul_achat != 0)?(100 * round($totalMargin / $cumul_achat, 5)):''; $marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?(100 * round($totalMargin / $cumul_vente, 5)):''; $markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):'';
} }
print '<tr '.$bc[$var].' style="border-top: 1px solid #ccc; font-weight: bold">'; print '<tr '.$bc[$var].' style="border-top: 1px solid #ccc; font-weight: bold">';
if ($id > 0) if ($id > 0)
@ -296,13 +295,13 @@ if ($result)
else else
print '<td>'; print '<td>';
print $langs->trans('TotalMargin')."</td>"; print $langs->trans('TotalMargin')."</td>";
print "<td align=\"right\">".price($cumul_vente)."</td>\n"; print "<td align=\"right\">".price($cumul_vente, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($cumul_achat)."</td>\n"; print "<td align=\"right\">".price($cumul_achat, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($totalMargin)."</td>\n"; print "<td align=\"right\">".price($totalMargin, null, null, null, null, $rounding)."</td>\n";
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate)."%")."</td>\n"; print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%")."</td>\n";
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate)."%")."</td>\n"; print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%")."</td>\n";
print "</tr>\n"; print "</tr>\n";
print "</table>"; print "</table>";
@ -330,9 +329,9 @@ $(document).ready(function() {
$("div.fiche form").submit(); $("div.fiche form").submit();
}); });
$("#totalMargin").html("<?php echo price($totalMargin); ?>"); $("#totalMargin").html("<?php echo price($totalMargin, null, null, null, null, $rounding); ?>");
$("#marginRate").html("<?php echo (($marginRate === '')?'n/a':price($marginRate)."%"); ?>"); $("#marginRate").html("<?php echo (($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%"); ?>");
$("#markRate").html("<?php echo (($markRate === '')?'n/a':price($markRate)."%"); ?>"); $("#markRate").html("<?php echo (($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%"); ?>");
}); });
</script> </script>

View File

@ -196,13 +196,13 @@ if ($id > 0 || ! empty($ref))
if ($objp->marge < 0) if ($objp->marge < 0)
{ {
$marginRate = ($objp->buying_price != 0)?-1*(100 * round($objp->marge / $objp->buying_price, 5)):'' ; $marginRate = ($objp->buying_price != 0)?-1*(100 * $objp->marge / $objp->buying_price):'' ;
$markRate = ($objp->selling_price != 0)?-1*(100 * round($objp->marge / $objp->selling_price, 5)):'' ; $markRate = ($objp->selling_price != 0)?-1*(100 * $objp->marge / $objp->selling_price):'' ;
} }
else else
{ {
$marginRate = ($objp->buying_price != 0)?(100 * round($objp->marge / $objp->buying_price, 5)):'' ; $marginRate = ($objp->buying_price != 0)?(100 * $objp->marge / $objp->buying_price):'' ;
$markRate = ($objp->selling_price != 0)?(100 * round($objp->marge / $objp->selling_price, 5)):'' ; $markRate = ($objp->selling_price != 0)?(100 * $objp->marge / $objp->selling_price):'' ;
} }
print "<tr ".$bc[$var].">"; print "<tr ".$bc[$var].">";
@ -215,19 +215,19 @@ if ($id > 0 || ! empty($ref))
print "<td>".$objp->code_client."</td>\n"; print "<td>".$objp->code_client."</td>\n";
print "<td align=\"center\">"; print "<td align=\"center\">";
print dol_print_date($db->jdate($objp->datef),'day')."</td>"; print dol_print_date($db->jdate($objp->datef),'day')."</td>";
print "<td align=\"right\">".price($objp->selling_price)."</td>\n"; print "<td align=\"right\">".price($objp->selling_price, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($objp->buying_price)."</td>\n"; print "<td align=\"right\">".price($objp->buying_price, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($objp->qty)."</td>\n"; print "<td align=\"right\">".price($objp->qty, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($objp->marge)."</td>\n"; print "<td align=\"right\">".price($objp->marge, null, null, null, null, $rounding)."</td>\n";
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate)."%")."</td>\n"; print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%")."</td>\n";
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate)."%")."</td>\n"; print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%")."</td>\n";
print '<td align="right">'.$invoicestatic->LibStatut($objp->paye,$objp->statut,5).'</td>'; print '<td align="right">'.$invoicestatic->LibStatut($objp->paye,$objp->statut,5).'</td>';
print "</tr>\n"; print "</tr>\n";
$i++; $i++;
$cumul_achat += round($objp->buying_price, $rounding); $cumul_achat += $objp->buying_price;
$cumul_vente += round($objp->selling_price, $rounding); $cumul_vente += $objp->selling_price;
$cumul_qty += $objp->qty; $cumul_qty += $objp->qty;
} }
} }
@ -237,24 +237,24 @@ if ($id > 0 || ! empty($ref))
$totalMargin = $cumul_vente - $cumul_achat; $totalMargin = $cumul_vente - $cumul_achat;
if ($totalMargin < 0) if ($totalMargin < 0)
{ {
$marginRate = ($cumul_achat != 0)?-1*(100 * round($totalMargin / $cumul_achat, 5)):''; $marginRate = ($cumul_achat != 0)?-1*(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?-1*(100 * round($totalMargin / $cumul_vente, 5)):''; $markRate = ($cumul_vente != 0)?-1*(100 * $totalMargin / $cumul_vente):'';
} }
else else
{ {
$marginRate = ($cumul_achat != 0)?(100 * round($totalMargin / $cumul_achat, 5)):''; $marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?(100 * round($totalMargin / $cumul_vente, 5)):''; $markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):'';
} }
print '<tr '.$bc[$var].' style="border-top: 1px solid #ccc; font-weight: bold">'; print '<tr '.$bc[$var].' style="border-top: 1px solid #ccc; font-weight: bold">';
print '<td colspan=4>'.$langs->trans('TotalMargin')."</td>"; print '<td colspan=4>'.$langs->trans('TotalMargin')."</td>";
print "<td align=\"right\">".price($cumul_vente)."</td>\n"; print "<td align=\"right\">".price($cumul_vente, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($cumul_achat)."</td>\n"; print "<td align=\"right\">".price($cumul_achat, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($cumul_qty)."</td>\n"; print "<td align=\"right\">".price($cumul_qty, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($totalMargin)."</td>\n"; print "<td align=\"right\">".price($totalMargin, null, null, null, null, $rounding)."</td>\n";
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate)."%")."</td>\n"; print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%")."</td>\n";
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate)."%")."</td>\n"; print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%")."</td>\n";
print '<td align="right">&nbsp;</td>'; print '<td align="right">&nbsp;</td>';
print "</tr>\n"; print "</tr>\n";
} }
@ -278,8 +278,8 @@ $db->close();
?> ?>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() { $(document).ready(function() {
$("#totalMargin").html("<?php echo price($totalMargin); ?>"); $("#totalMargin").html("<?php echo price($totalMargin, null, null, null, null, $rounding); ?>");
$("#marginRate").html("<?php echo (($marginRate === '')?'n/a':price($marginRate)."%"); ?>"); $("#marginRate").html("<?php echo (($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%"); ?>");
$("#markRate").html("<?php echo (($markRate === '')?'n/a':price($markRate)."%"); ?>"); $("#markRate").html("<?php echo (($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%"); ?>");
}); });
</script> </script>

View File

@ -175,7 +175,7 @@ if ($socid > 0)
$cumul_achat = 0; $cumul_achat = 0;
$cumul_vente = 0; $cumul_vente = 0;
$cumul_qty = 0;
$rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT); $rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOT);
if ($num > 0) if ($num > 0)
@ -187,13 +187,13 @@ if ($socid > 0)
if ($objp->marge < 0) if ($objp->marge < 0)
{ {
$marginRate = ($objp->buying_price != 0)?-1*(100 * round($objp->marge / $objp->buying_price, 5)):'' ; $marginRate = ($objp->buying_price != 0)?-1*(100 * $objp->marge / $objp->buying_price):'' ;
$markRate = ($objp->selling_price != 0)?-1*(100 * round($objp->marge / $objp->selling_price, 5)):'' ; $markRate = ($objp->selling_price != 0)?-1*(100 * $objp->marge / $objp->selling_price):'' ;
} }
else else
{ {
$marginRate = ($objp->buying_price != 0)?(100 * round($objp->marge / $objp->buying_price, 5)):'' ; $marginRate = ($objp->buying_price != 0)?(100 * $objp->marge / $objp->buying_price):'' ;
$markRate = ($objp->selling_price != 0)?(100 * round($objp->marge / $objp->selling_price, 5)):'' ; $markRate = ($objp->selling_price != 0)?(100 * $objp->marge / $objp->selling_price):'' ;
} }
$var=!$var; $var=!$var;
@ -206,18 +206,18 @@ if ($socid > 0)
print "</td>\n"; print "</td>\n";
print "<td align=\"center\">"; print "<td align=\"center\">";
print dol_print_date($db->jdate($objp->datef),'day')."</td>"; print dol_print_date($db->jdate($objp->datef),'day')."</td>";
print "<td align=\"right\">".price($objp->selling_price)."</td>\n"; print "<td align=\"right\">".price($objp->selling_price, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($objp->buying_price)."</td>\n"; print "<td align=\"right\">".price($objp->buying_price, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($objp->marge)."</td>\n"; print "<td align=\"right\">".price($objp->marge, null, null, null, null, $rounding)."</td>\n";
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate)."%")."</td>\n"; print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%")."</td>\n";
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate)."%")."</td>\n"; print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%")."</td>\n";
print '<td align="right">'.$invoicestatic->LibStatut($objp->paye,$objp->statut,5).'</td>'; print '<td align="right">'.$invoicestatic->LibStatut($objp->paye,$objp->statut,5).'</td>';
print "</tr>\n"; print "</tr>\n";
$i++; $i++;
$cumul_achat += round($objp->buying_price, $rounding); $cumul_achat += $objp->buying_price;
$cumul_vente += round($objp->selling_price, $rounding); $cumul_vente += $objp->selling_price;
} }
} }
@ -226,23 +226,23 @@ if ($socid > 0)
$totalMargin = $cumul_vente - $cumul_achat; $totalMargin = $cumul_vente - $cumul_achat;
if ($totalMargin < 0) if ($totalMargin < 0)
{ {
$marginRate = ($cumul_achat != 0)?-1*(100 * round($totalMargin / $cumul_achat, 5)):''; $marginRate = ($cumul_achat != 0)?-1*(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?-1*(100 * round($totalMargin / $cumul_vente, 5)):''; $markRate = ($cumul_vente != 0)?-1*(100 * $totalMargin / $cumul_vente):'';
} }
else else
{ {
$marginRate = ($cumul_achat != 0)?(100 * round($totalMargin / $cumul_achat, 5)):''; $marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):'';
$markRate = ($cumul_vente != 0)?(100 * round($totalMargin / $cumul_vente, 5)):''; $markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):'';
} }
print '<tr '.$bc[$var].' style="border-top: 1px solid #ccc; font-weight: bold">'; print '<tr '.$bc[$var].' style="border-top: 1px solid #ccc; font-weight: bold">';
print '<td colspan=2>'.$langs->trans('TotalMargin')."</td>"; print '<td colspan=2>'.$langs->trans('TotalMargin')."</td>";
print "<td align=\"right\">".price($cumul_vente)."</td>\n"; print "<td align=\"right\">".price($cumul_vente, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($cumul_achat)."</td>\n"; print "<td align=\"right\">".price($cumul_achat, null, null, null, null, $rounding)."</td>\n";
print "<td align=\"right\">".price($totalMargin)."</td>\n"; print "<td align=\"right\">".price($totalMargin, null, null, null, null, $rounding)."</td>\n";
if (! empty($conf->global->DISPLAY_MARGIN_RATES)) if (! empty($conf->global->DISPLAY_MARGIN_RATES))
print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate)."%")."</td>\n"; print "<td align=\"right\">".(($marginRate === '')?'n/a':price($marginRate, null, null, null, null, $rounding)."%")."</td>\n";
if (! empty($conf->global->DISPLAY_MARK_RATES)) if (! empty($conf->global->DISPLAY_MARK_RATES))
print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate)."%")."</td>\n"; print "<td align=\"right\">".(($markRate === '')?'n/a':price($markRate, null, null, null, null, $rounding)."%")."</td>\n";
print '<td align="right">&nbsp;</td>'; print '<td align="right">&nbsp;</td>';
print "</tr>\n"; print "</tr>\n";
} }