form( 'idconto' ); $module_name = "Piano dei conti"; include_once( $docroot."/lib/permissions_check.php" ); //carica report html $report = file_get_contents ($docroot."/templates/partitario_mastrino/partitario.html"); $body = file_get_contents ($docroot."/templates/partitario_mastrino/partitario_body.html"); include_once( "pdfgen_variables.php" ); //Calcolo il percorso piano dei conti if( $html->form('lev') == '3' ){ $rs = $dbo->fetchArray("SELECT idpianodeiconti2, CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti3 WHERE id=\"".$idconto."\""); $percorso = $rs[0]['descrizione']; $idpianodeiconti2 = $rs[0]['idpianodeiconti2']; $rs = $dbo->fetchArray("SELECT idpianodeiconti1, CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti2 WHERE id=\"".$idpianodeiconti2."\""); $percorso = $rs[0]['descrizione']."
    ".$percorso; $idpianodeiconti1 = $rs[0]['idpianodeiconti1']; $rs = $dbo->fetchArray("SELECT CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti1 WHERE id=\"".$idpianodeiconti1."\""); ( $rs[0]['descrizione'] == '01 Patrimoniale' ) ? $descrizione="Stato patrimoniale" : $descrizione="Conto economico"; $percorso = $descrizione."
  ".$percorso; } elseif( $html->form('lev') == '2' ){ $rs = $dbo->fetchArray("SELECT idpianodeiconti1, CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti2 WHERE id=\"".$idconto."\""); $percorso = $rs[0]['descrizione']."
    ".$percorso; $idpianodeiconti1 = $rs[0]['idpianodeiconti1']; $rs = $dbo->fetchArray("SELECT CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti1 WHERE id=\"".$idpianodeiconti1."\""); ( $rs[0]['descrizione'] == '01 Patrimoniale' ) ? $descrizione="Stato patrimoniale" : $descrizione="Conto economico"; $percorso = $descrizione."
  ".$percorso; } elseif( $html->form('lev') == '1' ){ $rs = $dbo->fetchArray("SELECT CONCAT_WS(' ', numero, descrizione ) AS descrizione FROM co_pianodeiconti1 WHERE id=\"".$idconto."\""); ( $rs[0]['descrizione'] == '01 Patrimoniale' ) ? $descrizione="Stato patrimoniale" : $descrizione="Conto economico"; $percorso = $descrizione."
 
 "; } $body = str_replace( "|percorso|", $percorso, $body ); $body = str_replace( "|info_fornitore|", $f_ragionesociale."
