diff --git a/htdocs/compta/ventilation/fournisseur/fiche.php b/htdocs/compta/ventilation/fournisseur/fiche.php new file mode 100644 index 00000000000..bc3981d4570 --- /dev/null +++ b/htdocs/compta/ventilation/fournisseur/fiche.php @@ -0,0 +1,154 @@ + + * Copyright (C) 2005 Simon TOSSER + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ + +/** + \file htdocs/compta/ventilation/fournisseur/fiche.php + \ingroup compta + \brief Page fiche ventilation + \version $Revision$ +*/ + +require("./pre.inc.php"); + +$mesg = ''; + +if (!$user->rights->compta->ventilation->creer) accessforbidden(); + +if ($_POST["action"] == 'ventil' && $user->rights->compta->ventilation->creer) +{ + $sql = " UPDATE ".MAIN_DB_PREFIX."facture_fourn_det"; + $sql .= " SET fk_code_ventilation = ".$_POST["codeventil"]; + $sql .= " WHERE rowid = ".$_GET["id"]; + + $db->query($sql); +} + +llxHeader("","","Fiche ventilation"); + +if ($cancel == $langs->trans("Cancel")) +{ + $action = ''; +} +/* + * + * + */ + +$sql = "SELECT rowid, numero, intitule"; +$sql .= " FROM ".MAIN_DB_PREFIX."compta_compte_generaux"; +$sql .= " ORDER BY numero ASC"; + +$result = $db->query($sql); +if ($result) +{ + $num = $db->num_rows($result); + $i = 0; + + while ($i < $num) + { + $row = $db->fetch_row($result); + $cgs[$row[0]] = $row[1] . ' ' . $row[2]; + $i++; + } +} + +/* + * Création + * + */ +$form = new Form($db); + +if($_GET["id"]) +{ + $sql = "SELECT f.facnumber, f.rowid as facid, l.fk_product, l.description, l.total_ttc, l.qty, l.rowid, l.tva_taux, l.fk_code_ventilation "; + $sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn_det as l"; + $sql .= " , ".MAIN_DB_PREFIX."facture_fourn as f"; + $sql .= " WHERE f.rowid = l.fk_facture_fourn AND f.fk_statut = 1 AND l.rowid = ".$_GET["id"]; + + $result = $db->query($sql); + + if ($result) + { + $num_lignes = $db->num_rows($result); + $i = 0; + + if ($num_lignes) + { + + $objp = $db->fetch_object($result); + + + if($objp->fk_code_ventilation == 0) + { + print '
'."\n"; + print ''; + } + + + print_titre("Ventilation"); + + print ''; + print ''; + print ''; + + print ''; + print ''; + print ''; + + if($objp->fk_code_ventilation == 0) + { + print ''; + } + print '
Facture'.$objp->facnumber.'
Ligne'.stripslashes(nl2br($objp->description)).'
Ventiler dans le compte :'; + + if($objp->fk_code_ventilation == 0) + { + print $form->select_array("codeventil",$cgs, $objp->fk_code_ventilation); + } + else + { + print $cgs[$objp->fk_code_ventilation]; + } + + print '
 
'; + print '
'; + } + else + { + print "Error"; + } + } + else + { + print "Error"; + } +} +else +{ + print "Error ID incorrect"; +} + +$db->close(); + +llxFooter("Dernière modification $Date$ révision $Revision$"); +?> diff --git a/htdocs/compta/ventilation/fournisseur/index.php b/htdocs/compta/ventilation/fournisseur/index.php new file mode 100644 index 00000000000..a88c0e53ec9 --- /dev/null +++ b/htdocs/compta/ventilation/fournisseur/index.php @@ -0,0 +1,133 @@ + + * Copyright (C) 2004 Laurent Destailleur + * Copyright (C) 2005 Simon TOSSER + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ + +/** + \file htdocs/compta/ventilation/fournisseur/index.php + \ingroup compta + \brief Page accueil ventilation + \version $Revision$ +*/ + +require("./pre.inc.php"); +$langs->load("suppliers"); + + +llxHeader('','Compta - Ventilation'); + +print_titre("Ventilation Comptable"); + +print ''; + +print '
'; + + + +$sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."facturedet"; +$sql .= " WHERE fk_export_compta = 0"; +$result = $db->query($sql); +if ($result) +{ + $row = $db->fetch_row($result); + $nbfac = $row[0]; + + $db->free($result); +} + +$sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."paiement"; +$sql .= " WHERE fk_export_compta = 0"; + +$result = $db->query($sql); +if ($result) +{ + $row = $db->fetch_row($result); + $nbp = $row[0]; + + $db->free($result); +} + +$sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."facture_fourn_det"; +$sql .= " WHERE fk_export_compta = 0"; +$result = $db->query($sql); +if ($result) +{ + $row = $db->fetch_row($result); + $nbfacfourn = $row[0]; + + $db->free($result); +} + +/*$sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."paiementfourn"; +$sql .= " WHERE fk_export_compta = 0"; + +$result = $db->query($sql); +if ($result) +{ + $row = $db->fetch_row($result); + $nbpfourn = $row[0]; + + $db->free($result); +}*/ + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +//print ''; +print "
Lignes a ventiler
TypeNb
Factures clients'.$nbfac.'
Paiements clients'.$nbp.'
Factures fournisseurs'.$nbfacfourn.'
Paiements fournisseurs'.$nbpfourn.'
\n"; + +print '
'; + +print ''; +print ''; + +$sql = "SELECT count(*), ccg.intitule FROM ".MAIN_DB_PREFIX."facturedet as fd"; +$sql .= " ,".MAIN_DB_PREFIX."compta_compte_generaux as ccg"; +$sql .= " WHERE fd.fk_code_ventilation = ccg.rowid"; +$sql .= " GROUP BY ccg.rowid"; + +$resql = $db->query($sql); +if ($resql) +{ + $i = 0; + $num = $db->num_rows($resql); + + while ($i < $num) + { + + $row = $db->fetch_row($resql); + + print ''; + $i++; + } + $db->free($resql); +} +print "
TypeNb de lignes
'.$row[1].''.$row[0].'
\n"; + +print '
'; + +llxFooter("Dernière modification $Date$ révision $Revision$"); + +?> diff --git a/htdocs/compta/ventilation/fournisseur/lignes.php b/htdocs/compta/ventilation/fournisseur/lignes.php new file mode 100644 index 00000000000..20a38a2186d --- /dev/null +++ b/htdocs/compta/ventilation/fournisseur/lignes.php @@ -0,0 +1,122 @@ + + * Copyright (C) 2005 Simon TOSSER + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ + +/*! + \file htdocs/compta/ventilation/fournisseur/lignes.php + \ingroup facture + \brief Page de detail des lignes de ventilation d'une facture + \version $Revision$ +*/ + +require("./pre.inc.php"); + +$user->getrights('facture'); +$user->getrights('banque'); +$langs->load("bills"); + +if (!$user->rights->facture->lire) accessforbidden(); +if (!$user->rights->compta->ventilation->creer) accessforbidden(); +/* + * Sécurité accés client + */ +if ($user->societe_id > 0) accessforbidden(); + +llxHeader(''); + +/* + * Lignes de factures + * + */ +$page = $_GET["page"]; +if ($page < 0) $page = 0; +$limit = $conf->liste_limit; +$offset = $limit * $page ; + +$sql = "SELECT f.facnumber, f.rowid as facid, l.fk_product, l.description, l.total_ttc as price, l.qty, l.rowid, l.tva_taux, l.fk_code_ventilation, c.intitule, c.numero "; +$sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn_det as l"; +$sql .= " , ".MAIN_DB_PREFIX."facture_fourn as f"; +$sql .= " , ".MAIN_DB_PREFIX."compta_compte_generaux as c"; + +$sql .= " WHERE f.rowid = l.fk_facture_fourn AND f.fk_statut = 1 AND l.fk_code_ventilation <> 0 "; +$sql .= " AND c.rowid = l.fk_code_ventilation"; + +if (strlen(trim($_GET["search_facture"]))) +{ + $sql .= " AND f.facnumber like '%".$_GET["search_facture"]."%'"; +} + +$sql .= " ORDER BY l.rowid DESC"; +$sql .= $db->plimit($limit+1,$offset); + +$result = $db->query($sql); + +if ($result) +{ + $num_lignes = $db->num_rows($result); + $i = 0; + + print_barre_liste("Lignes de facture ventilées",$page,"lignes.php","",$sortfield,$sortorder,'',$num_lignes); + + print '
'; + print ''; + print ""; + print ''; + print ''; + print ''; + print "\n"; + + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + + $var=True; + while ($i < min($num_lignes, $limit)) + { + $objp = $db->fetch_object($result); + $var=!$var; + print ""; + + print ''; + + print ''; + print ''; + print ''; + print ''; + + print ""; + $i++; + } +} +else +{ + print $db->error(); +} + +print "
Facture'.$langs->trans("Description").''.$langs->trans("Montant").''.$langs->trans("Compte").'
   
'.$objp->facnumber.''.stripslashes(nl2br($objp->description)).''.price($objp->price).''.$objp->numero.''.stripslashes($objp->intitule).'
"; + +$db->close(); + +llxFooter("Dernière modification $Date$ révision $Revision$"); +?> diff --git a/htdocs/compta/ventilation/fournisseur/liste.php b/htdocs/compta/ventilation/fournisseur/liste.php new file mode 100644 index 00000000000..0083bdee0dd --- /dev/null +++ b/htdocs/compta/ventilation/fournisseur/liste.php @@ -0,0 +1,113 @@ + + * Copyright (C) 2004 Éric Seigne + * Copyright (C) 2004 Laurent Destailleur + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ + + +/*! + \file htdocs/compta/ventilation/liste.php + \ingroup compta + \brief Page de ventilation des lignes de facture + \version $Revision$ +*/ + +require("./pre.inc.php"); + +$user->getrights('facture'); +$user->getrights('banque'); +$langs->load("bills"); + +if (!$user->rights->facture->lire) accessforbidden(); +if (!$user->rights->compta->ventilation->creer) accessforbidden(); +/* + * Sécurité accés client + */ +if ($user->societe_id > 0) accessforbidden(); + + +llxHeader('','Ventilation'); + +/* + * Lignes de factures + * + */ +$page = $_GET["page"]; +if ($page < 0) $page = 0; +$limit = $conf->liste_limit; +$offset = $limit * $page ; + +$sql = "SELECT f.facnumber, f.rowid as facid, l.fk_product, l.description, l.total_ttc as price, l.rowid, l.fk_code_ventilation "; +$sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn_det as l"; +$sql .= " , ".MAIN_DB_PREFIX."facture_fourn as f"; +$sql .= " WHERE f.rowid = l.fk_facture_fourn AND f.fk_statut = 1 AND fk_code_ventilation = 0"; +$sql .= " ORDER BY l.rowid DESC ".$db->plimit($limit+1,$offset); + +$result = $db->query($sql); +if ($result) +{ + $num_lignes = $db->num_rows($result); + $i = 0; + + print_barre_liste("Lignes de facture à ventiler",$page,"liste.php","",$sortfield,$sortorder,'',$num_lignes); + + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + + $var=True; + while ($i < min($num_lignes, $limit)) + { + $objp = $db->fetch_object($result); + $var=!$var; + print ""; + + print ''; + print ''; + + print ''; + + print ''; + + print ""; + $i++; + } + +print "
Facture'.$langs->trans("Description").'  
'.$objp->facnumber.''.stripslashes(nl2br($objp->description)).''; + print price($objp->price); + print ''; + print img_edit(); + print '
"; + + + +} +else +{ + print $db->error(); +} +$db->close(); + +llxFooter("Dernière modification $Date$ révision $Revision$"); +?> diff --git a/htdocs/compta/ventilation/fournisseur/pre.inc.php b/htdocs/compta/ventilation/fournisseur/pre.inc.php new file mode 100644 index 00000000000..7f8ed07538b --- /dev/null +++ b/htdocs/compta/ventilation/fournisseur/pre.inc.php @@ -0,0 +1,55 @@ + + * Copyright (C) 2004-2005 Laurent Destailleur + * Copyright (C) 2005 Simon Tosser + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + */ + +/** + \file htdocs/compta/ventilation/fournisseur/pre.inc.php + \ingroup compta + \brief Fichier gestionnaire du menu compta ventilation +*/ + +require("../../../main.inc.php"); +$user->getrights(''); + +function llxHeader($head = "", $title="", $help_url='') +{ + global $user, $conf, $langs; + + top_menu($head, $title); + + $menu = new Menu(); + + $langs->load("commercial"); + $menu->add(DOL_URL_ROOT."/compta/clients.php", $langs->trans("Customers")); + + $menu->add(DOL_URL_ROOT."/compta/ventilation/",$langs->trans("Ventilation")." ".$langs->trans("Customers")); + $menu->add(DOL_URL_ROOT."/compta/ventilation/fournisseur/",$langs->trans("Ventilation")." ".$langs->trans("Suppliers")); + $menu->add_submenu(DOL_URL_ROOT."/compta/ventilation/fournisseur/liste.php",$langs->trans("A ventiler")); + $menu->add_submenu(DOL_URL_ROOT."/compta/ventilation/fournisseur/lignes.php",$langs->trans("Ventilées")); + + $menu->add(DOL_URL_ROOT."/compta/export/",$langs->trans("Export")); + + + left_menu($menu->liste, $help_url); +} + +?>