This commit is contained in:
Pek5892 2022-12-30 09:19:30 +01:00
commit ddfaf6c23d
4 changed files with 32 additions and 1 deletions

View File

@ -22,6 +22,7 @@ include_once __DIR__.'/../../core.php';
if (get('lev') == '2' || get('lev') == '3') { if (get('lev') == '2' || get('lev') == '3') {
$dare = 0; $dare = 0;
$avere = 0; $avere = 0;
$scalare += $saldo_iniziale;
for ($i = 0; $i < sizeof($records); ++$i) { for ($i = 0; $i < sizeof($records); ++$i) {
if ($records[$i]['totale'] >= 0) { if ($records[$i]['totale'] >= 0) {
$dare += $records[$i]['totale']; $dare += $records[$i]['totale'];

View File

@ -21,6 +21,8 @@ include_once __DIR__.'/../../core.php';
$azienda = $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.setting('Azienda predefinita')); $azienda = $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.setting('Azienda predefinita'));
$date_start = $_SESSION['period_start']; $date_start = $_SESSION['period_start'];
$date_end = $_SESSION['period_end']; $date_end = $_SESSION['period_end'];
$saldo_iniziale = 0;
$i = 0;
if (get('lev') == '3') { if (get('lev') == '3') {
$conto3 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti3 WHERE id='.prepare($id_record)); $conto3 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti3 WHERE id='.prepare($id_record));
@ -28,6 +30,20 @@ if (get('lev') == '3') {
$conto1 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti1 WHERE id='.prepare($conto2['idpianodeiconti1'])); $conto1 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti1 WHERE id='.prepare($conto2['idpianodeiconti1']));
// Movimenti // Movimenti
$records = $dbo->fetchArray('SELECT * FROM co_movimenti WHERE idconto='.prepare($id_record).' AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end).' ORDER BY co_movimenti.data'); $records = $dbo->fetchArray('SELECT * FROM co_movimenti WHERE idconto='.prepare($id_record).' AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end).' ORDER BY co_movimenti.data');
// Calcolo saldo iniziale se non è presente nessun movimento di apertura tra i movimenti del periodo
$has_movimento_apertura = false;
foreach ($records as $record) {
if ($record['is_apertura'] == 1) {
$has_movimento_apertura = true;
continue;
}
}
if (empty($has_movimento_apertura)) {
$saldo_iniziale = $dbo->fetchOne('SELECT SUM(totale) AS totale FROM co_movimenti WHERE idconto='.prepare($id_record).' AND co_movimenti.data<'.prepare($date_start).' GROUP BY idconto')['totale'];
$data_saldo_iniziale = date('Y-m-d', strtotime($date_start.' -1 day'));
}
} elseif (get('lev') == '2') { } elseif (get('lev') == '2') {
$records = $dbo->fetchArray('SELECT CONCAT(co_pianodeiconti3.numero, " ",co_pianodeiconti3.descrizione) AS descrizione, SUM(totale) AS totale FROM `co_movimenti` INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id WHERE idconto IN(SELECT id FROM co_pianodeiconti3 WHERE idpianodeiconti2='.prepare($id_record).') AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end).' GROUP BY idconto HAVING totale!=0'); $records = $dbo->fetchArray('SELECT CONCAT(co_pianodeiconti3.numero, " ",co_pianodeiconti3.descrizione) AS descrizione, SUM(totale) AS totale FROM `co_movimenti` INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id WHERE idconto IN(SELECT id FROM co_pianodeiconti3 WHERE idpianodeiconti2='.prepare($id_record).') AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end).' GROUP BY idconto HAVING totale!=0');
$conto2 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti2 WHERE id='.prepare($id_record)); $conto2 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti2 WHERE id='.prepare($id_record));

View File

@ -26,6 +26,19 @@ if ($record['titolo'] != $prev_titolo && get('lev') == 1) {
</tr>'; </tr>';
} }
if (!empty($saldo_iniziale) && $i == 0) {
echo '
<tr>
<td>'.Translator::dateToLocale($data_saldo_iniziale).'</td>
<td>'.tr('Saldo iniziale').'</td>
<td></td>
<td></td>
<td class="text-right">
'.moneyFormat($saldo_iniziale, 2).'
</td>
</tr>';
}
echo ' echo '
<tr> <tr>
<td>'.Translator::dateToLocale($record['data']).'</td> <td>'.Translator::dateToLocale($record['data']).'</td>
@ -47,3 +60,4 @@ echo '
</td>'; </td>';
echo '</tr>'; echo '</tr>';
$prev_titolo = $record['titolo']; $prev_titolo = $record['titolo'];
$i++;

View File

@ -608,7 +608,7 @@ UPDATE `zz_segments` SET `predefined` = '0' WHERE `zz_segments`.`id_module` = (S
INSERT INTO `zz_segments` (`id_module`, `name`, `clause`, `position`, `pattern`, `note`, `dicitura_fissa`, `predefined`, `predefined_accredito`, `predefined_addebito`, `autofatture`, `is_sezionale`, `is_fiscale`) VALUES ((SELECT `id` FROM `zz_modules` WHERE name='Ordini fornitore'), 'Standard ordini fornitore', '1=1', 'WHR', '#', '', '', '1', '0', '0', '0', '1', '0'); INSERT INTO `zz_segments` (`id_module`, `name`, `clause`, `position`, `pattern`, `note`, `dicitura_fissa`, `predefined`, `predefined_accredito`, `predefined_addebito`, `autofatture`, `is_sezionale`, `is_fiscale`) VALUES ((SELECT `id` FROM `zz_modules` WHERE name='Ordini fornitore'), 'Standard ordini fornitore', '1=1', 'WHR', '#', '', '', '1', '0', '0', '0', '1', '0');
UPDATE `zz_segments` SET `predefined` = '0' WHERE `zz_segments`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE name='Interventi'); UPDATE `zz_segments` SET `predefined` = '0' WHERE `zz_segments`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE name='Interventi');
UPDATE `zz_segments` SET `predefined` = '1', `is_sezionale` = '1', `name` = 'Standard attività' WHERE `zz_segments`.`name` = 'Tutti' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE name='Interventi'); UPDATE `zz_segments` SET `predefined` = '1', `is_sezionale` = '1', `name` = 'Standard attività', `pattern` = (SELECT `valore` FROM `zz_settings` WHERE `nome`='Formato codice attività') WHERE `zz_segments`.`name` = 'Tutti' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE name='Interventi');
UPDATE `zz_segments` SET `is_sezionale` = '1' WHERE `zz_segments`.`id_module` IN(SELECT `id` FROM `zz_modules` WHERE `name` IN('Fatture di vendita', 'Fatture di acquisto')); UPDATE `zz_segments` SET `is_sezionale` = '1' WHERE `zz_segments`.`id_module` IN(SELECT `id` FROM `zz_modules` WHERE `name` IN('Fatture di vendita', 'Fatture di acquisto'));