Compare commits
4 Commits
49a8c53adf
...
498e2551d9
Author | SHA1 | Date |
---|---|---|
|
498e2551d9 | |
|
375fc5dc90 | |
|
99ef5ec700 | |
|
37cf4bbd2c |
30
editor.php
30
editor.php
|
@ -174,14 +174,14 @@ if (empty($record) || !$has_access) {
|
|||
|
||||
<div class="float-right d-none d-sm-inline">';
|
||||
|
||||
// Pulsanti personalizzati
|
||||
$buttons = $structure->filepath('buttons.php');
|
||||
|
||||
if (!empty($buttons)) {
|
||||
include $buttons;
|
||||
}
|
||||
// Pulsanti personalizzati
|
||||
$buttons = $structure->filepath('buttons.php');
|
||||
|
||||
echo '
|
||||
if (!empty($buttons)) {
|
||||
include $buttons;
|
||||
}
|
||||
|
||||
echo '
|
||||
{( "name": "button", "type": "print", "id_module": "'.$id_module.'", "id_plugin": "'.$id_plugin.'", "id_record": "'.$id_record.'" )}
|
||||
|
||||
{( "name": "button", "type": "email", "id_module": "'.$id_module.'", "id_plugin": "'.$id_plugin.'", "id_record": "'.$id_record.'" )}';
|
||||
|
@ -302,7 +302,7 @@ if (empty($record) || !$has_access) {
|
|||
if ($structure->permission != '-' && $structure->use_notes && $user->gruppo != 'Clienti') {
|
||||
echo '
|
||||
<div id="tab_note" class="tab-pane">';
|
||||
|
||||
|
||||
// Eventuale header personalizzato
|
||||
if ($module_header_html) {
|
||||
echo '<div class="module-header">';
|
||||
|
@ -338,14 +338,14 @@ if (empty($record) || !$has_access) {
|
|||
echo '
|
||||
<div id="tab_info" class="tab-pane">';
|
||||
|
||||
// Eventuale header personalizzato
|
||||
if ($module_header_html) {
|
||||
echo '<div class="module-header">';
|
||||
echo $module_header_html;
|
||||
echo '</div>';
|
||||
}
|
||||
// Eventuale header personalizzato
|
||||
if ($module_header_html) {
|
||||
echo '<div class="module-header">';
|
||||
echo $module_header_html;
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
echo '
|
||||
echo '
|
||||
<div class="timeline">';
|
||||
|
||||
$operations = $dbo->fetchArray('SELECT `zz_operations`.*, `zz_users`.`username` FROM `zz_operations` LEFT JOIN `zz_users` ON `zz_operations`.`id_utente` = `zz_users`.`id` WHERE id_module = '.prepare($id_module).' AND id_record = '.prepare($id_record).' ORDER BY `created_at` DESC LIMIT 200');
|
||||
|
|
|
@ -470,7 +470,7 @@ if (Auth::check()) {
|
|||
<div class="image">';
|
||||
|
||||
$user_photo = $user->photo ?: $rootdir.'/assets/dist/img/user.png';
|
||||
|
||||
|
||||
echo '
|
||||
<img src="'.$user_photo.'" class="img-circle elevation-2" alt="'.$user['username'].'" />
|
||||
</div>
|
||||
|
|
|
@ -41,7 +41,6 @@ echo '
|
|||
<i class="fa fa-'.(!empty($info_firma) ? 'refresh' : 'desktop').'"></i> '.$frase.'...
|
||||
</button>';
|
||||
|
||||
|
||||
// TODO: da standardizzare in struttura per tutti i moduli di tipo table
|
||||
/*<a class="btn btn-info'.($prev ? '' : ' disabled').'" href="'.base_path().'/editor.php?id_module=3&id_record='.$prev.'">
|
||||
<i class="fa fa-arrow-circle-left"></i> '.tr('Precedente').'
|
||||
|
|
|
@ -209,7 +209,7 @@ echo '
|
|||
{[ "type": "select", "label": "'.tr('Sede destinazione').'", "name": "idsede_destinazione","value": "$idsede_destinazione$", "ajax-source": "sedi", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica']]).', "placeholder": "'.tr('Sede legale').'", "readonly": "'.$record['flag_completato'].'" ]}
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "'.tr('Tags').'", "multiple": "1", "name": "tags[]", "values": "query=SELECT `id`, `name` as descrizione FROM `in_tags` ORDER BY `name`", "value": "'.implode(',', $tags).'", "icon-after": "add|'.(Module::where('name', 'Tags')->first()->id).'|" ]}
|
||||
{[ "type": "select", "label": "'.tr('Tags').'", "multiple": "1", "name": "tags[]", "values": "query=SELECT `id`, `name` as descrizione FROM `in_tags` ORDER BY `name`", "value": "'.implode(',', $tags).'", "icon-after": "add|'.Module::where('name', 'Tags')->first()->id.'|" ]}
|
||||
</div>
|
||||
</div>
|
||||
<!-- RIGA 5 -->
|
||||
|
|
|
@ -139,15 +139,15 @@ echo '
|
|||
$show_prezzi = Auth::user()['gruppo'] != 'Tecnici' || (Auth::user()['gruppo'] == 'Tecnici' && setting('Mostra i prezzi al tecnico'));
|
||||
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||
|
||||
$stato = \Modules\Interventi\Stato::find($intervento->stato->id);
|
||||
$stato = Modules\Interventi\Stato::find($intervento->stato->id);
|
||||
echo '
|
||||
<div class="col-md-4">
|
||||
<div class="card card-info card-outline shadow">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><i class="fa fa-wrench"></i> '.tr('Attività _NUM_ del _DATA_', [
|
||||
'_NUM_' => $intervento->codice,
|
||||
'_DATA_' => Translator::dateToLocale($intervento->data_richiesta)
|
||||
]).'</h3>
|
||||
'_NUM_' => $intervento->codice,
|
||||
'_DATA_' => Translator::dateToLocale($intervento->data_richiesta),
|
||||
]).'</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p>
|
||||
|
@ -160,7 +160,7 @@ echo '
|
|||
<span class="tip" title="'.tr('Numero di km percorsi').'"><i class="fa fa-truck text-gray"></i> '.Translator::numberToLocale($intervento->sessioni->sum('km')).' '.tr('km').'</span>
|
||||
<span class="separator">|</span>
|
||||
|
||||
<span class="tip" title="'.tr('Importo totale del lavoro').'"><i class="fa fa-money text-gray"></i> '.($show_prezzi ? moneyFormat(($prezzi_ivati ? $intervento->totale : $intervento->totale_imponibile), 2) : '-').'</span>
|
||||
<span class="tip" title="'.tr('Importo totale del lavoro').'"><i class="fa fa-money text-gray"></i> '.($show_prezzi ? moneyFormat($prezzi_ivati ? $intervento->totale : $intervento->totale_imponibile, 2) : '-').'</span>
|
||||
<span class="separator">|</span>
|
||||
|
||||
<span class="round-16" style="background-color:'.$stato->colore.';"></span> '.$stato->getTranslation('title').'
|
||||
|
|
|
@ -139,7 +139,7 @@ switch (post('op')) {
|
|||
->where('data_inizio', '<=', $data_scadenza)
|
||||
->where('data_fine', '>=', $data_scadenza)
|
||||
->first();
|
||||
|
||||
|
||||
if (!empty($assicurazione_crediti)) {
|
||||
$assicurazione_crediti->fixTotale();
|
||||
$assicurazione_crediti->save();
|
||||
|
|
|
@ -56,7 +56,22 @@ class SollecitoTask extends Manager
|
|||
$user = User::find($id_user);
|
||||
|
||||
// Invio promemoria
|
||||
$rs = database()->fetchArray("SELECT `co_scadenziario`.* 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` INNER JOIN `zz_segments` ON `co_documenti`.`id_segment`=`zz_segments`.`id` WHERE `co_tipidocumento`.`dir`='entrata' AND `is_fiscale`=1 AND `zz_segments`.`autofatture`=0 AND ABS(`co_scadenziario`.`pagato`) < ABS(`co_scadenziario`.`da_pagare`) AND `scadenza` = DATE_FORMAT(DATE_ADD(NOW(), INTERVAL ".prepare($giorni_promemoria).' DAY),"%Y-%m-%d")');
|
||||
$rs = database()->fetchArray("
|
||||
SELECT
|
||||
`co_scadenziario`.*,
|
||||
IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`) AS `data_scadenza`
|
||||
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`
|
||||
INNER JOIN `zz_segments` ON `co_documenti`.`id_segment`=`zz_segments`.`id`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir`='entrata'
|
||||
AND `is_fiscale`=1
|
||||
AND `zz_segments`.`autofatture`=0
|
||||
AND ABS(`co_scadenziario`.`pagato`) < ABS(`co_scadenziario`.`da_pagare`)
|
||||
AND IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`) = DATE_FORMAT(DATE_ADD(NOW(), INTERVAL ".prepare($giorni_promemoria)." DAY),'%Y-%m-%d')");
|
||||
|
||||
foreach ($rs as $r) {
|
||||
$has_inviata = database()->fetchOne('SELECT * FROM em_emails WHERE sent_at IS NOT NULL AND id_template='.prepare($template_promemoria).' AND id_record='.prepare($r['id']));
|
||||
$id_template = $template_promemoria;
|
||||
|
@ -135,7 +150,7 @@ class SollecitoTask extends Manager
|
|||
}
|
||||
}
|
||||
|
||||
$rs = database()->fetchArray("SELECT `co_scadenziario`.* 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` INNER JOIN `zz_segments` ON `co_documenti`.`id_segment`=`zz_segments`.`id` WHERE `co_tipidocumento`.`dir`='entrata' AND `is_fiscale`=1 AND `zz_segments`.`autofatture`=0 AND ABS(`co_scadenziario`.`pagato`) < ABS(`co_scadenziario`.`da_pagare`) AND `scadenza` < DATE_SUB(NOW(), INTERVAL ".prepare($giorni_scadenza).' DAY)');
|
||||
$rs = database()->fetchArray("SELECT `co_scadenziario`.*, IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`) AS `data_scadenza` 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` INNER JOIN `zz_segments` ON `co_documenti`.`id_segment`=`zz_segments`.`id` WHERE `co_tipidocumento`.`dir`='entrata' AND `is_fiscale`=1 AND `zz_segments`.`autofatture`=0 AND ABS(`co_scadenziario`.`pagato`) < ABS(`co_scadenziario`.`da_pagare`) AND IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`) < DATE_SUB(NOW(), INTERVAL ".prepare($giorni_scadenza).' DAY) GROUP BY iddocumento');
|
||||
|
||||
foreach ($rs as $r) {
|
||||
$da_inviare = false;
|
||||
|
@ -144,7 +159,7 @@ class SollecitoTask extends Manager
|
|||
$data_sollecito_1 = $has_inviata['sent_at'];
|
||||
$id_template = $template_1;
|
||||
if (!$has_inviata) {
|
||||
$da_inviare = date('Y-m-d', strtotime($r['scadenza'].' + '.($giorni_scadenza).' days')) < date('Y-m-d') ? true : false;
|
||||
$da_inviare = date('Y-m-d', strtotime($r['scadenza'].' + '.$giorni_scadenza.' days')) < date('Y-m-d') ? true : false;
|
||||
} else {
|
||||
$has_inviata = database()->fetchOne('SELECT * FROM em_emails WHERE sent_at IS NOT NULL AND id_template='.prepare($template_2).' AND id_record='.prepare($r['id']));
|
||||
$data_sollecito_2 = $has_inviata['sent_at'];
|
||||
|
|
|
@ -17,7 +17,10 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
$r = $dbo->fetchOne('SELECT `co_scadenziario`.*,
|
||||
$giorni_promemoria = setting('Intervallo di giorni in anticipo per invio promemoria scadenza');
|
||||
|
||||
$r = $dbo->fetchOne('SELECT
|
||||
`co_scadenziario`.*,
|
||||
`co_documenti`.*,
|
||||
`an_anagrafiche`.`email`,
|
||||
`an_anagrafiche`.`pec`,
|
||||
|
@ -25,7 +28,8 @@ $r = $dbo->fetchOne('SELECT `co_scadenziario`.*,
|
|||
`an_referenti`.`nome`,
|
||||
`co_scadenziario`.`da_pagare` - `co_scadenziario`.`pagato` AS totale,
|
||||
`title` AS pagamento,
|
||||
(SELECT GROUP_CONCAT(CONCAT("<li>",DATE_FORMAT(`scadenza`,"%d/%m/%Y")," - ",FORMAT(`da_pagare`,2),"€ - ",`descrizione`,"</li>") SEPARATOR "<br>") FROM `co_scadenziario` LEFT JOIN (SELECT `id`, `ref_documento` FROM `co_documenti`)as nota ON `co_scadenziario`.`iddocumento` = `nota`.`ref_documento` WHERE `scadenza` < NOW() AND `iddocumento`!=0 AND `nota`.`id` IS NULL AND `da_pagare`>`pagato` AND `idanagrafica`=`co_documenti`.`idanagrafica` ORDER BY `scadenza`) AS scadenze_fatture_scadute
|
||||
(SELECT GROUP_CONCAT(CONCAT("<li>",DATE_FORMAT(IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`),"%d/%m/%Y")," - ",FORMAT(`da_pagare`,2),"€ - ",`descrizione`,"</li>") SEPARATOR "<br>") FROM `co_scadenziario` LEFT JOIN (SELECT `id`, `ref_documento` FROM `co_documenti`)as nota ON `co_scadenziario`.`iddocumento` = `nota`.`ref_documento` WHERE IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`) < NOW() AND `iddocumento`!=0 AND `nota`.`id` IS NULL AND `da_pagare`>`pagato` AND `idanagrafica`=`co_documenti`.`idanagrafica` ORDER BY IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`)) AS scadenze_fatture_scadute,
|
||||
(SELECT GROUP_CONCAT(CONCAT("<li>",DATE_FORMAT(IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`),"%d/%m/%Y")," - ",FORMAT(`da_pagare`,2),"€ - ",`descrizione`,"</li>") SEPARATOR "<br>") FROM `co_scadenziario` LEFT JOIN (SELECT `id`, `ref_documento` FROM `co_documenti`)as nota ON `co_scadenziario`.`iddocumento` = `nota`.`ref_documento` WHERE `iddocumento`!=0 AND `nota`.`id` IS NULL AND `da_pagare`>`pagato` AND `idanagrafica`=`co_documenti`.`idanagrafica` AND IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`) = DATE_FORMAT(DATE_ADD(NOW(), INTERVAL '.prepare($giorni_promemoria).' DAY),"%Y-%m-%d") ORDER BY IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`)) AS scadenze_fatture_promemoria
|
||||
FROM `co_scadenziario`
|
||||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_scadenziario`.`iddocumento`
|
||||
LEFT JOIN `co_pagamenti` ON `co_pagamenti`.`id` = `co_documenti`.`idpagamento`
|
||||
|
@ -34,7 +38,8 @@ $r = $dbo->fetchOne('SELECT `co_scadenziario`.*,
|
|||
INNER JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
|
||||
LEFT JOIN `an_referenti` ON `an_referenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
|
||||
WHERE
|
||||
`co_scadenziario`.`da_pagare` > `co_scadenziario`.`pagato` AND `co_scadenziario`.`iddocumento` = (SELECT `iddocumento` FROM `co_scadenziario` s WHERE `id`='.prepare($id_record).')');
|
||||
`co_scadenziario`.`da_pagare` > `co_scadenziario`.`pagato` AND `co_scadenziario`.`iddocumento` = (SELECT `iddocumento` FROM `co_scadenziario` s WHERE `id`='.prepare($id_record).')
|
||||
GROUP BY iddocumento');
|
||||
|
||||
$logo_azienda = str_replace(base_dir(), base_path(), App::filepath('templates/base|custom|/logo_azienda.jpg'));
|
||||
|
||||
|
@ -52,4 +57,5 @@ return [
|
|||
'logo_azienda' => !empty($logo_azienda) ? '<img src="'.$logo_azienda.'" />' : '',
|
||||
'nome_referente' => $r['nome'],
|
||||
'scadenze_fatture_scadute' => $r['scadenze_fatture_scadute'],
|
||||
'scadenze_fatture_promemoria' => $r['scadenze_fatture_promemoria'],
|
||||
];
|
||||
|
|
|
@ -85,9 +85,9 @@ switch (filter('op')) {
|
|||
YEAR(`vb_venditabanco`.`data`), MONTH(`vb_venditabanco`.`data`)
|
||||
');
|
||||
}
|
||||
|
||||
|
||||
$results = Stats::monthly($results, $start, $end);
|
||||
|
||||
|
||||
echo json_encode([
|
||||
'label' => tr('Fatturato').' - '.tr('Periodo _NUM_', [
|
||||
'_NUM_' => $calendar_id,
|
||||
|
@ -96,7 +96,7 @@ switch (filter('op')) {
|
|||
]);
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case 'acquisti':
|
||||
$results = $dbo->fetchArray('SELECT ROUND(SUM(IF(`reversed`=1, -(`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`), (`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`))), 2) AS result, YEAR(`co_documenti`.`data`) AS year, MONTH(`co_documenti`.`data`) AS month FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento`=`co_documenti`.`id` INNER JOIN `zz_segments` ON `co_documenti`.`id_segment`=`zz_segments`.`id` WHERE `co_tipidocumento`.`dir`=\'uscita\' AND `co_tipidocumento_lang`.`title`!=\'Bozza\' AND `co_documenti`.`data` BETWEEN '.prepare($start).' AND '.prepare($end).' AND `is_fiscale`=1 AND `zz_segments`.`autofatture`=0 GROUP BY YEAR(`co_documenti`.`data`), MONTH(`co_documenti`.`data`) ORDER BY YEAR(`co_documenti`.`data`) ASC, MONTH(`co_documenti`.`data`) ASC');
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ echo '
|
|||
$start = $_SESSION['period_start'];
|
||||
$end = $_SESSION['period_end'];
|
||||
|
||||
$translated_months = [ tr('Gennaio'), tr('Febbraio'), tr('Marzo'), tr('Aprile'), tr('Maggio'), tr('Giugno'), tr('Luglio'), tr('Agosto'), tr('Settembre'), tr('Ottobre'), tr('Novembre'), tr('Dicembre') ];
|
||||
$translated_months = [tr('Gennaio'), tr('Febbraio'), tr('Marzo'), tr('Aprile'), tr('Maggio'), tr('Giugno'), tr('Luglio'), tr('Agosto'), tr('Settembre'), tr('Ottobre'), tr('Novembre'), tr('Dicembre')];
|
||||
|
||||
// Fatturato
|
||||
echo '
|
||||
|
@ -414,7 +414,7 @@ echo '
|
|||
echo '
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
var translatedMonths = ' . json_encode($translated_months) . ';
|
||||
var translatedMonths = '.json_encode($translated_months).';
|
||||
|
||||
new Chart(document.getElementById("interventi_n_tipologia").getContext("2d"), {
|
||||
type: "bar",
|
||||
|
@ -470,7 +470,7 @@ echo '
|
|||
echo '
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
var translatedMonths = ' . json_encode($translated_months) . ';
|
||||
var translatedMonths = '.json_encode($translated_months).';
|
||||
new Chart(document.getElementById("interventi_ore_tipologia").getContext("2d"), {
|
||||
type: "bar",
|
||||
data: {
|
||||
|
@ -561,7 +561,7 @@ echo '
|
|||
echo '
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
var translatedMonths = ' . json_encode($translated_months) . ';
|
||||
var translatedMonths = '.json_encode($translated_months).';
|
||||
|
||||
new Chart(document.getElementById("sessioni").getContext("2d"), {
|
||||
type: "bar",
|
||||
|
@ -729,7 +729,7 @@ echo '
|
|||
echo '
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
var translatedMonths = ' . json_encode($translated_months) . ';
|
||||
var translatedMonths = '.json_encode($translated_months).';
|
||||
|
||||
new Chart(document.getElementById("n_anagrafiche").getContext("2d"), {
|
||||
type: "line",
|
||||
|
|
|
@ -40,7 +40,6 @@ if ($tipo_documento == 'ordine') {
|
|||
$righe_utilizzate = get('righe_ddt');
|
||||
}
|
||||
|
||||
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
@ -66,7 +65,7 @@ echo '
|
|||
$id_riferimento = get('id_riferimento');
|
||||
$righe = $documento->getRighe();
|
||||
foreach ($righe as $riga) {
|
||||
$qta_rimanente = $riga->qta_rimanente - (float)$righe_utilizzate[$riga->id];
|
||||
$qta_rimanente = $riga->qta_rimanente - (float) $righe_utilizzate[$riga->id];
|
||||
$riga_origine = $riga->getOriginalComponent();
|
||||
|
||||
if (!empty($riga->idarticolo)) {
|
||||
|
|
|
@ -493,7 +493,7 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
$diff = $differenza_iva;
|
||||
} else {
|
||||
$diff = -$diff;
|
||||
}
|
||||
}
|
||||
|
||||
$obj = Riga::build($fattura);
|
||||
|
||||
|
|
|
@ -44,10 +44,10 @@ UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_module
|
|||
|
||||
-- Gestione solleciti automatici
|
||||
INSERT INTO `em_templates` (`id_module`, `name`, `icon`, `tipo_reply_to`, `reply_to`, `cc`, `bcc`, `read_notify`, `predefined`, `note_aggiuntive`, `deleted_at`, `id_account`) VALUES ((SELECT `id` FROM `zz_modules` WHERE `name`='Scadenzario'), 'Secondo sollecito di pagamento', 'fa fa-envelope', '', '', '', '', '0', '1', '', NULL, '1');
|
||||
INSERT INTO `em_templates_lang` (`id_lang`, `id_record`, `title`, `subject`, `body`) VALUES ((SELECT `valore` FROM `zz_settings` WHERE `nome` = 'Lingua'), (SELECT `id` FROM `em_templates` WHERE `name`='Secondo sollecito di pagamento'), 'Secondo sollecito di pagamento', 'Secondo sollecito di pagamento fattura {numero}', '<p>Spett.le {ragione_sociale},</p><p>da un riscontro contabile, ci risulta che le seguenti fatture a Voi intestate, siano scadute nelle seguenti date:</p><p>{scadenze_fatture_scadute}</p><p>La sollecitiamo pertanto di provvedere quanto prima a regolarizzare la sua situazione contabile.</p><p>Se ha già provveduto al pagamento, ritenga nulla la presente.</p><p> </p><p>La ringraziamo e le porgiamo i nostri saluti.</p>');
|
||||
INSERT INTO `em_templates_lang` (`id_lang`, `id_record`, `title`, `subject`, `body`) VALUES ((SELECT `valore` FROM `zz_settings` WHERE `nome` = 'Lingua'), (SELECT `id` FROM `em_templates` WHERE `name`='Secondo sollecito di pagamento'), 'Secondo sollecito di pagamento', 'Secondo sollecito di pagamento fattura {numero}', '<p>Spett.le {ragione_sociale},</p><p>da un riscontro contabile, ci risulta che la fattura numero {numero} a Voi intestata, riporti il mancato pagamento delle seguenti rate:</p><p>{scadenze_fatture_scadute}</p><p>La sollecitiamo pertanto di provvedere quanto prima a regolarizzare la sua situazione contabile.</p><p>Se ha già provveduto al pagamento, ritenga nulla la presente.</p><p> </p><p>La ringraziamo e le porgiamo i nostri saluti.</p>');
|
||||
|
||||
INSERT INTO `em_templates` (`id_module`, `name`, `icon`, `tipo_reply_to`, `reply_to`, `cc`, `bcc`, `read_notify`, `predefined`, `note_aggiuntive`, `deleted_at`, `id_account`) VALUES ((SELECT `id` FROM `zz_modules` WHERE `name`='Scadenzario'), 'Terzo sollecito di pagamento', 'fa fa-envelope', '', '', '', '', '0', '1', '', NULL, '1');
|
||||
INSERT INTO `em_templates_lang` (`id_lang`, `id_record`, `title`, `subject`, `body`) VALUES ((SELECT `valore` FROM `zz_settings` WHERE `nome` = 'Lingua'), (SELECT `id` FROM `em_templates` WHERE `name`='Terzo sollecito di pagamento'), 'Terzo sollecito di pagamento', 'Terzo sollecito di pagamento fattura {numero}', '<p>Spett.le {ragione_sociale},</p><p>da un riscontro contabile, ci risulta che le seguenti fatture a Voi intestate, siano scadute nelle seguenti date:</p><p>{scadenze_fatture_scadute}</p><p>La sollecitiamo pertanto di provvedere quanto prima a regolarizzare la sua situazione contabile.</p><p>Se ha già provveduto al pagamento, ritenga nulla la presente.</p><p> </p><p>La ringraziamo e le porgiamo i nostri saluti.</p>');
|
||||
INSERT INTO `em_templates_lang` (`id_lang`, `id_record`, `title`, `subject`, `body`) VALUES ((SELECT `valore` FROM `zz_settings` WHERE `nome` = 'Lingua'), (SELECT `id` FROM `em_templates` WHERE `name`='Terzo sollecito di pagamento'), 'Terzo sollecito di pagamento', 'Terzo sollecito di pagamento fattura {numero}', '<p>Spett.le {ragione_sociale},</p><p>da un riscontro contabile, ci risulta che la fattura numero {numero} a Voi intestata, riporti il mancato pagamento delle seguenti rate:</p><p>{scadenze_fatture_scadute}</p><p>La sollecitiamo pertanto di provvedere quanto prima a regolarizzare la sua situazione contabile.</p><p>Se ha già provveduto al pagamento, ritenga nulla la presente.</p><p> </p><p>La ringraziamo e le porgiamo i nostri saluti.</p>');
|
||||
|
||||
INSERT INTO `em_templates` (`id_module`, `name`, `icon`, `tipo_reply_to`, `reply_to`, `cc`, `bcc`, `read_notify`, `predefined`, `note_aggiuntive`, `deleted_at`, `id_account`) VALUES ((SELECT `id` FROM `zz_modules` WHERE `name`='Scadenzario'), 'Notifica interna sollecito di pagamento', 'fa fa-envelope', '', '', '', '', '0', '1', '', NULL, '1');
|
||||
INSERT INTO `em_templates_lang` (`id_lang`, `id_record`, `title`, `subject`, `body`) VALUES ((SELECT `valore` FROM `zz_settings` WHERE `nome` = 'Lingua'), (SELECT `id` FROM `em_templates` WHERE `name`='Notifica interna sollecito di pagamento'), 'Notifica interna sollecito di pagamento', 'Notifica interna sollecito di pagamento fattura {numero}', '<p>Le seguenti scadenze dell''anagrafica {ragione_sociale} risultano non essere state pagate:</p><p>{scadenze_fatture_scadute}</p>');
|
||||
|
@ -83,3 +83,4 @@ INSERT INTO `zz_settings_lang` (`id_lang`, `id_record`, `title`, `help`) VALUES
|
|||
-- Fix plugin Ddt del cliente
|
||||
UPDATE `zz_plugins` SET `options` = '{ \"main_query\": [ { \"type\": \"table\", \"fields\": \"Numero, Data, Descrizione, Qtà\", \"query\": \"SELECT `dt_ddt`.`id`, (CASE WHEN `dt_tipiddt`.`dir` = \'entrata\' THEN (SELECT `id` FROM `zz_modules` WHERE `name` = \'Ddt in uscita\') ELSE (SELECT `id` FROM `zz_modules` WHERE `name` = \'Ddt in entrata\') END) AS _link_module_, `dt_ddt`.`id` AS _link_record_, IF(`dt_ddt`.`numero_esterno` = \'\', `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`) AS Numero, DATE_FORMAT(`dt_ddt`.`data`, \'%d/%m/%Y\') AS Data, `dt_righe_ddt`.`descrizione` AS `Descrizione`, REPLACE(REPLACE(REPLACE(FORMAT(`dt_righe_ddt`.`qta`, 2), \',\', \'#\'), \'.\', \',\'), \'#\', \'.\') AS `Qtà` FROM `dt_ddt` LEFT JOIN `dt_righe_ddt` ON `dt_ddt`.`id`=`dt_righe_ddt`.`idddt` JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id` WHERE `dt_ddt`.`idanagrafica`=|id_parent| ORDER BY `dt_ddt`.`id` DESC\"} ]}' WHERE `zz_plugins`.`name` = 'Ddt del cliente';
|
||||
|
||||
UPDATE `em_templates_lang` SET `body` = '<p>Spett.le {ragione_sociale},</p>\n\n<p>da un riscontro contabile, ci risulta che la fattura numero {numero} a Voi intestata, riporti il mancato pagamento delle seguenti rate:</p>\n\n<p>{scadenze_fatture_scadute}</p>\n\n<p>La sollecitiamo pertanto di provvedere quanto prima a regolarizzare la sua situazione contabile. A tal proposito, il pagamento potrà essere effettuato tramite {pagamento}.</p>\n\n<p>Se ha già provveduto al pagamento, ritenga nulla la presente.</p>\n\n<p> </p>\n\n<p>La ringraziamo e le porgiamo i nostri saluti.</p>' WHERE `em_templates_lang`.`title` = 'Sollecito di pagamento';
|
Loading…
Reference in New Issue