Merge branch 'develop' of git+ssh://git@github.com/Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
77e45f70a4
@ -173,21 +173,21 @@ print '<b>'.$langs->trans("ExamplesWithCurrentSetup").":</b><br>\n";
|
|||||||
|
|
||||||
// Always show vat rates with vat 0
|
// Always show vat rates with vat 0
|
||||||
$s=2/7;$qty=1;$vat=0;
|
$s=2/7;$qty=1;$vat=0;
|
||||||
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0);
|
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0,0);
|
||||||
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
||||||
print " x ".$langs->trans("Quantity").": ".$qty;
|
print " x ".$langs->trans("Quantity").": ".$qty;
|
||||||
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
||||||
print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n";
|
print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n";
|
||||||
|
|
||||||
$s=10/3;$qty=1;$vat=0;
|
$s=10/3;$qty=1;$vat=0;
|
||||||
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0);
|
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0,0);
|
||||||
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
||||||
print " x ".$langs->trans("Quantity").": ".$qty;
|
print " x ".$langs->trans("Quantity").": ".$qty;
|
||||||
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
||||||
print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n";
|
print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n";
|
||||||
|
|
||||||
$s=10/3;$qty=2;$vat=0;
|
$s=10/3;$qty=2;$vat=0;
|
||||||
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0);
|
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0, 0);
|
||||||
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
||||||
print " x ".$langs->trans("Quantity").": ".$qty;
|
print " x ".$langs->trans("Quantity").": ".$qty;
|
||||||
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
||||||
@ -222,7 +222,7 @@ if (count($vat_rates))
|
|||||||
for ($qty=1; $qty<=2; $qty++)
|
for ($qty=1; $qty<=2; $qty++)
|
||||||
{
|
{
|
||||||
$s=10/3;
|
$s=10/3;
|
||||||
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0);
|
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0, 0);
|
||||||
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
||||||
print " x ".$langs->trans("Quantity").": ".$qty;
|
print " x ".$langs->trans("Quantity").": ".$qty;
|
||||||
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
||||||
@ -237,14 +237,14 @@ else
|
|||||||
// were calculated to show all possible cases of rounding. If we change this, examples becomes useless or show the same rounding rule.
|
// were calculated to show all possible cases of rounding. If we change this, examples becomes useless or show the same rounding rule.
|
||||||
|
|
||||||
$s=10/3;$qty=1;$vat=10;
|
$s=10/3;$qty=1;$vat=10;
|
||||||
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0);
|
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0, 0);
|
||||||
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
||||||
print " x ".$langs->trans("Quantity").": ".$qty;
|
print " x ".$langs->trans("Quantity").": ".$qty;
|
||||||
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
||||||
print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n";
|
print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n";
|
||||||
|
|
||||||
$s=10/3;$qty=2;$vat=10;
|
$s=10/3;$qty=2;$vat=10;
|
||||||
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0);
|
$tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0, 0);
|
||||||
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU');
|
||||||
print " x ".$langs->trans("Quantity").": ".$qty;
|
print " x ".$langs->trans("Quantity").": ".$qty;
|
||||||
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
||||||
@ -264,8 +264,8 @@ foreach($vat_rates as $vat)
|
|||||||
$s2=2/7;
|
$s2=2/7;
|
||||||
|
|
||||||
// Round by line
|
// Round by line
|
||||||
$tmparray1=calcul_price_total(1,$qty*price2num($s1,'MU'),0,$vat,0,0,0,'HT',0);
|
$tmparray1=calcul_price_total(1,$qty*price2num($s1,'MU'),0,$vat,0,0,0,'HT',0, 0);
|
||||||
$tmparray2=calcul_price_total(1,$qty*price2num($s2,'MU'),0,$vat,0,0,0,'HT',0);
|
$tmparray2=calcul_price_total(1,$qty*price2num($s2,'MU'),0,$vat,0,0,0,'HT',0, 0);
|
||||||
$total_ht = $tmparray1[0] + $tmparray2[0];
|
$total_ht = $tmparray1[0] + $tmparray2[0];
|
||||||
$total_tva = $tmparray1[1] + $tmparray2[1];
|
$total_tva = $tmparray1[1] + $tmparray2[1];
|
||||||
$total_ttc = $tmparray1[2] + $tmparray2[2];
|
$total_ttc = $tmparray1[2] + $tmparray2[2];
|
||||||
@ -288,7 +288,7 @@ foreach($vat_rates as $vat)
|
|||||||
|
|
||||||
// Global round
|
// Global round
|
||||||
$subtotal_ht = (($qty*price2num($s1,'MU')) + ($qty*price2num($s2,'MU')));
|
$subtotal_ht = (($qty*price2num($s1,'MU')) + ($qty*price2num($s2,'MU')));
|
||||||
$tmparray3=calcul_price_total(1,$subtotal_ht,0,$vat,0,0,0,'HT',0);
|
$tmparray3=calcul_price_total(1,$subtotal_ht,0,$vat,0,0,0,'HT',0, 0);
|
||||||
$total_ht = $tmparray3[0];
|
$total_ht = $tmparray3[0];
|
||||||
$total_tva = $tmparray3[1];
|
$total_tva = $tmparray3[1];
|
||||||
$total_ttc = $tmparray3[2];
|
$total_ttc = $tmparray3[2];
|
||||||
|
|||||||
@ -118,7 +118,7 @@ class Facturation
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Define part of HT, VAT, TTC
|
// Define part of HT, VAT, TTC
|
||||||
$resultarray=calcul_price_total($this->qte,$this->prix(),$this->remisePercent(),$vat_rate,0,0,$product->type,'HT',0);
|
$resultarray=calcul_price_total($this->qte,$this->prix(),$this->remisePercent(),$vat_rate,0,0,0,'HT',$product->type);
|
||||||
|
|
||||||
// Calcul du total ht sans remise
|
// Calcul du total ht sans remise
|
||||||
$total_ht = $resultarray[0];
|
$total_ht = $resultarray[0];
|
||||||
|
|||||||
@ -117,7 +117,7 @@ print '<td class="label1">'.$langs->trans("CashDeskBankAccountForSell").'</td>';
|
|||||||
print '<td>';
|
print '<td>';
|
||||||
$defaultknown=0;
|
$defaultknown=0;
|
||||||
if (! empty($conf->global->CASHDESK_ID_BANKACCOUNT_CASH) && $conf->global->CASHDESK_ID_BANKACCOUNT_CASH > 0) $defaultknown=1; // If a particular stock is defined, we disable choice
|
if (! empty($conf->global->CASHDESK_ID_BANKACCOUNT_CASH) && $conf->global->CASHDESK_ID_BANKACCOUNT_CASH > 0) $defaultknown=1; // If a particular stock is defined, we disable choice
|
||||||
print $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CASH,'CASHDESK_ID_BANKACCOUNT_CASH',0,"courant=2",($defaultknown?0:2));
|
print $form->select_comptes(((GETPOST('bankid_cash') > 0)?GETPOST('bankid_cash'):$conf->global->CASHDESK_ID_BANKACCOUNT_CASH),'CASHDESK_ID_BANKACCOUNT_CASH',0,"courant=2",($defaultknown?0:2));
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ print '<td class="label1">'.$langs->trans("CashDeskBankAccountForCheque").'</td>
|
|||||||
print '<td>';
|
print '<td>';
|
||||||
$defaultknown=0;
|
$defaultknown=0;
|
||||||
if (! empty($conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE) && $conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE > 0) $defaultknown=1; // If a particular stock is defined, we disable choice
|
if (! empty($conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE) && $conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE > 0) $defaultknown=1; // If a particular stock is defined, we disable choice
|
||||||
print $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE,'CASHDESK_ID_BANKACCOUNT_CHEQUE',0,"courant=1",($defaultknown?0:2));
|
print $form->select_comptes(((GETPOST('bankid_cheque') > 0)?GETPOST('bankid_cheque'):$conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE),'CASHDESK_ID_BANKACCOUNT_CHEQUE',0,"courant=1",($defaultknown?0:2));
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ print '<td class="label1">'.$langs->trans("CashDeskBankAccountForCB").'</td>';
|
|||||||
print '<td>';
|
print '<td>';
|
||||||
$defaultknown=0;
|
$defaultknown=0;
|
||||||
if (! empty($conf->global->CASHDESK_ID_BANKACCOUNT_CB) && $conf->global->CASHDESK_ID_BANKACCOUNT_CB > 0) $defaultknown=1; // If a particular stock is defined, we disable choice
|
if (! empty($conf->global->CASHDESK_ID_BANKACCOUNT_CB) && $conf->global->CASHDESK_ID_BANKACCOUNT_CB > 0) $defaultknown=1; // If a particular stock is defined, we disable choice
|
||||||
print $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CB,'CASHDESK_ID_BANKACCOUNT_CB',0,"courant=1",($defaultknown?0:2));
|
print $form->select_comptes(((GETPOST('bankid_cb') > 0)?GETPOST('bankid_cb'):$conf->global->CASHDESK_ID_BANKACCOUNT_CB),'CASHDESK_ID_BANKACCOUNT_CB',0,"courant=1",($defaultknown?0:2));
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
|
|||||||
@ -40,14 +40,14 @@ $bankid_cb = (GETPOST("CASHDESK_ID_BANKACCOUNT_CB")!='')?GETPOST("CASHDESK_ID_BA
|
|||||||
if (empty($username))
|
if (empty($username))
|
||||||
{
|
{
|
||||||
$retour=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Login"));
|
$retour=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Login"));
|
||||||
header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid);
|
header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid.'&bankid_cash='.$bankid_cash.'&bankid_cheque='.$bankid_cheque.'&bankid_cb='.$bankid_cb);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
// Check third party id
|
// Check third party id
|
||||||
if (! ($thirdpartyid > 0))
|
if (! ($thirdpartyid > 0))
|
||||||
{
|
{
|
||||||
$retour=$langs->trans("ErrorFieldRequired",$langs->transnoentities("CashDeskThirdPartyForSell"));
|
$retour=$langs->trans("ErrorFieldRequired",$langs->transnoentities("CashDeskThirdPartyForSell"));
|
||||||
header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid);
|
header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid.'&bankid_cash='.$bankid_cash.'&bankid_cheque='.$bankid_cheque.'&bankid_cb='.$bankid_cb);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ if (! ($thirdpartyid > 0))
|
|||||||
if (! empty($conf->stock->enabled) && $conf->global->STOCK_CALCULATE_ON_BILL && ! ($warehouseid > 0))
|
if (! empty($conf->stock->enabled) && $conf->global->STOCK_CALCULATE_ON_BILL && ! ($warehouseid > 0))
|
||||||
{
|
{
|
||||||
$retour=$langs->trans("CashDeskSetupStock");
|
$retour=$langs->trans("CashDeskSetupStock");
|
||||||
header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid);
|
header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid.'&bankid_cash='.$bankid_cash.'&bankid_cheque='.$bankid_cheque.'&bankid_cb='.$bankid_cb);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -352,7 +352,7 @@ class Propal extends CommonObject
|
|||||||
// qty, pu, remise_percent et txtva
|
// qty, pu, remise_percent et txtva
|
||||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits,$type);
|
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type);
|
||||||
$total_ht = $tabprice[0];
|
$total_ht = $tabprice[0];
|
||||||
$total_tva = $tabprice[1];
|
$total_tva = $tabprice[1];
|
||||||
$total_ttc = $tabprice[2];
|
$total_ttc = $tabprice[2];
|
||||||
|
|||||||
@ -1055,7 +1055,7 @@ class Commande extends CommonOrder
|
|||||||
// qty, pu, remise_percent et txtva
|
// qty, pu, remise_percent et txtva
|
||||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||||
$tabprice = calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits,$type);
|
$tabprice = calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type);
|
||||||
$total_ht = $tabprice[0];
|
$total_ht = $tabprice[0];
|
||||||
$total_tva = $tabprice[1];
|
$total_tva = $tabprice[1];
|
||||||
$total_ttc = $tabprice[2];
|
$total_ttc = $tabprice[2];
|
||||||
|
|||||||
@ -445,7 +445,7 @@ class FactureRec extends Facture
|
|||||||
// qty, pu, remise_percent et txtva
|
// qty, pu, remise_percent et txtva
|
||||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, 0, 0, 0, $price_base_type, $info_bits);
|
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, 0, 0, 0, $price_base_type, $info_bits, $type);
|
||||||
$total_ht = $tabprice[0];
|
$total_ht = $tabprice[0];
|
||||||
$total_tva = $tabprice[1];
|
$total_tva = $tabprice[1];
|
||||||
$total_ttc = $tabprice[2];
|
$total_ttc = $tabprice[2];
|
||||||
|
|||||||
@ -892,7 +892,7 @@ class Contrat extends CommonObject
|
|||||||
// qty, pu, remise_percent et txtva
|
// qty, pu, remise_percent et txtva
|
||||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits);
|
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, 1);
|
||||||
$total_ht = $tabprice[0];
|
$total_ht = $tabprice[0];
|
||||||
$total_tva = $tabprice[1];
|
$total_tva = $tabprice[1];
|
||||||
$total_ttc = $tabprice[2];
|
$total_ttc = $tabprice[2];
|
||||||
@ -995,6 +995,7 @@ class Contrat extends CommonObject
|
|||||||
$tvatx = price2num($tvatx);
|
$tvatx = price2num($tvatx);
|
||||||
$localtax1tx = price2num($localtax1tx);
|
$localtax1tx = price2num($localtax1tx);
|
||||||
$localtax2tx = price2num($localtax2tx);
|
$localtax2tx = price2num($localtax2tx);
|
||||||
|
|
||||||
$subprice = $price;
|
$subprice = $price;
|
||||||
$remise = 0;
|
$remise = 0;
|
||||||
if (dol_strlen($remise_percent) > 0)
|
if (dol_strlen($remise_percent) > 0)
|
||||||
@ -1015,7 +1016,7 @@ class Contrat extends CommonObject
|
|||||||
// qty, pu, remise_percent et txtva
|
// qty, pu, remise_percent et txtva
|
||||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $localtaxtx1, $txlocaltaxtx2, 0, $price_base_type, $info_bits);
|
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $localtaxtx1, $txlocaltaxtx2, 0, $price_base_type, $info_bits, 1);
|
||||||
$total_ht = $tabprice[0];
|
$total_ht = $tabprice[0];
|
||||||
$total_tva = $tabprice[1];
|
$total_tva = $tabprice[1];
|
||||||
$total_ttc = $tabprice[2];
|
$total_ttc = $tabprice[2];
|
||||||
@ -1879,7 +1880,7 @@ class ContratLigne
|
|||||||
// qty, pu, remise_percent et txtva
|
// qty, pu, remise_percent et txtva
|
||||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||||
$tabprice=calcul_price_total($this->qty, $this->price_ht, $this->remise_percent, $this->tva_tx, $this->localtax1_tx, $this->localtax2_tx, 0, 'HT', 0);
|
$tabprice=calcul_price_total($this->qty, $this->price_ht, $this->remise_percent, $this->tva_tx, $this->localtax1_tx, $this->localtax2_tx, 0, 'HT', 0, 1);
|
||||||
$this->total_ht = $tabprice[0];
|
$this->total_ht = $tabprice[0];
|
||||||
$this->total_tva = $tabprice[1];
|
$this->total_tva = $tabprice[1];
|
||||||
$this->total_ttc = $tabprice[2];
|
$this->total_ttc = $tabprice[2];
|
||||||
|
|||||||
@ -39,33 +39,46 @@
|
|||||||
* @param float $pu Unit price (HT or TTC selon price_base_type)
|
* @param float $pu Unit price (HT or TTC selon price_base_type)
|
||||||
* @param float $remise_percent_ligne Discount for line
|
* @param float $remise_percent_ligne Discount for line
|
||||||
* @param float $txtva Vat rate
|
* @param float $txtva Vat rate
|
||||||
* @param float $localtax1_rate Localtax1 rate (used for some countries only, like spain). Can also be negative
|
* @param float $localtax1_rate Localtax1 rate (used for some countries only, like spain). Can also be negative. TODO: Remove this param that is not used.
|
||||||
* @param float $localtax2_rate Localtax2 rate (used for some countries only, like spain). Can also be negative
|
* @param float $localtax2_rate Localtax2 rate (used for some countries only, like spain). Can also be negative. TODO: Remove this param that is not used.
|
||||||
* @param float $remise_percent_global 0
|
* @param float $remise_percent_global 0
|
||||||
* @param string $price_base_type HT=on calcule sur le HT, TTC=on calcule sur le TTC
|
* @param string $price_base_type HT=on calcule sur le HT, TTC=on calcule sur le TTC
|
||||||
* @param int $info_bits Miscellanous informations on line
|
* @param int $info_bits Miscellanous informations on line
|
||||||
* @param int $type 0/1=Product/service
|
* @param int $type 0/1=Product/service
|
||||||
* @param string $localtax1_type Localtax1 type (used for some countries only, like spain)
|
* @param string $seller Thirdparty seller (we need $seller->country_code property). Provided only if seller is the supplier.
|
||||||
* @param string $localtax2_type Localtax2 type (used for some countries only, like spain)
|
|
||||||
* @return result[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] (total_ht, total_vat, total_ttc, pu_ht, pu_tva, pu_ttc, total_ht_without_discount, total_vat_without_discount, total_ttc_without_discount, ...)
|
* @return result[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] (total_ht, total_vat, total_ttc, pu_ht, pu_tva, pu_ttc, total_ht_without_discount, total_vat_without_discount, total_ttc_without_discount, ...)
|
||||||
*/
|
*/
|
||||||
function calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $localtax1_rate=0, $localtax2_rate=0, $remise_percent_global=0, $price_base_type='HT', $info_bits=0, $type=0, $localtax1_type = '?', $localtax2_type = '?')
|
function calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $localtax1_rate, $localtax2_rate, $remise_percent_global, $price_base_type, $info_bits, $type, $seller = '')
|
||||||
{
|
{
|
||||||
global $conf,$mysoc;
|
global $conf,$mysoc,$db;
|
||||||
|
|
||||||
$result=array();
|
$result=array();
|
||||||
|
|
||||||
// TODO Remove this code. Added for backward compatibility. To remove once localtaxX_type is provided by caller.
|
$countryid=$mysoc->country_id; // By default, seller is user company.
|
||||||
if ($localtax1_type == '?')
|
if (! empty($seller) && is_object($seller)) $countryid=$seller->country_id; // If seller is a supplier, $seller is provided
|
||||||
|
|
||||||
|
// Now we search localtaxes information ourself (rates and types).
|
||||||
|
$sql = "SELECT taux, localtax1, localtax2, localtax1_type, localtax2_type";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."c_tva as cv";
|
||||||
|
//$sql.= ", ".MAIN_DB_PREFIX."c_pays as cc";
|
||||||
|
$sql.= " WHERE cv.taux = ".$txtva;
|
||||||
|
//$sql.= " AND cv.fk_pays = cc.rowid and cc.code = '".$mysoc->country_code."'";
|
||||||
|
$sql.= " AND cv.fk_pays = ".$countryid;
|
||||||
|
dol_syslog("search vat information sql=".$sql);
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
if ($resql)
|
||||||
{
|
{
|
||||||
if ($mysoc->country_code=='ES') $localtax1_type='3';
|
$obj = $db->fetch_object($resql);
|
||||||
else $localtax1_type='0';
|
if ($obj)
|
||||||
}
|
{
|
||||||
if ($localtax2_type == '?')
|
$localtax1_rate=$obj->localtax1;
|
||||||
{
|
$localtax2_rate=$obj->localtax2;
|
||||||
if ($mysoc->country_code=='ES') $localtax2_type='1';
|
$localtax1_type=$obj->localtax1_type;
|
||||||
else $localtax2_type='0';
|
$localtax2_type=$obj->localtax2_type;
|
||||||
|
//var_dump($localtax1_rate.' '.$localtax2_rate.' '.$localtax1_type.' '.$localtax2_type);exit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else dol_print_error($db);
|
||||||
|
|
||||||
// initialize total (may be HT or TTC depending on price_base_type)
|
// initialize total (may be HT or TTC depending on price_base_type)
|
||||||
$tot_sans_remise = $pu * $qty;
|
$tot_sans_remise = $pu * $qty;
|
||||||
@ -73,8 +86,7 @@ function calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $localtax1
|
|||||||
$tot_avec_remise = $tot_avec_remise_ligne * (1 - ($remise_percent_global / 100));
|
$tot_avec_remise = $tot_avec_remise_ligne * (1 - ($remise_percent_global / 100));
|
||||||
|
|
||||||
// initialize result
|
// initialize result
|
||||||
for ($i=0; $i <= 15; $i++)
|
for ($i=0; $i <= 15; $i++) $result[$i] = 0;
|
||||||
$result[$i] = 0;
|
|
||||||
|
|
||||||
// if there's some localtax including vat, we calculate localtaxes (we will add later)
|
// if there's some localtax including vat, we calculate localtaxes (we will add later)
|
||||||
$localtaxes = array(0,0,0);
|
$localtaxes = array(0,0,0);
|
||||||
|
|||||||
@ -287,8 +287,9 @@ class InterfaceActionsAuto
|
|||||||
$langs->load("bills");
|
$langs->load("bills");
|
||||||
$langs->load("agenda");
|
$langs->load("agenda");
|
||||||
|
|
||||||
|
// Values for this action can't be defined by caller.
|
||||||
$object->actiontypecode='AC_OTH';
|
$object->actiontypecode='AC_OTH';
|
||||||
if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref);
|
$object->actionmsg2=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref);
|
||||||
$object->actionmsg=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref);
|
$object->actionmsg=$langs->transnoentities("InvoicePaidInDolibarr",$object->ref);
|
||||||
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
$object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
|
||||||
|
|
||||||
|
|||||||
@ -918,7 +918,7 @@ class Expedition extends CommonObject
|
|||||||
$line->subprice = $obj->subprice;
|
$line->subprice = $obj->subprice;
|
||||||
$line->remise_percent = $obj->remise_percent;
|
$line->remise_percent = $obj->remise_percent;
|
||||||
|
|
||||||
$tabprice = calcul_price_total($obj->qty_shipped, $obj->subprice, $obj->remise_percent, $obj->tva_tx, $obj->localtax1_tx, $obj->localtax2_tx, 0, 'HT', $info_bits);
|
$tabprice = calcul_price_total($obj->qty_shipped, $obj->subprice, $obj->remise_percent, $obj->tva_tx, $obj->localtax1_tx, $obj->localtax2_tx, 0, 'HT', $info_bits, $obj->fk_product_type); // We force type to 0
|
||||||
$this->total_ht+= $tabprice[0];
|
$this->total_ht+= $tabprice[0];
|
||||||
$this->total_tva+= $tabprice[1];
|
$this->total_tva+= $tabprice[1];
|
||||||
$this->total_ttc+= $tabprice[2];
|
$this->total_ttc+= $tabprice[2];
|
||||||
|
|||||||
@ -1101,7 +1101,7 @@ class CommandeFournisseur extends CommonOrder
|
|||||||
// qty, pu, remise_percent et txtva
|
// qty, pu, remise_percent et txtva
|
||||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||||
$tabprice = calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits);
|
$tabprice = calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $product_type, $this->thirdparty);
|
||||||
$total_ht = $tabprice[0];
|
$total_ht = $tabprice[0];
|
||||||
$total_tva = $tabprice[1];
|
$total_tva = $tabprice[1];
|
||||||
$total_ttc = $tabprice[2];
|
$total_ttc = $tabprice[2];
|
||||||
@ -1110,25 +1110,17 @@ class CommandeFournisseur extends CommonOrder
|
|||||||
|
|
||||||
$subprice = price2num($pu,'MU');
|
$subprice = price2num($pu,'MU');
|
||||||
|
|
||||||
// TODO A virer
|
|
||||||
// Anciens indicateurs: $price, $remise (a ne plus utiliser)
|
|
||||||
$remise = 0;
|
|
||||||
if ($remise_percent > 0)
|
|
||||||
{
|
|
||||||
$remise = round(($pu * $remise_percent / 100), 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."commande_fournisseurdet";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."commande_fournisseurdet";
|
||||||
$sql.= " (fk_commande,label, description,";
|
$sql.= " (fk_commande,label, description,";
|
||||||
$sql.= " fk_product, product_type,";
|
$sql.= " fk_product, product_type,";
|
||||||
$sql.= " qty, tva_tx, localtax1_tx, localtax2_tx, remise_percent, subprice, remise, ref,";
|
$sql.= " qty, tva_tx, localtax1_tx, localtax2_tx, remise_percent, subprice, ref,";
|
||||||
$sql.= " total_ht, total_tva, total_localtax1, total_localtax2, total_ttc";
|
$sql.= " total_ht, total_tva, total_localtax1, total_localtax2, total_ttc";
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
$sql.= " VALUES (".$this->id.", '" . $this->db->escape($label) . "','" . $this->db->escape($desc) . "',";
|
$sql.= " VALUES (".$this->id.", '" . $this->db->escape($label) . "','" . $this->db->escape($desc) . "',";
|
||||||
if ($fk_product) { $sql.= $fk_product.","; }
|
if ($fk_product) { $sql.= $fk_product.","; }
|
||||||
else { $sql.= "null,"; }
|
else { $sql.= "null,"; }
|
||||||
$sql.= "'".$product_type."',";
|
$sql.= "'".$product_type."',";
|
||||||
$sql.= "'".$qty."', ".$txtva.", ".$txlocaltax1.", ".$txlocaltax2.", ".$remise_percent.",'".price2num($subprice,'MU')."','".price2num($remise)."','".$ref."',";
|
$sql.= "'".$qty."', ".$txtva.", ".$txlocaltax1.", ".$txlocaltax2.", ".$remise_percent.",'".price2num($subprice,'MU')."','".$ref."',";
|
||||||
$sql.= "'".price2num($total_ht)."',";
|
$sql.= "'".price2num($total_ht)."',";
|
||||||
$sql.= "'".price2num($total_tva)."',";
|
$sql.= "'".price2num($total_tva)."',";
|
||||||
$sql.= "'".price2num($total_localtax1)."',";
|
$sql.= "'".price2num($total_localtax1)."',";
|
||||||
@ -1597,7 +1589,7 @@ class CommandeFournisseur extends CommonOrder
|
|||||||
* @param double $price_base_type Type of price base
|
* @param double $price_base_type Type of price base
|
||||||
* @param int $info_bits Miscellanous informations
|
* @param int $info_bits Miscellanous informations
|
||||||
* @param int $type Type of line (0=product, 1=service)
|
* @param int $type Type of line (0=product, 1=service)
|
||||||
* @param int $notrigger Disable triggers
|
* @param int $notrigger Disable triggers
|
||||||
* @return int < 0 if error, > 0 if ok
|
* @return int < 0 if error, > 0 if ok
|
||||||
*/
|
*/
|
||||||
function updateline($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0, $txlocaltax2=0, $price_base_type='HT', $info_bits=0, $type=0, $notrigger=false)
|
function updateline($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0, $txlocaltax2=0, $price_base_type='HT', $info_bits=0, $type=0, $notrigger=false)
|
||||||
@ -1633,27 +1625,20 @@ class CommandeFournisseur extends CommonOrder
|
|||||||
// qty, pu, remise_percent et txtva
|
// qty, pu, remise_percent et txtva
|
||||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits);
|
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $this->thirdparty);
|
||||||
$total_ht = $tabprice[0];
|
$total_ht = $tabprice[0];
|
||||||
$total_tva = $tabprice[1];
|
$total_tva = $tabprice[1];
|
||||||
$total_ttc = $tabprice[2];
|
$total_ttc = $tabprice[2];
|
||||||
$total_localtax1 = $tabprice[9];
|
$total_localtax1 = $tabprice[9];
|
||||||
$total_localtax2 = $tabprice[10];
|
$total_localtax2 = $tabprice[10];
|
||||||
|
|
||||||
// Anciens indicateurs: $price, $subprice, $remise (a ne plus utiliser)
|
$subprice = price2num($pu,'MU');
|
||||||
$subprice = $pu;
|
|
||||||
$remise = 0;
|
|
||||||
if ($remise_percent > 0)
|
|
||||||
{
|
|
||||||
$remise = round(($pu * $remise_percent / 100),2);
|
|
||||||
}
|
|
||||||
$subprice = price2num($subprice);
|
|
||||||
|
|
||||||
// Mise a jour ligne en base
|
// Mise a jour ligne en base
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseurdet SET";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseurdet SET";
|
||||||
$sql.= " description='".$this->db->escape($desc)."'";
|
$sql.= " description='".$this->db->escape($desc)."'";
|
||||||
$sql.= ",subprice='".price2num($subprice)."'";
|
$sql.= ",subprice='".price2num($subprice)."'";
|
||||||
$sql.= ",remise='".price2num($remise)."'";
|
//$sql.= ",remise='".price2num($remise)."'";
|
||||||
$sql.= ",remise_percent='".price2num($remise_percent)."'";
|
$sql.= ",remise_percent='".price2num($remise_percent)."'";
|
||||||
$sql.= ",tva_tx='".price2num($txtva)."'";
|
$sql.= ",tva_tx='".price2num($txtva)."'";
|
||||||
$sql.= ",localtax1_tx='".price2num($txlocaltax1)."'";
|
$sql.= ",localtax1_tx='".price2num($txlocaltax1)."'";
|
||||||
|
|||||||
@ -1009,7 +1009,7 @@ class FactureFournisseur extends CommonInvoice
|
|||||||
|
|
||||||
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'facture_fourn_det (fk_facture_fourn)';
|
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'facture_fourn_det (fk_facture_fourn)';
|
||||||
$sql.= ' VALUES ('.$this->id.')';
|
$sql.= ' VALUES ('.$this->id.')';
|
||||||
dol_syslog("Fournisseur.facture::addline sql=".$sql);
|
dol_syslog(get_class($this)."::addline sql=".$sql);
|
||||||
|
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
@ -1092,7 +1092,7 @@ class FactureFournisseur extends CommonInvoice
|
|||||||
// qty, pu, remise_percent et txtva
|
// qty, pu, remise_percent et txtva
|
||||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||||
$tabprice = calcul_price_total($qty, $pu, $remise_percent, $vatrate, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits);
|
$tabprice = calcul_price_total($qty, $pu, $remise_percent, $vatrate, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $this->thirdparty);
|
||||||
$total_ht = $tabprice[0];
|
$total_ht = $tabprice[0];
|
||||||
$total_tva = $tabprice[1];
|
$total_tva = $tabprice[1];
|
||||||
$total_ttc = $tabprice[2];
|
$total_ttc = $tabprice[2];
|
||||||
@ -1132,7 +1132,7 @@ class FactureFournisseur extends CommonInvoice
|
|||||||
$sql.= ", product_type = ".$product_type;
|
$sql.= ", product_type = ".$product_type;
|
||||||
$sql.= " WHERE rowid = ".$id;
|
$sql.= " WHERE rowid = ".$id;
|
||||||
|
|
||||||
dol_syslog("Fournisseur.facture::updateline sql=".$sql);
|
dol_syslog(get_class($this)."::updateline sql=".$sql);
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
@ -1157,7 +1157,7 @@ class FactureFournisseur extends CommonInvoice
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error=$this->db->lasterror();
|
$this->error=$this->db->lasterror();
|
||||||
dol_syslog("Fournisseur.facture::updateline error=".$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::updateline error=".$this->error, LOG_ERR);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1268,7 +1268,7 @@ function migrate_price_facture($db,$langs,$conf)
|
|||||||
$facligne= new FactureLigne($db);
|
$facligne= new FactureLigne($db);
|
||||||
$facligne->fetch($rowid);
|
$facligne->fetch($rowid);
|
||||||
|
|
||||||
$result=calcul_price_total($qty,$pu,$remise_percent,$txtva, 0, 0,$remise_percent_global,'HT',$info_bits);
|
$result=calcul_price_total($qty,$pu,$remise_percent,$txtva, 0, 0,$remise_percent_global,'HT',$info_bits,0);
|
||||||
$total_ht = $result[0];
|
$total_ht = $result[0];
|
||||||
$total_tva = $result[1];
|
$total_tva = $result[1];
|
||||||
$total_ttc = $result[2];
|
$total_ttc = $result[2];
|
||||||
@ -1380,7 +1380,7 @@ function migrate_price_propal($db,$langs,$conf)
|
|||||||
$propalligne= new PropaleLigne($db);
|
$propalligne= new PropaleLigne($db);
|
||||||
$propalligne->fetch($rowid);
|
$propalligne->fetch($rowid);
|
||||||
|
|
||||||
$result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,$remise_percent_global,'HT',$info_bits);
|
$result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,$remise_percent_global,'HT',$info_bits,0);
|
||||||
$total_ht = $result[0];
|
$total_ht = $result[0];
|
||||||
$total_tva = $result[1];
|
$total_tva = $result[1];
|
||||||
$total_ttc = $result[2];
|
$total_ttc = $result[2];
|
||||||
@ -1485,7 +1485,7 @@ function migrate_price_contrat($db,$langs,$conf)
|
|||||||
//$contratligne->fetch($rowid); Non requis car le update_total ne met a jour que chp redefinis
|
//$contratligne->fetch($rowid); Non requis car le update_total ne met a jour que chp redefinis
|
||||||
$contratligne->rowid=$rowid;
|
$contratligne->rowid=$rowid;
|
||||||
|
|
||||||
$result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,0,'HT',$info_bits);
|
$result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,0,'HT',$info_bits,0);
|
||||||
$total_ht = $result[0];
|
$total_ht = $result[0];
|
||||||
$total_tva = $result[1];
|
$total_tva = $result[1];
|
||||||
$total_ttc = $result[2];
|
$total_ttc = $result[2];
|
||||||
@ -1570,7 +1570,7 @@ function migrate_price_commande($db,$langs,$conf)
|
|||||||
$commandeligne= new OrderLine($db);
|
$commandeligne= new OrderLine($db);
|
||||||
$commandeligne->fetch($rowid);
|
$commandeligne->fetch($rowid);
|
||||||
|
|
||||||
$result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,$remise_percent_global,'HT',$info_bits);
|
$result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,$remise_percent_global,'HT',$info_bits,0);
|
||||||
$total_ht = $result[0];
|
$total_ht = $result[0];
|
||||||
$total_tva = $result[1];
|
$total_tva = $result[1];
|
||||||
$total_ttc = $result[2];
|
$total_ttc = $result[2];
|
||||||
@ -1684,7 +1684,7 @@ function migrate_price_commande_fournisseur($db,$langs,$conf)
|
|||||||
$commandeligne= new CommandeFournisseurLigne($db);
|
$commandeligne= new CommandeFournisseurLigne($db);
|
||||||
$commandeligne->fetch($rowid);
|
$commandeligne->fetch($rowid);
|
||||||
|
|
||||||
$result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,$remise_percent_global,'HT',$info_bits);
|
$result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,$remise_percent_global,'HT',$info_bits,0);
|
||||||
$total_ht = $result[0];
|
$total_ht = $result[0];
|
||||||
$total_tva = $result[1];
|
$total_tva = $result[1];
|
||||||
$total_ttc = $result[2];
|
$total_ttc = $result[2];
|
||||||
|
|||||||
@ -38,16 +38,21 @@ function marges_admin_prepare_head()
|
|||||||
$head[$h][2] = 'parameters';
|
$head[$h][2] = 'parameters';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
// Show more tabs from modules
|
// Show more tabs from modules
|
||||||
// Entries must be declared in modules descriptor with line
|
// Entries must be declared in modules descriptor with line
|
||||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||||
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
// $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab
|
||||||
complete_head_from_modules($conf,$langs,'',$head,$h,'margesadmin');
|
complete_head_from_modules($conf,$langs,'',$head,$h,'margesadmin');
|
||||||
|
|
||||||
return $head;
|
return $head;
|
||||||
}
|
}
|
||||||
|
|
||||||
function marges_prepare_head($user)
|
/**
|
||||||
|
* Return array of tabs to used on pages for third parties cards.
|
||||||
|
*
|
||||||
|
* @return array Array of tabs
|
||||||
|
*/
|
||||||
|
function marges_prepare_head()
|
||||||
{
|
{
|
||||||
global $langs, $conf;
|
global $langs, $conf;
|
||||||
$langs->load("marges@marges");
|
$langs->load("marges@marges");
|
||||||
@ -87,36 +92,36 @@ function marges_prepare_head($user)
|
|||||||
*/
|
*/
|
||||||
function getMarginInfos($pvht, $remise_percent, $tva_tx, $localtax1_tx, $localtax2_tx, $fk_pa, $paht)
|
function getMarginInfos($pvht, $remise_percent, $tva_tx, $localtax1_tx, $localtax2_tx, $fk_pa, $paht)
|
||||||
{
|
{
|
||||||
global $db, $conf;
|
global $db, $conf;
|
||||||
|
|
||||||
$marge_tx_ret='';
|
$marge_tx_ret='';
|
||||||
$marque_tx_ret='';
|
$marque_tx_ret='';
|
||||||
|
|
||||||
if($fk_pa > 0) {
|
if($fk_pa > 0) {
|
||||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php';
|
||||||
$product = new ProductFournisseur($db);
|
$product = new ProductFournisseur($db);
|
||||||
if ($product->fetch_product_fournisseur_price($fk_pa)) {
|
if ($product->fetch_product_fournisseur_price($fk_pa)) {
|
||||||
$paht_ret = $product->fourn_unitprice;
|
$paht_ret = $product->fourn_unitprice;
|
||||||
if ($conf->global->MARGIN_TYPE == "2" && $product->fourn_unitcharges > 0)
|
if ($conf->global->MARGIN_TYPE == "2" && $product->fourn_unitcharges > 0)
|
||||||
$paht_ret += $product->fourn_unitcharges;
|
$paht_ret += $product->fourn_unitcharges;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$paht_ret = $paht;
|
$paht_ret = $paht;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$paht_ret = $paht;
|
$paht_ret = $paht;
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php';
|
||||||
// calcul pu_ht remisés
|
// calcul pu_ht remisés
|
||||||
$tabprice=calcul_price_total(1, $pvht, $remise_percent, $tva_tx, $localtax1_tx, $localtax2_tx, 0, 'HT');
|
$tabprice=calcul_price_total(1, $pvht, $remise_percent, $tva_tx, $localtax1_tx, $localtax2_tx, 0, 'HT', 0, 0); // FIXME Parameter type is missing, i put 0 to avoid blocking error
|
||||||
$pu_ht_remise = $tabprice[0];
|
$pu_ht_remise = $tabprice[0];
|
||||||
// calcul taux marge
|
// calcul taux marge
|
||||||
if ($paht_ret != 0)
|
if ($paht_ret != 0)
|
||||||
$marge_tx_ret = round((100 * ($pu_ht_remise - $paht_ret)) / $paht_ret, 3);
|
$marge_tx_ret = round((100 * ($pu_ht_remise - $paht_ret)) / $paht_ret, 3);
|
||||||
// calcul taux marque
|
// calcul taux marque
|
||||||
if ($pu_ht_remise != 0)
|
if ($pu_ht_remise != 0)
|
||||||
$marque_tx_ret = round((100 * ($pu_ht_remise - $paht_ret)) / $pu_ht_remise, 3);
|
$marque_tx_ret = round((100 * ($pu_ht_remise - $paht_ret)) / $pu_ht_remise, 3);
|
||||||
|
|
||||||
return array($paht_ret, $marge_tx_ret, $marque_tx_ret);
|
return array($paht_ret, $marge_tx_ret, $marque_tx_ret);
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
Loading…
Reference in New Issue
Block a user