fetchArray( $q ); $tot = sizeof($rs); $imponibile = 0.0; $iva = 0.0; $query = "SELECT * FROM co_tipidocumento LEFT JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento WHERE co_documenti.id='".$id_record."'"; $rs_parametri = $dbo->fetchArray($query); $matricola_obb = $rs_parametri[0]['matricola_obb']; $mod_scorte = $rs_parametri[0]['mod_scorte']; $vedi_transazione = $rs_parametri[0]['vedi_transazione']; $mod_transazione = $rs_parametri[0]['mod_transazione']; $abilita_transazioni = $rs_parametri[0]['mod_transazioni']; $stato_chiusura = $rs_parametri[0]['sta_concluso']; $stato_documento = $rs_parametri[0]['idstatodocumento']; $mod_ord_for = $rs_parametri[0]['mod_ord_for']; $sta_conto = $rs_parametri[0]['sta_conto']; $ordine_servizio = $rs_parametri[0]['mod_ordineservizio']; $id_magazzino_e = $rs_parametri[0]['id_magazzino_e']; $mod_mag = $rs_parametri[0]['mod_mag']; if( $tot>0 ){ for( $i=0; $i<$tot; $i++ ){ if( $rs[$i]['idarticolo'] != 0 ){ // $mod_ord_for=get_var_tipodoc2($id_record,'mod_ord_for'); $mancanti = 0; $serials=""; echo "\n"; echo $rs[$i]['ordine']."\n"; echo "\n"; echo "\n"; echo "".nl2br( $rs[$i]['codice_articolo']." - ".$rs[$i]['descrizione'] )."\n"; $a_capo_conto=""; // se il tipo documento prevede un piano dei conti mostro il conto assegnato all'articolo if ( $sta_conto != '0' ) { $descrizione_conto=query_secca("","descrizione","co_pianodeiconti3","where id ='".$rs[$i]['idconto']."'"); echo " ".$descrizione_conto."\n"; $a_capo_conto="
"; } // ricerca seriali if( $rs[$i]['serial']!='' ){ echo "
SN: ".$rs[$i]['serial']; } // se il documento prevede gestione seriali $rs_art = $dbo->fetchArray("select abilita_serial , servizio , qta from mg_articoli where id='".$rs[$i]['idarticolo']."'"); $abilita_pianificazione= $rs_art[0]['servizio']; if ($matricola_obb == '1' ) { // $rs_art = $dbo->fetchArray("select abilita_serial , servizio from mg_articoli where id='".$rs[$i]['idarticolo']."'"); $abilita_seriale= $rs_art[0]['abilita_serial']; // Individuazione dei seriali if ($abilita_seriale == '1' ) { $serials = array_column($dbo->fetchArray('SELECT serial FROM mg_prodotti WHERE serial IS NOT NULL AND id_riga_documento='.($rs[$i]['id'] )), 'serial'); $mancanti = $rs[$i]['qta'] - count($serials); if ($mancanti > 0) { $extra = 'class="warning"'; } else { $mancanti = 0; } } if (!empty($mancanti)) { echo "
Mancano ".$mancanti." numeri seriali \n"; } if (!empty($serials)) { echo "
SN: ".implode(', ', $serials)."\n"; } } $a_capo="
"; // cerco situazione articolo $esegue_giacenza_articolo = query_secca("","ges_magazzino","mg_articoli","where id ='".$rs[$i]['idarticolo']."'"); if( ( $mod_scorte != 0 ) && ( $esegue_giacenza_articolo == 1 ) ){ if ( $rs[$i]['id_magazzino_e'] == 0 ) { $giac_test=$rs_art[0]['qta']; $giac=number_format( $rs_art[0]['qta'], get_var("Cifre decimali"), ",", "." ); } else{ $giac=query_secca("","qta","mg_articoli_magazzini","where idmagazzino='".$rs[$i]['id_magazzino_e']."' and idarticolo='".$rs[$i]['idarticolo']."'" ); $giac_test=$giac; $giac=number_format( $giac, get_var("Cifre decimali"), ",", "." ); } if ( $giac_test > $rs[$i]['qta'] ) echo $a_capo_conto."Disponibilità: (".$giac.")\n"; if ( $giac_test <= $rs[$i]['qta'] ) echo $a_capo_conto."Disponibilità: (".$giac.")\n"; $a_capo=""; } // cerco eventuale riferimento a ordine a fornitore generato if( $rs[$i]['idordine'] != 0 ){ // $mod_ord_for="0"; $qr_ordine = "SELECT numero_esterno,data , or_statiordine.descrizione as stato_ord from or_ordini left join or_statiordine on or_statiordine.id = or_ordini.idstatoordine WHERE or_ordini.id='".$rs[$i]['idordine']."'"; $rs_ordine = $dbo->fetchArray( $qr_ordine ); $testo_ordine=$rs_ordine[0]['numero_esterno']." del ".date("d/m/Y", strtotime($rs_ordine[0]['data']))." ".$rs_ordine[0]['stato_ord']; echo "
Ord.Fornitore: ".$testo_ordine."\n"; } // cerco eventuale riferimento ad un impianto if( $rs[$i]['id_impianto'] != 0 ){ $testo_ordine=$rs[$i]['matricola_impianto']; echo "
Matricola Impianto: ".$testo_ordine."\n"; } // se articolo e' di tipo servizio disabilito pulsante aggiunge carrello if( $rs[$i]['servizio'] != 0 ){ $mod_ord_for="0"; } // cerco riferimento transazione $da_transazione="0"; if( $vedi_transazione != 0 ){ $query="SELECT iddocumento , numero_documento , data FROM `co_righe_documenti` left join co_documenti on co_documenti.id = co_righe_documenti.iddocumento WHERE co_righe_documenti.id='".$rs[$i]['id_riferimento']."'"; $rs_rif = $dbo->fetchArray( $query ); if ( sizeof($rs_rif) > 0 ) { $da_transazione="1"; $descrizione_documento = get_var_tipodoc2($rs_rif[0]['iddocumento'],'descrizione'); echo $a_capo."Rif. ".$descrizione_documento." Numero: ".$rs_rif[0]['numero_documento']." del ".date("d/m/Y", strtotime($rs_rif[0]['data']) )."\n"; } } // verifico se riga di canone if( $records[0]['id_contratto'] != "0" && $records[0]['id_contratto'] != "" ){ if( $rs[$i]['riga_canone'] == "1" ){ $des_tmp="Qta Scalare"; echo "\n"; echo $des_tmp."\n"; echo "\n"; //Possibilità modificare impostazione posizione a contratto echo "\n"; echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo " \n"; echo "
\n"; echo " \n"; echo "\n"; } else{ if( $rs[$i]['riga_canone'] == "2" ){ $des_tmp="Costo Imposto"; echo "\n"; echo $des_tmp."\n"; echo "\n"; //Possibilità modificare impostazione posizione a contratto echo "\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo " \n"; echo "
\n"; echo " \n"; echo "\n"; } else{ $des_tmp=""; echo "\n"; echo $des_tmp."\n"; echo "\n"; echo "\n"; echo $des_tmp."\n"; echo "\n"; } } } //Magazzino if( $rs[$i]['id_magazzino_e'] != "0" ){ $nome_magazzino=query_secca("","nome","mg_magazzini","where id ='".$rs[$i]['id_magazzino_e']."'"); } else{ $nome_magazzino="Principale"; } if ($mod_mag == '0' ) $nome_magazzino="Non gestito"; echo "\n"; echo $nome_magazzino."\n"; echo "\n"; echo "\n"; echo "\n"; echo " ".number_format($rs[$i]['qta'], get_var("Cifre decimali"), ",", ".")."\n"; //Funzione pulsanti veloci aggiunta if( $ordine_servizio == "0" ){ echo " \n"; // pulsante aggiungi uno echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo "\n"; echo " \n"; // pulsante rimuovi uno echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo "\n"; } //FINE Funzione pulsanti veloci //Um echo "\n"; echo $rs[$i]['um']."\n"; echo "\n"; //Costo unitario echo "\n"; echo number_format( $rs[$i]['subtotale']/$rs[$i]['qta'], get_var("Cifre decimali"), ",", "." )." €\n"; if( $rs[$i]['riga_canone'] == "2" ) echo "
Imposto da Canone\n"; echo "\n"; //Iva echo "\n"; echo number_format( $rs[$i]['iva'], get_var("Cifre decimali"), ",", "." )." €\n"; echo "
".$rs[$i]['desc_iva']."\n"; echo "\n"; //Imponibile echo "\n"; echo number_format( $rs[$i]['subtotale'], get_var("Cifre decimali"), ",", "." )." €\n"; if( $rs[$i]['sconto'] > 0 ){ if( $rs[$i]['tipo_sconto']=='2' ){ $testo=number_format( $rs[$i]['sconto_primo'], get_var("Cifre decimali"), ",", "" ); if( $rs[$i]['sconto_extra'] > 0 ) $testo=$testo."+".number_format( $rs[$i]['sconto_extra'], get_var("Cifre decimali"), ",", "." ); if( $rs[$i]['sconto_extra1'] > 0 ) $testo=$testo."+".number_format( $rs[$i]['sconto_extra1'], get_var("Cifre decimali"), ",", "." ); $testo=$testo."%"; $testo=$testo."(".number_format( $rs[$i]['sconto'], get_var("Cifre decimali"), ",", "" ).")"; echo "
sconto ".$testo."\n"; } else{ echo "
sconto ".number_format( $rs[$i]['sconto'], get_var("Cifre decimali"), ",", "" )."€\n"; } } echo "\n"; //Possibilità di rimuovere una riga solo se il codumento non e' in stato concluso come da impostazion echo "\n"; if( $stato_chiusura <> $stato_documento ){ echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; if (!empty($mancanti) ){ echo " \n"; } else{ if (!empty($serials)) { echo " \n"; } } if ( ( $ordine_servizio == "1" ) && ( $abilita_pianificazione == "1" )){ echo " \n"; } if ( $da_transazione == "1") { if ($mod_transazione == "1" ) { if ( $rs[$i]['riga_canone'] == "0" ) echo " \n"; echo " \n"; } } else{ if ( $rs[$i]['riga_canone'] == "0" ) echo " \n"; echo " \n"; } // verifico se posizione puo generare un ordine if( $mod_ord_for == '1' ){ echo " \n"; } echo "
\n"; echo "
\n"; } //Frecce per orinare righe del documento echo "\n"; echo ""; echo "\n"; echo "\n"; echo ""; echo "\n"; if( $abilita_transazioni != 0 ){ echo "\n"; echo " ".number_format($rs[$i]['qta_evasa'], get_var("Cifre decimali"), ",", ".")."\n"; echo "\n"; } // se ordine di servizio mostro id riga if ( $ordine_servizio == "1" ) { echo "\n"; echo $rs[$i]['id']."\n"; echo "\n"; } echo "\n"; echo "\n"; $imponibile_art += $rs[$i]['subtotale']; $iva_art += $rs[$i]['iva']; $sconto += $rs[$i]['sconto']; } //Righe generiche else{ echo "\n"; echo $rs[$i]['ordine']."\n"; echo "\n"; echo "\n"; $desc=$rs[$i]['descrizione']; if ($rs[$i]['grassetto'] == '1'){ $Descrizionetesto = wordwrap ($desc, 200 , "
" ,1); echo "".$Descrizionetesto."\n"; } else{ echo nl2br( $rs[$i]['descrizione'] ); } $descrizione_conto=query_secca("","descrizione","co_pianodeiconti3","where id ='".$rs[$i]['idconto']."'"); echo " ".$descrizione_conto."\n"; // cerco riferimento transazione $da_transazione="0"; if( $vedi_transazione != 0 ){ $query="SELECT iddocumento , numero_documento , data FROM `co_righe_documenti` left join co_documenti on co_documenti.id = co_righe_documenti.iddocumento WHERE co_righe_documenti.id='".$rs[$i]['id_riferimento']."'"; $rs_rif = $dbo->fetchArray( $query ); if ( sizeof($rs_rif) > 0 ) { $da_transazione="1"; $descrizione_documento = get_var_tipodoc2($rs_rif[0]['iddocumento'],'descrizione'); echo "
Rif. ".$descrizione_documento." Numero: ".$rs_rif[0]['numero_documento']." del ".date("d/m/Y", strtotime($rs_rif[0]['data']) )."\n"; } } // cerco eventuale riferimento a ordine a fornitore generato if( $rs[$i]['idordine'] != 0 ){ $mod_ord_for="0"; $qr_ordine = "SELECT numero_esterno,data , or_statiordine.descrizione as stato_ord from or_ordini left join or_statiordine on or_statiordine.id = or_ordini.idstatoordine WHERE or_ordini.id='".$rs[$i]['idordine']."'"; $rs_ordine = $dbo->fetchArray( $qr_ordine ); $testo_ordine=$rs_ordine[0]['numero_esterno']." del ".date("d/m/Y", strtotime($rs_ordine[0]['data']))." ".$rs_ordine[0]['stato_ord']; echo "
Ord.Fornitore: ".$testo_ordine."\n"; } // cerco eventuale riferimento ad un impianto if( $rs[$i]['id_impianto'] != 0 ){ $testo_ordine=$rs[$i]['matricola_impianto']; echo "
Matricola Impianto: ".$testo_ordine."\n"; } echo "\n"; if( $records[0]['id_contratto'] != "0" && $records[0]['id_contratto'] != "" ){ $des_tmp=""; echo "\n"; echo $des_tmp."\n"; echo "\n"; echo "\n"; echo $des_tmp."\n"; echo "\n"; } $nome_magazzino=""; echo "\n"; echo $nome_magazzino."\n"; echo "\n"; echo "\n"; echo " ".number_format($rs[$i]['qta'], get_var("Cifre decimali"), ",", ".")."\n"; echo "\n"; //Funzione pulsanti veloci aggiunta if( $rs[$i]['riga_varia'] == "0" ){ if( $ordine_servizio == "0" ){ echo " \n"; // pulsante aggiungi uno echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo "\n"; echo " \n"; // pulsante rimuovi uno echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo "\n"; } //FINE Funzione pulsanti veloci } else{ if( $ordine_servizio == "0" ){ echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } } //FINE Funzione pulsanti veloci //Um echo "\n"; echo $rs[$i]['um']."\n"; echo "\n"; //Costo unitario echo "\n"; echo number_format( $rs[$i]['subtotale']/$rs[$i]['qta'], get_var("Cifre decimali"), ",", "" )." €\n"; echo "\n"; //Iva echo "\n"; echo number_format( $rs[$i]['iva'], get_var("Cifre decimali"), ",", "." )." €\n"; echo "
".$rs[$i]['desc_iva']."\n"; echo "\n"; //Imponibile echo "\n"; echo number_format( $rs[$i]['subtotale'], get_var("Cifre decimali"), ",", "." )." €\n"; if( $rs[$i]['sconto'] > 0 ){ if( $rs[$i]['tipo_sconto']=='2' ){ $testo=number_format( $rs[$i]['sconto_primo'], get_var("Cifre decimali"), ",", "" ); if( $rs[$i]['sconto_extra'] > 0 ) $testo=$testo."+".number_format( $rs[$i]['sconto_extra'], get_var("Cifre decimali"), ",", "." ); if( $rs[$i]['sconto_extra1'] > 0 ) $testo=$testo."+".number_format( $rs[$i]['sconto_extra1'], get_var("Cifre decimali"), ",", "." ); $testo=$testo."%"; $testo=$testo."(".number_format( $rs[$i]['sconto'], get_var("Cifre decimali"), ",", "" ).")"; echo "
sconto ".$testo."\n"; } else{ echo "
sconto ".number_format( $rs[$i]['sconto'], get_var("Cifre decimali"), ",", "" )."€\n"; } } echo "\n"; //Possibilità di rimuovere una riga solo se il dcoumento non e' in stato concluso echo "\n"; if( $stato_chiusura <> $stato_documento ){ echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; if ( $da_transazione == "1") { if ($mod_transazione == "1" ) { echo " \n"; echo " \n"; } } else{ echo " \n"; echo " \n"; } echo "
\n"; echo "
\n"; } //Frecce per orinare righe della fattura echo "\n"; echo ""; echo "\n"; echo "\n"; echo ""; if( $abilita_transazioni != 0 ){ echo "\n"; echo " ".number_format($rs[$i]['qta_evasa'], get_var("Cifre decimali"), ",", ".")."\n"; echo "\n"; } echo "\n"; echo "\n"; $imponibile_gen += $rs[$i]['subtotale']; $iva_gen += $rs[$i]['iva']; $sconto += $rs[$i]['sconto']; } } $imponibile += $imponibile_int; $totale_iva += $iva_int; $totale += $imponibile_int; $imponibile += $imponibile_pre; $totale_iva += $iva_pre; $totale += $imponibile_pre; $imponibile += $imponibile_con; $totale_iva += $iva_con; $totale += $imponibile_con; $imponibile += $imponibile_art; $totale_iva += $iva_art; $totale += $imponibile_art; $imponibile += $imponibile_gen; $totale_iva += $iva_gen; $totale += $imponibile_gen; } // $col_span='8'; if( $ordine_servizio == "1" ) $col_span='7'; if( $ordine_servizio == "0" ) $col_span='9'; if( $records[0]['id_contratto'] != "0" && $records[0]['id_contratto'] != "" ){ $col_span='9'; } //IMPONIBILE echo "\n"; echo " IMPONIBILE:\n"; echo "\n"; echo "\n"; echo " ".number_format( $imponibile, get_var("Cifre decimali"), ",", "." )." €\n"; echo "\n"; //SCONTO if( abs($sconto) > 0 ){ echo "\n"; echo " SCONTO:\n"; echo "\n"; echo "\n"; echo " ".number_format( $sconto, get_var("Cifre decimali"), ",", "." )." €\n"; echo "\n"; //IMPONIBILE SCONTATO echo "\n"; echo " IMPONIBILE SCONTATO:\n"; echo "\n"; echo "\n"; echo " ".number_format( $imponibile - $sconto, get_var("Cifre decimali"), ",", "." )." €\n"; echo "\n"; $totale -= $sconto; } //RIVALSA INPS if( abs($records[0]['rivalsainps'])>0 ){ echo "\n"; echo " RIVALSA INPS:"; echo "\n"; //Rivalsa INPS echo "\n"; echo number_format( $records[0]['rivalsainps'], get_var("Cifre decimali"), ",", "." )." €"; echo "\n"; $totale += $records[0]['rivalsainps']; } $testo_iva="IVA"; if ( $split_p == '1' ) $testo_iva="IVA A CARICO DEL DESTINATARIO:"; //IVA $totale_iva += $records[0]['iva_rivalsainps']; if( abs($totale_iva)>0 ){ echo "\n"; echo " ".$testo_iva.""; echo "\n"; echo "\n"; echo number_format( $totale_iva, get_var("Cifre decimali"), ",", "." )." €"; echo "\n"; $totale += $totale_iva; } //TOTALE echo "\n"; echo " TOTALE:"; echo "\n"; echo "\n"; echo " ".number_format( $totale, get_var("Cifre decimali"), ",", "." )." €\n"; echo "\n"; $netto_a_pagare = $totale; if ( $split_p == '1' ) $netto_a_pagare -= $totale_iva; //Mostra marca da bollo se c'è if( abs($records[0]['bollo'])>0 ){ echo "\n"; echo " MARCA DA BOLLO:"; echo "\n"; //Marca da bollo $marca_da_bollo = str_replace( ",", ".", $records[0]['bollo'] ); echo "\n"; echo number_format( $marca_da_bollo, get_var("Cifre decimali"), ",", "." )." €"; echo "\n"; $netto_a_pagare += $marca_da_bollo; } //RITENUTA D'ACCONTO if( abs($records[0]['ritenutaacconto'])>0 ){ echo "\n"; echo " RITENUTA D'ACCONTO:"; echo "\n"; //Ritenuta d'acconto echo "\n"; echo number_format( $records[0]['ritenutaacconto'], get_var("Cifre decimali"), ",", "." )." €"; echo "\n"; $netto_a_pagare -= $records[0]['ritenutaacconto']; } //NETTO A PAGARE if( $totale != $netto_a_pagare ){ echo "\n"; echo " NETTO A PAGARE:"; echo "\n"; echo "\n"; echo " ".number_format( $netto_a_pagare, get_var("Cifre decimali"), ",", "." )." €\n"; echo "\n"; } ?>