2017-09-07 16:51:14 +02:00
< ? php
include_once __DIR__ . '/../../core.php' ;
// Lettura info fattura
2017-09-12 16:17:11 +02:00
$records = $dbo -> fetchArray ( ' SELECT * ,
2017-09-07 16:51:14 +02:00
( SELECT descrizione FROM co_statidocumento WHERE id = idstatodocumento ) AS stato_doc ,
( SELECT descrizione FROM co_tipidocumento WHERE id = idtipodocumento ) AS tipo_doc ,
( SELECT descrizione FROM co_pagamenti WHERE id = idpagamento ) AS tipo_pagamento ,
2017-09-21 16:42:27 +02:00
( SELECT dir FROM co_tipidocumento WHERE id = idtipodocumento ) AS dir ,
( SELECT descrizione FROM dt_causalet WHERE id = idcausalet ) AS causalet ,
( SELECT descrizione FROM dt_porto WHERE id = idporto ) AS porto ,
( SELECT descrizione FROM dt_aspettobeni WHERE id = idaspettobeni ) AS aspettobeni ,
( SELECT descrizione FROM dt_spedizione WHERE id = idspedizione ) AS spedizione ,
( SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = idvettore ) AS vettore
2017-09-21 15:51:39 +02:00
FROM co_documenti WHERE id = ' . prepare ( $id_record ));
2017-09-07 16:51:14 +02:00
2017-12-20 14:05:14 +01:00
$records [ 0 ][ 'rivalsainps' ] = floatval ( $records [ 0 ][ 'rivalsainps' ]);
$records [ 0 ][ 'ritenutaacconto' ] = floatval ( $records [ 0 ][ 'ritenutaacconto' ]);
$records [ 0 ][ 'bollo' ] = floatval ( $records [ 0 ][ 'bollo' ]);
2017-09-12 16:17:11 +02:00
$module_name = ( $records [ 0 ][ 'dir' ] == 'entrata' ) ? 'Fatture di vendita' : 'Fatture di acquisto' ;
2017-09-07 16:51:14 +02:00
2017-09-12 16:17:11 +02:00
$id_cliente = $records [ 0 ][ 'idanagrafica' ];
$id_sede = $records [ 0 ][ 'idsede' ];
2017-09-07 16:51:14 +02:00
2017-09-12 16:17:11 +02:00
$tipo_doc = $records [ 0 ][ 'tipo_doc' ];
if ( $records [ 0 ][ 'stato_doc' ] != 'Bozza' ) {
$numero = ! empty ( $records [ 0 ][ 'numero_esterno' ]) ? $records [ 0 ][ 'numero_esterno' ] : $records [ 0 ][ 'numero' ];
2017-09-07 16:51:14 +02:00
} else {
2017-09-15 15:03:27 +02:00
$tipo_doc = tr ( 'Fattura pro forma' );
2017-09-12 16:17:11 +02:00
$numero = 'PRO-' . $records [ 0 ][ 'numero' ];
2017-09-07 16:51:14 +02:00
}
2017-09-21 16:42:27 +02:00
// Fix per le fattura accompagnatorie
$fattura_accompagnatoria = ( $records [ 0 ][ 'tipo_doc' ] == 'Fattura accompagnatoria di vendita' );
$tipo_doc = ( $fattura_accompagnatoria ) ? 'Fattura accompagnatoria di vendita' : $tipo_doc ;
2017-09-07 16:51:14 +02:00
// Leggo i dati della destinazione (se 0=sede legale, se!=altra sede da leggere da tabella an_sedi)
2017-09-21 16:42:27 +02:00
$rsd = $dbo -> fetchArray ( 'SELECT (SELECT codice FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS codice, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS ragione_sociale, indirizzo, indirizzo2, cap, citta, provincia, piva, codice_fiscale FROM an_sedi WHERE idanagrafica=' . prepare ( $id_cliente ) . ( ! empty ( $records [ 0 ][ 'idsede' ]) ? ' AND id=' . prepare ( $records [ 0 ][ 'idsede' ]) : '' ));
2017-09-07 16:51:14 +02:00
$destinazione = '' ;
2017-09-21 16:42:27 +02:00
if ( ! empty ( $rsd [ 0 ][ 'indirizzo' ])) {
$destinazione .= $rsd [ 0 ][ 'indirizzo' ] . '<br/>' ;
}
if ( ! empty ( $rsd [ 0 ][ 'indirizzo2' ])) {
$destinazione .= $rsd [ 0 ][ 'indirizzo2' ] . '<br/>' ;
}
if ( ! empty ( $rsd [ 0 ][ 'cap' ])) {
$destinazione .= $rsd [ 0 ][ 'cap' ] . ' ' ;
}
if ( ! empty ( $rsd [ 0 ][ 'citta' ])) {
$destinazione .= $rsd [ 0 ][ 'citta' ];
}
if ( ! empty ( $rsd [ 0 ][ 'provincia' ])) {
$destinazione .= ' (' . $rsd [ 0 ][ 'provincia' ] . ')' ;
2017-09-07 16:51:14 +02:00
}
// Sostituzioni specifiche
2017-09-08 18:19:39 +02:00
$custom = [
2017-09-15 15:03:27 +02:00
'tipo_doc' => Stringy\Stringy :: create ( $tipo_doc ) -> toUpperCase (),
2017-09-07 16:51:14 +02:00
'numero_doc' => $numero ,
2017-09-12 16:17:11 +02:00
'data' => Translator :: dateToLocale ( $records [ 0 ][ 'data' ]),
'pagamento' => $records [ 0 ][ 'tipo_pagamento' ],
2017-09-07 16:51:14 +02:00
'c_destinazione' => $destinazione ,
2017-09-21 16:42:27 +02:00
'aspettobeni' => $records [ 0 ][ 'aspettobeni' ],
'causalet' => $records [ 0 ][ 'causalet' ],
'porto' => $records [ 0 ][ 'porto' ],
'n_colli' => ! empty ( $records [ 0 ][ 'n_colli' ]) ? $records [ 0 ][ 'n_colli' ] : '' ,
'spedizione' => $records [ 0 ][ 'spedizione' ],
'vettore' => $records [ 0 ][ 'vettore' ],
2017-09-07 16:51:14 +02:00
];
2018-02-16 11:36:38 +01:00
// Accesso solo a:
// - cliente se è impostato l'idanagrafica di un Cliente
// - utente qualsiasi con permessi almeno in lettura sul modulo
// - admin
2018-02-18 19:53:23 +01:00
if (( ! empty ( Auth :: user ()[ 'idanagrafica' ]) && $id_cliente != Auth :: user ()[ 'idanagrafica' ] && ! Auth :: admin ()) || Modules :: getPermission ( $module_name ) == '-' ) {
2017-09-07 16:51:14 +02:00
die ( tr ( 'Non hai i permessi per questa stampa!' ));
}