* * $Id$ * $Source$ * * 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. * */ require("./pre.inc.php3"); llxHeader(); $_MONNAIE = $GLOBALS["_MONNAIE"]; $db = new Db(); if ($sortorder == "") { $sortfield="lower(s.nom)"; $sortorder="ASC"; } $bc[0]="bgcolor=\"#90c090\""; $bc[1]="bgcolor=\"#b0e0b0\""; $yn["1"] = "oui"; $yn["0"] = "non"; if ($action == 'valid') { $sql = "UPDATE llx_facture set fk_statut = 1 WHERE rowid = $facid ;"; $result = $db->query( $sql); } if ($action == 'payed') { $sql = "UPDATE llx_facture set paye = 1 WHERE rowid = $facid ;"; $result = $db->query( $sql); } if ($action == 'delete') { $sql = "DELETE FROM llx_facture WHERE rowid = $facid;"; if ( $db->query( $sql) ) { $sql = "DELETE FROM llx_fa_pr WHERE fk_facture = $facid;"; if (! $db->query( $sql) ) { print $db->error(); } } else { print $db->error(); } $facid = 0 ; } if ($facid > 0) { $sql = "SELECT s.nom as socnom, s.idp as socidp, f.facnumber, f.amount, f.total, ".$db->pdate("f.datef")." as df, f.paye, f.fk_statut as statut, f.author, f.note"; $sql .= " FROM societe as s,llx_facture as f WHERE f.fk_soc = s.idp AND f.rowid = $facid"; $result = $db->query( $sql); if ($result) { $num = $db->num_rows(); if ($num) { $obj = $db->fetch_object( $i); } $db->free(); } else { print $db->error(); } print ""; print ""; print ""; print "\n"; print ""; print ""; print ""; print "
Facture $facid [reload]socidp\">Autres factures de $obj->socnom
"; /* * Facture */ print ""; print ""; print ""; print "\n"; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print "
Sociétésocidp\">$obj->socnom
Numéro$obj->facnumber
date".strftime("%A %d %B %Y",$obj->df)."
Auteur$obj->author
Statut$obj->statut
Paye".$yn[$obj->paye]."
Montant".price($obj->amount)."euros HT
TVA".tva($obj->amount)."euros
Total".price($obj->total)."euros TTC
soit".francs(inctva($obj->amount))."francs
"; print "
"; $_MONNAIE="euros"; /* * Paiements */ $sql = "SELECT ".$db->pdate("datep")." as dp, p.amount, c.libelle as paiement_type, p.num_paiement, p.rowid"; $sql .= " FROM llx_paiement as p, c_paiement as c WHERE p.fk_facture = $facid AND p.fk_paiement = c.id"; $result = $db->query($sql); if ($result) { $num = $db->num_rows(); $i = 0; $total = 0; print "

Paiements"; echo ''; print ""; print ""; print ""; print ""; print "\n"; $var=True; while ($i < $num) { $objp = $db->fetch_object( $i); $var=!$var; print ""; print "\n"; print "\n"; print "\n"; print ""; $total = $total + $objp->amount; $i++; } print "\n"; print "\n"; $resteapayer = $obj->total - $total; print ""; print "\n"; print "
DateTypeMontant 
".strftime("%d %B %Y",$objp->dp)."$objp->paiement_type $objp->num_paiement".price($objp->amount)."$_MONNAIE
Total :".price($total)."$_MONNAIE
Facturé :".price($obj->total)."$_MONNAIE
Reste a payer :".price($resteapayer)."$_MONNAIE
"; $db->free(); } else { print $db->error(); } print "

Note : ".nl2br($obj->note)."
"; print "

"; if ($obj->statut == 0) { print ""; } else { print ""; } if ($obj->statut == 1 && $resteapayer > 0) { print ""; } else { print ""; } if ($obj->statut == 1 && $resteapayer == 0 && $obj->paye == 0) { print ""; } else { print ""; } if ($obj->statut == 0) { print ""; } else { print ""; } print "
[Supprimer][socidp&facid=$facid&action=add\">Emettre une vente][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 = $GLOBALS["GLJ_ROOT"] . "/www-sys/doc/facture/$obj->facnumber/$obj->facnumber.pdf"; if (file_exists($file)) { print ""; } $file = $GLOBALS["GLJ_ROOT"] . "/www-sys/doc/facture/$obj->facnumber/$obj->facnumber.ps"; if (file_exists($file)) { print ""; print ""; } print ""; print "
Propale PDFfacnumber/$obj->facnumber.pdf\">$obj->facnumber.pdf
Propale Postscriptfacnumber/$obj->facnumber.ps\">$obj->facnumber.ps
(facnumber/\">liste...)
\n"; /* * Generation de la facture * */ if ($action == 'pdf') { print "
Génération de la facture
"; $command = "export DBI_DSN=\"dbi:mysql:dbname=lolixfr\" "; $command .= " ; ../../scripts/facture-tex.pl --html -vv --facture=$facid --pdf --gljroot=" . $GLOBALS["GLJ_ROOT"] ; $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(); $i = 0; $total = 0; print "

Proposition commerciale associée"; 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 * */ function liste($db, $paye) { global $bc, $year, $month; $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 AND f.paye = $paye"; if ($socidp) { $sql .= " AND s.idp = $socidp"; } if ($month > 0) { $sql .= " AND date_part('month', date(f.datef)) = $month"; } if ($year > 0) { $sql .= " AND date_part('year', date(f.datef)) = $year"; } $sql .= " ORDER BY f.datef DESC "; $result = $db->query($sql); if ($result) { $num = $db->num_rows(); if ($num > 0) { $i = 0; print "

"; print ""; print ""; print ""; 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 "\n"; if ($objp->df > 0 ) { print "\n"; } else { print "\n"; } print ''; $yn[1] = "oui"; $yn[0] = "non"; $total = $total + $objp->amount; print "\n"; print "\n"; print "\n"; $i++; } print ""; print ""; print ""; print "
[Tous]SocieteNumDateMontantPayéMoyenne
[idp\">Filtre]idp\">$objp->nomfacid\">$objp->facnumber"; $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).'".$yn[$objp->paye]."".round($total / ($i + 1))."
$i facturesTotal : ".round($total * 6.55957)." FFTotal : $total$_MONNAIE HTMoyenne : ".round($total/ $i)."
"; } $db->free(); } else { print $db->error(); } } print "

"; liste($db, 0); print "

"; liste($db, 1); } $db->close(); llxFooter("Dernière modification $Date$ révision $Revision$"); ?>