. */ include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../init.php'; use Modules\Fatture\Fattura; $modulo = Modules::get($id_module)['name']; if ($modulo == 'Anagrafiche') { $movimenti = $dbo->fetchArray('SELECT co_movimenti.*, SUM(totale) AS totale, co_pianodeiconti3.descrizione, co_pianodeiconti3.numero AS conto3, co_pianodeiconti2.numero AS conto2 FROM co_movimenti LEFT JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id LEFT JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE id_anagrafica='.prepare($id_record).' GROUP BY idmastrino, idconto ORDER BY data, idmastrino'); } else { $movimenti = $dbo->fetchArray('SELECT co_movimenti.*, SUM(totale) AS totale, co_pianodeiconti3.descrizione, co_pianodeiconti3.numero AS conto3, co_pianodeiconti2.numero AS conto2 FROM co_movimenti LEFT JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id LEFT JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE iddocumento='.prepare($id_record).' GROUP BY idmastrino, idconto ORDER BY data, idmastrino'); } $idmastrini_processati = [-1]; if (!empty($movimenti)) { echo ' '; foreach ($movimenti as $movimento) { $documento = $modulo == 'Anagrafiche' ? Fattura::find($movimento['iddocumento']) : null; $scalare += $movimento['totale']; $descrizione = $movimento['conto2'].'.'.$movimento['conto3'].' - '.$movimento['descrizione']; if( $movimento['primanota']==1 ){ $descrizione = Modules::link('Prima nota',$movimento['idmastrino'],$descrizione); } echo ' '; $idmastrini_processati[] = $movimento['idmastrino']; } // Altri movimenti del mastrino collegati ma non direttamente collegati alla fattura (es. spese bancarie) if ($modulo != 'Anagrafiche') { $altri_movimenti = $dbo->fetchArray('SELECT co_movimenti.*, SUM(totale) AS totale, co_pianodeiconti3.descrizione, co_pianodeiconti3.numero AS conto3, co_pianodeiconti2.numero AS conto2 FROM co_movimenti LEFT JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id LEFT JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE iddocumento=0 AND idmastrino IN('.implode(',', $idmastrini_processati).') GROUP BY idmastrino, idconto ORDER BY data, idmastrino'); foreach ($altri_movimenti as $altro_movimento) { $documento = $modulo == 'Anagrafiche' ? Fattura::find($altro_movimento['iddocumento']) : null; $scalare += $altro_movimento['totale']; $descrizione = $altro_movimento['conto2'].'.'.$altro_movimento['conto3'].' - '.$altro_movimento['descrizione']; if( $altro_movimento['primanota']==1 ){ $descrizione = Modules::link('Prima nota',$altro_movimento['idmastrino'],$descrizione); } echo ' '; } } echo '
'.tr('Data').' '.tr('Conto').' '.tr('Dare').' '.tr('Avere').' '.tr('Scalare').'
'.dateFormat($movimento['data']).' '.$descrizione.''.($documento ? $documento->getReference() : '').' '.($movimento['totale']>0 ? moneyFormat(abs($movimento['totale'])) : "").' '.($movimento['totale']<0 ? moneyFormat(abs($movimento['totale'])) : "").' '.moneyFormat($scalare).'
'.dateFormat($altro_movimento['data']).' '.$descrizione.''.($documento ? $documento->getReference() : '').' '.($altro_movimento['totale']>0 ? moneyFormat(abs($altro_movimento['totale'])) : "").' '.($altro_movimento['totale']<0 ? moneyFormat(abs($altro_movimento['totale'])) : "").' '.moneyFormat($scalare).'
'; } else { echo '

'.tr('Non sono presenti movimenti contabili').'

'; }