fetchArray($query1); $n1 = sizeof($rs1); // Livello 1 for ($x = 0; $x < $n1; ++$x) { $totale_attivita = 0.00; $totale_passivita = 0.00; $costi = 0.00; $ricavi = 0.00; if ($rs1[$x]['descrizione'] == 'Economico') { echo "

Conto economico

\n"; } else { echo "

Stato patrimoniale

\n"; } echo "
\n"; echo '
Stampa\n"; echo "
\n"; echo "
\n"; // Livello 2 $query2 = "SELECT * FROM `co_pianodeiconti2` WHERE idpianodeiconti1='".$rs1[$x]['id']."' ORDER BY numero ASC"; $rs2 = $dbo->fetchArray($query2); $n2 = sizeof($rs2); echo "
\n"; for ($y = 0; $y < $n2; ++$y) { // Livello 2 echo "
\n"; // Stampa mastrino echo " \n"; echo ' '.$rs2[$y]['numero'].' '.htmlentities($rs2[$y]['descrizione'], ENT_QUOTES, 'ISO-8859-1')."
\n"; echo "
\n"; // Livello 3 $query3 = "SELECT * FROM `co_pianodeiconti3` WHERE idpianodeiconti2='".$rs2[$y]['id']."' ORDER BY numero ASC"; $rs3 = $dbo->fetchArray($query3); $n3 = sizeof($rs3); echo "
\n"; echo " \n"; for ($z = 0; $z < $n3; ++$z) { $totale_conto_liv3 = 0.00; echo " \n"; echo " \n"; } // Fine livello3 echo "
\n"; // Se il conto non ha documenti collegati posso eliminarlo $query = "SELECT id FROM co_movimenti WHERE idconto='".$rs3[$z]['id']."'"; $nr = $dbo->fetchNum($query); // Calcolo totale conto da elenco movimenti di questo conto $query = "SELECT co_movimenti.*, dir FROM (co_movimenti LEFT OUTER JOIN co_documenti ON co_movimenti.iddocumento=co_documenti.id) LEFT OUTER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_movimenti.idconto='".$rs3[$z]['id']."' AND co_movimenti.data >= '".$_SESSION['period_start']."' AND co_movimenti.data <= '".$_SESSION['period_end']."' ORDER BY co_movimenti.data ASC"; $rs = $dbo->fetchArray($query); $tools = " \n"; // Stampa mastrino if (!empty($rs)) { $tools .= " \n"; } if ($nr <= 0 && $rs3[$z]['can_delete'] == '1') { $tools .= ' '; } // Possibilità di modificare il nome del conto livello3 if ($rs3[$z]['can_edit'] == '1') { $tools .= " \n"; } $tools .= " \n"; echo " "; if (!empty($rs)) { echo ' '; } echo ' '.$tools.' '.$rs2[$y]['numero'].'.'.$rs3[$z]['numero'].' '.$rs3[$z]['descrizione'].' '; echo '
\n"; if (sizeof($rs) > 0) { $totale_conto_liv3 = 0.00; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; // Elenco righe del partitario for ($i = 0; $i < sizeof($rs); ++$i) { echo " \n"; // Data echo " \n"; // Dare if ($rs[$i]['totale'] > 0) { echo " \n"; echo " \n"; if ($rs1[$x]['descrizione'] == 'Patrimoniale') { $totale_conto_liv3 += $rs[$i]['totale']; } else { $totale_conto_liv3 -= $rs[$i]['totale']; } } // Avere else { echo " \n"; if ($rs1[$x]['descrizione'] == 'Patrimoniale') { $totale_conto_liv3 += $rs[$i]['totale']; } else { $totale_conto_liv3 -= $rs[$i]['totale']; } } echo " \n"; } // Somma dei totali if ($rs1[$x]['descrizione'] == 'Patrimoniale') { if ($totale_conto_liv3 > 0) { $totale_attivita += $totale_conto_liv3; } else { $totale_passivita += $totale_conto_liv3; } } else { if ($totale_conto_liv3 > 0) { $totale_ricavi += $totale_conto_liv3; } else { $totale_costi += $totale_conto_liv3; } } echo "
CausaleDataDareAvere
\n"; if ($rs[$i]['iddocumento'] != '') { $module = ($rs[$i]['dir'] == 'entrata') ? Modules::getModule('Fatture di vendita')['id'] : Modules::getModule('Fatture di acquisto')['id']; echo "".$rs[$i]['descrizione']."\n"; // echo " ".$rs[$i]['descrizione']."\n"; } else { echo ' '.$rs[$i]['descrizione']."\n"; } echo " \n"; echo date('d/m/Y', strtotime($rs[$i]['data'])); echo "\n"; echo Translator::numberToLocale(abs($rs[$i]['totale']))." €\n"; echo "
\n"; echo Translator::numberToLocale(abs($rs[$i]['totale']))." €\n"; echo "
\n"; } echo "
\n"; echo "
\n"; echo Translator::numberToLocale($totale_conto_liv3)." €\n"; echo "
\n"; // Possibilità di inserire un nuovo conto echo "

\n"; echo "
\n"; } // Fine livello 2 echo "
\n"; if ($rs1[$x]['descrizione'] == 'Patrimoniale') { // Riepilogo $attivita = abs($totale_attivita); $passivita = abs($totale_passivita); $utile_perdita = abs($totale_ricavi) - abs($totale_costi); if ($utile_perdita < 0) { $pareggio1 = $attivita + abs($utile_perdita); $pareggio2 = abs($passivita); } else { $pareggio1 = $attivita; $pareggio2 = abs($passivita) + abs($utile_perdita); } echo "\n"; // Attività echo "\n"; echo "\n"; echo "\n"; // Passività echo "\n"; echo "\n"; // Perdita d'esercizio if ($utile_perdita < 0) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; } // Totale a pareggio echo "\n"; echo "\n"; echo "\n"; // Totale a pareggio echo "\n"; echo "\n"; echo '
\n"; echo "

Totale attività:

\n"; echo "
\n"; echo "

".Translator::numberToLocale($attivita)." €

\n"; echo "
\n"; echo "

Passività:

\n"; echo "
\n"; echo "

".Translator::numberToLocale($passivita)." €

\n"; echo "
\n"; echo "

Perdita d'esercizio:

\n"; echo "
\n"; echo "

".Translator::numberToLocale($utile_perdita)." €

\n"; echo "
\n"; echo "

Utile:

\n"; echo "
\n"; echo "

".Translator::numberToLocale($utile_perdita)." €

\n"; echo "
\n"; echo "

Totale a pareggio:

\n"; echo "
\n"; echo "

".Translator::numberToLocale($pareggio1)." €

\n"; echo "
\n"; echo "

Totale a pareggio:

\n"; echo "
\n"; echo "

".Translator::numberToLocale($pareggio2)." €

\n"; echo "
'; } else { echo "

RICAVI: ".Translator::numberToLocale($totale_ricavi)." €

\n"; echo "

COSTI: ".Translator::numberToLocale(abs($totale_costi))." €

\n"; echo "

UTILE/PERDITA: ".Translator::numberToLocale($totale_ricavi - abs($totale_costi))." €

\n"; } }