function getItemPrice($item,$partner=0) { global $admin_aziend,$gTables; $artico=gaz_dbi_get_row($gTables['artico'],'codice',$item); if ($partner>0) { $partner=gaz_dbi_get_row($gTables['clfoco'],'codice',$partner); $list=$partner['listin']; if (substr($partner['codice'],0,3)== $admin_aziend['mascli'] && $list>0 && $list<=3){ $price=$artico["preve$list"]; } else { $price=$artico["preacq"]; } $sconto=$partner['sconto']; } else { // prezzo articolo $sconto=0; $price=$artico["preve1"]; } return CalcolaImportoRigo(1,$price,$sconto,$admin_aziend['decimal_price']); }
function contractCalc($id_contract) { //recupero il contratto da calcolare global $gTables,$admin_aziend; $this->contract_castle=array(); $contract = gaz_dbi_get_row($gTables['contract'],"id_contract",$id_contract); $this->contract_castel[$contract['vat_code']]['impcast']=$contract['current_fee']; $result = gaz_dbi_dyn_query('*', $gTables['contract_row'], $gTables['contract_row'].'.id_contract ='.$id_contract, $gTables['contract_row'].'.id_row'); while ($row = gaz_dbi_fetch_array($result)) { $r_val = CalcolaImportoRigo($row['quanti'], $row['price'],array($row['discount'])); if (!isset($this->contract_castel[$row['vat_code']])) { $this->contract_castel[$row['vat_code']]['impcast']=0.00; } $this->contract_castel[$row['vat_code']]['impcast']+=$r_val; } $this->add_value_to_VAT_castle($this->contract_castel,444,$admin_aziend['taxstamp_vat']); }
$agente = getNewAgente($row['id_agente']); $item_head['bot']= array(array('lun' => 50,'nam'=>$agente['indspe']), array('lun' => 60,'nam'=>$agente['citspe'].' ('.$agente['prospe'].') '.$agente['telefo']), array('lun' => 37,'nam'=>substr($_GET['datini'],6,2).'.'.substr($_GET['datini'],4,2).'.'.substr($_GET['datini'],0,4).'-'.substr($_GET['datfin'],6,2).'.'.substr($_GET['datfin'],4,2).'.'.substr($_GET['datfin'],0,4)) ); $aRiportare['top'][1]['nam'] = 0; $aRiportare['bot'][1]['nam'] = 0; $pdf->setRiporti(''); $pdf->setPageTitle('Agente: '.$agente['ragso1'].' '.$agente['ragso2']); $pdf->setItemGroup($item_head); $pdf->AddPage('P',$config->getValue('page_format')); } if ($row['tipdoc'] == 'FNC') { $row['quanti'] = -$row['quanti']; } $row_importo = CalcolaImportoRigo($row['quanti'],$row['prelis'],array($row['scochi'],$row['sconto'])); $row_provvig = round($row_importo*$row['provvigione']/100,3); $tot_prov += $row_provvig; $aRiportare['top'][1]['nam'] = gaz_format_number($tot_prov); $aRiportare['bot'][1]['nam'] = gaz_format_number($tot_prov); if ($ctrlDoc != $row['id_tes']) { if ($row['tipdoc'] == 'FAD') { $desdoc = 'da '.$strScript['admin_docven.php'][0][$row['tipdoc']].' n.'.$row['numdoc'].' del '.$row['datemi'].' -> Fattura n.'.$row['numfat'].'/'.$row['seziva'].' del '.$row['datfat'].' a '.$row['ragso1'].' '.$row['ragso2']; } else { $desdoc = 'da '.$strScript['admin_docven.php'][0][$row['tipdoc']].' n.'.$row['numfat'].'/'.$row['seziva'].' del '.$row['datfat'].' a '.$row['ragso1'].' '.$row['ragso2']; } $pdf -> Cell(187,4,$desdoc,1,1); } $pdf -> Cell(25,4,$row['codart'],1); $pdf -> Cell(74,4,$row['descri'],1); $pdf -> Cell(5,4,$row['unimis'],1);
</tr>\n"; $totimp_body=0.00; $totivafat=0.00; $totimpfat=0.00; $castle=array(); $rit=0; $carry=0; foreach ($form['rows'] as $k => $v) { //creo il castelletto IVA $imprig=0; if ($v['tiprig'] <= 1) { $imprig = CalcolaImportoRigo($v['quanti'], $v['prelis'], $v['sconto']); $v_for_castle = CalcolaImportoRigo($v['quanti'], $v['prelis'], array($v['sconto'],$form['sconto'])); if ($v['tiprig'] == 1) {//ma se del tipo forfait $imprig = CalcolaImportoRigo(1, $v['prelis'], 0); $v_for_castle = CalcolaImportoRigo(1, $v['prelis'], $form['sconto']); } if (!isset($castle[$v['codvat']])) { $castle[$v['codvat']]['impcast'] = 0.00; } $totimp_body += $imprig; $castle[$v['codvat']]['impcast'] += $v_for_castle; $rit+=round($imprig*$v['ritenuta']/100,2); } elseif ($v['tiprig'] == 3) { $carry+=$v['prelis']; } $descrizione=$v['descri']; echo "<input type=\"hidden\" value=\"".$v['codart']."\" name=\"rows[$k][codart]\">\n"; echo "<input type=\"hidden\" value=\"".$v['status']."\" name=\"rows[$k][status]\">\n"; echo "<input type=\"hidden\" value=\"".$v['tiprig']."\" name=\"rows[$k][tiprig]\">\n"; echo "<input type=\"hidden\" value=\"".$v['id_doc']."\" name=\"rows[$k][id_doc]\">\n";
function getAccountedTickets($id_cash) { global $gTables,$admin_aziend; $from = $gTables['tesdoc'].' AS tesdoc LEFT JOIN '.$gTables['pagame'].' AS pay ON tesdoc.pagame=pay.codice LEFT JOIN '.$gTables['clfoco'].' AS customer ON tesdoc.clfoco=customer.codice LEFT JOIN '.$gTables['anagra'].' AS anagraf ON anagraf.id=customer.id_anagra'; $where = "id_con = 0 AND id_contract = ".intval($id_cash)." AND tipdoc = 'VCO'"; $orderby = "datemi ASC, numdoc ASC"; $result = gaz_dbi_dyn_query('tesdoc.*, pay.tippag,pay.numrat,pay.incaut,pay.id_bank, customer.codice, customer.speban AS addebitospese, CONCAT(anagraf.ragso1,\' \',anagraf.ragso2) AS ragsoc,CONCAT(anagraf.citspe,\' (\',anagraf.prospe,\')\') AS citta', $from,$where,$orderby); $doc['all']=array(); $tot=0; while ($tes = gaz_dbi_fetch_array($result)) { $cast_vat=array(); $cast_acc=array(); $tot_tes=0; //recupero i dati righi per creare i castelletti $rs_rig = gaz_dbi_dyn_query("*", $gTables['rigdoc'], "id_tes = ".$tes['id_tes'],"id_rig"); while ($v = gaz_dbi_fetch_array($rs_rig)) { if ($v['tiprig'] <= 1) { //ma solo se del tipo normale o forfait if ($v['tiprig'] == 0) { // tipo normale $tot_row = CalcolaImportoRigo($v['quanti'], $v['prelis'],array($v['sconto'],$tes['sconto'],-$v['pervat'])); } else { // tipo forfait $tot_row = CalcolaImportoRigo(1,$v['prelis'],-$v['pervat']); } if (!isset($cast_vat[$v['codvat']])) { $cast_vat[$v['codvat']]['totale']=0.00; $cast_vat[$v['codvat']]['imponi']=0.00; $cast_vat[$v['codvat']]['impost']=0.00; $cast_vat[$v['codvat']]['periva']=$v['pervat']; } $cast_vat[$v['codvat']]['totale']+=$tot_row; // calcolo il totale del rigo stornato dell'iva $imprig=round($tot_row/(1+($v['pervat']/100)),2); $cast_vat[$v['codvat']]['imponi']+=$imprig; $cast_vat[$v['codvat']]['impost']+=$tot_row-$imprig; $tot+=$tot_row; $tot_tes+=$tot_row; // inizio AVERE if (!isset($cast_acc[$admin_aziend['ivacor']]['A'])) { $cast_acc[$admin_aziend['ivacor']]['A']=0; } $cast_acc[$admin_aziend['ivacor']]['A']+=$tot_row-$imprig; if (!isset($cast_acc[$v['codric']]['A'])) { $cast_acc[$v['codric']]['A']=0; } $cast_acc[$v['codric']]['A']+=$imprig; // inizio DARE if ($tes['clfoco']>100000000) { // c'è un cliente selezionato if (!isset($cast_acc[$tes['clfoco']]['D'])) { $cast_acc[$tes['clfoco']]['D']=0; } $cast_acc[$tes['clfoco']]['D']+=$tot_row; if ($tes['tippag']=='K') { // ha pagato con carta incasso direttamente sul CC/bancario if (!isset($cast_acc[$tes['clfoco']]['A'])) { $cast_acc[$tes['clfoco']]['A']=0; } $cast_acc[$tes['clfoco']]['A']+=$tot_row; if (!isset($cast_acc[$tes['id_bank']]['D'])) { $cast_acc[$tes['id_bank']]['D']=0; } $cast_acc[$tes['id_bank']]['D']+=$tot_row; }else{ if ($tes['incaut']=='S') { // ha pagato contanti vado per cassa if (!isset($cast_acc[$tes['clfoco']]['A'])) { $cast_acc[$tes['clfoco']]['A']=0; } $cast_acc[$tes['clfoco']]['A']+=$tot_row; if (!isset($cast_acc[$admin_aziend['cassa_']]['D'])) { $cast_acc[$admin_aziend['cassa_']]['D']=0; } $cast_acc[$admin_aziend['cassa_']]['D']+=$tot_row; } } } else { // il cliente è anonimo if ($tes['tippag']=='K'){ // paga con carta incasso direttamente sul CC/bancario if (!isset($cast_acc[$tes['id_bank']]['D'])) { $cast_acc[$tes['id_bank']]['D']=0; } $cast_acc[$tes['id_bank']]['D']+=$tot_row; } else { //vado per cassa if (!isset($cast_acc[$admin_aziend['cassa_']]['D'])) { $cast_acc[$admin_aziend['cassa_']]['D']=0; } $cast_acc[$admin_aziend['cassa_']]['D']+=$tot_row; } } } } $doc['all'][]= array('tes'=>$tes, 'vat'=>$cast_vat, 'acc'=>$cast_acc, 'tot'=>$tot_tes); if ($tes['clfoco']>100000000) { $doc['invoice'][]= array('tes'=>$tes, 'vat'=>$cast_vat, 'acc'=>$cast_acc, 'tot'=>$tot_tes); } else { $doc['ticket'][]= array('tes'=>$tes, 'vat'=>$cast_vat, 'acc'=>$cast_acc, 'tot'=>$tot_tes); } } $doc['tot']=$tot; return $doc; }
function FattureDaDdt($period,$sezione=1,$cliente=0,$excludeDdt=array()) { global $gTables; $annoemissione = substr($period['fine'],0,4); $rs_ultimo_documento = gaz_dbi_dyn_query("*", $gTables['tesdoc'], "YEAR(datemi) = $annoemissione AND tipdoc LIKE 'F%' AND seziva = $sezione","protoc DESC",0,1); $ultimo_documento = gaz_dbi_fetch_array($rs_ultimo_documento); // ricavo il progressivo annuo, ma se e' il primo documento dell'anno, resetto il contatore if ($ultimo_documento) { $last_pr = $ultimo_documento['protoc']; } else { $last_pr = 0; } $rs_ultima_fa = gaz_dbi_dyn_query("numdoc, numfat*1 AS fattura", $gTables['tesdoc'], "YEAR(datemi) = $annoemissione AND tipdoc LIKE 'FA%' AND seziva = $sezione","fattura DESC",0,1); $ultima_fa = gaz_dbi_fetch_array($rs_ultima_fa); // ricavo il progressivo annuo delle Fattura, ma se e' la prima Fattura dell'anno, resetto il contatore if ($ultima_fa) { $last_nu = $ultima_fa['fattura'] ; } else { $last_nu = 0; } //preparo la query al database $clientesel = ''; if ($cliente > 0) { $clientesel = ' AND clfoco = '.$cliente; } $orderby = "ragso1 ASC, pagame ASC, numdoc ASC, id_rig ASC"; $where = "tipdoc = 'DDT' AND datemi BETWEEN '".$period['inizio']."' AND '".$period['fine']."' AND seziva = '$sezione' ".$clientesel; //recupero i dati dal DB (testate+cliente+pagamento+righi) $field = 'tes.id_tes,tes.clfoco,tes.numdoc,tes.pagame,tes.traspo,tes.speban,tes.banapp,tes.datemi, CONCAT(ana.ragso1,\' \',ana.ragso2,\' \',ana.citspe,\' \',ana.prospe) AS ragsoc, cli.codice,cli.ragdoc, pag.tippag,pag.incaut,pag.numrat,pag.descri AS despag, rig.id_tes,rig.id_rig,rig.codart,rig.descri,rig.unimis,rig.quanti,rig.prelis,rig.tiprig,rig.sconto'; $from = $gTables['tesdoc'].' AS tes '. 'LEFT JOIN '.$gTables['clfoco'].' AS cli ON tes.clfoco=cli.codice '. 'LEFT JOIN '.$gTables['anagra'].' AS ana ON cli.id_anagra=ana.id '. 'LEFT JOIN '.$gTables['pagame'].' AS pag ON pag.codice=tes.pagame '. 'LEFT JOIN '.$gTables['rigdoc'].' AS rig ON rig.id_tes=tes.id_tes '; $result = gaz_dbi_dyn_query($field, $from, $where, $orderby); $ctrlnum = gaz_dbi_num_rows($result); $fatture = array(); if ($ctrlnum) { //creo l'array associativo testate-righi $ctrlc = 0; $ctrlp = 0; $ctrld = 0; $totale_imponibile = 0; while ($row = gaz_dbi_fetch_array($result)) { if (in_array($row['id_tes'],$excludeDdt) and $ctrld != $row['id_tes']) { // se tra gli esclusi vado avanti ma mantengo il riferimento $fatture['no'][] = array('id'=>$row['id_tes'], 'ragionesociale'=>$row['ragsoc'], 'numero'=>$row['numdoc'], 'data'=>$row['datemi'], 'pagamento'=>$row['despag'] ); continue; } if ($row['clfoco'] != $ctrlc or $row['pagame'] != $ctrlp or ($row['id_tes'] != $ctrld and $row['ragdoc'] == 'N')) { //se un'altro cliente o il cliente ha un pagamento diverso dal precedente if ($ctrlc > 0 and $ctrlp > 0) { //se non la prima fattura pongo il totale della precedente nell'array $fatture['yes'][$last_pr]['totale'] = $totale_imponibile; } $totale_imponibile = 0; $last_pr ++; $last_nu ++; // nuova testata fattura $fatture['yes'][$last_pr] = array('numero'=>$last_nu,'codicecliente'=>$row['clfoco'],'ragionesociale'=>$row['ragsoc']); $fatture['yes'][$last_pr]['speseincasso'] = $row['numrat']*$row['speban']; //$totale_imponibile += $fatture['yes'][$last_pr]['speseincasso']; } if ($row['id_tes'] != $ctrld) { //se un'altro ddt if ($row['clfoco'] == $ctrlc and $row['pagame'] != $ctrlp){ $fatture['yes'][$last_pr]['righi'][] = array('codice'=>'_MSG_', 'descrizione'=>' Cliente con diversi pagamenti! ' ); } $fatture['yes'][$last_pr]['righi'][] = array('codice'=>'_DES_', 'numero'=>$row['numdoc'], 'id'=>$row['id_tes'], 'data'=>$row['datemi'], 'codpag'=>$row['pagame'], 'despag'=>$row['despag'] ); if ($row['incaut'] == 'S') { $fatture['yes'][$last_pr]['righi'][] = array('codice'=>'_MSG_', 'descrizione'=>' Pagamento che prevede l\'incasso automatico! ' ); } if (($row['tippag'] == 'B' or $row['tippag'] == 'T') and $row['banapp'] == 0) { $fatture['yes'][$last_pr]['righi'][] = array('codice'=>'_MSG_', 'descrizione'=>' ATTENZIONE! MANCA LA BANCA D\'APPOGGIO ! ' ); } if ($row['traspo'] > 0) { $fatture['yes'][$last_pr]['righi'][] = array('codice'=>'_TRA_', 'descrizione'=>'TRASPORTO', 'importo'=>$row['traspo'] ); $totale_imponibile += $row['traspo']; } } $importo_rigo = CalcolaImportoRigo($row['quanti'], $row['prelis'], $row['sconto']); if ($row['tiprig'] == 1) { $importo_rigo = CalcolaImportoRigo(1, $row['prelis'], 0); } $totale_imponibile += $importo_rigo; //aggiungo il rigo $fatture['yes'][$last_pr]['righi'][] = array('codice'=>$row['codart'], 'descrizione'=>$row['descri'], 'unitamisura'=>$row['unimis'], 'quantita'=>$row['quanti'], 'prezzo'=>$row['prelis'], 'sconto'=>$row['sconto'], 'importo'=>$importo_rigo); $ctrld = $row['id_tes']; $ctrlc = $row['clfoco']; $ctrlp = $row['pagame']; } $fatture['yes'][$last_pr]['totale'] = $totale_imponibile; } return $fatture; }
} echo "</table>\n"; if (isset($_GET['anteprima']) and $msg == "") { $result = gaz_dbi_dyn_query($gTables['rigdoc'].".*,".$gTables['tesdoc'].".id_tes,".$gTables['tesdoc'].".tipdoc,".$gTables['tesdoc'].".numdoc,".$gTables['tesdoc'].".datemi,".$gTables['tesdoc'].".datfat,".$gTables['tesdoc'].".imball,".$gTables['tesdoc'].".clfoco,".$gTables['tesdoc'].".caumag,".$gTables['tesdoc'].".sconto as scochi", $gTables['rigdoc']." LEFT JOIN ".$gTables['tesdoc']." ON ".$gTables['rigdoc'].".id_tes = ".$gTables['tesdoc'].".id_tes LEFT JOIN ".$gTables['caumag']." ON ".$gTables['tesdoc'].".caumag = ".$gTables['caumag'].".codice", "tiprig = 0 AND id_mag = 0 AND caumag > 0 AND datemi BETWEEN $datainizio AND $datafine ", " datemi ASC, ".$gTables['tesdoc'].".id_tes ASC, id_rig ASC"); $numrow = gaz_dbi_num_rows($result); echo "<table class=\"Tlarge\">"; if ($numrow > 0) { echo "<tr><td class=\"FacetFieldCaptionTD\" colspan=\"6\" >$numrow ".$script_transl[5]."</td></tr>"; require("../../modules/vendit/lang.".$admin_aziend['lang'].".php"); $desdoc = $strScript["admin_docven.php"][0]; require("../../modules/acquis/lang.".$admin_aziend['lang'].".php"); $desdoc += $strScript["admin_docacq.php"][0]; while ($row = gaz_dbi_fetch_array($result)) { echo "<tr>\n"; $valore = CalcolaImportoRigo($row['quanti'], $row['prelis'], $row['sconto']) ; $valore = CalcolaImportoRigo(1, $valore, $row['scochi']) ; $descri = $desdoc[$row['tipdoc']]." n.".$row['numdoc']; echo "<td class=\"FacetDataTD\" align=\"center\">".gaz_format_date($row["datemi"])." </td>\n"; echo "<td class=\"FacetDataTD\" align=\"center\">".$row["caumag"]." - ".$row["descri"]."</td>\n"; echo "<td class=\"FacetDataTD\" align=\"center\">$descri</td>\n"; echo "<td class=\"FacetDataTD\" align=\"center\">".$row["codart"]."</td>\n"; echo "<td class=\"FacetDataTD\" align=\"center\">".gaz_format_quantity($row["quanti"],1,$admin_aziend['decimal_quantity'])."</td>\n"; echo "<td class=\"FacetDataTD\" align=\"right\">".gaz_format_number($valore)." </td>"; echo "</tr>\n"; } echo "<tr><td colspan=\"6\" align=\"center\"><input type=\"submit\" name=\"insert\" value=\"".strtoupper($script_transl[0])." !\"></TD></TR>"; } else { echo "<tr><td class=\"FacetDataTDred\" align=\"center\">".$script_transl[6]."</td></tr>"; } } ?>
$ctr_mv=''; echo "<tr>"; $linkHeaders=new linkHeaders($script_transl['header']); $linkHeaders->output(); echo "</tr>"; $sum=0.00; while (list($key, $mv) = each($m)) { $datedoc = substr($mv['datdoc'],8,2).'-'.substr($mv['datdoc'],5,2).'-'.substr($mv['datdoc'],0,4); $datereg = substr($mv['datreg'],8,2).'-'.substr($mv['datreg'],5,2).'-'.substr($mv['datreg'],0,4); $movQuanti = $mv['quanti']*$mv['operat']; $sum += $movQuanti; echo "<tr><td class=\"FacetDataTD\">".$datereg." </td>"; echo "<td align=\"center\" class=\"FacetDataTD\">".$mv['caumag'].'-'.substr($mv['descri'],0,20)."  </td>"; echo "<td class=\"FacetDataTD\">".substr($mv['desdoc'].' del '.$datedoc.' - '.$mv['ragsoc'],0,85)." </td>"; echo "<td align=\"right\" class=\"FacetDataTD\">".number_format($mv['prezzo'],$admin_aziend['decimal_price'],',','.')." </td>"; echo "<td align=\"right\" class=\"FacetDataTD\">".gaz_format_number(CalcolaImportoRigo($mv['quanti'],$mv['prezzo'],array($mv['scochi'],$mv['scorig'])))." </td>"; echo "<td align=\"right\" class=\"FacetDataTD\">".$mv['unimis']." </td>\n"; echo "<td align=\"right\" class=\"FacetDataTD\">".gaz_format_quantity($movQuanti,1,$admin_aziend['decimal_quantity'])." </td>\n"; echo "</tr>\n"; $ctr_mv = $mv['artico']; } echo "\t<tr class=\"FacetFieldCaptionTD\">\n"; echo '<td colspan="7" align="right"><input type="submit" name="print" value="'; echo $script_transl['print']; echo '">'; echo "\t </td>\n"; echo "\t </tr>\n"; } echo "</table></form>"; } ?>
function getDocumentsAcconts($type='___',$vat_section=1,$date=false,$protoc=999999999) { global $gTables,$admin_aziend; $type = substr($type,0,2); if ($date){ $p=' AND (YEAR(datfat)*1000000+protoc) <= '.(substr($date,0,4)*1000000+$protoc); $d=' AND datfat <= '.$date; } else { $d=''; $p=''; } $from = $gTables['tesdoc'].' AS tesdoc LEFT JOIN '.$gTables['pagame'].' AS pay ON tesdoc.pagame=pay.codice LEFT JOIN '.$gTables['clfoco'].' AS customer ON tesdoc.clfoco=customer.codice LEFT JOIN '.$gTables['anagra'].' AS anagraf ON customer.id_anagra=anagraf.id'; $where = "id_con = 0 AND seziva = $vat_section AND tipdoc LIKE '$type"."_' $d $p"; $orderby = "datfat ASC, protoc ASC"; $result = gaz_dbi_dyn_query('tesdoc.*, pay.tippag,pay.numrat,pay.incaut,pay.tipdec,pay.giodec,pay.tiprat,pay.mesesc,pay.giosuc, customer.codice, customer.speban AS addebitospese, CONCAT(anagraf.ragso1,\' \',anagraf.ragso2) AS ragsoc,CONCAT(anagraf.citspe,\' (\',anagraf.prospe,\')\') AS citta', $from,$where,$orderby); $doc=array(); $ctrlp=0; while ($tes = gaz_dbi_fetch_array($result)) { if ($tes['protoc'] <> $ctrlp) { // la prima testata della fattura $carry=0; $cast_vat=array(); $cast_acc=array(); $totimpdoc=0; $totimp_decalc=0.00; $n_vat_decalc=0; $spese_incasso=0; $rit=0; if (($tes['tippag'] == 'B' || $tes['tippag'] == 'T') && $tes['addebitospese'] == 'S' ) { $spese_incasso = $tes['numrat']*$tes['speban']; } elseif ($tes['tippag'] == 'R') { // il pagamento prevede una imposta di bollo fissa if (!isset($cast_vat[$admin_aziend['taxstamp_vat']]['imponi'])) { $cast_vat[$admin_aziend['taxstamp_vat']]['periva'] = 0; $cast_vat[$admin_aziend['taxstamp_vat']]['imponi'] = $tes['stamp']; } else { $cast_vat[$admin_aziend['taxstamp_vat']]['imponi'] += $tes['stamp']; } if (!isset($cast_acc[$admin_aziend['boleff']]['import'])) { $cast_acc[$admin_aziend['boleff']]['import'] = $tes['stamp']; } else { $cast_acc[$admin_aziend['boleff']]['import'] += $tes['stamp']; } } } else { $spese_incasso=0; } if ($tes['traspo']>0) { if (!isset($cast_acc[$admin_aziend['imptra']]['import'])) { $cast_acc[$admin_aziend['imptra']]['import'] = $tes['traspo']; } else { $cast_acc[$admin_aziend['imptra']]['import'] += $tes['traspo']; } } if ($spese_incasso>0) { if (!isset($cast_acc[$admin_aziend['impspe']]['import'])) { $cast_acc[$admin_aziend['impspe']]['import'] = $spese_incasso; } else { $cast_acc[$admin_aziend['impspe']]['import'] += $spese_incasso; } } if ($tes['spevar']>0) { if (!isset($cast_acc[$admin_aziend['impvar']]['import'])) { $cast_acc[$admin_aziend['impvar']]['import'] = $tes['spevar']; } else { $cast_acc[$admin_aziend['impvar']]['import'] += $tes['spevar']; } } //recupero i dati righi per creare il castelletto $rs_rig = gaz_dbi_dyn_query("*", $gTables['rigdoc'], "id_tes = ".$tes['id_tes'],"id_tes DESC"); while ($r = gaz_dbi_fetch_array($rs_rig)) { if ($r['tiprig'] <= 1) {//ma solo se del tipo normale o forfait //calcolo importo rigo $importo = CalcolaImportoRigo($r['quanti'],$r['prelis'],array($r['sconto'],$tes['sconto'])); if ($r['tiprig'] == 1) { $importo = CalcolaImportoRigo(1,$r['prelis'], $tes['sconto']); } //creo il castelletto IVA if (!isset($cast_vat[$r['codvat']]['imponi'])) { $cast_vat[$r['codvat']]['imponi']=0; $cast_vat[$r['codvat']]['periva']=$r['pervat']; } $cast_vat[$r['codvat']]['imponi']+=$importo; $totimpdoc += $importo; //creo il castelletto conti if (!isset($cast_acc[$r['codric']]['import'])) { $cast_acc[$r['codric']]['import'] = 0; } $cast_acc[$r['codric']]['import']+=$importo; if ($r['pervat']>0) { $totimp_decalc += $importo; $n_vat_decalc++; } $rit+=round($importo*$r['ritenuta']/100,2); } elseif($r['tiprig'] == 3) { $carry += $r['prelis'] ; } } // aggiungo i valori della testata al castelletto IVA $somma_spese = $tes['traspo'] + $spese_incasso + $tes['spevar']; $last=count($cast_vat); $acc_val=$somma_spese; foreach ($cast_vat as $k=> $v) { $vat = gaz_dbi_get_row($gTables['aliiva'],"codice",$k); if ($v['periva']>0) { $last--; if ($last == 0) { $v['imponi'] += $acc_val; $totimpdoc += $acc_val; } else { $decalc=round($somma_spese*$v['imponi']/$totimp_decalc,2); $v['imponi'] += $decalc; $totimpdoc += $decalc; $acc_val-=$decalc; } } $cast_vat[$k]['imponi'] = $v['imponi'] ; } // fine aggiunta spese non documentate al castelletto IVA $doc[$tes['protoc']]['tes']=$tes; $doc[$tes['protoc']]['vat']=$cast_vat; $doc[$tes['protoc']]['acc']=$cast_acc; $doc[$tes['protoc']]['car']=$carry; $doc[$tes['protoc']]['rit']=$rit; $ctrlp=$tes['protoc']; } return $doc; }
array('lun' => 17,'nam'=>'Prezzo'), array('lun' => 18,'nam'=>'Importo'), array('lun' => 10,'nam'=>'U.M.'), array('lun' => 20,'nam'=>'Mov.Quant.') ) ); $pdf = new Report_template(); $pdf->setVars($admin_aziend,$title); $pdf->SetTopMargin(39); $pdf->SetFooterMargin(20); $config = new Config; $pdf->AddPage('L',$config->getValue('page_format')); $pdf->SetFont('helvetica','',7); if (sizeof($result) > 0) { while (list($key, $row) = each($result)) { $datadoc = substr($row['datdoc'],8,2).'-'.substr($row['datdoc'],5,2).'-'.substr($row['datdoc'],0,4); $datareg = substr($row['datreg'],8,2).'-'.substr($row['datreg'],5,2).'-'.substr($row['datreg'],0,4); $movQuanti = $row['quanti']*$row['operat']; $pdf->Cell(20,3,$datareg,1,0,'C'); $pdf->Cell(40,3,$row['caumag'].'-'.substr($row['descri'],0,22),1); $pdf->Cell(70,3,$row['artico'].' - '.$row['desart'],1); $pdf->Cell(70,3,$row['desdoc'].' del '.$datadoc,1); $pdf->Cell(17,3,number_format($row['prezzo'],$admin_aziend['decimal_price'],',','.'),1,0,'R'); $pdf->Cell(18,3,gaz_format_number(CalcolaImportoRigo($row['quanti'],$row['prezzo'],array($row['scochi'],$row['scorig']))),1,0,'R'); $pdf->Cell(10,3,$row['unimis'],1,0,'C'); $pdf->Cell(20,3,gaz_format_quantity($movQuanti,1,$admin_aziend['decimal_quantity']),1,1,'R'); } } $pdf->Output(); ?>
function getXMLrows() { $this->tot_trasporto += $this->trasporto; if ($this->taxstamp < 0.01 && $this->tesdoc['taxstamp'] >= 0.01) { $this->taxstamp = $this->tesdoc['taxstamp']; } $from = $this->gTables[$this->tableName] . ' AS rows LEFT JOIN ' . $this->gTables['aliiva'] . ' AS vat ON rows.codvat=vat.codice'; $rs_rig = gaz_dbi_dyn_query('rows.*,vat.tipiva AS tipiva, vat.fae_natura AS natura', $from, "rows.id_tes = " . $this->testat, "id_tes DESC, id_rig"); $this->riporto = 0.0; $this->ritenuta = 0.0; $righiDescrittivi = array(); $last_normal_row = 0; $nr = 1; $results = array(); $dom = new DOMDocument(); while ($rigo = gaz_dbi_fetch_array($rs_rig)) { $rigo['imp_sconto'] = 0.0; if ($rigo['tiprig'] <= 1) { $last_normal_row = $nr; // mi potrebbe servire se alla fine dei righi mi ritrovo con dei descrittivi non ancora indicizzati perché seguono l'ultimo rigo normale // se ho avuto dei righi descrittivi che hanno preceduto questo allora li inputo a questo rigo if (isset($righiDescrittivi[0])) { foreach ($righiDescrittivi[0] as $v) { $righiDescrittivi[$nr][] = $v; // faccio il push su un array indicizzato con $nr (numero rigo) } } unset($righiDescrittivi[0]); // svuoto l'array per prepararlo ad eventuali nuovi righi descrittivi $rigo['importo'] = CalcolaImportoRigo($rigo['quanti'], $rigo['prelis'], $rigo['sconto']); $rigo['imp_sconto'] = number_format(CalcolaImportoRigo($rigo['quanti'], $rigo['prelis'], 0) - $rigo['importo'], 2, '.', ''); $v_for_castle = CalcolaImportoRigo($rigo['quanti'], $rigo['prelis'], array($rigo['sconto'], $this->tesdoc['sconto'])); if ($rigo['tiprig'] == 1) { $rigo['importo'] = CalcolaImportoRigo(1, $rigo['prelis'], 0); $v_for_castle = CalcolaImportoRigo(1, $rigo['prelis'], $this->tesdoc['sconto']); } if (!isset($this->castel[$rigo['codvat']])) { $this->castel[$rigo['codvat']] = 0; } if (!isset($this->body_castle[$rigo['codvat']])) { $this->body_castle[$rigo['codvat']]['impcast'] = 0; } $this->body_castle[$rigo['codvat']]['impcast'] += $v_for_castle; $this->castel[$rigo['codvat']] += $v_for_castle; $this->totimp_body += $rigo['importo']; $this->ritenuta += round($rigo['importo'] * $rigo['ritenuta'] / 100, 2); $this->totimp_doc += $v_for_castle; // aggiungo all'accumulatore l'eventuale iva non esigibile (split payment PA) if ($rigo['tipiva'] == 'T') { $this->ivasplitpay += round($v_for_castle * $rigo['pervat'] / 100, 2); } } elseif ($rigo['tiprig'] == 2) { // descrittivo // faccio prima il parsing XML e poi il push su un array ancora da indicizzare (0) $righiDescrittivi[0][] = htmlspecialchars($rigo['descri'], ENT_XML1); } elseif ($rigo['tiprig'] == 6 || $rigo['tiprig'] == 8) { $body_text = gaz_dbi_get_row($this->gTables['body_text'], "id_body", $rigo['id_body_text']); $dom->loadHTML($body_text['body_text']); $rigo['descri'] = strip_tags($dom->saveXML()); $res = explode("\n", wordwrap($rigo['descri'], 60, "\n")); // faccio il push ricorsivo su un array ancora da indicizzare (0) foreach ($res as $v) { $ctrl_v = trim($v); if (!empty($ctrl_v)) { $righiDescrittivi[0][] = $v; } } } elseif ($rigo['tiprig'] == 3) { // var.totale fattura $this->riporto += $rigo['prelis']; } $results[$nr] = $rigo; $nr++; //creo il castelletto IVA ma solo se del tipo normale o forfait } /* se finiti i righi ho incontrato dei descrittivi che non sono stati imputati a dei righi normali perché successivi a questi allora li imputo all'ultimo normale incontrato */ if (isset($righiDescrittivi[0])) { foreach ($righiDescrittivi[0] as $v) { $righiDescrittivi[$last_normal_row][] = $v; // faccio il push su un array indicizzato con $nr (numero rigo) } } unset($righiDescrittivi[0]); // se ho dei trasporti lo aggiungo ai righi del relativo DdT if ($this->trasporto >= 0.1) { $rigo_T = array('tiprig' => 'T', 'descri' => 'TRASPORTO', 'importo' => $this->trasporto, 'pervat' => $this->expense_pervat['aliquo'], 'ritenuta' => 0, 'natura' => $this->expense_pervat['fae_natura']); $results[$nr] = $rigo_T; $nr++; } foreach ($results as $k => $v) { // associo l'array dei righi descrittivi con quello del righo corrispondente $r[$k] = $v; if (isset($righiDescrittivi[$k])) { $r[$k]['descrittivi'] = $righiDescrittivi[$k]; } } return $r; }
function getStockValue($id_mov=false,$item_code=null,$date=null,$stock_eval_method=null,$decimal_price=2) /* Questa funzione serve per restituire la valorizzazione dello scarico a seconda del metodo (WMA,LIFO,FIFO) scelto per ottenerla. Puo' essere sufficiente valorizzare il solo $id_mov, ma questo costringe la funzione ad una query per ottenere gli altri valori; oppure il solo codice dell'articolo, in questo caso si prende in considerazione l'ultimo movimento riferito all'articolo */ { global $gTables; if (!$id_mov && empty($item_code)){ // non ho nulla! return array('q'=>0,'v'=>0,'q_g'=>0,'v_g'=>0); } elseif (!$id_mov && !empty($item_code)) { // ho il codice articolo senza id if ($date){ // ho anche la data $rs_last_mov = gaz_dbi_dyn_query("*", $gTables['movmag'], "artico = '".$item_code."' AND datreg <= '$date'","datreg DESC, id_mov DESC",0,1); } else { // non ho la data limite $rs_last_mov = gaz_dbi_dyn_query("*", $gTables['movmag'], "artico = '".$item_code."'","datreg DESC, id_mov DESC",0,1); } $last_mov = gaz_dbi_fetch_array($rs_last_mov); if ($last_mov) { $id_mov=$last_mov['id_mov']; $date=$last_mov['datreg']; } else { return array('q'=>0,'v'=>0,'q_g'=>0,'v_g'=>0); } } elseif (!$date || empty($item_code)) { //ho il solo id_mov $mm = gaz_dbi_get_row($gTables['movmag'],"id_mov",$id_mov); $date=$mm['datreg']; $item_code=$mm['artico']; } if (!$stock_eval_method) { $stock_eval_method = $this->getStockEvalMethod(); } $rs_last_inventory = gaz_dbi_dyn_query("*", $gTables['movmag'], "artico = '$item_code' AND caumag = 99 AND (datreg < '".$date."' OR (datreg = '".$date."' AND id_mov <= $id_mov ))","datreg DESC, id_mov DESC",0,1); $last_inventory = gaz_dbi_fetch_array($rs_last_inventory); if ($last_inventory) { $last_invDate =$last_inventory['datreg']; $last_invPrice=$last_inventory['prezzo']; $last_invQuanti=$last_inventory['quanti']; } else { $last_invDate='2000-01-01'; $last_invPrice=0; $last_invQuanti=0; } $utsdatePrev= mktime(0,0,0,intval(substr($date,5,2)),intval(substr($date,8,2))-1,intval(substr($date,0,4))); $datePrev = date("Y-m-d",$utsdatePrev); $where="artico = '$item_code' AND (datreg BETWEEN '$last_invDate' AND '$datePrev' OR (datreg = '$date' AND id_mov <= $id_mov))"; $orderby="datreg ASC, id_mov ASC"; //ordino in base alle date $return_val=array(); $accumulatore=array(); switch ($stock_eval_method) { //calcolo il nuovo valore in base al metodo scelto in configurazione azienda case "0": //standard case "3": // FIFO $rs_movmag = gaz_dbi_dyn_query("*", $gTables['movmag'],"caumag < 98 AND ". $where,$orderby); // Qui metto i valori dell'ultimo inventario $accumulatore[0]=array('q'=>$last_invQuanti,'v'=>$last_invPrice); $giacenza=array('q_g'=>$last_invQuanti,'v_g'=>$last_invPrice*$last_invQuanti); $return_val[0]=array('q'=>$last_invQuanti,'v'=>$last_invPrice, 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); // Fine valorizzazione con ultimo inventario while ($r = gaz_dbi_fetch_array($rs_movmag)) { // questo e' il prezzo che usero' solo per gli acquisti $row_val=CalcolaImportoRigo(1,$r['prezzo'],array($r['scorig'],$r['scochi']),$decimal_price); if ($r['operat']==1) { //carico $accumulatore[]=array('q'=>$r['quanti'],'v'=>$row_val); $giacenza['q_g']+=$r['quanti']; $giacenza['v_g']+=$r['quanti']*$row_val; if ($r['id_mov']==$id_mov) { // e' il movimento di riferimento $return_val[0] = array('q'=>$r['quanti'],'v'=>$row_val, 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); } } elseif ($r['operat']==-1) { //scarico $return_val=array(); //azzero l'accumulatore per il ritorno foreach ($accumulatore as $k=>$acc_val) { //attraverso l'accumulatore if ($acc_val['q']>$r['quanti']) { // la quantita' nell'accumulatore e' sufficiente per coprire lo scarico $accumulatore[$k]['q'] -= $r['quanti']; $giacenza['q_g']-=$r['quanti']; $giacenza['v_g']-=$r['quanti']*$acc_val['v']; if ($r['id_mov']==$id_mov) { // e' il movimento di riferimento $return_val[] = array('q'=>$r['quanti'],'v'=>$acc_val['v'], 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); } $r['quanti']=0; break; } elseif ($acc_val['q']==$r['quanti']) { // la quantita' da scaricare e' la stessa nell'accumulatore $giacenza['q_g']-=$r['quanti']; $giacenza['v_g']-=$r['quanti']*$acc_val['v']; if ($r['id_mov']==$id_mov) { // e' il movimento di riferimento $return_val[] = array('q'=>$r['quanti'],'v'=>$acc_val['v'], 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); } unset ($accumulatore[$k]); $r['quanti']=0; break; } else { // la quantita' da scaricare e' maggiore di quella nell'accumulatore $r['quanti'] -= $acc_val['q']; $giacenza['q_g']-=$acc_val['q']; $giacenza['v_g']-=$acc_val['q']*$acc_val['v']; if ($r['id_mov']==$id_mov) { // e' il movimento che voglio valorizzare: lo accumulo $return_val[] = array('q'=>$acc_val['q'],'v'=>$acc_val['v'], 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); } unset ($accumulatore[$k]); } } // esco dal loop ma potrebbe accadere che i carichi non erano sufficienti a coprire lo scarico if ($r['quanti']>0) { // e' il movimento che voglio valorizzare: lo accumulo $giacenza['q_g']-=$r['quanti']; $giacenza['v_g']-=0; if ($r['id_mov']==$id_mov) { // e' il movimento che voglio valorizzare: lo accumulo $return_val[] = array('q'=>-$r['quanti'],'v'=>0, 'q_g'=>$giacenza['q_g'],'v_g'=>0); } } } } break; case "1": // WMA $rs_movmag = gaz_dbi_dyn_query("*", $gTables['movmag'], $where." AND caumag < 98",$orderby); $giacenza=array('q_g'=>$last_invQuanti,'v_g'=>$last_invPrice*$last_invQuanti); $return_val[0] = array('q'=>$last_invQuanti,'v'=>$last_invPrice, 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); while ($r = gaz_dbi_fetch_array($rs_movmag)) { if ($r['operat']==1) { //carico $row_val=CalcolaImportoRigo(1,$r['prezzo'],array($r['scorig'],$r['scochi']),$decimal_price); $giacenza['q_g']+=$r['quanti']; $giacenza['v_g']+=$r['quanti']*$row_val; } elseif ($r['operat']==-1) { //scarico if ($giacenza['q_g']<=0) { $giacenza['v_g']=0; $row_val=0; } else { $row_val=$giacenza['v_g']/$giacenza['q_g']; } if ($giacenza['q_g']<=$r['quanti']){ $row_val=0; } $giacenza['q_g']-=$r['quanti']; $giacenza['v_g']-=$r['quanti']*$row_val; } if ($r['id_mov']==$id_mov) { // e' il movimento che voglio valorizzare $return_val[0] = array('q'=>$r['quanti'],'v'=>$row_val, 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); } } break; case "2": // LIFO $rs_movmag = gaz_dbi_dyn_query("*", $gTables['movmag'], $where." AND caumag < 98",$orderby); // Qui metto i valori dell'ultimo inventario $accumulatore[0]=array('q'=>$last_invQuanti,'v'=>$last_invPrice); $giacenza=array('q_g'=>$last_invQuanti,'v_g'=>$last_invPrice*$last_invQuanti); $return_val[0]=array('q'=>$last_invQuanti,'v'=>$last_invPrice, 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); // Fine valorizzazione con ultimo inventario while ($r = gaz_dbi_fetch_array($rs_movmag)) { // questo e' il prezzo che usero' solo per gli acquisti $row_val=CalcolaImportoRigo(1,$r['prezzo'],array($r['scorig'],$r['scochi'])); if ($r['operat']==1) { //carico $accumulatore[]=array('q'=>$r['quanti'],'v'=>$row_val); $giacenza['q_g']+=$r['quanti']; $giacenza['v_g']+=$r['quanti']*$row_val; if ($r['id_mov']==$id_mov) { // e' il movimento di riferimento $return_val[0] = array('q'=>$r['quanti'],'v'=>$row_val, 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); } } elseif ($r['operat']==-1) { //scarico $return_val=array(); //azzero l'accumulatore per il ritorno $accumulatore=array_reverse($accumulatore); foreach ($accumulatore as $k=>$acc_val) { //attraverso l'accumulatore if ($acc_val['q']>$r['quanti']) { // la quantita' nell'accumulatore e' sufficiente per coprire lo scarico $accumulatore[$k]['q'] -= $r['quanti']; $giacenza['q_g']-=$r['quanti']; $giacenza['v_g']-=$r['quanti']*$acc_val['v']; if ($r['id_mov']==$id_mov) { // e' il movimento di riferimento $return_val[] = array('q'=>$r['quanti'],'v'=>$acc_val['v'], 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); } $r['quanti']=0; break; } elseif ($acc_val['q']==$r['quanti']) { // la quantita' da scaricare e' la stessa nell'accumulatore $giacenza['q_g']-=$r['quanti']; $giacenza['v_g']-=$r['quanti']*$acc_val['v']; if ($r['id_mov']==$id_mov) { // e' il movimento di riferimento $return_val[] = array('q'=>$r['quanti'],'v'=>$acc_val['v'], 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); } unset ($accumulatore[$k]); $r['quanti']=0; break; } else { // la quantita' da scaricare e' maggiore di quella nell'accumulatore $r['quanti'] -= $acc_val['q']; $giacenza['q_g']-=$acc_val['q']; $giacenza['v_g']-=$acc_val['q']*$acc_val['v']; if ($r['id_mov']==$id_mov) { // e' il movimento che voglio valorizzare: lo accumulo $return_val[] = array('q'=>$acc_val['q'],'v'=>$acc_val['v'], 'q_g'=>$giacenza['q_g'],'v_g'=>$giacenza['v_g']); } unset ($accumulatore[$k]); } } $accumulatore=array_reverse($accumulatore); // esco dal loop ma potrebbe accadere che i carichi non erano sufficienti a coprire lo scarico if ($r['quanti']>0) { // e' il movimento che voglio valorizzare: lo accumulo $giacenza['q_g']-=$r['quanti']; $giacenza['v_g']-=0; if ($r['id_mov']==$id_mov) { // e' il movimento che voglio valorizzare: lo accumulo $return_val[] = array('q'=>-$r['quanti'],'v'=>0, 'q_g'=>$giacenza['q_g'],'v_g'=>0); } } } } break; default: } return $return_val; }
function getRigo() { $from = $this->gTables[$this->tableName] . ' AS rows LEFT JOIN ' . $this->gTables['aliiva'] . ' AS vat ON rows.codvat=vat.codice'; $rs_rig = gaz_dbi_dyn_query('rows.*,vat.tipiva AS tipiva', $from, "rows.id_tes = " . $this->testat, "id_tes DESC, id_rig"); $this->tottraspo += $this->trasporto; if ($this->taxstamp < 0.01 && $this->tesdoc['taxstamp'] >= 0.01) { $this->taxstamp = $this->tesdoc['taxstamp']; } $this->riporto = 0.0; $this->ritenuta = 0.0; $results = array(); while ($rigo = gaz_dbi_fetch_array($rs_rig)) { if ($rigo['tiprig'] <= 1) { $rigo['importo'] = CalcolaImportoRigo($rigo['quanti'], $rigo['prelis'], $rigo['sconto']); $v_for_castle = CalcolaImportoRigo($rigo['quanti'], $rigo['prelis'], array($rigo['sconto'], $this->tesdoc['sconto'])); if ($rigo['tiprig'] == 1) { $rigo['importo'] = CalcolaImportoRigo(1, $rigo['prelis'], 0); $v_for_castle = CalcolaImportoRigo(1, $rigo['prelis'], $this->tesdoc['sconto']); } if (!isset($this->castel[$rigo['codvat']])) { $this->castel[$rigo['codvat']] = 0; } if (!isset($this->body_castle[$rigo['codvat']])) { $this->body_castle[$rigo['codvat']]['impcast'] = 0; } $this->body_castle[$rigo['codvat']]['impcast'] += $v_for_castle; $this->castel[$rigo['codvat']] += $v_for_castle; $this->totimp_body += $rigo['importo']; $this->ritenuta += round($rigo['importo'] * $rigo['ritenuta'] / 100, 2); } elseif ($rigo['tiprig'] > 5 && $rigo['tiprig'] < 9) { $body_text = gaz_dbi_get_row($this->gTables['body_text'], "id_body", $rigo['id_body_text']); $rigo['descri'] = $body_text['body_text']; } elseif ($rigo['tiprig'] == 3) { $this->riporto += $rigo['prelis']; } $results[] = $rigo; //creo il castelletto IVA ma solo se del tipo normale o forfait } return $results; }
function getDocumentsBill($upd=false) { global $gTables,$admin_aziend; $calc = new Compute; $from = $gTables['tesdoc'].' AS tesdoc LEFT JOIN '.$gTables['pagame'].' AS pay ON tesdoc.pagame=pay.codice LEFT JOIN '.$gTables['clfoco'].' AS customer ON tesdoc.clfoco=customer.codice LEFT JOIN '.$gTables['anagra'].' AS anagraf ON anagraf.id=customer.id_anagra'; $where = "(tippag = 'B' OR tippag = 'T' OR tippag = 'V') AND geneff = '' AND tipdoc LIKE 'FA_'"; $orderby = "datfat ASC, protoc ASC, id_tes ASC"; $result = gaz_dbi_dyn_query('tesdoc.*, pay.tippag,pay.numrat,pay.tipdec,pay.giodec,pay.tiprat,pay.mesesc,pay.giosuc, customer.codice, customer.speban AS addebitospese, CONCAT(anagraf.ragso1,\' \',anagraf.ragso2) AS ragsoc,CONCAT(anagraf.citspe,\' (\',anagraf.prospe,\')\') AS citta', $from,$where,$orderby); $doc=array(); $ctrlp=0; while ($tes = gaz_dbi_fetch_array($result)) { //il numero di protocollo contiene anche l'anno nei primi 4 numeri $year_prot=intval(substr($tes['datfat'],0,4))*1000000+$tes['protoc']; if ($year_prot <> $ctrlp) { // la prima testata della fattura if ($ctrlp>0 && ($doc[$ctrlp]['tes']['stamp'] >= 0.01 || $taxstamp >= 0.01 )) { // non è il primo ciclo faccio il calcolo dei bolli del pagamento e lo aggiungo ai castelletti $calc->payment_taxstamp($calc->total_imp+$calc->total_vat+$carry-$rit+$taxstamp, $doc[$ctrlp]['tes']['stamp'],$doc[$ctrlp]['tes']['round_stamp']*$doc[$ctrlp]['tes']['numrat']); $calc->add_value_to_VAT_castle($doc[$ctrlp]['vat'],$taxstamp+$calc->pay_taxstamp,$admin_aziend['taxstamp_vat']); $doc[$ctrlp]['vat']=$calc->castle; // aggiungo il castelleto conti if (!isset($doc[$ctrlp]['acc'][$admin_aziend['boleff']])) { $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] = 0; } $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] += $taxstamp+$calc->pay_taxstamp; } $carry=0; $somma_spese=0; $cast_vat=array(); $totimp_decalc=0.00; $n_vat_decalc=0; $totimpdoc=0; $spese_incasso=$tes['numrat']*$tes['speban']; $taxstamp=0; $rit=0; } else { $spese_incasso=0; } // aggiungo il bollo sugli esenti/esclusi se nel DdT c'è ma non è ancora stato mai aggiunto if ($tes['taxstamp']>=0.01 && $taxstamp<0.01) { $taxstamp=$tes['taxstamp']; } if ($tes['virtual_taxstamp'] == 0 || $tes['virtual_taxstamp'] == 3 ) { // se è a carico dell'emittente non lo aggiungo al castelletto IVA $taxstamp = 0.00; } //recupero i dati righi per creare il castelletto $from = $gTables['rigdoc'].' AS rows LEFT JOIN '.$gTables['aliiva'].' AS vat ON rows.codvat=vat.codice'; $rs_rig = gaz_dbi_dyn_query('rows.*,vat.tipiva AS tipiva',$from, "rows.id_tes = ".$tes['id_tes'],"id_tes DESC"); while ($r = gaz_dbi_fetch_array($rs_rig)) { if ($r['tiprig'] <= 1) {//ma solo se del tipo normale o forfait //calcolo importo rigo $importo = CalcolaImportoRigo($r['quanti'],$r['prelis'],array($r['sconto'],$tes['sconto'])); if ($r['tiprig'] == 1) { $importo = CalcolaImportoRigo(1,$r['prelis'], $tes['sconto']); } //creo il castelletto IVA if (!isset($cast_vat[$r['codvat']]['import'])) { $cast_vat[$r['codvat']]['impcast']=0; $cast_vat[$r['codvat']]['ivacast']=round(($importo*$r['pervat'])/ 100,2);; $cast_vat[$r['codvat']]['import']=0; $cast_vat[$r['codvat']]['periva']=$r['pervat']; $cast_vat[$r['codvat']]['tipiva']=$r['tipiva']; } $cast_vat[$r['codvat']]['impcast']+=$importo; $cast_vat[$r['codvat']]['import']+=$importo; $totimpdoc += $importo; $rit+=round($importo*$r['ritenuta']/100,2); } elseif($r['tiprig'] == 3) { $carry += $r['prelis'] ; } } $doc[$year_prot]['tes']=$tes; $doc[$year_prot]['car']=$carry; $doc[$year_prot]['rit']=$rit; $ctrlp=$year_prot; $somma_spese += $tes['traspo'] + $spese_incasso + $tes['spevar'] ; $calc->add_value_to_VAT_castle($cast_vat,$somma_spese,$tes['expense_vat']); $doc[$ctrlp]['vat']=$calc->castle; // segno l'effetto come generato if ($upd) { gaz_dbi_query ("UPDATE ".$gTables['tesdoc']." SET geneff = 'S' WHERE id_tes = ".$tes['id_tes'].";"); } } if ($doc[$ctrlp]['tes']['stamp'] >= 0.01 || $taxstamp >= 0.01 ) { // a chiusura dei cicli faccio il calcolo dei bolli del pagamento e lo aggiungo ai castelletti $calc->payment_taxstamp($calc->total_imp+$calc->total_vat+$carry-$rit+$taxstamp, $doc[$ctrlp]['tes']['stamp'],$doc[$ctrlp]['tes']['round_stamp']*$doc[$ctrlp]['tes']['numrat']); // aggiungo al castelletto IVA $calc->add_value_to_VAT_castle($doc[$ctrlp]['vat'],$taxstamp+$calc->pay_taxstamp,$admin_aziend['taxstamp_vat']); $doc[$ctrlp]['vat']=$calc->castle; // aggiungo il castelleto conti if (!isset($doc[$ctrlp]['acc'][$admin_aziend['boleff']])) { $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] = 0; } $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] += $doc[$ctrlp]['tes']['taxstamp']+$calc->pay_taxstamp; } return $doc; }
$pdf->Cell(50,4,$script_transl['bank'],'LTB',0); $pdf->Cell(11,4,':','TB',0,'R'); $pdf->Cell(125,4,$bank['descri'],'RTB',1); $pdf->Cell(50,4,$script_transl['doc_type'],'LTB',0); $pdf->Cell(11,4,':','TB',0,'R'); $pdf->Cell(125,4,$script_transl['doc_type_value'][$contract['doc_type']],'RTB',1); $pdf->Cell(50,4,$script_transl['cod_revenue'],'LTB',0); $pdf->Cell(11,4,':','TB',0,'R'); $pdf->Cell(125,4,$contract['cod_revenue'].' - '.$revenue['descri'],'RTB',1); $pdf->Cell(50,4,$script_transl['vat_code'],'LTB',0); $pdf->Cell(11,4,':','TB',0,'R'); $pdf->Cell(125,4,$contract['vat_code'].' - '.$vat['descri'],'RTB',1); $pdf->Cell(50,4,$script_transl['initial_fee'],'LTB',0); $pdf->Cell(11,4,':','TB',0,'R'); $pdf->Cell(125,4,$contract['initial_fee'],'RTB',1); $pdf->Ln(4); if (gaz_dbi_num_rows($rs_rows)){ $pdf->Cell(186,4,$script_transl['rows_title'],0,1,'C'); } while ($row = gaz_dbi_fetch_array($rs_rows)) { $importo = CalcolaImportoRigo($row['quanti'], $row['price'], $row['discount']); $pdf->Cell(90,4,$row['descri'],1); $pdf->Cell(11,4,$row['unimis'],1,0,'C'); $pdf->Cell(20,4,gaz_format_quantity($row['quanti'],1,$admin_aziend['decimal_quantity']),1,0,'R'); $pdf->Cell(25,4,number_format($row['price'],$admin_aziend['decimal_price'],',',''),1,0,'R'); $pdf->Cell(10,4,gaz_format_quantity($row['discount'],1,9),1,0,'R'); $pdf->Cell(30,4,number_format($importo,2,',',''),1,1,'R'); } $pdf->Output(); ?>
foreach ($form['rows'] as $k=>$v) { $descrizione=$v['descri']; // addizione ai totali peso,pezzi,volume $artico = gaz_dbi_get_row($gTables['artico'],'codice',$v['codart']); $form['net_weight'] += $v['quanti']*$artico['peso_specifico']; if ($artico['pack_units']>0) { $form['units'] += intval(round($v['quanti']/$artico['pack_units'])); } $form['volume'] += $v['quanti']*$artico['volume_specifico']; // fine addizione peso,pezzi,volume // calcolo importo totale (iva inclusa) del rigo e creazione castelletto IVA if ($v['tiprig'] <= 1) { //ma solo se del tipo normale o forfait if ($v['tiprig'] == 0) { // tipo normale $tot_row = CalcolaImportoRigo($v['quanti'], $v['prelis'],array($v['sconto'],$form['sconto'],-$v['pervat'])); } else { // tipo forfait $tot_row = CalcolaImportoRigo(1,$v['prelis'],-$v['pervat']); } if (!isset($castel[$v['codvat']])) { $castel[$v['codvat']]=0.00; } $castel[$v['codvat']]+=$tot_row; // calcolo il totale del rigo stornato dell'iva $imprig=round($tot_row/(1+$v['pervat']/100),2); $tot+=$tot_row; } // fine calcolo importo rigo, totale e castelletto IVA $nr=$k+1; echo "<input type=\"hidden\" value=\"".$v['status']."\" name=\"rows[$k][status]\">\n"; echo "<input type=\"hidden\" value=\"".$v['codart']."\" name=\"rows[$k][codart]\">\n"; echo "<input type=\"hidden\" value=\"".$v['tiprig']."\" name=\"rows[$k][tiprig]\">\n"; echo "<input type=\"hidden\" value=\"".$v['codvat']."\" name=\"rows[$k][codvat]\">\n";
$ctrl_tes = 0; $total_order = 0; foreach ($form['righi'] as $k => $v) { $checkin = ' disabled '; $imprig = 0; //calcolo importo rigo switch($v['tiprig']) { case "0": $imprig = CalcolaImportoRigo($form['righi'][$k]['quanti'], $form['righi'][$k]['prelis'], $form['righi'][$k]['sconto']); if ($v['id_doc'] == 0) { $checkin = ' checked'; $total_order += $imprig; } break; case "1": $imprig = CalcolaImportoRigo(1, $form['righi'][$k]['prelis'], 0); if ($v['id_doc'] == 0) { $checkin = ' checked'; $total_order += $imprig; } break; case "2": $checkin = ''; break; case "3": $checkin = ''; break; case "6": $body_text = gaz_dbi_get_row($gTables['body_text'],'id_body',$v['id_body_text']); $v['descri'] = substr($body_text['body_text'],0,80); $checkin = '';
$data['codric'] = $item['codcon']; } else { $data['codric'] = $admin_aziend['impven']; } $data['status'] = 'INSERT'; if (strtoupper($item['unimis'])==strtoupper($vr['unimis'])) { // unita' di misura coincidenti $data['quanti'] = $vr['quanti']; $data['unimis'] = $vr['unimis']; $data['prelis'] = $vr['prezzoweb']; rigbroInsert($data); } else { require("lang.".$admin_aziend['lang'].".php"); $script_transl=$strScript['import_gaziecart.php']; // nel caso in cui il sito usa una unita' diversa dalla normale $r_tot=CalcolaImportoRigo($vr['quanti'], $vr['prezzoweb'], 0); $data['unimis'] = $item['unimis']; if($item['web_multiplier']<>0) { $q=round($item['web_multiplier']*$vr['quanti'],intval($admin_aziend['decimal_quantity'])); } else { $q=$vr['quanti']; } $price=floatval($r_tot/$q); $data['quanti'] = $q; $data['prelis'] = $price; rigbroInsert($data); $dr['tiprig'] = 2; $dr['id_tes'] =$ultimo_id; $dr['descri'] = '\'--> '.$script_transl['des1'].$vr['quanti'].' '.$vr['unimis'].' x '.$vr['prezzoweb'].' '.$admin_aziend['curr_name']; $dr['status'] = 'INSERT'; rigbroInsert($dr);
while ($row = gaz_dbi_fetch_array($result)) { $selected=""; if($form["caumag"] == $row['codice']) { $selected = " selected "; } echo "<option value=\"".$row['codice']."\"".$selected.">".$row['codice']."-".substr($row['descri'],0,20)."</option>\n"; } echo "</select></tr>\n"; } //fine piede echo "<tr><td class=\"FacetFieldCaptionTD\" align=\"right\">$script_transl[32]</td><td class=\"FacetFieldCaptionTD\" align=\"right\">$script_transl[33]</td><td class=\"FacetFieldCaptionTD\" align=\"right\">$script_transl[34]</td><td class=\"FacetFieldCaptionTD\" align=\"right\">%$script_transl[24]<input type=\"text\" name=\"sconto\" value=\"".$form["sconto"]."\" maxlength=\"6\" size=\"1\" onchange=\"this.form.submit()\"></td><td class=\"FacetFieldCaptionTD\" align=\"right\">$script_transl[32]</td><td class=\"FacetFieldCaptionTD\" align=\"right\">$script_transl[19]</td><td class=\"FacetFieldCaptionTD\" align=\"right\">$script_transl[35]</td><td class=\"FacetFieldCaptionTD\" align=\"right\">$script_transl[36] ".$admin_aziend['symbol']."</td>\n"; $chk_add_iva_tes = 0; $i=count($form['rows']); foreach ($castel as $key => $value) { $result = gaz_dbi_get_row($gTables['aliiva'],"codice",$key); $impcast = CalcolaImportoRigo(1, $value, $form['sconto']); if ($key == $form['ivaspe']){ $impcast += $form['traspo'] + $form['speban']*$form['numrat'] + $form['spevar']; $chk_add_iva_tes = 1; } $ivacast = round($impcast * $result['aliquo'])/ 100; $totimpmer += $value; $totimpfat += $impcast; $totivafat += $ivacast; if ($i > 0) { echo "<tr><td align=\"right\">".number_format ($impcast,2, '.', '')."</td><td align=\"right\">".$result['descri']." ".number_format ($ivacast,2, '.', '')."</td>\n"; } } if ($chk_add_iva_tes == 0){// se le spese della testata non sono state aggiunte perchè non si è incontrato uno stesso codice IVA $result = gaz_dbi_get_row($gTables['aliiva'],"codice",$form['ivaspe']);
function getDocumentsAccounts($type='___',$vat_section=1,$date=false,$protoc=999999999) { global $gTables,$admin_aziend; $calc = new Compute; $type = substr($type,0,1); if ($date){ $p=' AND (YEAR(datfat)*1000000+protoc) <= '.(substr($date,0,4)*1000000+$protoc); $d=' AND datfat <= '.$date; } else { $d=''; $p=''; } $from = $gTables['tesdoc'].' AS tesdoc LEFT JOIN '.$gTables['pagame'].' AS pay ON tesdoc.pagame=pay.codice LEFT JOIN '.$gTables['clfoco'].' AS customer ON tesdoc.clfoco=customer.codice LEFT JOIN '.$gTables['anagra'].' AS anagraf ON customer.id_anagra=anagraf.id'; $where = "id_con = 0 AND seziva = $vat_section AND tipdoc LIKE '$type"."__' $d $p"; $orderby = "datfat ASC, protoc ASC"; $result = gaz_dbi_dyn_query('tesdoc.*, pay.tippag,pay.numrat,pay.incaut,pay.tipdec,pay.giodec,pay.tiprat,pay.mesesc,pay.giosuc,pay.id_bank, customer.codice, customer.speban AS addebitospese, CONCAT(anagraf.ragso1,\' \',anagraf.ragso2) AS ragsoc,CONCAT(anagraf.citspe,\' (\',anagraf.prospe,\')\') AS citta', $from,$where,$orderby); $doc=array(); $ctrlp=0; while ($tes = gaz_dbi_fetch_array($result)) { if ($tes['protoc'] <> $ctrlp) { // la prima testata della fattura if ($ctrlp>0 && ($doc[$ctrlp]['tes']['stamp'] >= 0.01 || $doc[$ctrlp]['tes']['taxstamp'] >= 0.01 )) { // non è il primo ciclo faccio il calcolo dei bolli del pagamento e lo aggiungo ai castelletti $calc->payment_taxstamp($calc->total_imp+$calc->total_vat+$carry-$rit-$ivasplitpay+$taxstamp, $doc[$ctrlp]['tes']['stamp'],$doc[$ctrlp]['tes']['round_stamp']*$doc[$ctrlp]['tes']['numrat']); $calc->add_value_to_VAT_castle($doc[$ctrlp]['vat'],$taxstamp+$calc->pay_taxstamp,$admin_aziend['taxstamp_vat']); $doc[$ctrlp]['vat']=$calc->castle; // aggiungo il castelleto conti if (!isset($doc[$ctrlp]['acc'][$admin_aziend['boleff']])) { $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] = 0; } $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] += $taxstamp+$calc->pay_taxstamp; } $carry=0; $ivasplitpay=0; $cast_vat=array(); $cast_acc=array(); $somma_spese=0; $totimpdoc=0; $totimp_decalc=0.00; $n_vat_decalc=0; $spese_incasso=$tes['numrat']*$tes['speban']; $taxstamp=0; $rit=0; } else { $spese_incasso=0; } // aggiungo il bollo sugli esenti/esclusi se nel DdT c'è ma non è ancora stato mai aggiunto if ($tes['taxstamp']>=0.01 && $taxstamp<0.01) { $taxstamp=$tes['taxstamp']; } if ($tes['virtual_taxstamp'] == 0 || $tes['virtual_taxstamp'] == 3) { // se è a carico dell'emittente non lo aggiungo al castelletto IVA $taxstamp = 0.00; } if ($tes['traspo']>=0.01) { if (!isset($cast_acc[$admin_aziend['imptra']]['import'])) { $cast_acc[$admin_aziend['imptra']]['import'] = $tes['traspo']; } else { $cast_acc[$admin_aziend['imptra']]['import'] += $tes['traspo']; } } if ($spese_incasso>=0.01) { if (!isset($cast_acc[$admin_aziend['impspe']]['import'])) { $cast_acc[$admin_aziend['impspe']]['import'] = $spese_incasso; } else { $cast_acc[$admin_aziend['impspe']]['import'] += $spese_incasso; } } if ($tes['spevar']>=0.01) { if (!isset($cast_acc[$admin_aziend['impvar']]['import'])) { $cast_acc[$admin_aziend['impvar']]['import'] = $tes['spevar']; } else { $cast_acc[$admin_aziend['impvar']]['import'] += $tes['spevar']; } } //recupero i dati righi per creare il castelletto $from = $gTables['rigdoc'].' AS rows LEFT JOIN '.$gTables['aliiva'].' AS vat ON rows.codvat=vat.codice'; $rs_rig = gaz_dbi_dyn_query('rows.*,vat.tipiva AS tipiva',$from, "rows.id_tes = ".$tes['id_tes'],"id_tes DESC"); while ($r = gaz_dbi_fetch_array($rs_rig)) { if ($r['tiprig'] <= 1) {//ma solo se del tipo normale o forfait //calcolo importo rigo $importo = CalcolaImportoRigo($r['quanti'],$r['prelis'],array($r['sconto'],$tes['sconto'])); if ($r['tiprig'] == 1) { $importo = CalcolaImportoRigo(1,$r['prelis'], $tes['sconto']); } //creo il castelletto IVA if (!isset($cast_vat[$r['codvat']]['impcast'])) { $cast_vat[$r['codvat']]['impcast']=0; $cast_vat[$r['codvat']]['ivacast']=0; $cast_vat[$r['codvat']]['periva']=$r['pervat']; $cast_vat[$r['codvat']]['tipiva']=$r['tipiva']; } $cast_vat[$r['codvat']]['impcast']+=$importo; $cast_vat[$r['codvat']]['ivacast']+=round(($importo*$r['pervat'])/ 100,2); $totimpdoc += $importo; //creo il castelletto conti if (!isset($cast_acc[$r['codric']]['import'])) { $cast_acc[$r['codric']]['import'] = 0; } $cast_acc[$r['codric']]['import']+=$importo; $rit+=round($importo*$r['ritenuta']/100,2); // aggiungo all'accumulatore l'eventuale iva non esigibile (split payment PA) if ($r['tipiva']=='T') { $ivasplitpay += round(($importo*$r['pervat'])/ 100,2); } } elseif($r['tiprig'] == 3) { $carry += $r['prelis'] ; } } $doc[$tes['protoc']]['tes']=$tes; $doc[$tes['protoc']]['acc']=$cast_acc; $doc[$tes['protoc']]['car']=$carry; $doc[$tes['protoc']]['isp']=$ivasplitpay; $doc[$tes['protoc']]['rit']=$rit; $somma_spese += $tes['traspo'] + $spese_incasso + $tes['spevar'] ; $calc->add_value_to_VAT_castle($cast_vat,$somma_spese,$tes['expense_vat']); $doc[$tes['protoc']]['vat']=$calc->castle; $ctrlp=$tes['protoc']; } if ($doc[$ctrlp]['tes']['stamp'] >= 0.01 || $taxstamp >= 0.01 ) { // a chiusura dei cicli faccio il calcolo dei bolli del pagamento e lo aggiungo ai castelletti $calc->payment_taxstamp($calc->total_imp+$calc->total_vat+$carry-$rit-$ivasplitpay+$taxstamp, $doc[$ctrlp]['tes']['stamp'],$doc[$ctrlp]['tes']['round_stamp']*$doc[$ctrlp]['tes']['numrat']); // aggiungo al castelletto IVA $calc->add_value_to_VAT_castle($doc[$ctrlp]['vat'],$taxstamp+$calc->pay_taxstamp,$admin_aziend['taxstamp_vat']); $doc[$ctrlp]['vat']=$calc->castle; // aggiungo il castelleto conti if (!isset($doc[$ctrlp]['acc'][$admin_aziend['boleff']])) { $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] = 0; } $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] += $taxstamp+$calc->pay_taxstamp; } return $doc; }
} require("../../library/include/header.php"); $script_transl=HeadMain(0,0,'admin_movmag'); print "<form method=\"POST\">\n"; echo "<input type=\"hidden\" value=\"".$form['id_mov']."\" name=\"id_mov\">\n"; print "<div align=\"center\" class=\"FacetFormHeaderFont\">".$script_transl['del_this']."</div>\n"; print "<table border=\"0\" cellpadding=\"3\" cellspacing=\"1\" class=\"FacetFormTABLE\" align=\"center\">\n"; $anagrafica = new Anagrafica(); $a_part = $anagrafica->getPartner($form['clfoco']); $partner = $a_part['ragso1']." ".$a_part['ragso2']; print "<tr><td class=\"FacetFieldCaptionTD\">n. ID </td><td class=\"FacetDataTD\">".$form["id_mov"]."</td></tr>"; print "<tr><td class=\"FacetFieldCaptionTD\">".$script_transl[1]."</td><td class=\"FacetDataTD\">".$form["datreg"]."</td></tr>\n"; print "<tr><td class=\"FacetFieldCaptionTD\">".$script_transl[2]."</td><td class=\"FacetDataTD\">".$causal["descri"]."</td></tr>\n"; print "<tr><td class=\"FacetFieldCaptionTD\">".$script_transl["operat"]."</td><td class=\"FacetDataTD\">".$script_transl["operat_value"][$form["operat"]]."</td></tr>\n"; print "<tr><td class=\"FacetFieldCaptionTD\">".$script_transl["partner"]."</td><td class=\"FacetDataTD\">".$partner."</td></tr>\n"; print "<tr><td class=\"FacetFieldCaptionTD\">".$script_transl[8]."</td><td class=\"FacetDataTD\">".$form["datdoc"]."</td></tr>\n"; print "<tr><td class=\"FacetFieldCaptionTD\">".$script_transl[7]."</td><td class=\"FacetDataTD\">".$form["artico"]."</td></tr>\n"; print "<tr><td class=\"FacetFieldCaptionTD\">".$script_transl[12]."</td><td class=\"FacetDataTD\">".$form["quanti"]."</td></tr>\n"; print "<tr><td class=\"FacetFieldCaptionTD\">".$script_transl[13]."</td><td class=\"FacetDataTD\">".$form["prezzo"]."</td></tr>\n"; print "<tr><td class=\"FacetFieldCaptionTD\">".$script_transl[14]."</td><td class=\"FacetDataTD\">".$form["scorig"]."</td></tr>\n"; print "<tr><td class=\"FacetFieldCaptionTD\">".$script_transl[10]."</td><td class=\"FacetDataTD\">".$form["scochi"]."</td></tr>\n"; $valore = CalcolaImportoRigo($form['quanti'], $form['prezzo'], $form['scorig']) ; $valore = CalcolaImportoRigo(1, $valore, $form['scochi']) ; print "<tr><td class=\"FacetFieldCaptionTD\">".$script_transl["amount"]."</td><td class=\"FacetDataTD\">".gaz_format_number($valore)."</td></tr>\n"; print "<td colspan=\"2\" align=\"right\"><input type=\"submit\" name=\"Return\" value=\"".$script_transl['return']."\"><input type=\"submit\" name=\"Delete\" value=\"".strtoupper($script_transl['delete'])."!\"></td></tr>"; ?> </table> </form> </body> </html>
$totali['max_valcode'] = ""; $totali['max_quacode'] = ""; $castelletto_articoli = array(); while ($rigo_documenti = gaz_dbi_fetch_array($rs_documenti)) { if ($rigo_documenti['scotes'] > 0){ if ($rigo_documenti['tiprig'] == 0){ $valore = CalcolaImportoRigo(1, CalcolaImportoRigo($rigo_documenti['quanti'], $rigo_documenti['prelis'], $rigo_documenti['scorig']), $rigo_documenti['scotes']); } else { $valore = CalcolaImportoRigo(1, CalcolaImportoRigo(1, $rigo_documenti['prelis'], $rigo_documenti['scorig']), $rigo_documenti['scotes']); } } else { if ($rigo_documenti['tiprig'] == 0){ $valore = CalcolaImportoRigo($rigo_documenti['quanti'], $rigo_documenti['prelis'], $rigo_documenti['scorig']); } else { $valore = CalcolaImportoRigo(1, $rigo_documenti['prelis'], $rigo_documenti['scorig']); } } $totali['valore'] += $valore; $totali['quanti'] += $rigo_documenti['quanti']; if (!isset($castelletto_articoli[$rigo_documenti['codart']])) { $castelletto_articoli[$rigo_documenti['codart']] = array('catmer'=>$rigo_documenti['catmer'], 'descri'=>$rigo_documenti['descri'], 'unimis'=>$rigo_documenti['unimis'], 'quanti'=>$rigo_documenti['quanti'], 'valore'=>$valore, 'numven'=>1, 'id_tes'=>$rigo_documenti['id_tes'], 'ragso1'=>$rigo_documenti['ragso1']." ".$rigo_documenti['ragso2'], 'ultven'=>substr($rigo_documenti['datemi'],8,2). ".".substr($rigo_documenti['datemi'],5,2).