[ Index ] |
|
Code source de Dolibarr 2.0.1 |
1 <?PHP 2 /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 * 18 * $Id: plan-facturation.php,v 1.5 2005/12/05 09:39:38 rodolphe Exp $ 19 * $Source: /cvsroot/dolibarr/dolibarr/htdocs/telephonie/script/plan-facturation.php,v $ 20 * 21 * Génération du plan de facturation 22 * 23 */ 24 print "Mem : ".memory_get_usage() ."\n"; 25 require ("../../master.inc.php"); 26 27 require_once (DOL_DOCUMENT_ROOT."/telephonie/lignetel.class.php"); 28 require_once (DOL_DOCUMENT_ROOT."/telephonie/facturetel.class.php"); 29 require_once (DOL_DOCUMENT_ROOT."/telephonie/communication.class.php"); 30 require_once (DOL_DOCUMENT_ROOT."/telephonie/numero.class.php"); 31 require_once (DOL_DOCUMENT_ROOT."/includes/php_writeexcel/class.writeexcel_workbook.inc.php"); 32 require_once (DOL_DOCUMENT_ROOT."/includes/php_writeexcel/class.writeexcel_worksheet.inc.php"); 33 34 $error = 0; 35 36 $datetime = time(); 37 38 $date = strftime("%d%h%Y%Hh%Mm%S",$datetime); 39 40 $sql = "SELECT c.rowid, sl.ligne, sl.code_analytique"; 41 42 $sql .= ", s.nom, c.ref, s.code_client, s.address, s.cp, s.ville"; 43 44 $sql .=" FROM ".MAIN_DB_PREFIX."telephonie_societe_ligne as sl"; 45 $sql .=" , ".MAIN_DB_PREFIX."telephonie_contrat as c"; 46 $sql .=" , ".MAIN_DB_PREFIX."societe as s"; 47 $sql .= " WHERE sl.fk_contrat = c.rowid"; 48 $sql .= " AND c.fk_client_comm = 52"; 49 $sql .= " AND sl.statut <> 7"; 50 $sql .= " AND c.fk_soc_facture = s.idp"; 51 $sql .= " ORDER BY c.rowid ASC, sl.code_analytique ASC"; 52 53 $resql = $db->query($sql); 54 55 if ($resql) 56 { 57 58 $dir = DOL_DATA_ROOT . "/telephonie/rapports/".$keygroupe; 59 60 if (! file_exists($dir)) 61 { 62 umask(0); 63 if (! @mkdir($dir, 0755)) 64 { 65 print "Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer."; 66 } 67 } 68 69 $fname = "/tmp/plan-facturation-".strftime("%d-%m-%Y",$datetime).".xls"; 70 71 print "Open $fname\n"; 72 73 $workbook = &new writeexcel_workbook($fname); 74 75 $page2 = &$workbook->addworksheet("Plan"); 76 77 $page2->set_column(0,0,8); 78 $page2->set_column(1,1,20); 79 $page2->set_column(2,2,48); 80 $page2->set_column(4,4,20); 81 $page2->set_column(5,5,50); 82 83 $formatcc =& $workbook->addformat(); 84 $formatcc->set_align('center'); 85 $formatcc->set_align('vcenter'); 86 87 $fclient =& $workbook->addformat(); 88 $fclient->set_align('left'); 89 $fclient->set_align('vcenter'); 90 91 $fcode =& $workbook->addformat(); 92 $fcode->set_align('center'); 93 $fcode->set_align('vcenter'); 94 $fcode->set_border(1); 95 96 $fligne =& $workbook->addformat(); 97 $fligne->set_align('center'); 98 $fligne->set_align('vcenter'); 99 $fligne->set_right(6); 100 $fligne->set_bottom(1); 101 102 $fnb =& $workbook->addformat(); 103 $fnb->set_align('vcenter'); 104 $fnb->set_align('center'); 105 $fnb->set_top(1); 106 $fnb->set_right(1); 107 $fnb->set_bottom(1); 108 $fnb->set_left(6); 109 110 $fduree =& $workbook->addformat(); 111 $fduree->set_align('center'); 112 $fduree->set_align('vcenter'); 113 $fduree->set_border(1); 114 115 $fcout =& $workbook->addformat(); 116 $fcout->set_align('center'); 117 $fcout->set_align('vcenter'); 118 $fcout->set_num_format('0.00'); 119 $fcout->set_border(1); 120 121 $fb =& $workbook->addformat(); 122 $fb->set_align('vcenter'); 123 $fb->set_bold(); 124 $fb->set_top(2); 125 126 $fc =& $workbook->addformat(); 127 $fc->set_align('vcenter'); 128 $fc->set_top(2); 129 130 $fa =& $workbook->addformat(); 131 $fa->set_align('left'); 132 $fa->set_align('vcenter'); 133 $fa->set_top(2); 134 135 $fd =& $workbook->addformat(); 136 $fd->set_align('center'); 137 $fd->set_align('vcenter'); 138 $fd->set_top(2); 139 140 $num = $db->num_rows($resql); 141 $i = 0; 142 $b = 0; 143 $oc = ''; 144 145 while($i < $num) 146 { 147 $obj = $db->fetch_object($resql); 148 149 if ($oc <> $obj->ref) 150 { 151 $b++; 152 153 $z = $obj->nom . "(".$obj->code_client.")". "\n"; 154 $z.= $obj->address."\n"; 155 $z.= $obj->cp . " ".$obj->ville; 156 157 $page2->write_string($i, 0, $b, $fc); 158 $page2->write_string($i, 1, "Contrat : ".$obj->ref, $fb); 159 $page2->write_string($i, 2, $z, $fa); 160 161 $oc = $obj->ref; 162 $a = 0; 163 164 $page2->write_string($i, 3, $obj->code_analytique, $fd); 165 $page2->write_string($i, 4, $obj->ligne, $fd); 166 $page2->write_string($i, 5, $obj->nom, $fa); 167 168 } 169 170 else 171 { 172 $page2->write_string($i, 3, $obj->code_analytique, $formatcc); 173 $page2->write_string($i, 4, $obj->ligne, $formatcc); 174 $page2->write_string($i, 5, $obj->nom, $fclient); 175 } 176 177 $i++; 178 $a++; 179 } 180 181 $workbook->close(); 182 dolibarr_syslog("Close $fname"); 183 184 } 185 186 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 12:29:37 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |