756 lines
33 KiB
PHP
756 lines
33 KiB
PHP
<?php
|
|
include_once(__DIR__."/../../core.php");
|
|
|
|
|
|
|
|
$module_name="Fatture di vendita";
|
|
|
|
$module_name=query_secca("","name","zz_modules","where id ='".$_SESSION['id_module']."'");
|
|
$name=$module_name;
|
|
$id_module=$_SESSION['id_module'];
|
|
|
|
//Mostro le righe
|
|
$totale = 0.00;
|
|
$totale_imponibile = 0.00;
|
|
$totale_iva = 0.00;
|
|
$totale_da_evadere = 0.00;
|
|
|
|
// verifico se documento in split paymant
|
|
$split_p=$records[0]['split_p'];
|
|
|
|
/*
|
|
Righe fattura
|
|
*/
|
|
$q = "SELECT * , IFNULL((SELECT servizio FROM mg_articoli WHERE id=idarticolo),'') AS servizio, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo),'') AS codice_articolo FROM `co_righe_documenti` WHERE iddocumento='".$id_record."' ORDER BY ordine";
|
|
$rs = $dbo->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 "<tr><td class='text-center'>\n";
|
|
echo $rs[$i]['ordine']."\n";
|
|
echo "</td>\n";
|
|
|
|
|
|
|
|
echo "<td>\n";
|
|
echo "<a href='".$rootdir."/editor.php?id_module=".$modules_info['Articoli']['id']."&id_record=".$rs[$i]['idarticolo']."' target=\"_blank\">".nl2br( $rs[$i]['codice_articolo']." - ".$rs[$i]['descrizione'] )."</a>\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 "<small class='pull-right text-muted'> ".$descrizione_conto."</small>\n";
|
|
$a_capo_conto="<br>";
|
|
}
|
|
// ricerca seriali
|
|
|
|
if( $rs[$i]['serial']!='' ){ echo "<br>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 "<br>Mancano ".$mancanti." numeri seriali \n";
|
|
}
|
|
if (!empty($serials)) {
|
|
echo "<br>SN: ".implode(', ', $serials)."\n";
|
|
}
|
|
}
|
|
$a_capo="<br>";
|
|
// 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."<small class='pull-right label label-success'>Disponibilità: (".$giac.")</small>\n";
|
|
if ( $giac_test <= $rs[$i]['qta'] ) echo $a_capo_conto."<small class='pull-right label label-warning '>Disponibilità: (".$giac.")</small>\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 "<br><a href='".$rootdir."/editor.php?id_module=".$modules_info['Ordini fornitore']['id']."&id_record=".$rs[$i]['idordine']."'</a><small class='pull-right label label-info'>Ord.Fornitore: ".$testo_ordine."</small>\n";
|
|
}
|
|
// cerco eventuale riferimento ad un impianto
|
|
if( $rs[$i]['id_impianto'] != 0 ){
|
|
$testo_ordine=$rs[$i]['matricola_impianto'];
|
|
echo "<br><a href='".$rootdir."/editor.php?id_module=".$modules_info['Installazioni']['id']."&id_record=".$rs[$i]['id_impianto']."'</a><small class='pull-right label label-info'>Matricola Impianto: ".$testo_ordine."</small>\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 "<td class='text-center'>\n";
|
|
echo $des_tmp."\n";
|
|
echo "</td>\n";
|
|
//Possibilità modificare impostazione posizione a contratto
|
|
echo "<td class='text-center'>\n";
|
|
echo " <form action='".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."' method='post' id='delete-form-".$rs[$i]['id']."' role='form'>\n";
|
|
echo " <input type='hidden' name='backto' value='record-edit'>\n";
|
|
echo " <input type='hidden' name='id_record' value='".$id_record."'>\n";
|
|
echo " <input type='hidden' name='idriga' value='".$rs_art[$i]['id']."'>\n";
|
|
echo " <input type='hidden' name='idarticolo' value='".$rs_art[$i]['idarticolo']."'>\n";
|
|
echo " <div class='btn-group'>\n";
|
|
echo " <a class='btn btn-xs btn-info' title='Modifica condizione...' onclick=\"launch_modal( 'Modifica condizione posizione a canone', '".$rootdir."/modules/documenti/edit_riga_canone.php?iddocumento=".$id_record."&idmodule=".$id_module."&idriga=".$rs[$i]['id']."&dir=".$dir."', 1 );\"><i class='fa fa-ambulance'></i></a>\n";
|
|
echo " </div>\n";
|
|
echo " <form>\n";
|
|
echo "</td>\n";
|
|
|
|
}
|
|
else{
|
|
if( $rs[$i]['riga_canone'] == "2" ){
|
|
$des_tmp="Costo Imposto";
|
|
echo "<td class='text-center'>\n";
|
|
echo $des_tmp."\n";
|
|
echo "</td>\n";
|
|
//Possibilità modificare impostazione posizione a contratto
|
|
echo "<td class='text-center'>\n";
|
|
echo " <form action='".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."' method='post' id='delete-form-".$rs[$i]['id']."' role='form'>\n";
|
|
echo " <input type='hidden' name='backto' value='record-edit'>\n";
|
|
echo " <input type='hidden' name='id_record' value='".$id_record."'>\n";
|
|
echo " <input type='hidden' name='idriga' value='".$rs_art[$i]['id']."'>\n";
|
|
echo " <input type='hidden' name='idarticolo' value='".$rs_art[$i]['idarticolo']."'>\n";
|
|
echo " <div class='btn-group'>\n";
|
|
echo " <a class='btn btn-xs btn-info' title='Modifica condizione...' onclick=\"launch_modal( 'Modifica condizione posizione a canone', '".$rootdir."/modules/documenti/edit_riga_canone.php?iddocumento=".$id_record."&idmodule=".$id_module."&idriga=".$rs[$i]['id']."&dir=".$dir."', 1 );\"><i class='fa fa-ambulance'></i></a>\n";
|
|
echo " </div>\n";
|
|
echo " <form>\n";
|
|
echo "</td>\n";
|
|
|
|
}
|
|
else{
|
|
$des_tmp="";
|
|
echo "<td class='text-center'>\n";
|
|
echo $des_tmp."\n";
|
|
echo "</td>\n";
|
|
echo "<td class='text-center'>\n";
|
|
echo $des_tmp."\n";
|
|
echo "</td>\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 "<td class='text-center'>\n";
|
|
echo $nome_magazzino."\n";
|
|
echo "</td>\n";
|
|
|
|
|
|
echo "</td>\n";
|
|
echo "<td class='text-right'>\n";
|
|
echo " ".number_format($rs[$i]['qta'], get_var("Cifre decimali"), ",", ".")."\n";
|
|
|
|
|
|
//Funzione pulsanti veloci aggiunta
|
|
if( $ordine_servizio == "0" ){
|
|
echo " <td class='text-center'>\n";
|
|
// pulsante aggiungi uno
|
|
echo " <form action='".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."' method='post' id='add_qta-form-".$rs[$i]['id']."' role='form'>\n";
|
|
echo " <input type='hidden' name='backto' value='record-edit'>\n";
|
|
echo " <input type='hidden' name='id_record' value='".$id_record."'>\n";
|
|
echo " <input type='hidden' name='idriga' value='".$rs[$i]['id']."'>\n";
|
|
echo " <input type='hidden' name='op' value='add_qta'>\n";
|
|
echo " <a class='btn btn-xs btn-info' title='Aggiunti Qta' onclick=\"{ $('#add_qta-form-".$rs[$i]['id']."').submit(); }\"><i class='fa fa-plus'></i></a>\n";
|
|
echo " </form>\n";
|
|
echo "</td>\n";
|
|
echo " <td class='text-center'>\n";
|
|
// pulsante rimuovi uno
|
|
echo " <form action='".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."' method='post' id='del_qta-form-".$rs[$i]['id']."' role='form'>\n";
|
|
echo " <input type='hidden' name='backto' value='record-edit'>\n";
|
|
echo " <input type='hidden' name='id_record' value='".$id_record."'>\n";
|
|
echo " <input type='hidden' name='idriga' value='".$rs[$i]['id']."'>\n";
|
|
echo " <input type='hidden' name='op' value='del_qta'>\n";
|
|
echo " <a class='btn btn-xs btn-danger' title='Rimuovi Qta' onclick=\"{ $('#del_qta-form-".$rs[$i]['id']."').submit(); }\"><i class='fa fa-minus'></i></a>\n";
|
|
echo " </form>\n";
|
|
echo "</td>\n";
|
|
}
|
|
//FINE Funzione pulsanti veloci
|
|
|
|
|
|
//Um
|
|
echo "<td class='text-center'>\n";
|
|
echo $rs[$i]['um']."\n";
|
|
echo "</td>\n";
|
|
|
|
|
|
//Costo unitario
|
|
echo "<td class='text-right'>\n";
|
|
echo number_format( $rs[$i]['subtotale']/$rs[$i]['qta'], get_var("Cifre decimali"), ",", "." )." €\n";
|
|
if( $rs[$i]['riga_canone'] == "2" ) echo "<br><small class='pull-right label label-warning '>Imposto da Canone</small>\n";
|
|
echo "</td>\n";
|
|
|
|
|
|
//Iva
|
|
echo "<td class='text-right'>\n";
|
|
echo number_format( $rs[$i]['iva'], get_var("Cifre decimali"), ",", "." )." €\n";
|
|
echo " <br><small class='help-block'>".$rs[$i]['desc_iva']."</small>\n";
|
|
echo "</td>\n";
|
|
|
|
|
|
//Imponibile
|
|
echo "<td class='text-right'>\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 "<br><small class='label label-danger'>sconto ".$testo."</small>\n";
|
|
}
|
|
else{
|
|
echo "<br><small class='label label-danger'>sconto ".number_format( $rs[$i]['sconto'], get_var("Cifre decimali"), ",", "" )."€</small>\n";
|
|
}
|
|
}
|
|
|
|
|
|
echo "</td>\n";
|
|
|
|
|
|
//Possibilità di rimuovere una riga solo se il codumento non e' in stato concluso come da impostazion
|
|
echo "<td class='text-center'>\n";
|
|
|
|
if( $stato_chiusura <> $stato_documento ){
|
|
echo " <form action='".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."' method='post' id='delete-form-".$rs[$i]['id']."' role='form'>\n";
|
|
|
|
echo " <input type='hidden' name='backto' value='record-edit'>\n";
|
|
echo " <input type='hidden' name='id_record' value='".$id_record."'>\n";
|
|
echo " <input type='hidden' name='idriga' value='".$rs[$i]['id']."'>\n";
|
|
echo " <input type='hidden' name='dir' value='".$dir."'>\n";
|
|
echo " <input type='hidden' name='idarticolo' value='".$rs[$i]['idarticolo']."'>\n";
|
|
echo " <input type='hidden' name='op' value='unlink_articolo'>\n";
|
|
echo " <div class='input-group-btn'>\n";
|
|
|
|
|
|
if (!empty($mancanti) ){
|
|
echo " <a class='btn btn-primary btn-xs'data-toggle='tooltip' title='Aggiorna SN...' onclick=\"launch_modal( 'Aggiorna SN', '".$rootdir.'/modules/documenti/add_serial.php?id_module='.$modules_info[$name]['id'].'&id_record='.$id_record.'&idmodule='.$id_module.'&idriga='.$rs[$i]['id'].'&idarticolo='.$rs[$i]['idarticolo']."', 1 );\"><i class='fa fa-barcode' aria-hidden='true'></i></a>\n";
|
|
}
|
|
else{
|
|
if (!empty($serials)) {
|
|
echo " <a class='btn btn-primary btn-xs'data-toggle='tooltip' title='Aggiorna SN...' onclick=\"launch_modal( 'Aggiorna SN', '".$rootdir.'/modules/documenti/add_serial.php?id_module='.$modules_info[$name]['id'].'&id_record='.$id_record.'&idmodule='.$id_module.'&idriga='.$rs[$i]['id'].'&idarticolo='.$rs[$i]['idarticolo']."', 1 );\"><i class='fa fa-barcode' aria-hidden='true'></i></a>\n";
|
|
}
|
|
}
|
|
|
|
|
|
if ( ( $ordine_servizio == "1" ) && ( $abilita_pianificazione == "1" )){
|
|
echo " <a class='btn btn-xs btn-info' title='Pianifica posizione...' onclick=\"launch_modal( 'Pianificazione posizione', '".$rootdir."/modules/documenti/edit_pianifica.php?iddocumento=".$id_record."&idmodule=".$id_module."&idriga=".$rs[$i]['id']."&dir=".$dir."', 1 );\"><i class='fa fa-calendar'></i></a>\n";
|
|
|
|
}
|
|
|
|
if ( $da_transazione == "1") {
|
|
if ($mod_transazione == "1" ) {
|
|
|
|
if ( $rs[$i]['riga_canone'] == "0" ) echo " <a class='btn btn-xs btn-warning' title='Modifica questa riga...' onclick=\"launch_modal( 'Modifica riga', '".$rootdir."/modules/documenti/edit_riga.php?iddocumento=".$id_record."&idmodule=".$id_module."&idriga=".$rs[$i]['id']."&dir=".$dir."', 1 );\"><i class='fa fa-edit'></i></a>\n";
|
|
|
|
echo " <a class='btn btn-xs btn-danger' title='Rimuovi questa riga...' onclick=\"if( confirm('Rimuovere questa riga dal documento?') ){ $('#delete-form-".$rs[$i]['id']."').submit(); }\"><i class='fa fa-trash-o'></i></a>\n";
|
|
}
|
|
}
|
|
else{
|
|
if ( $rs[$i]['riga_canone'] == "0" )
|
|
|
|
echo " <a class='btn btn-xs btn-warning' title='Modifica questa riga...' onclick=\"launch_modal( 'Modifica riga', '".$rootdir."/modules/documenti/edit_riga.php?iddocumento=".$id_record."&idmodule=".$id_module."&idriga=".$rs[$i]['id']."&dir=".$dir."', 1 );\"><i class='fa fa-edit'></i></a>\n";
|
|
echo " <a class='btn btn-xs btn-danger' title='Rimuovi questa riga...' onclick=\"if( confirm('Rimuovere questa riga dal documento?') ){ $('#delete-form-".$rs[$i]['id']."').submit(); }\"><i class='fa fa-trash-o'></i></a>\n";
|
|
}
|
|
|
|
|
|
|
|
// verifico se posizione puo generare un ordine
|
|
if( $mod_ord_for == '1' ){
|
|
echo " <a class='btn btn-xs btn-info' title='Creazione ordine Fornitore...' onclick=\"launch_modal( 'Ordine a Fornitore', '".$rootdir."/modules/documenti/add_fornitore.php?iddocumento=".$id_record."&idmodule=".$id_module."&idriga=".$rs[$i]['id']."&dir=".$dir."', 1 );\"><i class='fa fa-cart-plus'></i></a>\n";
|
|
}
|
|
|
|
echo " </div>\n";
|
|
echo " </form>\n";
|
|
}
|
|
|
|
//Frecce per orinare righe del documento
|
|
echo "<a href='javascript:;' onclick=\"$.post( '".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."', { op: 'sortrows', id: '".$rs[$i]['id']."', ordine: '".($rs[$i]['ordine']-1)."' }, function(response){ location.href='".$rootdir."/editor.php?id_module=".$modules_info[$name]['id']."&id_record=".$id_record."'; });\" >\n";
|
|
echo "<i class='fa fa-arrow-up text-success' data-toggle='tooltip' title=\"Clicca per spostare in su la riga...\"></i>";
|
|
echo "</a>\n";
|
|
|
|
echo "<a href='javascript:;' onclick=\"$.post( '".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."', { op: 'sortrows', id: '".$rs[$i]['id']."', ordine: '".($rs[$i]['ordine']+1)."' }, function(response){ location.href='".$rootdir."/editor.php?id_module=".$modules_info[$name]['id']."&id_record=".$id_record."'; });\" >\n";
|
|
echo "<i class='fa fa-arrow-down text-success' data-toggle='tooltip' title=\"Clicca per spostare in giù la riga...\"></i>";
|
|
echo "</a>\n";
|
|
|
|
|
|
if( $abilita_transazioni != 0 ){
|
|
echo "<td class='text-right'>\n";
|
|
echo " ".number_format($rs[$i]['qta_evasa'], get_var("Cifre decimali"), ",", ".")."\n";
|
|
echo "</td>\n";
|
|
}
|
|
// se ordine di servizio mostro id riga
|
|
if ( $ordine_servizio == "1" ) {
|
|
echo "<td class='text-right'>\n";
|
|
echo $rs[$i]['id']."\n";
|
|
echo "</td>\n";
|
|
|
|
}
|
|
|
|
echo "</td>\n";
|
|
|
|
|
|
|
|
echo "</td></tr>\n";
|
|
|
|
$imponibile_art += $rs[$i]['subtotale'];
|
|
$iva_art += $rs[$i]['iva'];
|
|
|
|
$sconto += $rs[$i]['sconto'];
|
|
}
|
|
|
|
|
|
//Righe generiche
|
|
else{
|
|
echo "<tr><td class='text-center'>\n";
|
|
echo $rs[$i]['ordine']."\n";
|
|
echo "</td>\n";
|
|
|
|
|
|
|
|
echo "<td>\n";
|
|
$desc=$rs[$i]['descrizione'];
|
|
if ($rs[$i]['grassetto'] == '1'){
|
|
$Descrizionetesto = wordwrap ($desc, 200 , "<br />" ,1);
|
|
echo "<small class='label label-info'>".$Descrizionetesto."</small>\n";
|
|
}
|
|
else{
|
|
echo nl2br( $rs[$i]['descrizione'] );
|
|
}
|
|
|
|
|
|
$descrizione_conto=query_secca("","descrizione","co_pianodeiconti3","where id ='".$rs[$i]['idconto']."'");
|
|
echo "<small class='pull-right text-muted'> ".$descrizione_conto."</small>\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 "<br>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 "<br><a href='".$rootdir."/editor.php?id_module=".$modules_info['Ordini fornitore']['id']."&id_record=".$rs[$i]['idordine']."'</a><small class='pull-right label label-info'>Ord.Fornitore: ".$testo_ordine."</small>\n";
|
|
}
|
|
// cerco eventuale riferimento ad un impianto
|
|
if( $rs[$i]['id_impianto'] != 0 ){
|
|
$testo_ordine=$rs[$i]['matricola_impianto'];
|
|
echo "<br><a href='".$rootdir."/editor.php?id_module=".$modules_info['Installazioni']['id']."&id_record=".$rs[$i]['id_impianto']."'</a><small class='pull-right label label-info'>Matricola Impianto: ".$testo_ordine."</small>\n";
|
|
}
|
|
echo "</td>\n";
|
|
|
|
|
|
if( $records[0]['id_contratto'] != "0" && $records[0]['id_contratto'] != "" ){
|
|
$des_tmp="";
|
|
echo "<td class='text-center'>\n";
|
|
echo $des_tmp."\n";
|
|
echo "</td>\n";
|
|
echo "<td class='text-center'>\n";
|
|
echo $des_tmp."\n";
|
|
echo "</td>\n";
|
|
}
|
|
|
|
|
|
|
|
$nome_magazzino="";
|
|
echo "<td class='text-center'>\n";
|
|
echo $nome_magazzino."\n";
|
|
echo "</td>\n";
|
|
|
|
|
|
echo "<td class='text-right'>\n";
|
|
echo " ".number_format($rs[$i]['qta'], get_var("Cifre decimali"), ",", ".")."\n";
|
|
echo "</td>\n";
|
|
//Funzione pulsanti veloci aggiunta
|
|
if( $rs[$i]['riga_varia'] == "0" ){
|
|
if( $ordine_servizio == "0" ){
|
|
echo " <td class='text-center'>\n";
|
|
// pulsante aggiungi uno
|
|
echo " <form action='".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."' method='post' id='add_qta-form-".$rs[$i]['id']."' role='form'>\n";
|
|
echo " <input type='hidden' name='backto' value='record-edit'>\n";
|
|
echo " <input type='hidden' name='id_record' value='".$id_record."'>\n";
|
|
echo " <input type='hidden' name='idriga' value='".$rs[$i]['id']."'>\n";
|
|
echo " <input type='hidden' name='op' value='add_qta'>\n";
|
|
echo " <a class='btn btn-xs btn-info' title='Aggiunti Qta' onclick=\"{ $('#add_qta-form-".$rs[$i]['id']."').submit(); }\"><i class='fa fa-plus'></i></a>\n";
|
|
echo " </form>\n";
|
|
echo "</td>\n";
|
|
echo " <td class='text-center'>\n";
|
|
// pulsante rimuovi uno
|
|
echo " <form action='".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."' method='post' id='del_qta-form-".$rs[$i]['id']."' role='form'>\n";
|
|
echo " <input type='hidden' name='backto' value='record-edit'>\n";
|
|
echo " <input type='hidden' name='id_record' value='".$id_record."'>\n";
|
|
echo " <input type='hidden' name='idriga' value='".$rs[$i]['id']."'>\n";
|
|
echo " <input type='hidden' name='op' value='del_qta'>\n";
|
|
echo " <a class='btn btn-xs btn-danger' title='Rimuovi Qta' onclick=\"{ $('#del_qta-form-".$rs[$i]['id']."').submit(); }\"><i class='fa fa-minus'></i></a>\n";
|
|
echo " </form>\n";
|
|
echo "</td>\n";
|
|
}
|
|
//FINE Funzione pulsanti veloci
|
|
}
|
|
|
|
else{
|
|
if( $ordine_servizio == "0" ){
|
|
echo "<td class='text-center'>\n";
|
|
echo "\n";
|
|
echo "</td>\n";
|
|
echo "<td class='text-center'>\n";
|
|
echo "\n";
|
|
echo "</td>\n";
|
|
}
|
|
}
|
|
//FINE Funzione pulsanti veloci
|
|
|
|
//Um
|
|
echo "<td class='text-center'>\n";
|
|
echo $rs[$i]['um']."\n";
|
|
echo "</td>\n";
|
|
|
|
|
|
//Costo unitario
|
|
echo "<td class='text-right'>\n";
|
|
echo number_format( $rs[$i]['subtotale']/$rs[$i]['qta'], get_var("Cifre decimali"), ",", "" )." €\n";
|
|
echo "</td>\n";
|
|
|
|
|
|
//Iva
|
|
echo "<td class='text-right'>\n";
|
|
echo number_format( $rs[$i]['iva'], get_var("Cifre decimali"), ",", "." )." €\n";
|
|
echo " <br><small class='help-block'>".$rs[$i]['desc_iva']."</small>\n";
|
|
echo "</td>\n";
|
|
|
|
|
|
//Imponibile
|
|
echo "<td class='text-right'>\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 "<br><small class='label label-danger'>sconto ".$testo."</small>\n";
|
|
}
|
|
else{
|
|
echo "<br><small class='label label-danger'>sconto ".number_format( $rs[$i]['sconto'], get_var("Cifre decimali"), ",", "" )."€</small>\n";
|
|
}
|
|
}
|
|
|
|
echo "</td>\n";
|
|
|
|
|
|
//Possibilità di rimuovere una riga solo se il dcoumento non e' in stato concluso
|
|
echo "<td class='text-center'>\n";
|
|
|
|
if( $stato_chiusura <> $stato_documento ){
|
|
echo " <form action='".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."' method='post' id='delete-form-".$rs[$i]['id']."' role='form'>\n";
|
|
|
|
echo " <input type='hidden' name='backto' value='record-edit'>\n";
|
|
echo " <input type='hidden' name='id_record' value='".$id_record."'>\n";
|
|
echo " <input type='hidden' name='idriga' value='".$rs[$i]['id']."'>\n";
|
|
echo " <input type='hidden' name='dir' value='".$dir."'>\n";
|
|
echo " <input type='hidden' name='op' value='unlink_riga'>\n";
|
|
|
|
echo " <div class='input-group-btn'>\n";
|
|
|
|
if ( $da_transazione == "1") {
|
|
if ($mod_transazione == "1" ) {
|
|
echo " <a class='btn btn-xs btn-warning' title='Modifica questa riga...' onclick=\"launch_modal( 'Modifica riga', '".$rootdir."/modules/documenti/edit_riga.php?iddocumento=".$id_record."&idmodule=".$id_module."&idriga=".$rs[$i]['id']."&dir=".$dir."', 1 );\"><i class='fa fa-edit'></i></a>\n";
|
|
echo " <a class='btn btn-xs btn-danger' title='Rimuovi questa riga...' onclick=\"if( confirm('Rimuovere questa riga dalla fattura?') ){ $('#delete-form-".$rs[$i]['id']."').submit(); }\"><i class='fa fa-trash-o'></i></a>\n";
|
|
}
|
|
}
|
|
else{
|
|
echo " <a class='btn btn-xs btn-warning' title='Modifica questa riga...' onclick=\"launch_modal( 'Modifica riga', '".$rootdir."/modules/documenti/edit_riga.php?iddocumento=".$id_record."&idmodule=".$id_module."&idriga=".$rs[$i]['id']."&dir=".$dir."', 1 );\"><i class='fa fa-edit'></i></a>\n";
|
|
echo " <a class='btn btn-xs btn-danger' title='Rimuovi questa riga...' onclick=\"if( confirm('Rimuovere questa riga dalla fattura?') ){ $('#delete-form-".$rs[$i]['id']."').submit(); }\"><i class='fa fa-trash-o'></i></a>\n";
|
|
}
|
|
echo " </div>\n";
|
|
echo " </form>\n";
|
|
}
|
|
|
|
//Frecce per orinare righe della fattura
|
|
echo "<a href='javascript:;' onclick=\"$.post( '".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."', { op: 'sortrows', id: '".$rs[$i]['id']."', ordine: '".($rs[$i]['ordine']-1)."' }, function(response){ location.href='".$rootdir."/editor.php?id_module=".$modules_info[$name]['id']."&id_record=".$id_record."'; });\" >\n";
|
|
echo "<i class='fa fa-arrow-up text-success' data-toggle='tooltip' title=\"Clicca per spostare in su la riga...\"></i>";
|
|
echo "</a>\n";
|
|
|
|
echo "<a href='javascript:;' onclick=\"$.post( '".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$id_record."', { op: 'sortrows', id: '".$rs[$i]['id']."', ordine: '".($rs[$i]['ordine']+1)."' }, function(response){ location.href='".$rootdir."/editor.php?id_module=".$modules_info[$name]['id']."&id_record=".$id_record."'; });\" >\n";
|
|
echo "<i class='fa fa-arrow-down text-success' data-toggle='tooltip' title=\"Clicca per spostare in giù la riga...\"></i>";
|
|
|
|
if( $abilita_transazioni != 0 ){
|
|
echo "<td class='text-right'>\n";
|
|
echo " ".number_format($rs[$i]['qta_evasa'], get_var("Cifre decimali"), ",", ".")."\n";
|
|
echo "</td>\n";
|
|
}
|
|
|
|
|
|
echo "</td>\n";
|
|
|
|
|
|
|
|
echo "</td></tr>\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 "<tr><td colspan='".$col_span."' class='text-right'>\n";
|
|
echo " <b>IMPONIBILE:</b>\n";
|
|
echo "</td>\n";
|
|
|
|
echo "<td align='right'>\n";
|
|
echo " ".number_format( $imponibile, get_var("Cifre decimali"), ",", "." )." €\n";
|
|
echo "</td><td></td></tr>\n";
|
|
|
|
|
|
|
|
//SCONTO
|
|
if( abs($sconto) > 0 ){
|
|
echo "<tr><td colspan='".$col_span."' class='text-right'>\n";
|
|
echo " <b>SCONTO:</b>\n";
|
|
echo "</td>\n";
|
|
|
|
echo "<td class='text-right'>\n";
|
|
echo " ".number_format( $sconto, get_var("Cifre decimali"), ",", "." )." €\n";
|
|
echo "</td><td></td></tr>\n";
|
|
|
|
|
|
//IMPONIBILE SCONTATO
|
|
echo "<tr><td colspan='".$col_span."' class='text-right'>\n";
|
|
echo " <b>IMPONIBILE SCONTATO:</b>\n";
|
|
echo "</td>\n";
|
|
|
|
echo "<td align='right'>\n";
|
|
echo " ".number_format( $imponibile - $sconto, get_var("Cifre decimali"), ",", "." )." €\n";
|
|
echo "</td><td></td></tr>\n";
|
|
|
|
$totale -= $sconto;
|
|
}
|
|
|
|
|
|
|
|
//RIVALSA INPS
|
|
if( abs($records[0]['rivalsainps'])>0 ){
|
|
echo "<tr><td colspan='".$col_span."' align='right'>\n";
|
|
echo " <b>RIVALSA INPS:</b>";
|
|
echo "</td>\n";
|
|
|
|
//Rivalsa INPS
|
|
echo "<td align='right'>\n";
|
|
echo number_format( $records[0]['rivalsainps'], get_var("Cifre decimali"), ",", "." )." €";
|
|
echo "</td><td></td></tr>\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 "<tr><td colspan='".$col_span."' align='right'>\n";
|
|
echo " <b>".$testo_iva."</b>";
|
|
echo "</td>\n";
|
|
|
|
echo "<td align='right'>\n";
|
|
echo number_format( $totale_iva, get_var("Cifre decimali"), ",", "." )." €";
|
|
echo "</td><td></td></tr>\n";
|
|
|
|
$totale += $totale_iva;
|
|
}
|
|
|
|
|
|
//TOTALE
|
|
echo "<tr><td colspan='".$col_span."' align='right'>\n";
|
|
echo " <b>TOTALE:</b>";
|
|
echo "</td>\n";
|
|
|
|
echo "<td align='right'>\n";
|
|
echo " <b>".number_format( $totale, get_var("Cifre decimali"), ",", "." )." €</b>\n";
|
|
echo "</td><td></td></tr>\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 "<tr><td colspan='".$col_span."' align='right'>\n";
|
|
echo " <b>MARCA DA BOLLO:</b>";
|
|
echo "</td>\n";
|
|
|
|
//Marca da bollo
|
|
$marca_da_bollo = str_replace( ",", ".", $records[0]['bollo'] );
|
|
|
|
echo "<td align='right'>\n";
|
|
echo number_format( $marca_da_bollo, get_var("Cifre decimali"), ",", "." )." €";
|
|
echo "</td><td></td></tr>\n";
|
|
|
|
$netto_a_pagare += $marca_da_bollo;
|
|
}
|
|
|
|
|
|
//RITENUTA D'ACCONTO
|
|
if( abs($records[0]['ritenutaacconto'])>0 ){
|
|
echo "<tr><td colspan='".$col_span."' align='right'>\n";
|
|
echo " <b>RITENUTA D'ACCONTO:</b>";
|
|
echo "</td>\n";
|
|
|
|
//Ritenuta d'acconto
|
|
echo "<td align='right'>\n";
|
|
echo number_format( $records[0]['ritenutaacconto'], get_var("Cifre decimali"), ",", "." )." €";
|
|
echo "</td><td></td></tr>\n";
|
|
|
|
$netto_a_pagare -= $records[0]['ritenutaacconto'];
|
|
}
|
|
|
|
|
|
//NETTO A PAGARE
|
|
if( $totale != $netto_a_pagare ){
|
|
echo "<tr><td colspan='".$col_span."' align='right'>\n";
|
|
echo " <b>NETTO A PAGARE:</b>";
|
|
echo "</td>\n";
|
|
|
|
echo "<td align='right'>\n";
|
|
echo " <b>".number_format( $netto_a_pagare, get_var("Cifre decimali"), ",", "." )." €</b>\n";
|
|
echo "</td><td></td></tr>\n";
|
|
}
|
|
?>
|
|
|
|
|
|
|