1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-17 03:51:06 +01:00
This commit is contained in:
MatteoPistorello 2023-03-27 14:41:39 +02:00
commit 65cf48888b
19 changed files with 288 additions and 150 deletions

View File

@ -102,6 +102,7 @@ switch (filter('op')) {
echo json_encode([
'id_nazione' => [
'id' => $nazione->id,
'iso2' => $nazione->iso2,
'text' => $nazione->nome,
],
'bank_code' => $iban->getBankCode(),

View File

@ -71,11 +71,12 @@ echo '
</form>';
?>
<script>
var iban = input("iban");
var branch_code = input("branch_code");
var bank_code = input("bank_code");
var id_nazione = input("id_nazione");
var bic = input("bic");
var components = [branch_code, bank_code, id_nazione];
@ -117,6 +118,16 @@ echo '
dataType: "json",
success: function (response) {
compilaCampi(response);
if (response.id_nazione.iso2 === "IT"){
bic.setRequired(false);
var label_text = $('label[for=bic] span .text-red').text();
$('label[for=bic] span .text-red').text(label_text.replace('*', ' '));
} else {
bic.setRequired(true);
var label_text = $('label[for=bic] span .text-red').text();
$('label[for=bic] span .text-red').text(label_text.replace(' ', '*'));
}
},
error: function() {
toastr["error"]("<?php echo tr('Formato IBAN non valido'); ?>");
@ -158,9 +169,9 @@ echo '
function compilaCampi(values) {
for([key, value] of Object.entries(values)) {
if (typeof value === 'object' && value !== null) {
input(key).getElement().selectSetNew(value.id, value.text, value);
input('#modals > div #'+key).getElement().selectSetNew(value.id, value.text, value);
} else {
input(key).set(value);
input('#modals > div #'+key).set(value);
}
}
}

View File

@ -60,7 +60,7 @@ include_once __DIR__.'/../../core.php';
</div>
<div class="col-md-4">
{[ "type": "text", "label": "<?php echo tr('BIC'); ?>", "name": "bic", "required": "1", "class": "alphanumeric-mask", "minlength": 8, "maxlength": 11, "value": "$bic$", "help": "<?php echo $help_codice_bic; ?>" ]}
{[ "type": "text", "label": "<?php echo tr('BIC'); ?>", "name": "bic", "class": "alphanumeric-mask", "minlength": 8, "maxlength": 11, "value": "$bic$", "help": "<?php echo $help_codice_bic; ?>" ]}
</div>
</div>
@ -149,6 +149,7 @@ if (!empty($numero_documenti)) {
var check_digits = input("check_digits");
var national_check_digits = input("national_check_digits");
var id_nazione = input("id_nazione");
var bic = input("bic");
var components = [branch_code, bank_code, account_number, check_digits, national_check_digits, id_nazione];
@ -190,6 +191,16 @@ if (!empty($numero_documenti)) {
dataType: "json",
success: function (response) {
compilaCampi(response);
if (response.id_nazione.iso2 === "IT"){
bic.setRequired(false);
var label_text = $('label[for=bic] span .text-red').text();
$('label[for=bic] span .text-red').text(label_text.replace('*', ' '));
} else {
bic.setRequired(true);
var label_text = $('label[for=bic] span .text-red').text();
$('label[for=bic] span .text-red').text(label_text.replace(' ', '*'));
}
},
error: function() {
toastr["error"]("<?php echo tr('Formato IBAN non valido'); ?>");

View File

@ -178,7 +178,7 @@ function renderChecklistHtml($check, $level = 0)
$result = '
<tr>
<td class="text-center" style="width:30px;">
'.(!empty($check->checked_at)?'<img src="'.ROOTDIR.'/templates/interventi/custom/check.png" style="width:10px;">':'').'
'.(!empty($check->checked_at)?'<img src="'.ROOTDIR.'/templates/interventi/check.png" style="width:10px;">':'').'
</td>
<td style="padding-left:'.$width.'px;">
<span class="text"><b>'.$check->content.'</b>'.(!empty($check->value)?': '.$check->value:'').'</span>

View File

@ -575,7 +575,7 @@ switch (post('op')) {
$barcode = post('barcode');
if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
}
if (!empty($id_articolo)) {

View File

@ -22,6 +22,7 @@ include_once __DIR__.'/../../core.php';
$id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
$stati = get('pianificabile') ? 'SELECT id, descrizione FROM co_staticontratti WHERE is_pianificabile=1' : 'SELECT id, descrizione FROM co_staticontratti';
$stato = $database->query('SELECT id, descrizione FROM co_staticontratti WHERE descrizione = "Bozza"');
echo '
<form action="" method="post" id="add-form">
@ -43,7 +44,7 @@ echo '
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Stato').'", "name": "idstato", "required": 1, "values": "query='.$stati.'" ]}
{[ "type": "select", "label": "'.tr('Stato').'", "name": "idstato", "required": 1, "value": "'.$stato.'", "values": "query='.$stati.'" ]}
</div>
<div class="col-md-6">

View File

@ -55,8 +55,8 @@ switch (filter('op')) {
$ddt->save();
flash()->info(tr('Aggiunto ddt in _TYPE_ numero _NUM_!', [
'_TYPE_' => $dir,
'_NUM_' => $ddt->numero,
'_TYPE_' => ($dir == 'entrata' ? 'uscita' : 'entrata'),
'_NUM_' => ($dir == 'entrata' ? $ddt->numero_esterno : $ddt->numero),
]));
break;
@ -581,7 +581,7 @@ switch (filter('op')) {
$barcode = post('barcode');
if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
}
if (!empty($id_articolo)) {

View File

@ -936,7 +936,7 @@ switch (post('op')) {
$barcode = post('barcode');
if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
}
if (!empty($id_articolo)) {

View File

@ -77,54 +77,59 @@ $idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [
{[ "type": "select", "label": "<?php echo tr('Sezionale'); ?>", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": <?php echo json_encode(['id_module' => $id_module, 'is_sezionale' => 1]); ?>, "value": "<?php echo $_SESSION['module_'.$id_module]['id_segment']; ?>" ]}
</div>
</div>
<div id="info" class="hidden">
<div class="row">
<div class="col-md-6 ">
<div id="info-title-bozza" class="box">
<div class="box-header with-border">
<h3 class="box-title"><?php echo tr('Fatture in stato Bozza del cliente'); ?></h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse">
<i class="fa fa-minus"></i>
</button>
<?php
if ($dir == 'entrata') {
echo '
<div id="info" class="hidden">
<div class="row">
<div class="col-md-6 ">
<div id="info-title-bozza" class="box">
<div class="box-header with-border">
<h3 class="box-title">'.tr("Fatture in stato Bozza del cliente").'</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse">
<i class="fa fa-minus"></i>
</button>
</div>
</div>
<div class="box-body" id="info-content-bozza"></div>
</div>
</div>
<div class="box-body" id="info-content-bozza"></div>
</div>
</div>
<div class="col-md-6">
<div id="info-title-scadute" class="box">
<div class="box-header with-border">
<h3 class="box-title"><?php echo tr('Fatture con termini di pagamento trascorsi'); ?></h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse">
<i class="fa fa-minus"></i>
</button>
<div class="col-md-6">
<div id="info-title-scadute" class="box">
<div class="box-header with-border">
<h3 class="box-title">'.tr("Fatture con termini di pagamento trascorsi").'</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse">
<i class="fa fa-minus"></i>
</button>
</div>
</div>
<div class="box-body" id="info-content-scadute"></div>
</div>
</div>
<div class="box-body" id="info-content-scadute"></div>
</div>
</div>
</div>
</div>
<!-- DETTAGLI CLIENTE -->
<div class="box box-info collapsable collapsed-box">
<div class="box-header with-border">
<h3 class="box-title"><?php echo tr('Dettagli cliente'); ?></h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse">
<i class="fa fa-plus"></i>
</button>
</div>
</div>
<!-- DETTAGLI CLIENTE -->
<div class="box box-info collapsable collapsed-box">
<div class="box-header with-border">
<h3 class="box-title">'.tr("Dettagli cliente").'</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse">
<i class="fa fa-plus"></i>
</button>
</div>
</div>
<div class="box-body" id="dettagli_cliente">
<?php echo tr('Seleziona prima un cliente'); ?>...
</div>
</div>
<div class="box-body" id="dettagli_cliente">
'.tr("Seleziona prima un cliente").'...
</div>
</div>';
}
?>
<!-- PULSANTI -->
<div class="row">

View File

@ -968,7 +968,7 @@ switch (post('op')) {
$dir = 'entrata';
if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
}
if (!empty($id_articolo)) {

View File

@ -271,7 +271,26 @@ switch (post('op')) {
foreach ($id_records as $id) {
$intervento = Intervento::find($id);
try {
$intervento->delete();
// Eliminazione associazioni tra interventi e contratti
$dbo->query('UPDATE co_promemoria SET idintervento = NULL WHERE idintervento='.prepare($id_record));
$intervento->delete();
// Elimino il collegamento al componente
$dbo->query('DELETE FROM my_componenti WHERE id_intervento='.prepare($id_record));
// Eliminazione associazione tecnici collegati all'intervento
$dbo->query('DELETE FROM in_interventi_tecnici WHERE idintervento='.prepare($id_record));
// Eliminazione associazione interventi e my_impianti
$dbo->query('DELETE FROM my_impianti_interventi WHERE idintervento='.prepare($id_record));
// Elimino anche eventuali file caricati
Uploads::deleteLinked([
'id_module' => $id_module,
'id_record' => $id_record,
]);
} catch (InvalidArgumentException $e) {
}
}
@ -280,6 +299,7 @@ switch (post('op')) {
break;
case 'stampa-riepilogo':
$_SESSION['superselect']['interventi'] = $id_records;
$id_print = Prints::getPrints()['Riepilogo interventi'];

View File

@ -613,7 +613,7 @@ switch (post('op')) {
$barcode = post('barcode');
if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
}
if (!empty($id_articolo)) {

View File

@ -449,7 +449,7 @@ switch (post('op')) {
$barcode = post('barcode');
if (!empty($barcode)) {
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
}
if (!empty($id_articolo)) {

View File

@ -22,6 +22,7 @@ include_once __DIR__.'/../../core.php';
$id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
$stati = get('pianificabile') ? 'SELECT id, descrizione FROM co_statipreventivi WHERE is_pianificabile=1' : 'SELECT id, descrizione FROM co_statipreventivi';
$stato = $database->query('SELECT id, descrizione FROM co_statipreventivi WHERE descrizione = "Bozza"');
?><form action="" method="post" id="add-form">
<input type="hidden" name="op" value="add">
@ -60,7 +61,7 @@ $stati = get('pianificabile') ? 'SELECT id, descrizione FROM co_statipreventivi
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstato", "required": 1, "values": "query=<?php echo $stati; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstato", "required": 1, "value": "<?php echo $stato; ?>", "values": "query=<?php echo $stati; ?>" ]}
</div>
</div>

View File

@ -129,7 +129,7 @@ class Auth extends \Util\Singleton
if (!empty($user['enabled'])) {
$this->identifyUser($user['id']);
$gruppo = $database->fetchOne("SELECT zz_groups.* FROM zz_groups INNER JOIN zz_users ON zz_users.idgruppo=zz_groups.id");
$gruppo = $database->fetchOne("SELECT zz_groups.* FROM zz_groups INNER JOIN zz_users ON zz_users.idgruppo=zz_groups.id WHERE zz_users.id=".prepare($user['id']));
$module = $gruppo['id_module_start'];
$module = $this->getFirstModule($module);

View File

@ -40,19 +40,15 @@ echo '
<tbody>';
// Mostra le righe delle attività
foreach ($liv2_patrimoniale as $liv2_p) {
if ($liv2_p['totale'] > 0) {
$totale_attivita += $liv2_p['totale'];
echo '
<tr>
<td><b>'.$liv2_p['numero'].'</b></td>
<td><b>'.$liv2_p['descrizione'].'</b></td>
<td class="text-right"><b>'.numberFormat($liv2_p['totale'], 2).'</b></td>
</tr>';
foreach ($liv3_patrimoniale as $liv3_p) {
$livello3 = '';
$totale_livello3 = 0;
foreach ($liv3_patrimoniale as $liv3_p) {
if ($liv3_p['totale'] > 0) {
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
if ($liv2_p['id'] == $liv3_p['idpianodeiconti2'] && $liv3_p['totale'] != 0) {
echo '
$totale_attivita += $liv3_p['totale'];
$totale_livello3 += $liv3_p['totale'];
$livello3 .= '
<tr>
<td>'.$liv3_p['numero'].'</td>
<td>'.$liv3_p['descrizione'].'</td>
@ -60,25 +56,39 @@ echo '
</tr>';
}
}
}
if (empty(get('elenco_analitico'))) {
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti')) {
echo '
<tr>
<td></td>
<td>Clienti</td>
<td class="text-right">'.numberFormat($crediti_clienti, 2).'</td>
</tr>';
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori')) {
echo '
if (empty(get('elenco_analitico'))) {
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti') && $crediti_clienti > 0) {
$totale_attivita += $crediti_clienti;
$totale_livello3 += $crediti_clienti;
$livello3 .= '
<tr>
<td></td>
<td>Fornitori</td>
<td class="text-right">'.numberFormat($debiti_fornitori, 2).'</td>
<td>Clienti</td>
<td class="text-right">'.numberFormat($crediti_clienti, 2).'</td>
</tr>';
}
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori') && $debiti_fornitori > 0) {
$totale_attivita += $debiti_fornitori;
$totale_livello3 += $debiti_fornitori;
$livello3 .= '
<tr>
<td></td>
<td>Fornitori</td>
<td class="text-right">'.numberFormat($debiti_fornitori, 2).'</td>
</tr>';
}
}
if ($totale_livello3 != 0) {
echo '
<tr>
<td><b>'.$liv2_p['numero'].'</b></td>
<td><b>'.$liv2_p['descrizione'].'</b></td>
<td class="text-right"><b>'.numberFormat($totale_livello3, 2).'</b></td>
</tr>';
echo $livello3;
}
}
echo '
<tr>
@ -119,43 +129,54 @@ echo '
$i = 0;
// Mostra le righe delle passività
foreach ($liv2_patrimoniale as $liv2_p) {
if ($liv2_p['totale'] < 0) {
$totale_passivita += $liv2_p['totale'];
$livello3 = '';
$totale_livello3 = 0;
foreach ($liv3_patrimoniale as $liv3_p) {
if ($liv3_p['totale'] < 0) {
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
if ($liv2_p['id'] == $liv3_p['idpianodeiconti2'] && $liv3_p['totale'] != 0) {
$totale_passivita += $liv3_p['totale'];
$totale_livello3 += $liv3_p['totale'];
$livello3 .= '
<tr>
<td>'.$liv3_p['numero'].'</td>
<td>'.$liv3_p['descrizione'].'</td>
<td class="text-right">'.numberFormat(abs($liv3_p['totale']), 2).'</td>
</tr>';
}
}
}
if (empty(get('elenco_analitico'))) {
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti') && $crediti_clienti < 0) {
$totale_passivita += $crediti_clienti;
$totale_livello3 += $crediti_clienti;
$livello3 .= '
<tr>
<td></td>
<td>Clienti</td>
<td class="text-right">'.numberFormat(abs($crediti_clienti), 2).'</td>
</tr>';
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori') && $debiti_fornitori < 0) {
$totale_passivita += $debiti_fornitori;
$totale_livello3 += $debiti_fornitori;
$livello3 .= '
<tr>
<td></td>
<td>Fornitori</td>
<td class="text-right">'.numberFormat(abs($debiti_fornitori), 2).'</td>
</tr>';
}
}
if ($totale_livello3 != 0) {
echo '
<tr>
<td><b>'.$liv2_p['numero'].'</b></td>
<td><b>'.$liv2_p['descrizione'].'</b></td>
<td class="text-right"><b>'.numberFormat(abs($liv2_p['totale']), 2).'</b></td>
<td class="text-right"><b>'.numberFormat(abs($totale_livello3), 2).'</b></td>
</tr>';
foreach ($liv3_patrimoniale as $liv3_p) {
if ($liv2_p['id'] == $liv3_p['idpianodeiconti2'] && $liv3_p['totale'] != 0) {
echo '
<tr>
<td>'.$liv3_p['numero'].'</td>
<td>'.$liv3_p['descrizione'].'</td>
<td class="text-right">'.numberFormat(-$liv3_p['totale'], 2).'</td>
</tr>';
}
}
if (empty(get('elenco_analitico'))) {
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti')) {
echo '
<tr>
<td></td>
<td>Clienti</td>
<td class="text-right">'.numberFormat(abs($crediti_clienti), 2).'</td>
</tr>';
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori')) {
echo '
<tr>
<td></td>
<td>Fornitori</td>
<td class="text-right">'.numberFormat(abs($debiti_fornitori), 2).'</td>
</tr>';
}
}
echo $livello3;
}
}
echo '
@ -205,29 +226,39 @@ echo '
<tbody>';
// Mostra le righe dei costi
foreach ($liv2_economico as $liv2_e) {
if ($liv2_e['totale'] > 0) {
$totale_costi += $liv2_e['totale'];
echo '
<tr>
<td><b>'.$liv2_e['numero'].'</b></td>
<td><b>'.$liv2_e['descrizione'].'</b></td>
<td class="text-right"><b>'.numberFormat($liv2_e['totale'], 2).'</b></td>
<td class="text-right"><b>'.numberFormat($liv2_e['totale_reddito'], 2).'</b></td>
</tr>';
foreach ($liv3_economico as $liv3_e) {
$livello3 = '';
$totale_livello3 = 0;
$totale_reddito_livello3 = 0;
foreach ($liv3_economico as $liv3_e) {
if ($liv3_e['totale'] > 0) {
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
if ($liv2_e['id'] == $liv3_e['idpianodeiconti2'] && $liv3_e['totale'] != 0) {
echo '
$totale_costi += $liv3_e['totale'];
$totale_livello3 += $liv3_e['totale'];
$totale_reddito_livello3 += $liv3_e['totale_reddito'];
$livello3 .= '
<tr>
<td>'.$liv3_e['numero'].'</td>
<td>'.$liv3_e['descrizione'].'</td>
<td class="text-right">'.numberFormat($liv3_e['totale'], 2).'</td>
<td class="text-right">'.numberFormat($liv3_e['totale_reddito'], 2).'</td>
<td class="text-right">'.numberFormat(abs($liv3_e['totale']), 2).'</td>
<td class="text-right">'.numberFormat(abs($liv3_e['totale_reddito']), 2).'</td>
</tr>';
}
}
}
if ($totale_livello3 != 0) {
echo '
<tr>
<td><b>'.$liv2_e['numero'].'</b></td>
<td><b>'.$liv2_e['descrizione'].'</b></td>
<td class="text-right"><b>'.numberFormat(abs($totale_livello3), 2).'</b></td>
<td class="text-right"><b>'.numberFormat(abs($totale_reddito_livello3), 2).'</b></td>
</tr>';
echo $livello3;
}
}
echo '
<tr>
<td colspan="2"><h6><b>Totale costi</b></h6></td>
@ -269,19 +300,17 @@ echo '
<tbody>';
// Mostra le righe dei ricavi
foreach ($liv2_economico as $liv2_e) {
if ($liv2_e['totale'] < 0) {
$totale_ricavi += $liv2_e['totale'];
echo '
<tr>
<td><b>'.$liv2_e['numero'].'</b></td>
<td><b>'.$liv2_e['descrizione'].'</b></td>
<td class="text-right"><b>'.numberFormat(abs($liv2_e['totale']), 2).'</b></td>
<td class="text-right"><b>'.numberFormat(abs($liv2_e['totale_reddito']), 2).'</b></td>
</tr>';
foreach ($liv3_economico as $liv3_e) {
$livello3 = '';
$totale_livello3 = 0;
$totale_reddito_livello3 = 0;
foreach ($liv3_economico as $liv3_e) {
if ($liv3_e['totale'] < 0) {
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
if ($liv2_e['id'] == $liv3_e['idpianodeiconti2'] && $liv3_e['totale'] != 0) {
echo '
$totale_ricavi += $liv3_e['totale'];
$totale_livello3 += $liv3_e['totale'];
$totale_reddito_livello3 += $liv3_e['totale_reddito'];
$livello3 .= '
<tr>
<td>'.$liv3_e['numero'].'</td>
<td>'.$liv3_e['descrizione'].'</td>
@ -291,6 +320,17 @@ echo '
}
}
}
if ($totale_livello3 != 0) {
echo '
<tr>
<td><b>'.$liv2_e['numero'].'</b></td>
<td><b>'.$liv2_e['descrizione'].'</b></td>
<td class="text-right"><b>'.numberFormat(abs($totale_livello3), 2).'</b></td>
<td class="text-right"><b>'.numberFormat(abs($totale_reddito_livello3), 2).'</b></td>
</tr>';
echo $livello3;
}
}
echo '
<tr>

View File

@ -37,7 +37,7 @@ $liv3_economico = $dbo->fetchArray('SELECT co_pianodeiconti3.numero AS numero,
$utile_perdita = $dbo->fetchOne('SELECT SUM(totale) AS totale FROM `co_movimenti` WHERE idconto IN(SELECT id FROM co_pianodeiconti3 WHERE idpianodeiconti2 IN(SELECT id FROM co_pianodeiconti2 WHERE idpianodeiconti1=(SELECT id FROM co_pianodeiconti1 WHERE descrizione="Economico")))AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end))['totale'];
$debiti_fornitori = $dbo->fetchArray('
$debiti_fornitori_attivita = $dbo->fetchArray('
SELECT
co_pianodeiconti3.numero AS numero,
co_pianodeiconti3.descrizione AS descrizione,
@ -48,18 +48,19 @@ FROM
INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id
INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id
WHERE
co_pianodeiconti2.descrizione='.prepare(setting('Conto di secondo livello per i debiti fornitori')).'
co_pianodeiconti2.id='.prepare(setting('Conto di secondo livello per i debiti fornitori')).'
AND co_pianodeiconti3.id IN (SELECT idconto_fornitore FROM an_anagrafiche)
AND co_movimenti.data>='.prepare($date_start).'
AND co_movimenti.data<='.prepare($date_end).'
AND co_movimenti.totale > 0
GROUP BY
idconto
ORDER BY
co_pianodeiconti2.numero');
$debiti_fornitori = sum(array_column($debiti_fornitori, 'totale'));
$debiti_fornitori_attivita = sum(array_column($debiti_fornitori_attivita, 'totale'));
$crediti_clienti = $dbo->fetchArray('
$crediti_clienti_attivita = $dbo->fetchArray('
SELECT
co_pianodeiconti3.numero AS numero,
co_pianodeiconti3.descrizione AS descrizione,
@ -74,9 +75,59 @@ WHERE
AND co_pianodeiconti3.id IN (SELECT idconto_cliente FROM an_anagrafiche)
AND co_movimenti.data>='.prepare($date_start).'
AND co_movimenti.data<='.prepare($date_end).'
AND co_movimenti.totale > 0
GROUP BY
idconto
ORDER BY
co_pianodeiconti2.numero');
$crediti_clienti = sum(array_column($crediti_clienti, 'totale'));
$crediti_clienti_attivita = sum(array_column($crediti_clienti_attivita, 'totale'));
$debiti_fornitori_passivita = $dbo->fetchArray('
SELECT
co_pianodeiconti3.numero AS numero,
co_pianodeiconti3.descrizione AS descrizione,
SUM(totale) AS totale,
co_pianodeiconti3.idpianodeiconti2 AS idpianodeiconti2
FROM
`co_movimenti`
INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id
INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id
WHERE
co_pianodeiconti2.id='.prepare(setting('Conto di secondo livello per i debiti fornitori')).'
AND co_pianodeiconti3.id IN (SELECT idconto_fornitore FROM an_anagrafiche)
AND co_movimenti.data>='.prepare($date_start).'
AND co_movimenti.data<='.prepare($date_end).'
AND co_movimenti.totale < 0
GROUP BY
idconto
ORDER BY
co_pianodeiconti2.numero');
$debiti_fornitori_passivita = sum(array_column($debiti_fornitori_passivita, 'totale'));
$crediti_clienti_passivita = $dbo->fetchArray('
SELECT
co_pianodeiconti3.numero AS numero,
co_pianodeiconti3.descrizione AS descrizione,
SUM(totale) AS totale,
co_pianodeiconti3.idpianodeiconti2 AS idpianodeiconti2
FROM
`co_movimenti`
INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id
INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id
WHERE
co_pianodeiconti2.id='.prepare(setting('Conto di secondo livello per i crediti clienti')).'
AND co_pianodeiconti3.id IN (SELECT idconto_cliente FROM an_anagrafiche)
AND co_movimenti.data>='.prepare($date_start).'
AND co_movimenti.data<='.prepare($date_end).'
AND co_movimenti.totale < 0
GROUP BY
idconto
ORDER BY
co_pianodeiconti2.numero');
$crediti_clienti_passivita = sum(array_column($crediti_clienti_passivita, 'totale'));
$crediti_clienti = $crediti_clienti_attivita + $crediti_clienti_passivita;
$debiti_fornitori = $debiti_fornitori_attivita + $debiti_fornitori_passivita;

View File

@ -331,7 +331,7 @@ $iva_vendite_esigibile = $dbo->fetchArray('
co_iva.codice_natura_fe AS cod_iva,
co_iva.percentuale AS aliquota,
co_iva.descrizione AS descrizione,
SUM(co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1)) AS iva,
SUM((co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva,
SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale
FROM
co_iva
@ -348,7 +348,7 @@ $iva_vendite = $dbo->fetchArray('
co_iva.codice_natura_fe AS cod_iva,
co_iva.percentuale AS aliquota,
co_iva.descrizione AS descrizione,
SUM(co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1)) AS iva,
SUM((co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva,
SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale
FROM
co_iva
@ -400,7 +400,7 @@ $iva_vendite_nonesigibile = $dbo->fetchArray('
co_iva.codice_natura_fe AS cod_iva,
co_iva.percentuale AS aliquota,
co_iva.descrizione AS descrizione,
SUM(co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1)) AS iva,
SUM((co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva,
SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale
FROM
co_iva

View File

@ -28,7 +28,4 @@ echo '
<p>'.(!empty($f_capsoc) ? tr('Cap.Soc.').': ' : '').'$f_capsoc$</p>
<p>'.(!empty($f_telefono) ? tr('Tel').': ' : '').'$f_telefono$</p>
</div>
<div class="col-xs-6 text-right">
<img src="$logo$" alt="Logo" border="0"/>
</div>
</div>';