* Copyright (C) 2004-2005 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/param/comptes/fiche.php \ingroup product \brief Page de la fiche produit \version $Revision$ */ require("./pre.inc.php"); $langs->load("products"); $mesg = ''; if (! $user->rights->compta->resultat->lire) { accessforbidden(); } if ($_POST["action"] == 'add') { $compte = new ComptaCompte($db); $compte->numero = $_POST["numero"]; $compte->intitule = $_POST["intitule"]; $e_compte = $compte; $res = $compte->create($user); if ($res == 0) { Header("Location: liste.php"); } else { if ($res == -3) { $_error = 1; $_GET["action"] = "create"; $_GET["type"] = $_POST["type"]; } if ($res == -4) { $_error = 2; $_GET["action"] = "create"; $_GET["type"] = $_POST["type"]; } } } llxHeader("","Comptes Généraux"); /* * Création d'un compte * */ if ($_GET["action"] == 'create') { $html = new Form($db); $nbligne=0; print '
'; print ''; print ''."\n"; print '
'; print 'Comptes Généraux'; print '

'."\n"; print ''; print ''; print ''; print ''; print ''; print '
Numéro de compte'; if ($_error == 1) { print "Ce numéro de compte existe déjà"; } if ($_error == 2) { print "Valeur(s) manquante(s)"; } print '
Intitulé
 
'; print '
'; } else { /* * Fiche produit */ if ($_GET["id"]) { if ($_GET["action"] <> 're-edit') { $product = new Product($db); $result = $product->fetch($_GET["id"]); } if ( $result ) { if ($_GET["action"] <> 'edit' && $_GET["action"] <> 're-edit') { /* * En mode visu */ // Zone recherche print '
'; print '
'; print ''; print $langs->trans("Ref").':    '; print $langs->trans("Label").':  '; print '
'; $h=0; $head[$h][0] = DOL_URL_ROOT."/product/fiche.php?id=".$product->id; $head[$h][1] = $langs->trans("Card"); $hselected = $h; $h++; $head[$h][0] = DOL_URL_ROOT."/product/price.php?id=".$product->id; $head[$h][1] = $langs->trans("Price"); $h++; if($product->type == 0) { if ($conf->stock->enabled) { $head[$h][0] = DOL_URL_ROOT."/product/stock/product.php?id=".$product->id; $head[$h][1] = 'Stock'; $h++; } $head[$h][0] = DOL_URL_ROOT."/product/fournisseurs.php?id=".$product->id; $head[$h][1] = 'Fournisseurs'; $h++; } $head[$h][0] = DOL_URL_ROOT."/product/stats/fiche.php?id=".$product->id; $head[$h][1] = $langs->trans('Statistics'); $h++; dolibarr_fiche_head($head, $hselected, $langs->trans("CardProduct".$product->type).' : '.$product->ref); print($mesg); print ''; print ""; print ''; print ''; print ''; print ''; if ($product->type == 0) { $nblignefour=4; } else { $nblignefour=4; } print ''; $langs->load("bills"); print ''; if ($product->type == 0 && defined("MAIN_MODULE_STOCK")) { print ''; if ($product->no_stock) { print "'; } print ''; if ($product->type == 1) { print ''; } print "
'.$langs->trans("Ref").''.$product->ref.''; if ($product->envente) { print $langs->trans("OnSell"); } else { print $langs->trans("NotOnSell"); } print '
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("SellingPrice").''.price($product->price).''; print $langs->trans("Suppliers").' ['.$langs->trans("Add").']'; $sql = "SELECT s.nom, s.idp"; $sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."product_fournisseur as pf"; $sql .=" WHERE pf.fk_soc = s.idp AND pf.fk_product = ".$product->id; $sql .= " ORDER BY lower(s.nom)"; if ( $db->query($sql) ) { $num_fournisseur = $db->num_rows(); $i = 0; print ''; $var=True; while ($i < $num_fournisseur) { $objp = $db->fetch_object($i); $var=!$var; print ""; print ''; print ''; $i++; } print '
'.$objp->nom.''; print ''; print img_disable($langs->trans("Remove")).'
'; $db->free(); } print '
'.$langs->trans("VATRate").''.$product->tva_tx.' %
'.$langs->trans("Stock").'Pas de définition de stock pour ce produit"; } else { if ($product->stock_reel <= $product->seuil_stock_alerte) { print ''.$product->stock_reel.' Seuil : '.$product->seuil_stock_alerte; } else { print "".$product->stock_reel; } } print '
'.$langs->trans("Description").''.nl2br($product->description).'
'.$langs->trans("Duration").''.$product->duration_value.' '; if ($product->duration_value > 1) { $dur=array("d"=>$langs->trans("Days"),"w"=>$langs->trans("Weeks"),"m"=>$langs->trans("Months"),"y"=>$langs->trans("Years")); } else { $dur=array("d"=>$langs->trans("Day"),"w"=>$langs->trans("Week"),"m"=>$langs->trans("Month"),"y"=>$langs->trans("Year")); } print $langs->trans($dur[$product->duration_unit])." "; print '

\n"; print "\n"; } /* * Edition du prix * */ if ($_GET["action"] == 'edit_price' && $user->rights->produit->creer) { print '
'.$langs->trans("NewPrice").'
'; print '
'; print ''; print ''; print ''; print ''; print ''; print '
'.$langs->trans('SellingPrice').'
 '; print '
'; print '
'; } /* * Ajouter un fournisseur * */ if ($_GET["action"] == 'ajout_fourn' && $user->rights->produit->creer) { $langs->load("suppliers"); print_titre($langs->trans("AddSupplier")); print '
'; print ''; print ''; print ''; print ''; print ''; print '
'.$langs->trans("Suppliers").''.$langs->trans("Ref").'
 '; print '
'; print '
'; } } /* * Fiche en mode edition */ if (($_GET["action"] == 'edit' || $_GET["action"] == 're-edit') && $user->rights->produit->creer) { print_fiche_titre('Edition de la fiche '.$types[$product->type].' : '.$product->ref, ""); if ($mesg) { print '
'.$mesg.'

'; } print "
\n"; print ''; print ''; print ''; print "".''; print ''; $langs->load("bills"); print ''; print ''; if ($product->type == 0 && defined("MAIN_MODULE_STOCK")) { print "".''; } else { print ''; } print '"; if ($product->type == 1) { print ''; } print ''; print '
'.$langs->trans("Ref").'
'.$langs->trans("Label").'
'.$langs->trans("VATRate").''; $html = new Form($db); print $html->select_tva("tva_tx", $product->tva_tx); print '
'.$langs->trans("Status").''; print '
Seuil stock'; print ''; print '
'.$langs->trans("Description").''; print '
'.$langs->trans("Duration").''; print '  '; print 'duration_unit=='d'?' checked':'').'>'.$langs->trans("day"); print '  '; print 'duration_unit=='w'?' checked':'').'>'.$langs->trans("week"); print '  '; print 'duration_unit=='m'?' checked':'').'>'.$langs->trans("month"); print '  '; print 'duration_unit=='y'?' checked':'').'>'.$langs->trans("year"); print '
 '; print '
