Aggiunti flag nei segmenti "Predefinito note di accredito" e "Predefinito note di addebito"

This commit is contained in:
Bacca97 2018-08-21 10:11:30 +02:00
parent 6d3d22ec8c
commit a9f60b28f3
5 changed files with 46 additions and 6 deletions

View File

@ -1495,6 +1495,7 @@ switch (post('op')) {
// Nota di accredito
case 'nota_accredito':
$id_segment = post('id_segment');
$data = post('data');
$numero = get_new_numerofattura($records[0]['data']);
$numero_esterno = get_new_numerosecondariofattura($records[0]['data']);
@ -1503,7 +1504,7 @@ switch (post('op')) {
$idconto = $rs[0]['idconto'];
$ref_documento = $id_record;
$dbo->query('INSERT INTO co_documenti (numero, numero_esterno, ref_documento, idanagrafica, idconto, idtipodocumento, idpagamento, idbanca, data, idstatodocumento, idsede, id_segment) SELECT '.prepare($numero).', '.prepare($numero_esterno).', '.prepare($ref_documento).', idanagrafica, idconto, (SELECT `id` FROM `co_tipidocumento` WHERE `descrizione`=\'Nota di accredito\' AND dir = \'entrata\'), idpagamento, idbanca, data, (SELECT `id` FROM `co_statidocumento` WHERE `descrizione`=\'Bozza\'), idsede, '.prepare($id_segment).' FROM co_documenti AS t WHERE id = '.prepare($id_record));
$dbo->query('INSERT INTO co_documenti (numero, numero_esterno, ref_documento, idanagrafica, idconto, idtipodocumento, idpagamento, idbanca, data, idstatodocumento, idsede, id_segment) SELECT '.prepare($numero).', '.prepare($numero_esterno).', '.prepare($ref_documento).', idanagrafica, idconto, (SELECT `id` FROM `co_tipidocumento` WHERE `descrizione`=\'Nota di accredito\' AND dir = \'entrata\'), idpagamento, idbanca, '.prepare($data).', (SELECT `id` FROM `co_statidocumento` WHERE `descrizione`=\'Bozza\'), idsede, '.prepare($id_segment).' FROM co_documenti AS t WHERE id = '.prepare($id_record));
$id_record = $dbo->lastInsertedID();
// Lettura di tutte le righe della tabella in arrivo
@ -1574,12 +1575,17 @@ switch (post('op')) {
// Nota di addebito
if (get('op') == 'nota_addebito') {
$id_segment = $records[0]['id_segment'];
$rs_segment = $dbo->fetchArray("SELECT * FROM zz_segments WHERE predefined_addebito='1'");
if(sizeof($rs_segment)>0){
$id_segment = $rs_segment[0]['id'];
}else{
$id_segment = $records[0]['id_segment'];
}
$numero = get_new_numerofattura($records[0]['data']);
$numero_esterno = get_new_numerosecondariofattura($records[0]['data']);
$dbo->query('INSERT INTO co_documenti (numero, numero_esterno, ref_documento, idanagrafica, idconto, idtipodocumento, idpagamento, idbanca, data, idstatodocumento, idsede, id_segment) SELECT '.prepare($numero).', '.prepare($numero_esterno).', '.prepare($id_record).', idanagrafica, idconto, (SELECT `id` FROM `co_tipidocumento` WHERE `descrizione`=\'Nota di addebito\' AND dir = \'entrata\'), idpagamento, idbanca, data, (SELECT `id` FROM `co_statidocumento` WHERE `descrizione`=\'Bozza\'), idsede, id_segment FROM co_documenti AS t WHERE id = '.prepare($id_record));
$dbo->query('INSERT INTO co_documenti (numero, numero_esterno, ref_documento, idanagrafica, idconto, idtipodocumento, idpagamento, idbanca, data, idstatodocumento, idsede, id_segment) SELECT '.prepare($numero).', '.prepare($numero_esterno).', '.prepare($id_record).', idanagrafica, idconto, (SELECT `id` FROM `co_tipidocumento` WHERE `descrizione`=\'Nota di addebito\' AND dir = \'entrata\'), idpagamento, idbanca, data, (SELECT `id` FROM `co_statidocumento` WHERE `descrizione`=\'Bozza\'), idsede, '.prepare($id_segment).' FROM co_documenti AS t WHERE id = '.prepare($id_record));
$id_record = $dbo->lastInsertedID();
}

View File

@ -109,12 +109,20 @@ if (!empty($rs)) {
<div class="col-md-6">
{[ "type": "date", "label": "'.tr('Data del documento').'", "name": "data", "required": 1, "value": "-now-" ]}
</div>';
if ($module_name == 'Fatture di vendita' || $module_name == 'Fatture di acquisto') {
echo '
$rs_segment = $dbo->fetchArray("SELECT * FROM zz_segments WHERE predefined_accredito='1'");
if($op=='nota_accredito' && sizeof($rs_segment)>0){
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='.prepare(Modules::get($module_name)['id']).' ORDER BY name", "value": "'.$rs_segment[0]['id'].'" ]}
</div>';
} else {
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='.prepare(Modules::get($module_name)['id']).' ORDER BY name", "value": "'.$_SESSION['m'.Modules::get($module_name)['id']]['id_segment'].'" ]}
</div>';
}
}
echo

View File

@ -14,6 +14,16 @@ switch (post('op')) {
if ($predefined) {
$dbo->query('UPDATE zz_segments SET predefined = 0 WHERE id_module = '.prepare($id_module));
}
$predefined_accredito = post('predefined_accredito');
if ($predefined_accredito) {
$dbo->query('UPDATE zz_segments SET predefined_accredito = 0 WHERE id_module = '.prepare($id_module));
}
$predefined_addebito = post('predefined_addebito');
if ($predefined_addebito) {
$dbo->query('UPDATE zz_segments SET predefined_addebito = 0 WHERE id_module = '.prepare($id_module));
}
$dbo->update('zz_segments', [
'id_module' => post('module'),
@ -23,6 +33,8 @@ switch (post('op')) {
'note' => post('note'),
'position' => post('position'),
'predefined' => $predefined,
'predefined_accredito' => $predefined_accredito,
'predefined_addebito' => $predefined_addebito,
], ['id' => $id_record]);
$_SESSION['infos'][] = tr('Modifiche salvate correttamente');

View File

@ -26,10 +26,21 @@ include_once __DIR__.'/../../core.php';
<div class="col-md-4">
<?php
//($records[0]['n_sezionali']<2) ? $records[0]['predefined']=1 : '';
//($records[0]['n_sezionali']<2) ? $records[0]['predefined']=1 : '';
?>
{[ "type": "checkbox", "label": "<?php echo tr('Predefinito'); ?>", "name": "predefined", "value": "$predefined$", "help": "<?php echo tr('Seleziona per rendere il segmento predefinito.'); ?>", "placeholder": "<?php echo tr('Segmento predefinito'); ?>", "extra": "<?php echo ($records[0]['predefined']) ? 'readonly' : ''; ?>" ]}
</div>
</div>
<div class='row'>
<div class="col-md-4">
{[ "type": "checkbox", "label": "<?php echo tr('Predefinito note di accredito'); ?>", "name": "predefined_accredito", "value": "$predefined_accredito$", "help": "<?php echo tr('Seleziona per rendere il segmento predefinito per le note di accredito.'); ?>", "placeholder": "<?php echo tr('Segmento predefinito per le note di accredito'); ?>" ]}
</div>
<div class="col-md-4">
{[ "type": "checkbox", "label": "<?php echo tr('Predefinito note di addebito'); ?>", "name": "predefined_addebito", "value": "$predefined_addebito$", "help": "<?php echo tr('Seleziona per rendere il segmento predefinito per le note di addebito.'); ?>", "placeholder": "<?php echo tr('Segmento predefinito per le note di addebito'); ?>" ]}
</div>
</div>

View File

@ -482,3 +482,6 @@ UPDATE `zz_prints` SET `enabled` = 0 WHERE `name` IN( 'Ordine di servizio', 'Ord
-- Fix colonna delle stampe
UPDATE `zz_views` SET `query` = '\'Intervento\'' WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi') AND `name` = '_print_';
-- Flag per definire i segmenti di note di accredito e di addebito
ALTER TABLE `zz_segments` ADD `predefined_accredito` TINYINT(1) NOT NULL AFTER `predefined`, ADD `predefined_addebito` TINYINT(1) NOT NULL AFTER `predefined_accredito`;