Riferimenti facolativi (#559) per stampa e FE
This commit is contained in:
parent
a724d76e3b
commit
1c331fa74b
|
@ -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>
|
||||
|
|
|
@ -179,7 +179,6 @@ switch (post('op')) {
|
|||
$totale_pagato = $rs[0]['rata'];
|
||||
|
||||
$importo_conto_aziendale += $totale_pagato;
|
||||
|
||||
}
|
||||
|
||||
//Inserimento riga unica per conto aziendale
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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([
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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'];
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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), '','', ''#''), ''.'', '',''),''#'', ''.''), ''€'') 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);
|
||||
|
|
Loading…
Reference in New Issue