* * 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$ * */ require("./pre.inc.php3"); require("../facture.class.php3"); llxHeader(); $db = new Db(); $yn[1] = "oui"; $yn[0] = "non"; if ($action == 'valid') { $fac = new Facture($db); $result = $fac->set_valid($facid, $user->id); } if ($action == 'payed') { $fac = new Facture($db); $result = $fac->set_payed($facid); } if ($action == 'addligne') { $fac = new Facture($db); $result = $fac->addline($facid,$HTTP_POST_VARS["desc"],$HTTP_POST_VARS["pu"],$HTTP_POST_VARS["qty"]); } if ($action == 'deleteline') { $fac = new Facture($db); $fac->id = $facid; $result = $fac->deleteline($rowid); } if ($action == 'delete') { $fac = new Facture($db); $fac->delete($facid); $facid = 0 ; } if ($action == 'add') { $datefacture = $db->idate(mktime(12, 0 , 0, $pmonth, $pday, $pyear)); if (! $propalid) { $facture = new Facture($db, $socid); $facture->number = $facnumber; $facture->date = $datefacture; $facture->note = $note; $facture->amount = $amount; $facture->remise = $remise; $facture->create($user->id, $statut, $note); } else { $facture = new Facture($db, $socid); $facture->number = $facnumber; $facture->date = $datefacture; $facture->note = $note; $facture->amount = $amount; $facture->remise = $remise; $facture->propalid = $propalid; if ($facture->create($user->id) ) { /* * * Génération du PDF * */ // print "
Génération du PDF

"; // $command = "export DBI_DSN=\"".$GLOBALS["DBI"]."\" "; // $command .= " ; ../../scripts/facture-tex.pl --facture=$facid --pdf --ps" ; // $output = system($command); // print "

command : $command
"; } else { print "

Erreur : la facture n'a pas été créée, vérifier le numéro !"; print "

Retour à la propal"; print $db->error(); } } $facid = $facid; $action = ''; } /* * * Mode creation * * * */ if ($action == 'create') { print_titre("Emettre une facture"); if ($propalid) { $sql = "SELECT s.nom, s.prefix_comm, s.idp, p.price, p.remise, p.tva, p.total, p.ref, ".$db->pdate("p.datep")." as dp, c.id as statut, c.label as lst"; $sql .= " FROM societe as s, llx_propal as p, c_propalst as c WHERE p.fk_soc = s.idp AND p.fk_statut = c.id"; $sql .= " AND p.rowid = $propalid"; } else { $sql = "SELECT s.nom, s.prefix_comm, s.idp "; $sql .= "FROM societe as s "; $sql .= "WHERE s.idp = $socidp"; } if ( $db->query($sql) ) { $num = $db->num_rows(); if ($num) { $obj = $db->fetch_object(0); $numfa = "F-" . $obj->prefix_comm . "-" . strftime("%y%m%d", time()); print "

"; print ""; print "idp\">"; print ''; print ""; print ''; if ($propalid) { $amount = ($obj->price - $obj->remise); print ''; print ''; print ''; print ''; print ''; print ""; print ''; print ""; print ""; } else { print ''; print ''; print ''; print ''; } print ""; print ""; print ""; print ""; print ''; print ''; print ''; print ''; print ''; print "
Société :$obj->nom'; print '
Propal :$obj->ref
Montant HT :'.price($amount).'
TVA 19.6% :".price($obj->tva)."
Total TTC :".price($obj->total)."
Montant HT :'; print '
Remise :'; print '
Auteur :".$user->fullname."
Date :"; $cday = date("d", time()); print ""; $cmonth = date("n", time()); print ""; print "
Numéro :
Désignation
"; print "
"; } /* * Fin Ajout ligne * */ print "

"; if ($obj->statut == 0) { print ""; } else { print ""; } if ($obj->statut == 1 && $resteapayer > 0) { print ""; } else { print ""; } if ($obj->statut == 1 && abs($resteapayer == 0) && $obj->paye == 0) { print ""; } else { print ""; } if ($obj->statut == 0) { print ""; } else { print ""; } print "
[Supprimer]-[Emettre un paiement]-[Classer 'Payée']-[Valider]Générer la facture

"; /* * Documents générés * */ print "


"; print "
"; print "Documents générés
"; print ""; $file = $conf->facture->outputdir . "/" . $obj->facnumber . "/" . $obj->facnumber . ".pdf"; if (file_exists($file)) { print ""; print ''; print ''; print ''; print ''; } $file = $conf->facture->outputdir . "/" . $obj->facnumber . "/" . $obj->facnumber . ".ps"; if (file_exists($file)) { print ""; print ''; print ''; print ''; print ''; } print ''; print "
Propale PDFfacnumber."/".$obj->facnumber.'.pdf">'.$obj->facnumber.'.pdf'.filesize($file). ' bytes'.strftime("%d %b %Y %H:%M:%S",filemtime($file)).'
Propale Postscriptfacnumber."/".$obj->facnumber.'.ps">'.$obj->facnumber.'.ps'.filesize($file). ' bytes'.strftime("%d %b %Y %H:%M:%S",filemtime($file)).'
(liste...)
\n
"; /* * Generation de la facture * */ if ($action == 'pdf') { print "
Génération de la facture
"; $command = "export DBI_DSN=\"dbi:mysql:dbname=".$conf->db->name."\" "; $command .= " ; ./tex-facture.pl --html -vv --facture=$facid --pdf --output=".$conf->facture->outputdir; $command .= " --templates=".$conf->facture->templatesdir; $output = system($command); print "

command :
$command
"; //print "

output :
$output
"; } /* * Propales */ $sql = "SELECT ".$db->pdate("p.datep")." as dp, p.price, p.ref, p.rowid as propalid"; $sql .= " FROM llx_propal as p, llx_fa_pr as fp WHERE fp.fk_propal = p.rowid AND fp.fk_facture = $facid"; $result = $db->query($sql); if ($result) { $num = $db->num_rows(); if ($num) { $i = 0; $total = 0; print "

Proposition(s) commerciale(s) associée(s)"; print ''; print ""; print ""; print ""; print ""; print "\n"; $var=True; while ($i < $num) { $objp = $db->fetch_object( $i); $var=!$var; print ""; print "\n"; print "\n"; print ''; print ""; $total = $total + $objp->price; $i++; } print "\n"; print "
NumDatePrix
propalid\">$objp->ref".strftime("%d %B %Y",$objp->dp)."'.price($objp->price).'
Total : ".price($total)." $_MONNAIE HT
"; } } else { print $db->error(); } } else { /* * * Liste * * */ print_barre_liste("Factures",$page,$PHP_SELF); $sql = "SELECT s.nom,s.idp,f.facnumber,f.amount,".$db->pdate("f.datef")." as df,f.paye,f.rowid as facid"; $sql .= " FROM societe as s,llx_facture as f WHERE f.fk_soc = s.idp"; if ($socidp) { $sql .= " AND s.idp = $socidp"; } if ($month > 0) { $sql .= " AND date_format(f.datef, '%m') = $month"; } if ($year > 0) { $sql .= " AND date_format(f.datef, '%Y') = $year"; } $sql .= " ORDER BY f.fk_statut, f.paye, f.datef DESC, f.facnumber DESC "; $result = $db->query($sql); if ($result) { $num = $db->num_rows(); $i = 0; print ""; print ''; print ""; print "\n"; if ($num > 0) { $var=True; while ($i < $num) { $objp = $db->fetch_object( $i); $var=!$var; if ($objp->paye && !$sep) { print ""; print ""; print ''; print ""; $sep = 1 ; $j = 0; $subtotal = 0; } print ""; print "\n"; print "\n"; if ($objp->df > 0 ) { print "\n"; } else { print "\n"; } print "\n"; $total = $total + $objp->amount; $subtotal = $subtotal + $objp->amount; print "\n"; $i++; $j++; } } if ($i == 0) { $i=1; } if ($j == 0) { $j=1; } print ""; print ""; print ""; print ""; print "
Numéro"; print_liste_field_titre("Société",$PHP_SELF,"s.nom"); print "DateMontant
"; print " Sous Total : ".price($total)."
Numéro"; print_liste_field_titre("Société",$PHP_SELF,"s.nom"); print "DateMontant
facid\">"; if ($objp->paye) { print $objp->facnumber; } else { print ''.$objp->facnumber.''; } print "idp\">$objp->nom"; $y = strftime("%Y",$objp->df); $m = strftime("%m",$objp->df); print strftime("%d",$objp->df)."\n"; print " "; print strftime("%B",$objp->df)."\n"; print " "; print strftime("%Y",$objp->df)."!!!".price($objp->amount)."
$j factures Sous Total : ".price($subtotal)."
$i factures Total (euros HT): ".price($total)."
"; $db->free(); } else { print $db->error(); } } } $db->close(); llxFooter("Dernière modification $Date$ révision $Revision$"); ?>