{[ "type": "select", "name": "idconto['.$id.']", "id": "conto'.$id.'", "value": "'.($riga['id_conto'] ?: '').'", "ajax-source": "conti" ]}
| ';
// Dare
echo '
{[ "type": "number", "name": "dare['.$id.']", "id": "dare'.$id.'", "value": "'.($riga['dare'] ?: 0).'" ]}
| ';
// Avere
echo '
{[ "type": "number", "name": "avere['.$id.']", "id": "avere'.$id.'", "value": "'.($riga['avere'] ?: 0).'" ]}
|
';
}
function renderTabella($nome, $righe, $id_scadenza_default = null)
{
global $counter;
echo '
'.$nome.'
'.tr('Conto').' |
'.tr('Dare').' |
'.tr('Avere').' |
';
foreach ($righe as $riga) {
renderRiga($counter++, $riga);
}
// Totale per controllare sbilancio
echo '
'.tr('Totale').': | ';
// Totale dare
echo '
'.currency().'
| ';
// Totale avere
echo '
'.currency().'
|
';
echo '
';
// Verifica dello sbilancio
echo '
'.tr('Sbilancio di _MONEY_', [
'_MONEY_' => ' '.currency(),
]).'
';
}
$counter = 0;
$righe = collect($righe);
// Elenco per documenti
$scadenze = $righe
->where('iddocumento', '<>', '')
->groupBy('iddocumento');
foreach ($scadenze as $id_documento => $righe) {
$documento = Fattura::find($id_documento);
$nome = tr('Documento num. _NUM_', [
'_NUM_' => $documento['numero_esterno'] ?: $documento['numero'],
]);
renderTabella($nome, $righe, $righe->first()['id_scadenza']);
}
// Elenco per scadenze
$scadenze = $righe
->where('iddocumento', '=', '')
->where('id_scadenza', '<>', '')
->groupBy('id_scadenza');
foreach ($scadenze as $id_scadenza => $righe) {
$nome = tr('Scadenza num. _ID_', [
'_ID_' => $id_scadenza,
]);
renderTabella($nome, $righe, $righe->first()['id_scadenza']);
}
// Elenco generale
$righe_generali = $righe
->where('iddocumento', '=', '')
->where('id_scadenza', '=', '');
if ($righe_generali->isEmpty()) {
$righe_generali->push([]);
$righe_generali->push([]);
}
$nome = tr('Generale');
renderTabella($nome, $righe_generali);
// Nuova riga
echo '
';
renderRiga('-id-', [
'id_scadenza' => '-id_scadenza-',
]);
echo '
';
echo '
';