From b3a035951fa85f1903d93d5ed36e5fd217b0793a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a?= Date: Sat, 13 Apr 2013 15:22:59 +0200 Subject: [PATCH] [ bug #817 ] Purchases journal does not reflect localtaxes --- ChangeLog | 1 + htdocs/compta/journal/purchasesjournal.php | 49 +++++++++++++++++++--- 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5300f3f219b..15db292de73 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,7 @@ English Dolibarr ChangeLog - Fix: [ bug #787 ] Invoice supplier box incorrect tooltip when delay on payment - Fix: [ bug #794 ] Lost filter on zipcode in prospect list - Fix: [ bug #774 ] Bug on creating event with box "all day" crossed +- Fix: [ bug #817 ] Purchases journal does not reflect localtaxes - Fix: Orderstoinvoice didn't act as expected when no order was checked diff --git a/htdocs/compta/journal/purchasesjournal.php b/htdocs/compta/journal/purchasesjournal.php index 1521802a580..66f7f5a6aa2 100755 --- a/htdocs/compta/journal/purchasesjournal.php +++ b/htdocs/compta/journal/purchasesjournal.php @@ -24,6 +24,8 @@ * \ingroup societe, fournisseur, facture * \brief Page with purchases journal */ +global $mysoc; + require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/report.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; @@ -58,7 +60,7 @@ if (! empty($conf->accounting->enabled)) $result=restrictedArea($user,'accountin * View */ -llxHeader('','',''); +llxHeader('',$langs->trans("PurchasesJournal"),''); $form=new Form($db); @@ -94,12 +96,14 @@ $p = explode(":", $conf->global->MAIN_INFO_SOCIETE_PAYS); $idpays = $p[0]; $sql = "SELECT f.rowid, f.facnumber, f.type, f.datef, f.libelle,"; -$sql.= " fd.total_ttc, fd.tva_tx, fd.total_ht, fd.tva as total_tva, fd.product_type,"; +$sql.= " fd.total_ttc, fd.tva_tx, fd.total_ht, fd.tva as total_tva, fd.product_type, fd.localtax1_tx, fd.localtax2_tx, fd.total_localtax1, fd.total_localtax2,"; $sql.= " s.rowid as socid, s.nom as name, s.code_compta_fournisseur,"; $sql.= " p.rowid as pid, p.ref as ref, p.accountancy_code_buy,"; -$sql.= " ct.accountancy_code_buy as account_tva"; +$sql.= " ct.accountancy_code_buy as account_tva, ctl1.accountancy_code_buy as account_localtax1, ctl2.accountancy_code_buy as account_localtax2"; $sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn_det fd"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_tva ct ON fd.tva_tx = ct.taux AND ct.fk_pays = '".$idpays."'"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_tva ctl1 ON fd.localtax1_tx = ctl1.localtax1 AND ctl1.fk_pays = '".$idpays."'"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_tva ctl2 ON fd.localtax2_tx = ctl2.localtax2 AND ctl2.fk_pays = '".$idpays."'"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product p ON p.rowid = fd.fk_product"; $sql.= " JOIN ".MAIN_DB_PREFIX."facture_fourn f ON f.rowid = fd.fk_facture_fourn"; $sql.= " JOIN ".MAIN_DB_PREFIX."societe s ON s.rowid = f.fk_soc" ; @@ -120,6 +124,8 @@ if ($result) $tabht = array(); $tabtva = array(); $tabttc = array(); + $tablocaltax1 = array(); + $tablocaltax2 = array(); $tabcompany = array(); $i=0; @@ -135,6 +141,8 @@ if ($result) else $compta_prod = (! empty($conf->global->COMPTA_SERVICE_BUY_ACCOUNT)?$conf->global->COMPTA_SERVICE_BUY_ACCOUNT:$langs->trans("CodeNotDef")); } $compta_tva = (! empty($obj->account_tva)?$obj->account_tva:$cpttva); + $compta_localtax1 = (! empty($obj->account_localtax1)?$obj->account_localtax1:$langs->trans("CodeNotDef")); + $compta_localtax2 = (! empty($obj->account_localtax2)?$obj->account_localtax2:$langs->trans("CodeNotDef")); $tabfac[$obj->rowid]["date"] = $obj->datef; $tabfac[$obj->rowid]["ref"] = $obj->facnumber; @@ -143,6 +151,8 @@ if ($result) $tabttc[$obj->rowid][$compta_soc] += $obj->total_ttc; $tabht[$obj->rowid][$compta_prod] += $obj->total_ht; $tabtva[$obj->rowid][$compta_tva] += $obj->total_tva; + $tablocaltax1[$obj->rowid][$compta_localtax1] += $obj->total_localtax1; + $tablocaltax2[$obj->rowid][$compta_localtax2] += $obj->total_localtax2; $tabcompany[$obj->rowid]=array('id'=>$obj->socid,'name'=>$obj->name); $i++; @@ -193,7 +203,6 @@ foreach ($tabfac as $key => $val) } } // vat - //var_dump($tabtva); foreach ($tabtva[$key] as $k => $mt) { if ($mt) @@ -202,12 +211,42 @@ foreach ($tabfac as $key => $val) //print "".$conf->global->COMPTA_JOURNAL_BUY.""; print "".$val["date"].""; print "".$invoicestatic->getNomUrl(1).""; - print "".$k."".$langs->trans("VAT")." ".$key.""; + print "".$k."".$langs->trans("VAT").""; print ''.($mt>=0?price($mt):'').""; print ''.($mt<0?price(-$mt):'').""; print ""; } } + // localtax1 + foreach ($tablocaltax1[$key] as $k => $mt) + { + if ($mt) + { + print ""; + //print "".$conf->global->COMPTA_JOURNAL_BUY.""; + print "".$val["date"].""; + print "".$invoicestatic->getNomUrl(1).""; + print "".$k."".$langs->transcountrynoentities("LT1",$mysoc->country_code).""; + print "".($mt>=0?price($mt):'').""; + print "".($mt<0?price(-$mt):'').""; + print ""; + } + } + // localtax2 + foreach ($tablocaltax2[$key] as $k => $mt) + { + if ($mt) + { + print ""; + //print "".$conf->global->COMPTA_JOURNAL_BUY.""; + print "".$val["date"].""; + print "".$invoicestatic->getNomUrl(1).""; + print "".$k."".$langs->transcountrynoentities("LT2",$mysoc->country_code).""; + print "".($mt>=0?price($mt):'').""; + print "".($mt<0?price(-$mt):'').""; + print ""; + } + } print ""; // third party //print "".$conf->global->COMPTA_JOURNAL_BUY."";