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

Conto economico

\n"; } else { echo "

Stato patrimoniale

\n"; } echo "

\n"; echo Prints::getLink('Mastrino', $rs1[$x]['id'], null, tr('Stampa'), null, 'lev=1'); 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 Prints::getLink('Mastrino', $rs2[$y]['id'], 'btn-info btn-xs', '', null, 'lev=2'); echo ' '.$rs2[$y]['numero'].' '.htmlentities($rs2[$y]['descrizione'], ENT_QUOTES, 'ISO-8859-1')."
\n"; echo "
\n"; // Livello 3 $query3 = 'SELECT `co_pianodeiconti3`.*, `clienti`.`idanagrafica` AS id_cliente, `fornitori`.`idanagrafica` AS id_fornitore FROM `co_pianodeiconti3` LEFT OUTER JOIN `an_anagrafiche` `clienti` ON `clienti`.`idconto_cliente` = `co_pianodeiconti3`.`id` LEFT OUTER JOIN `an_anagrafiche` `fornitori` ON `fornitori`.`idconto_fornitore` = `co_pianodeiconti3`.`id` WHERE `idpianodeiconti2` = '.prepare($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 = []; // 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 DESC"; $rs = $dbo->fetchArray($query); echo " \n"; echo " \n"; } // Fine livello3 echo "
\n"; $tools = " \n"; // Stampa mastrino if (!empty($rs)) { $tools .= Prints::getLink('Mastrino', $rs3[$z]['id'], 'btn-info btn-xs', '', null, 'lev=3'); } 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 ' '; } $id_anagrafica = $rs3[$z]['id_cliente'] ?: $rs3[$z]['id_fornitore']; echo ' '.$tools.' '.$rs2[$y]['numero'].'.'.$rs3[$z]['numero'].' '.$rs3[$z]['descrizione'].' '.(isset($id_anagrafica) ? Modules::link('Anagrafiche', $id_anagrafica, 'Anagrafica', null) : '').' '; echo '
\n"; if (sizeof($rs) > 0) { $totale_conto_liv3 = []; 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 (sum($totale_conto_liv3) > 0) { $totale_attivita[] = abs(sum($totale_conto_liv3)); } else { $totale_passivita[] = abs(sum($totale_conto_liv3)); } } else { if (sum($totale_conto_liv3) > 0) { $totale_ricavi[] = abs(sum($totale_conto_liv3)); } else { $totale_costi[] = abs(sum($totale_conto_liv3)); } } echo "
CausaleDataDareAvere
\n"; if (!empty($rs[$i]['iddocumento'])) { $module = ($rs[$i]['dir'] == 'entrata') ? Modules::get('Fatture di vendita')['id'] : Modules::get('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 moneyFormat(abs($rs[$i]['totale']), 2)."\n"; echo "
\n"; echo moneyFormat(abs($rs[$i]['totale']), 2)."\n"; echo "
\n"; } echo "
\n"; echo "
\n"; echo moneyFormat(sum($totale_conto_liv3), 2)."\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(sum($totale_attivita)); $passivita = abs(sum($totale_passivita)); $utile_perdita = abs(sum($totale_ricavi)) - abs(sum($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 "

".moneyFormat($attivita, 2)."

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

Passività:

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

".moneyFormat($passivita, 2)."

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

Perdita d'esercizio:

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

".moneyFormat(sum($utile_perdita), 2)."

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

Utile:

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

".moneyFormat(sum($utile_perdita), 2)."

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

Totale a pareggio:

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

".moneyFormat(sum($pareggio1), 2)."

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

Totale a pareggio:

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

".moneyFormat(sum($pareggio2), 2)."

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

RICAVI: ".moneyFormat(sum($totale_ricavi), 2)."

\n"; echo "

COSTI: ".moneyFormat(abs(sum($totale_costi)), 2)."

\n"; echo "

UTILE/PERDITA: ".moneyFormat(sum($totale_ricavi) - abs(sum($totale_costi)), 2)."

\n"; } }