".$f_indirizzo."
".$f_citta, $body ); $body = str_replace( "|period_start|", date("d/m/Y", strtotime($_SESSION['period_start'])), $body ); $body = str_replace( "|period_end|", date("d/m/Y", strtotime($_SESSION['period_end'])), $body ); //Stampa da livello 3 if( $html->form('lev') == '3' ){ $body .= "\n"; //Inizializzo saldo finale $saldo_finale = 0; //Calcolo saldo iniziale $rs = $dbo->fetchArray("SELECT SUM(totale) AS totale FROM co_movimenti WHERE idconto=\"".$idconto."\" AND data < \"".$_SESSION['period_start']."\""); $saldo_iniziale = $rs[0]['totale']; $saldo_finale = $saldo_iniziale; if( $saldo_iniziale < 0 ){ $dare = ''; $avere = abs($saldo_iniziale); } else{ $dare = abs($saldo_iniziale); $avere = ''; } $body .= " \n"; $rs = $dbo->fetchArray("SELECT * FROM co_movimenti WHERE idconto=\"".$idconto."\" AND data >= \"".$_SESSION['period_start']."\" AND data <= \"".$_SESSION['period_end']."\" ORDER BY data ASC"); for( $i=0; $i= 0 ){ $dare = number_format( abs($rs[$i]['totale']), get_var("Cifre decimali"), ",", "." ); $avere = ""; } else{ $dare = ""; $avere = number_format( abs($rs[$i]['totale']), get_var("Cifre decimali"), ",", "." ); } $body .= " \n"; $saldo_finale += $rs[$i]['totale']; } if( $saldo_finale < 0 ){ $dare = ''; $avere = abs($saldo_finale); } else{ $dare = abs($saldo_finale); $avere = ''; } //Mostro il saldo finale $body .= " \n"; $body .="
SALDO INIZIALE".number_format( abs($dare), get_var("Cifre decimali"), ",", "." )."".number_format( abs($avere), get_var("Cifre decimali"), ",", "." )."
".date( "d/m/Y", strtotime($rs[$i]['data']) )."".$rs[$i]['descrizione']."".$dare."".$avere."
SALDO FINALE".number_format( abs($dare), get_var("Cifre decimali"), ",", "." )."".number_format( abs($avere), get_var("Cifre decimali"), ",", "." )."
\n"; } //Stampa da livello 2 elseif( $html->form('lev') == '2' ){ $body .= "\n"; //Ciclo fra i sotto-conti di livello 2 $rs3 = $dbo->fetchArray("SELECT id, numero, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2=\"".$idconto."\""); for( $z=0; $zfetchArray("SELECT SUM(totale) AS totale FROM co_movimenti WHERE idconto=\"".$rs3[$z]['id']."\" AND data < \"".$_SESSION['period_start']."\""); $saldo_iniziale = $rs[0]['totale']; $saldo_finale = $saldo_iniziale; if( $saldo_iniziale < 0 ){ $dare = ''; $avere = abs($saldo_iniziale); } else{ $dare = abs($saldo_iniziale); $avere = ''; } $rs = $dbo->fetchArray("SELECT * FROM co_movimenti WHERE idconto=\"".$rs3[$z]['id']."\" AND data >= \"".$_SESSION['period_start']."\" AND data <= \"".$_SESSION['period_end']."\" ORDER BY data ASC"); for( $i=0; $i= 0 ){ $dare += abs($rs[$i]['totale']); } else{ $avere += abs($rs[$i]['totale']); } } $totale = $dare - $avere; if( $totale >= 0 ){ $dare = number_format( abs($totale), get_var("Cifre decimali"), ",", "." ); $avere = ""; } else{ $dare = ""; $avere = number_format( abs($totale), get_var("Cifre decimali"), ",", "." ); } //Mostro il saldo finale del conto di livello 3 $body .= " \n"; } $body .="
".$rs3[$z]['numero']." ".$rs3[$z]['descrizione']."".$dare."".$avere."
\n"; } //Stampa completa bilancio elseif( $html->form('lev') == '1' ){ $ricavi = 0; $costi = 0; $totale_attivita = 0; $totale_passivita = 0; $body .= "\n"; //Ciclo fra il conto principale scelto (Economico o Patrimoniale) $rs1 = $dbo->fetchArray("SELECT id, numero, descrizione FROM co_pianodeiconti1 WHERE id=\"".$idconto."\" ORDER BY numero DESC"); for( $x=0; $xfetchArray("SELECT id, numero, descrizione FROM co_pianodeiconti2 WHERE idpianodeiconti1=\"".$rs1[$x]['id']."\""); for( $y=0; $y\n"; //Ciclo fra i sotto-conti di livello 2 $rs3 = $dbo->fetchArray("SELECT id, numero, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2=\"".$rs2[$y]['id']."\""); for( $z=0; $zfetchArray("SELECT * FROM co_movimenti WHERE idconto=\"".$rs3[$z]['id']."\" AND data >= \"".$_SESSION['period_start']."\" AND data <= \"".$_SESSION['period_end']."\" ORDER BY data ASC"); for( $i=0; $i= 0 ){ $dare += abs($rs[$i]['totale']); } else{ $avere += abs($rs[$i]['totale']); } } $totale = $dare - $avere; if( $totale >= 0 ){ $dare = abs($totale); $avere = 0; $totale_attivita += $dare; $costi += abs($dare); } else{ $dare = 0; $avere = abs($totale); $totale_passivita += $avere; $ricavi += abs($avere); } //Mostro il saldo finale del conto di livello 3 $body .= " \n"; } } } //Stampa "Costi/Ricavi" se conto economico if( $rs1[0]['descrizione'] == 'Economico' ){ $body .= " \n"; $body .= " \n"; $body .= " \n"; } //Stampa "Attività/Passività" se stato patrimoniale else{ $costi = 0; $ricavi = 0; //Ciclo fra il conto economico per calcolare l'utile o la perdita $rs1 = $dbo->fetchArray("SELECT id, numero, descrizione FROM co_pianodeiconti1 WHERE NOT id=\"".$idconto."\" ORDER BY numero DESC"); for( $x=0; $xfetchArray("SELECT id, numero, descrizione FROM co_pianodeiconti2 WHERE idpianodeiconti1=\"".$rs1[$x]['id']."\""); for( $y=0; $yfetchArray("SELECT id, numero, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2=\"".$rs2[$y]['id']."\""); for( $z=0; $zfetchArray("SELECT SUM(totale) AS totale FROM co_movimenti WHERE idconto=\"".$rs2[$y]['id']."\" AND data < \"".$_SESSION['period_start']."\""); $dare = 0; $avere = 0; $rs = $dbo->fetchArray("SELECT * FROM co_movimenti WHERE idconto=\"".$rs3[$z]['id']."\" AND data >= \"".$_SESSION['period_start']."\" AND data <= \"".$_SESSION['period_end']."\" ORDER BY data ASC"); for( $i=0; $i= 0 ){ $dare += abs($rs[$i]['totale']); } else{ $avere += abs($rs[$i]['totale']); } } $totale = $dare - $avere; if( $totale >= 0 ){ $costi += abs($totale); } else{ $ricavi += abs($totale); } } } } $body .=" \n"; $body .= "
".$rs3[$z]['numero']." ".$rs3[$z]['descrizione']."".number_format( abs($dare), get_var("Cifre decimali"), ",", "." )."".number_format( abs($avere), get_var("Cifre decimali"), ",", "." )."
RICAVI".number_format( $ricavi, 2, ",", "." )."
COSTI".number_format( $costi, 2, ",", "." )."
UTILE".number_format( $ricavi - $costi, 2, ",", "." )."
\n"; //Tabella di riepilogo finale $totale_attivita = abs($totale_attivita); $totale_passivita = abs($totale_passivita); $utile_perdita = abs($ricavi) - abs($costi); if( $utile_perdita<0 ){ $pareggio1 = $totale_attivita + abs($utile_perdita); $pareggio2 = abs($totale_passivita); } else{ $pareggio1 = $totale_attivita; $pareggio2 = abs($totale_passivita) + abs($utile_perdita); } $body .= "\n"; //Attività $body .= " \n"; //Passività $body .= " \n"; if( $utile_perdita < 0 ){ //Perdita d'esercizio $body .= " \n"; //Utile $body .= " \n"; } else { //Perdita d'esercizio $body .= " \n"; //Utile $body .= " \n"; } //PAREGGIO 1 $body .= " \n"; //PAREGGIO 2 $body .= " \n"; } $body .="
TOTALE ATTIVITÀ".number_format( $totale_attivita, get_var("Cifre decimali"), ",", "." )."PASSIVITÀ".number_format( $totale_passivita, get_var("Cifre decimali"), ",", "." )."
PERDITA D'ESERCIZIO".number_format( abs($utile_perdita), get_var("Cifre decimali"), ",", "." )."  
  UTILE".number_format( abs($utile_perdita), get_var("Cifre decimali"), ",", "." )."
TOTALE A PAREGGIO".number_format( $pareggio1, get_var("Cifre decimali"), ",", "." )."TOTALE A PAREGGIO".number_format( $pareggio2, get_var("Cifre decimali"), ",", "." )."
\n"; } $report_name = "mastrino.pdf"; ?>