'; print '
'; } } else { print $langs->trans("ErrorUnknown"); } } /* ************************************************************************** */ /* */ /* Barre d'action */ /* */ /* ************************************************************************** */ print "\n
\n"; if ($_GET["action"] == '') { if ($product->type == 0 && $user->rights->produit->commander && $num_fournisseur == 1) { print ''.$langs->trans("Commander").''; } if ( $user->rights->produit->creer) { print ''.$langs->trans("UpdatePrice").''; } if ( $user->rights->produit->creer) { print ''.$langs->trans("Edit").''; } } if ($product->type == 0 && defined("MAIN_MODULE_STOCK")) { print 'Correction stock'; } print "\n
\n"; if ($_GET["id"] && $_GET["action"] == '' && $product->envente) { $htmls = new Form($db); $propal = New Propal($db); print ''; if($user->rights->propale->creer) { print "".''; print ''; print ''; print "".''; if($user->rights->propale->creer) { print ''; } print ''; } if($user->rights->facture->creer) { $langs->load("bills"); print "".''; print "".'
'; print_titre("Ajouter à ma proposition") . ''; print_titre("Ajouter aux autres propositions") . '
'; $sql = "SELECT s.nom, s.idp, p.rowid as propalid, p.ref,".$db->pdate("p.datep")." as dp"; $sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."propal as p"; $sql .=" WHERE p.fk_soc = s.idp AND p.fk_statut = 0 AND p.fk_user_author = ".$user->id; $sql .= " ORDER BY p.datec DESC, tms DESC"; if ( $db->query($sql) ) { $num = $db->num_rows(); $i = 0; print ''; $var=True; while ($i < $num) { $objp = $db->fetch_object($i); $var=!$var; print ""; print "\n"; print "\n"; print "\n"; print ''; print ''; print '"; print ''; $i++; } print "
propalid\">$objp->refidp\">$objp->nom". strftime("%d %b",$objp->dp)."
'; print ' Rem.'; print ' %'; print " ".$product->stock_proposition; print ''; print ''; print "
"; $db->free(); } print '
'; $otherprop = $propal->liste_array(1, '<>'.$user->id); if (sizeof($otherprop)) { print '
'; print ''; print ''; print "".''; print '
Autres Propositions'; $htmls->select_array("propalid", $otherprop); print ''; print ' Rem.'; print ' %'; print ''; print ''; print '
'; } print '
'; print_titre("Ajouter à ma facture"); print ''; print_titre("Ajouter aux autres factures"); print '
'; $sql = "SELECT s.nom, s.idp, f.rowid as factureid, f.facnumber,".$db->pdate("f.datef")." as df"; $sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."facture as f"; $sql .=" WHERE f.fk_soc = s.idp AND f.fk_statut = 0 AND f.fk_user_author = ".$user->id; $sql .= " ORDER BY f.datec DESC, f.rowid DESC"; if ( $db->query($sql) ) { $num = $db->num_rows(); $i = 0; print ''; $var=True; while ($i < $num) { $objp = $db->fetch_object( $i); $var=!$var; print ""; print "\n"; print "\n"; print "\n"; print ''; print ''; print '"; print ''; $i++; } print "
factureid\">$objp->facnumberidp\">$objp->nom". strftime("%d %b",$objp->df)."
'; print ' Rem.'; print ' %'; print ''; print ''; print "
"; $db->free(); } else { dolibarr_print_error($db); } print '
'; print '
'; } } $db->close(); llxFooter("Dernière modification $Date$ révision $Revision$"); ?>