Riferimenti facolativi (#559) per stampa e FE

This commit is contained in:
Thomas Zilio 2019-04-18 16:39:58 -07:00
parent a724d76e3b
commit 1c331fa74b
13 changed files with 49 additions and 45 deletions

View File

@ -2,7 +2,6 @@
include_once __DIR__.'/../../../core.php';
// Preventivi
$rsi = $dbo->fetchArray('SELECT co_preventivi.id, data_accettazione AS data, ragione_sociale FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica WHERE co_preventivi.idanagrafica='.prepare($id_record).' AND default_revision = 1 AND data_accettazione BETWEEN '.prepare($_SESSION['period_start']).' AND '.prepare($_SESSION['period_end']));
$totale_preventivi = 0;
@ -15,10 +14,10 @@ echo '
<div class="row">
<div class="col-md-4">
<div class="info-box">
<span class="info-box-icon bg-'.( count($rsi) == 0 ? 'gray' : 'aqua' ).'"><i class="fa fa-question"></i></span>
<span class="info-box-icon bg-'.(count($rsi) == 0 ? 'gray' : 'aqua').'"><i class="fa fa-question"></i></span>
<div class="info-box-content">
<span class="info-box-text pull-left">'.tr('Preventivi').'</span>
'.( count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Preventivi')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '' ).'
'.(count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Preventivi')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '').'
<br class="clearfix">
<span class="info-box-number">
<big>'.count($rsi).'</big><br>
@ -40,10 +39,10 @@ for ($i = 0; $i < count($rsi); ++$i) {
echo '
<div class="col-md-4">
<div class="info-box">
<span class="info-box-icon bg-'.( count($rsi) == 0 ? 'gray' : 'purple' ).'"><i class="fa fa-refresh"></i></span>
<span class="info-box-icon bg-'.(count($rsi) == 0 ? 'gray' : 'purple').'"><i class="fa fa-refresh"></i></span>
<div class="info-box-content">
<span class="info-box-text pull-left">'.tr('Contratti').'</span>
'.( count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Contratti')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '' ).'
'.(count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Contratti')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '').'
<br class="clearfix">
<span class="info-box-number">
<big>'.count($rsi).'</big><br>
@ -53,7 +52,6 @@ echo '
</div>
</div>';
// Ordini cliente
$rsi = $dbo->fetchArray('SELECT or_ordini.id, data, ragione_sociale FROM or_ordini INNER JOIN an_anagrafiche ON or_ordini.idanagrafica=an_anagrafiche.idanagrafica WHERE or_ordini.idanagrafica='.prepare($id_record).' AND data BETWEEN '.prepare($_SESSION['period_start']).' AND '.prepare($_SESSION['period_end']));
@ -66,10 +64,10 @@ for ($i = 0; $i < count($rsi); ++$i) {
echo '
<div class="col-md-4">
<div class="info-box">
<span class="info-box-icon bg-'.( count($rsi) == 0 ? 'gray' : 'blue' ).'"><i class="fa fa-file-text"></i></span>
<span class="info-box-icon bg-'.(count($rsi) == 0 ? 'gray' : 'blue').'"><i class="fa fa-file-text"></i></span>
<div class="info-box-content">
<span class="info-box-text pull-left">'.tr('Ordini cliente').'</span>
'.( count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Ordini cliente')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '' ).'
'.(count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Ordini cliente')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '').'
<br class="clearfix">
<span class="info-box-number">
<big>'.count($rsi).'</big><br>
@ -80,8 +78,6 @@ echo '
</div>
</div>';
// Interventi
$rsi = [];
if (in_array('Cliente', explode(',', $record['tipianagrafica']))) {
@ -101,10 +97,10 @@ echo '
<div class="row">
<div class="col-md-4">
<div class="info-box">
<span class="info-box-icon bg-'.( count($rsi) == 0 ? 'gray' : 'red' ).'"><i class="fa fa-cog"></i></span>
<span class="info-box-icon bg-'.(count($rsi) == 0 ? 'gray' : 'red').'"><i class="fa fa-cog"></i></span>
<div class="info-box-content">
<span class="info-box-text pull-left">'.tr('Attività').'</span>
'.( count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Interventi')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '' ).'
'.(count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Interventi')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '').'
<br class="clearfix">
<span class="info-box-number">
<big>'.count($rsi).'</big><br>
@ -126,10 +122,10 @@ for ($i = 0; $i < count($rsi); ++$i) {
echo '
<div class="col-md-4">
<div class="info-box">
<span class="info-box-icon bg-'.( count($rsi) == 0 ? 'gray' : 'maroon' ).'"><i class="fa fa-truck"></i></span>
<span class="info-box-icon bg-'.(count($rsi) == 0 ? 'gray' : 'maroon').'"><i class="fa fa-truck"></i></span>
<div class="info-box-content">
<span class="info-box-text pull-left">'.tr('Ddt in uscita').'</span>
'.( count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Ddt di vendita')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '' ).'
'.(count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Ddt di vendita')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '').'
<br class="clearfix">
<span class="info-box-number">
<big>'.count($rsi).'</big><br>
@ -151,10 +147,10 @@ for ($i = 0; $i < count($rsi); ++$i) {
echo '
<div class="col-md-4">
<div class="info-box">
<span class="info-box-icon bg-'.( count($rsi) == 0 ? 'gray' : 'green' ).'"><i class="fa fa-money"></i></span>
<span class="info-box-icon bg-'.(count($rsi) == 0 ? 'gray' : 'green').'"><i class="fa fa-money"></i></span>
<div class="info-box-content">
<span class="info-box-text pull-left">'.tr('Fatture').'</span>
'.( count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Fatture di vendita')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '' ).'
'.(count($rsi) > 0 ? '<span class="info-box-text pull-right"><a href="'.$rootdir.'/controller.php?id_module='.Modules::get('Fatture di vendita')['id'].'">'.tr('Visualizza').' <i class="fa fa-chevron-circle-right"></i></a></span>' : '').'
<br class="clearfix">
<span class="info-box-number">
<big>'.count($rsi).'</big><br>

View File

@ -179,7 +179,6 @@ switch (post('op')) {
$totale_pagato = $rs[0]['rata'];
$importo_conto_aziendale += $totale_pagato;
}
//Inserimento riga unica per conto aziendale

View File

@ -180,7 +180,7 @@ function aggiorna_scadenziario($iddocumento, $totale_pagato, $data_pagamento)
// Ciclo tra le rate dei pagamenti per inserire su `pagato` l'importo effettivamente pagato.
// Nel caso il pagamento superi la rata, devo distribuirlo sulle rate successive
for ($i = 0; $i < sizeof($rs); ++$i) {
if( $residuo_pagato>0){
if ($residuo_pagato > 0) {
// Se si inserisce una somma maggiore al dovuto, tengo valido il rimanente per saldare il tutto...
if ($residuo_pagato <= abs($rs[$i]['pagato'])) {
$pagato = 0;
@ -191,7 +191,7 @@ function aggiorna_scadenziario($iddocumento, $totale_pagato, $data_pagamento)
$pagato = abs($residuo_pagato);
$residuo_pagato -= abs($residuo_pagato);
}
if ($dir == 'uscita') {
$residuo_pagato = -$residuo_pagato;
}

View File

@ -606,7 +606,7 @@ switch (post('op')) {
$sconto_unitario = post('sconto');
$tipo_sconto = post('tipo_sconto');
if ($tipo_sconto == 'UNT'){
if ($tipo_sconto == 'UNT') {
$sconto = $sconto_unitario * $ore;
} else {
$sconto = calcola_sconto([
@ -616,12 +616,11 @@ switch (post('op')) {
]);
}
// Sconti km
$scontokm_unitario = post('sconto_km');
$tipo_scontokm = post('tipo_sconto_km');
if ($tipo_scontokm == 'UNT'){
if ($tipo_scontokm == 'UNT') {
$scontokm = $scontokm_unitario * $km;
} else {
$scontokm = calcola_sconto([

View File

@ -36,7 +36,7 @@ if (empty($idriga)) {
$sconto_unitario = 0;
$idimpianto = 0;
$idiva = setting('Iva predefinita');
$idiva = setting('Iva predefinita');
} else {
$op = 'editarticolo';
$button = '<i class="fa fa-edit"></i> '.tr('Modifica');

View File

@ -22,7 +22,7 @@ if (empty($idriga)) {
$um = '';
$prezzo_vendita = '0';
$prezzo_acquisto = '0';
$idiva = setting('Iva predefinita');
$idiva = setting('Iva predefinita');
} else {
$op = 'editriga';
$button = '<i class="fa fa-edit"></i> '.tr('Modifica');

View File

@ -168,7 +168,7 @@ switch (post('op')) {
// Tengo conto dei valori negativi per gli acquisti e dei valori positivi per le vendite
if (($dir == 'uscita' && $totale < 0) || ($dir == 'entrata' && $totale > 0)) {
// Azzero lo scadenziario e lo ricalcolo
$dbo->query("UPDATE co_scadenziario SET pagato=0, data_pagamento = NULL WHERE iddocumento=".prepare($iddocumento));
$dbo->query('UPDATE co_scadenziario SET pagato=0, data_pagamento = NULL WHERE iddocumento='.prepare($iddocumento));
// Ricalcolo lo scadenziario per il solo nuovo importo
aggiorna_scadenziario($iddocumento, $totale, $data);
@ -289,7 +289,7 @@ switch (post('op')) {
// ...se l'importo è a zero, azzero anche la data di pagamento
else {
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare($new_value).", data_pagamento = NULL WHERE id=".prepare($rs[$i]['id']));
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare($new_value).', data_pagamento = NULL WHERE id='.prepare($rs[$i]['id']));
}
$rimanente = 0;

View File

@ -72,7 +72,7 @@ include_once __DIR__.'/../../core.php';
Calcolo totale per chiudere la fattura
*/
// Lettura importo da scadenzario (seleziono l'importo di questo mese)
$query = 'SELECT *, scadenza, ABS(da_pagare-pagato) AS rata FROM co_scadenziario WHERE iddocumento='.prepare($iddocumento)." AND ABS(da_pagare) > ABS(pagato) ORDER BY YEAR(scadenza) ASC, MONTH(scadenza) ASC";
$query = 'SELECT *, scadenza, ABS(da_pagare-pagato) AS rata FROM co_scadenziario WHERE iddocumento='.prepare($iddocumento).' AND ABS(da_pagare) > ABS(pagato) ORDER BY YEAR(scadenza) ASC, MONTH(scadenza) ASC';
$rs = $dbo->fetchArray($query);
$importo_conto_aziendale = $rs[0]['rata'];

View File

@ -17,8 +17,8 @@ include_once __DIR__.'/../../core.php';
if (sizeof($rs_doc) > 0) {
if (sizeof($rs_doc) == 1) {
$rs = $dbo->fetchArray('SELECT dir FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento WHERE co_documenti.id='.prepare($rs_doc[0]['iddocumento']));
$modulo = ($rs[0]['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto'; ?>
$rs = $dbo->fetchArray('SELECT dir FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento WHERE co_documenti.id='.prepare($rs_doc[0]['iddocumento']));
$modulo = ($rs[0]['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto'; ?>
<div class=" col-md-2">
<br>
<a href="<?php echo $rootdir; ?>/editor.php?id_module=<?php echo Modules::get($modulo)['id']; ?>&id_record=<?php echo $rs_doc[0]['iddocumento']; ?>" class="btn btn-info"><i class="fa fa-chevron-left"></i> <?php echo tr('Vai alla fattura'); ?></a>

View File

@ -945,9 +945,12 @@ class FatturaElettronica
$descrizione = str_replace('…', '...', $descrizione);
$descrizione = str_replace('', ' ', $descrizione);
$ref = doc_references($riga->toArray(), 'entrata', ['iddocumento']);
if (!empty($ref)) {
$descrizione .= "\n".$ref['description'];
if (setting('Riferimento dei documenti in Fattura Elettronica')) {
$ref = doc_references($riga->toArray(), 'entrata', ['iddocumento']);
if (!empty($ref)) {
$descrizione .= "\n".$ref['description'];
}
}
$dettaglio['Descrizione'] = $descrizione;
@ -971,7 +974,7 @@ class FatturaElettronica
// Sconto (2.2.1.10)
$sconto = $riga->sconto;
$sconto_unitario = $riga->sconto_unitario;
if (!empty((float) $sconto_unitario)) {
$sconto = [
'Tipo' => $riga->sconto_unitario > 0 ? 'SC' : 'MG',

View File

@ -78,13 +78,15 @@ foreach ($rs_gen as $r) {
}
// Aggiunta dei riferimenti ai documenti
$ref = doc_references($r, $records[0]['dir'], ['idddt']);
if (setting('Riferimento dei documenti nelle stampe')) {
$ref = doc_references($r, $records[0]['dir'], ['idddt']);
if (!empty($ref)) {
echo '
if (!empty($ref)) {
echo '
<br><small>'.$ref['description'].'</small>';
if ($count <= 1) {
$count += 0.4;
if ($count <= 1) {
$count += 0.4;
}
}
}

View File

@ -119,14 +119,17 @@ foreach ($righe as $r) {
}
}
$ref = doc_references($r, $record['dir'], ['iddocumento']);
// Aggiunta dei riferimenti ai documenti
if (setting('Riferimento dei documenti nelle stampe')) {
$ref = doc_references($r, $record['dir'], ['iddocumento']);
if (!empty($ref)) {
echo '
if (!empty($ref)) {
echo '
<br><small>'.$ref['description'].'</small>';
if ($count <= 1) {
$count += 0.4;
if ($count <= 1) {
$count += 0.4;
}
}
}

View File

@ -230,8 +230,10 @@ UPDATE `zz_views` SET `order`=`order`+1 WHERE `id_module`=(SELECT `id` FROM `zz_
-- Aggiornamento widget "Crediti da clienti"
UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS('' '', REPLACE(REPLACE(REPLACE(FORMAT((SELECT ABS(SUM(da_pagare-pagato))), 2), '','', ''#''), ''.'', '',''),''#'', ''.''), ''&euro;'') AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=''entrata'' AND co_documenti.idstatodocumento!=1 |segment| AND 1=1' WHERE `zz_widgets`.`name` = 'Crediti da clienti';
UPDATE `fe_stati_documento` SET `icon`='fa fa-paper-plane-o text-info' WHERE `codice`='MC';
UPDATE `fe_stati_documento` SET `icon`='fa fa-inbox text-success' WHERE `codice`='RC';
UPDATE `fe_stati_documento` SET `icon`='fa fa-file-code-o text-info' WHERE `codice`='GEN';
-- Impostazioni per i riferimenti ai documenti
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES (NULL, 'Riferimento dei documenti nelle stampe', '1', 'boolean', 1, 'Generali', 13);
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES (NULL, 'Riferimento dei documenti in Fattura Elettronica', '1', 'boolean', 1, 'Generali', 14);