mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-02 00:46:44 +01:00
Rivista struttura 'sezionali' e convertita in 'segmenti' per una maggiore flessibilità
This commit is contained in:
parent
43cbb7471e
commit
8f8b4b3b18
6
core.php
6
core.php
@ -176,9 +176,9 @@ if (!API::isAPIRequest()) {
|
||||
$_SESSION['period_end'] = date('Y').'-12-31';
|
||||
}
|
||||
|
||||
// Impostazione automatica dei sezionali
|
||||
(empty($_SESSION['entrata']['idsezionale'])) ? $_SESSION['entrata']['idsezionale'] = get_var('Sezionale predefinito fatture di vendita') : '';
|
||||
(empty($_SESSION['uscita']['idsezionale'])) ? $_SESSION['uscita']['idsezionale'] = get_var('Sezionale predefinito fatture di acquisto'): '';
|
||||
// Impostazione automatica dei segments
|
||||
(empty($_SESSION[14]['id_segment'])) ? $_SESSION[14]['id_segment'] = get_var('Sezionale predefinito fatture di vendita') : '';
|
||||
(empty($_SESSION[15]['id_segment'])) ? $_SESSION[15]['id_segment'] = get_var('Sezionale predefinito fatture di acquisto'): '';
|
||||
|
||||
|
||||
// Impostazione del tema grafico di default
|
||||
|
@ -24,7 +24,7 @@ switch (post('op')) {
|
||||
$idtipodocumento = post('idtipodocumento');
|
||||
|
||||
$numero = get_new_numerofattura($data);
|
||||
$idsezionale = post('idsezionale');
|
||||
$id_segment = post('id_segment');
|
||||
if ($dir == 'entrata') {
|
||||
$numero_esterno = get_new_numerosecondariofattura($data);
|
||||
$idconto = get_var('Conto predefinito fatture di vendita');
|
||||
@ -45,7 +45,7 @@ switch (post('op')) {
|
||||
$idpagamento = get_var('Tipo di pagamento predefinito');
|
||||
}
|
||||
|
||||
$query = 'INSERT INTO co_documenti (numero, numero_esterno, idanagrafica, idconto, idtipodocumento, idpagamento, data, idstatodocumento, idsede, idsezionale) VALUES ('.prepare($numero).', '.prepare($numero_esterno).', '.prepare($idanagrafica).', '.prepare($idconto).', '.prepare($idtipodocumento).', '.prepare($idpagamento).', '.prepare($data).", (SELECT `id` FROM `co_statidocumento` WHERE `descrizione`='Bozza'), (SELECT idsede_fatturazione FROM an_anagrafiche WHERE idanagrafica=".prepare($idanagrafica).'), '.$idsezionale.' )';
|
||||
$query = 'INSERT INTO co_documenti (numero, numero_esterno, idanagrafica, idconto, idtipodocumento, idpagamento, data, idstatodocumento, idsede, id_segment) VALUES ('.prepare($numero).', '.prepare($numero_esterno).', '.prepare($idanagrafica).', '.prepare($idconto).', '.prepare($idtipodocumento).', '.prepare($idpagamento).', '.prepare($data).", (SELECT `id` FROM `co_statidocumento` WHERE `descrizione`='Bozza'), (SELECT idsede_fatturazione FROM an_anagrafiche WHERE idanagrafica=".prepare($idanagrafica).'), '.$id_segment.' )';
|
||||
$dbo->query($query);
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
@ -868,7 +868,7 @@ switch (post('op')) {
|
||||
$idddt = $post['idddt'];
|
||||
$numero = get_new_numerofattura($data);
|
||||
|
||||
$idsezionale = post('idsezionale');
|
||||
$id_segment = post('id_segment');
|
||||
|
||||
if ($dir == 'entrata') {
|
||||
$numero_esterno = get_new_numerosecondariofattura($data);
|
||||
@ -885,7 +885,7 @@ switch (post('op')) {
|
||||
}
|
||||
|
||||
// Creazione nuova fattura
|
||||
$dbo->query('INSERT INTO co_documenti(numero, numero_esterno, data, idanagrafica, idtipodocumento, idstatodocumento, idpagamento, idconto, idsezionale) VALUES('.prepare($numero).', '.prepare($numero_esterno).', '.prepare($data).', '.prepare($idanagrafica).', (SELECT id FROM co_tipidocumento WHERE descrizione='.prepare($tipo_documento)."), (SELECT id FROM co_statidocumento WHERE descrizione='Bozza'), ".prepare($idpagamento).', '.prepare($idconto).', '.prepare($idsezionale).' )');
|
||||
$dbo->query('INSERT INTO co_documenti(numero, numero_esterno, data, idanagrafica, idtipodocumento, idstatodocumento, idpagamento, idconto, id_segment) VALUES('.prepare($numero).', '.prepare($numero_esterno).', '.prepare($data).', '.prepare($idanagrafica).', (SELECT id FROM co_tipidocumento WHERE descrizione='.prepare($tipo_documento)."), (SELECT id FROM co_statidocumento WHERE descrizione='Bozza'), ".prepare($idpagamento).', '.prepare($idconto).', '.prepare($id_segment).' )');
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
// Lettura di tutte le righe della tabella in arrivo
|
||||
|
@ -35,7 +35,7 @@ if ($module['name'] == 'Fatture di vendita') {
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "<?php echo tr('Sezionale'); ?>", "name": "idsezionale", "required": 1, "class": "", "values": "query=SELECT id, nome AS descrizione FROM co_sezionali WHERE dir='<?php echo $dir; ?>' ORDER BY nome", "value": "<?php echo $_SESSION[$dir]['idsezionale']; ?>", "extra": "" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Sezionale'); ?>", "name": "id_segment", "required": 1, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='<?php echo $id_module; ?>' ORDER BY name", "value": "<?php echo $_SESSION[$id_module]['id_segment']; ?>", "extra": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -4,19 +4,19 @@
|
||||
|
||||
|
||||
/*deve sempre essere impostato almeno un sezionale
|
||||
if (isset($_SESSION[$dir]['idsezionale'])){
|
||||
$idsezionale = $_SESSION[$dir]['idsezionale'];
|
||||
if (isset($_SESSION[$id_module]['id_segment'])){
|
||||
$id_segment = $_SESSION[$id_module]['id_segment'];
|
||||
}
|
||||
else{
|
||||
|
||||
if ($dir=='entrata')
|
||||
(!empty($_SESSION[$dir]['idsezionale'])) ? $idsezionale = $_SESSION[$dir]['idsezionale'] :$idsezionale = get_var("Sezionale predefinito fatture di vendita");
|
||||
if ($id_module=='14')
|
||||
(!empty($_SESSION[$id_module]['id_segment'])) ? $id_segment = $_SESSION[$id_module]['id_segment'] :$id_segment = get_var("Sezionale predefinito fatture di vendita");
|
||||
|
||||
if ($dir=='uscita')
|
||||
$idsezionale = get_var('Sezionale predefinito fatture di acquisto');
|
||||
if ($id_module=='15')
|
||||
$id_segment = get_var('Sezionale predefinito fatture di acquisto');
|
||||
|
||||
|
||||
$_SESSION[$dir]['idsezionale'] = $idsezionale;
|
||||
$_SESSION[$id_module]['id_segment'] = $id_segment;
|
||||
}
|
||||
*/
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4 pull-right">
|
||||
{[ "type": "select", "label": "Sezionale", "name": "idsezionale_", "required": 0, "class": "", "values": "query=SELECT id, nome AS descrizione FROM co_sezionali WHERE dir = '<?php echo $dir; ?>'", "value": "<?php echo $_SESSION[$dir]['idsezionale']; ?>", "extra": "" ]}
|
||||
{[ "type": "select", "label": "Sezionale", "name": "idsezionale_", "required": 0, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module = '<?php echo $id_module; ?>'", "value": "<?php echo $_SESSION[$id_module]['id_segment']; ?>", "extra": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -35,13 +35,11 @@
|
||||
$(document).ready(function () {
|
||||
|
||||
$("#idsezionale_").on("change", function(){
|
||||
|
||||
//alert ('<?php echo $dir; ?>');
|
||||
|
||||
if ($(this).val()<1){
|
||||
session_set('<?php echo $dir; ?>,idsezionale', '', 1, 1);
|
||||
session_set('<?php echo $id_module; ?>,id_segment', '', 1, 1);
|
||||
}else{
|
||||
session_set('<?php echo $dir; ?>,idsezionale', $(this).val(), 0, 1);
|
||||
session_set('<?php echo $id_module; ?>,id_segment', $(this).val(), 0, 1);
|
||||
}
|
||||
|
||||
});
|
||||
|
@ -24,12 +24,12 @@ function get_new_numerosecondariofattura($data)
|
||||
global $dbo;
|
||||
global $dir;
|
||||
global $idtipodocumento;
|
||||
global $idsezionale;
|
||||
global $id_segment;
|
||||
|
||||
// recupero maschera per questo sezionale
|
||||
$rs_maschera = $dbo->fetchArray("SELECT maschera FROM co_sezionali WHERE id='".$idsezionale."'");
|
||||
// recupero maschera per questo segmento
|
||||
$rs_maschera = $dbo->fetchArray("SELECT pattern FROM zz_segments WHERE id = '".$id_segment."'");
|
||||
// esempio: ####/YY
|
||||
$maschera = $rs_maschera[0]['maschera'];
|
||||
$maschera = $rs_maschera[0]['pattern'];
|
||||
|
||||
// estraggo blocchi di caratteri standard da sostituire
|
||||
preg_match('/[#]+/', $maschera, $m1 );
|
||||
@ -37,7 +37,7 @@ function get_new_numerosecondariofattura($data)
|
||||
|
||||
$anno = substr( $data, 0, 4);
|
||||
|
||||
$query = "SELECT numero_esterno FROM co_documenti WHERE DATE_FORMAT(data,'%Y')='".$anno."' AND idsezionale='".$idsezionale."' ";
|
||||
$query = "SELECT numero_esterno FROM co_documenti WHERE DATE_FORMAT(data,'%Y')='".$anno."' AND id_segment='".$id_segment."' ";
|
||||
// Marzo 2017
|
||||
// nel caso ci fossero lettere prima della maschera ### per il numero (es. FT-0001-2017)
|
||||
// è necessario l'ordinamento alfabetico "ORDER BY numero_esterno" altrimenti
|
||||
@ -54,7 +54,7 @@ function get_new_numerosecondariofattura($data)
|
||||
$numero_esterno = get_next_code( $rs_ultima_fattura[0]['numero_esterno'], 1, $maschera );
|
||||
//$numero_esterno = Util\Generator::generate($maschera, $rs_ultima_fattura[0]['numero_esterno']);
|
||||
|
||||
/*echo $idsezionale."<br>";
|
||||
/*echo $id_segment."<br>";
|
||||
echo $query."<br>";
|
||||
echo $rs_ultima_fattura[0]['numero_esterno']."<br>";
|
||||
echo $maschera."<br>";
|
||||
|
48
modules/segmenti/actions.php
Normal file
48
modules/segmenti/actions.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
switch (post('op')) {
|
||||
case 'update':
|
||||
|
||||
$name = post('name');
|
||||
$category = post('category');
|
||||
(strpos(post('pattern'), '#') !== false) ? $pattern = post('pattern') : $maschera = '####';
|
||||
$id_module_ = post('id_module_');
|
||||
$note = post('note');
|
||||
|
||||
$query = "UPDATE zz_segments SET name=\"$name\", category=\"$category\", pattern=\"$pattern\", id_module=\"$id_module_\", note=\"$note\" WHERE id=\"$id_record\"";
|
||||
|
||||
$rs = $dbo->query($query);
|
||||
|
||||
$_SESSION['infos'][] = tr('Modifiche salvate correttamente.');
|
||||
|
||||
break;
|
||||
|
||||
case 'add':
|
||||
|
||||
$name = post('name');
|
||||
$category = post('category');
|
||||
(strpos(post('pattern'), '#') !== false) ? $pattern = post('pattern') : $pattern = '####';
|
||||
$id_module_ = post('id_module_');
|
||||
$note = post('note');
|
||||
|
||||
$dbo->query("INSERT INTO zz_segments( name, category, pattern, id_module, note ) VALUES ( \"$name\", \"$category\", \"$pattern\", \"$id_module_\", \"$note\" )");
|
||||
$id_record = $dbo->last_inserted_id();
|
||||
|
||||
$_SESSION['infos'][] = tr('Nuovo segmento aggiunto.');
|
||||
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
|
||||
$query = "DELETE FROM zz_segments WHERE id=\"$id_record\"";
|
||||
$rs = $dbo->query($query);
|
||||
|
||||
// TODO
|
||||
// eliminare riferimento sulle fatture eventuali collegate a questo segmento?
|
||||
|
||||
$_SESSION['infos'][] = tr('Segmento eliminato.');
|
||||
|
||||
break;
|
||||
}
|
41
modules/segmenti/add.php
Normal file
41
modules/segmenti/add.php
Normal file
@ -0,0 +1,41 @@
|
||||
<form action="" method="post" id="add-form">
|
||||
<input type="hidden" name="op" value="add">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "name", "required": 1, "class": "", "value": "$name$", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "<?php echo tr('Categoria'); ?>", "name": "category", "required": 1, "class": "", "value": "$category$", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "<?php echo tr('Maschera'); ?>", "name": "pattern", "required": 1, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Modulo'); ?>", "name": "id_module_", "required": 1, "class": "", "values": "list=\"14\": \"Fatture di vendita\", \"15\": \"Fatture di acquisto\"", "value": "$id_module$", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
{[ "type": "textarea", "label": "Note", "name": "note", "required": 0, "class": "", "value": "", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-primary pull-right"><i class="fa fa-plus"></i> Inserisci</button>
|
||||
<div class="clearfix"></div>
|
||||
</form>
|
||||
<!--script>
|
||||
$(document).ready( function(){
|
||||
start_jquerychosen();
|
||||
});
|
||||
</script-->
|
@ -6,23 +6,29 @@
|
||||
<!-- DATI ARTICOLO -->
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title"><?php echo tr('Sezionale'); ?></h3>
|
||||
<h3 class="panel-title"><?php echo tr('Segmento'); ?></h3>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "nome", "required": 1, "class": "", "value": "$nome$", "extra": "" ]}
|
||||
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "name", "required": 1, "class": "", "value": "$name$", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "<?php echo tr('Maschera'); ?>", "name": "maschera", "required": 1, "class": "alphanumeric-mask", "value": "$maschera$", "maxlength": 25, "placeholder":"####/YY", "extra": "" ]}
|
||||
{[ "type": "text", "label": "<?php echo tr('Categoria'); ?>", "name": "category", "required": 1, "class": "", "value": "$category$", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Documenti'); ?>", "name": "dir", "required": 1, "class": "", "values": "list=\"entrata\": \"Documenti di vendita\", \"uscita\": \"Documenti di acquisto\"", "value": "$dir$", "extra": "<?php echo ($records[0]['n_sezionali']<2) ? 'readonly' : ''; ?>" ]}
|
||||
{[ "type": "text", "label": "<?php echo tr('Maschera'); ?>", "name": "pattern", "required": 1, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Magazzino'); ?>", "name": "idautomezzo", "required": 0, "class": "", "values": "query=SELECT id, nome AS descrizione FROM dt_automezzi", "value": "$idautomezzo$", "extra": "" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Modulo'); ?>", "name": "id_module_", "required": 1, "class": "", "values": "list=\"14\": \"Fatture di vendita\", \"15\": \"Fatture di acquisto\"", "value": "$id_module$", "extra": "<?php echo ($records[0]['n_sezionali']<2) ? 'readonly' : ''; ?>" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
@ -63,14 +69,15 @@
|
||||
|
||||
|
||||
<?php
|
||||
$fatture = $dbo->fetchArray('SELECT COUNT(*) AS tot_fatture FROM co_documenti WHERE idsezionale='.prepare($id_record));
|
||||
$fatture = $dbo->fetchArray('SELECT COUNT(*) AS tot_fatture FROM co_documenti WHERE id_segment='.prepare($id_record));
|
||||
$tot_fatture = $fatture[0]['tot_fatture'];
|
||||
if ($tot_fatture > 0) {
|
||||
|
||||
echo "<div class='alert alert-danger' style='margin:0px;'>";
|
||||
|
||||
echo tr("Ci sono _TOT_ fatture collegate a questo sezionale. Il comando elimina è stato disattivato, eliminare le fatture per attivare il comando 'Elimina sezionale'.", [
|
||||
'_TOT_' => $tot_fatture,
|
||||
echo tr("Ci sono _TOT_ fatture collegate a questo segmento del modulo '_MODULO_'. Il comando elimina è stato disattivato, eliminare le fatture per attivare il comando 'Elimina segmento'.", [
|
||||
'_TOT_' => $tot_fatture,
|
||||
'_MODULO_' => $records[0]['modulo'],
|
||||
]);
|
||||
|
||||
echo "</div>";
|
||||
@ -81,8 +88,8 @@
|
||||
|
||||
echo "<div class='alert alert-danger' style='margin:0px;'>";
|
||||
|
||||
echo tr("Questo è l'unico sezionale per i documenti in '_DIR_'. Il comando elimina è stato disattivato.", [
|
||||
'_DIR_' => $records[0]['dir'],
|
||||
echo tr("Questo è l'unico segmento per il modulo '_MODULO_'. Il comando elimina è stato disattivato.", [
|
||||
'_MODULO_' => $records[0]['modulo'],
|
||||
]);
|
||||
|
||||
echo "</div>";
|
||||
@ -93,7 +100,7 @@
|
||||
<input type="hidden" name="backto" value="record-list">
|
||||
<input type="hidden" name="op" value="delete">
|
||||
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
|
||||
<button type="button" class="btn-link" onclick="if( confirm('Eliminare questo Sezionale?') ){ $('#form-delete').submit(); }"><span class="text-danger"><i class="fa fa-trash-o"></i> Elimina sezionale</span></button>
|
||||
<button type="button" class="btn-link" onclick="if( confirm('Eliminare questo segmento?') ){ $('#form-delete').submit(); }"><span class="text-danger"><i class="fa fa-trash-o"></i> Elimina segmento</span></button>
|
||||
</form>
|
||||
<?php
|
||||
}
|
5
modules/segmenti/init.php
Normal file
5
modules/segmenti/init.php
Normal file
@ -0,0 +1,5 @@
|
||||
<?php
|
||||
if ($docroot == '') {
|
||||
die(_('Accesso negato!'));
|
||||
}
|
||||
$records = $dbo->fetchArray("SELECT *, (SELECT name FROM zz_modules WHERE id = zz_segments.id_module) AS modulo, (SELECT COUNT(t.id) FROM zz_segments t WHERE t.id_module = zz_segments.id_module) AS n_sezionali FROM zz_segments WHERE id='$id_record'");
|
@ -1,48 +0,0 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
switch (post('op')) {
|
||||
case 'update':
|
||||
|
||||
$nome = post('nome');
|
||||
(strpos(post('maschera'), '#') !== false) ? $maschera = post('maschera') : $maschera = '##';
|
||||
$dir = post('dir');
|
||||
$idautomezzo = post('idautomezzo');
|
||||
$note = post('note');
|
||||
|
||||
$query = "UPDATE co_sezionali SET nome=\"$nome\", maschera=\"$maschera\", dir=\"$dir\", idautomezzo=\"$idautomezzo\", note=\"$note\" WHERE id=\"$id_record\"";
|
||||
|
||||
$rs = $dbo->query($query);
|
||||
|
||||
$_SESSION['infos'][] = tr('Modifiche salvate correttamente.');
|
||||
|
||||
break;
|
||||
|
||||
case 'add':
|
||||
|
||||
$nome = post('nome');
|
||||
(strpos(post('maschera'), '#') !== false) ? $maschera = post('maschera') : $maschera = '##';
|
||||
$dir = post('dir');
|
||||
$idautomezzo = post('idautomezzo');
|
||||
$note = post('note');
|
||||
|
||||
$dbo->query("INSERT INTO co_sezionali( nome, maschera, dir, idautomezzo, note ) VALUES ( \"$nome\", \"$maschera\", \"$dir\", \"$idautomezzo\", \"$note\" )");
|
||||
$id_record = $dbo->last_inserted_id();
|
||||
|
||||
$_SESSION['infos'][] = tr('Nuovo sezionale aggiunto.');
|
||||
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
|
||||
$query = "DELETE FROM co_sezionali WHERE id=\"$id_record\"";
|
||||
$rs = $dbo->query($query);
|
||||
|
||||
// TODO
|
||||
// eliminare riferimento sulle fatture eventuali collegate a questo sezionale?
|
||||
|
||||
$_SESSION['infos'][] = tr('Sezionale eliminato.');
|
||||
|
||||
break;
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
<form action="" method="post" id="add-form">
|
||||
<input type="hidden" name="op" value="add">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "Inserisci un nome per questo sezionale:", "name": "nome", "required": 1, "class": "", "value": "", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "Maschera", "name": "maschera", "required": 1, "class": "alphanumeric-mask", "value": "", "maxlength": 25, "placeholder":"####/YY", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "Documenti", "name": "dir", "required": 1, "class": "", "values": "list=\"entrata\": \"Documenti di vendita\", \"uscita\": \"Documenti di acquisto\"", "value": "", "extra": "" ]}
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "Magazzino", "name": "idautomezzo", "required": 0, "class": "", "values": "query=SELECT id, nome AS descrizione FROM dt_automezzi", "value": "", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
{[ "type": "textarea", "label": "Note", "name": "note", "required": 0, "class": "", "value": "", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<button type="submit" class="btn btn-primary pull-right"><i class="fa fa-plus"></i> Inserisci</button>
|
||||
<div class="clearfix"></div>
|
||||
</form>
|
||||
<!--script>
|
||||
$(document).ready( function(){
|
||||
start_jquerychosen();
|
||||
});
|
||||
</script-->
|
@ -1,5 +0,0 @@
|
||||
<?php
|
||||
if ($docroot == '') {
|
||||
die(_('Accesso negato!'));
|
||||
}
|
||||
$records = $dbo->fetchArray("SELECT *, (SELECT COUNT(t.id) FROM co_sezionali t WHERE t.dir = co_sezionali.dir) AS n_sezionali FROM co_sezionali WHERE id='$id_record'");
|
@ -337,11 +337,11 @@ class App
|
||||
|
||||
// Sostituzione dei sezionali
|
||||
$sezionali = [
|
||||
'|sezionale_uscita|' => $_SESSION['uscita']['idsezionale'],
|
||||
'|sezionale_entrata|' => $_SESSION['entrata']['idsezionale'],
|
||||
'|sezionale_entrata|' => $_SESSION[14]['id_segment'],
|
||||
'|sezionale_uscita|' => $_SESSION[15]['id_segment'],
|
||||
];
|
||||
foreach ($sezionali as $key => $value) {
|
||||
$query = str_replace($key, !empty($value) ? ' AND idsezionale = '.prepare($value) : '', $query);
|
||||
$query = str_replace($key, !empty($value) ? ' AND id_segment = '.prepare($value) : '', $query);
|
||||
}
|
||||
|
||||
return $query;
|
||||
|
@ -157,37 +157,38 @@ DELETE FROM `zz_settings` WHERE
|
||||
(`nome` = 'Password SMTP') OR
|
||||
(`nome` = 'Sicurezza SMTP');
|
||||
|
||||
-- SEZIONALI
|
||||
-- Modifico co_documenti per aggiungere riferimento al sezionale
|
||||
ALTER TABLE `co_documenti` ADD `idsezionale` int(11) NOT NULL ;
|
||||
-- SEGNENTI
|
||||
-- Modifico co_documenti per aggiungere riferimento al segmento
|
||||
ALTER TABLE `co_documenti` ADD `id_segment` int(11) NOT NULL ;
|
||||
|
||||
-- Creo tabella sezionali
|
||||
CREATE TABLE IF NOT EXISTS `co_sezionali` (
|
||||
-- Creo tabella segmenti
|
||||
CREATE TABLE IF NOT EXISTS `zz_segments` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`nome` varchar(255) NOT NULL,
|
||||
`maschera` varchar(255) NOT NULL,
|
||||
`dir` varchar(50) NOT NULL,
|
||||
`idautomezzo` int(11) NULL ,
|
||||
`id_module` int(11) NOT NULL,
|
||||
`category` varchar(255) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`pattern` varchar(255) NOT NULL,
|
||||
`note` text NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
|
||||
-- Popolo con i sezionali di default
|
||||
INSERT INTO `co_sezionali` (`id`, `nome`, `maschera`, `dir`, `idautomezzo`, `note`) VALUES
|
||||
(1, 'Standard vendite', '####/YY', 'entrata', NULL, '');
|
||||
-- Popolo con i segmenti di default
|
||||
INSERT INTO `zz_segments` (`id`, `id_module`, `category`, `name`, `pattern`,`note`) VALUES
|
||||
(1, 14, 'Fatture', 'Standard vendite', '####/YY', ''),
|
||||
(2, 15, 'Fatture', 'Standard acquisti', '####', '');
|
||||
|
||||
-- Collego le fatture esistenti al sezionale di default
|
||||
UPDATE `co_documenti` SET `idsezionale`='1' WHERE `idtipodocumento` IN (SELECT `id` FROM `co_tipidocumento` WHERE `co_tipidocumento`.`dir`='entrata');
|
||||
UPDATE `co_documenti` SET `idsezionale`='2' WHERE `idtipodocumento` IN (SELECT `id` FROM `co_tipidocumento` WHERE `co_tipidocumento`.`dir`='uscita');
|
||||
-- Collego le fatture esistenti al segmento di default
|
||||
UPDATE `co_documenti` SET `id_segment`='1' WHERE `idtipodocumento` IN (SELECT `id` FROM `co_tipidocumento` WHERE `co_tipidocumento`.`dir`='entrata');
|
||||
UPDATE `co_documenti` SET `id_segment`='2' WHERE `idtipodocumento` IN (SELECT `id` FROM `co_tipidocumento` WHERE `co_tipidocumento`.`dir`='uscita');
|
||||
|
||||
-- Innesto modulo sezionali sotto "Contabilità"
|
||||
-- Innesto modulo segmenti sotto "Strumenti"
|
||||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES
|
||||
(NULL, 'Sezionali', 'Sezionali', 'sezionali', '{ "main_query": [ { "type": "table", "fields": "Tipo documenti, Nome, Maschera, Magazzino, Note", "query": "SELECT `id`, `nome` AS `Nome`, `maschera` AS `Maschera`, (SELECT nome FROM dt_automezzi WHERE dt_automezzi.id = idautomezzo) AS Magazzino, IF(`dir`=''entrata'', ''Documenti di vendita'', ''Documenti di acquisto'') AS `Tipo documenti`, `note` AS `Note` FROM `co_sezionali` HAVING 2=2 ORDER BY `Tipo documenti`, `Nome`"} ]}', '', 'fa fa-database', '2.4', '2.4', 1, 12, 1, 1);
|
||||
(NULL, 'Segmenti', 'Segmenti', 'segmenti', '{ "main_query": [ { "type": "table", "fields": "Modulo, Categoria, Nome, Maschera, Note", "query": "SELECT `id`, `category` AS `Categoria`, `name` AS `Nome`, (SELECT name FROM zz_modules WHERE id = zz_segments.id_module) AS Modulo, `pattern` AS `Maschera`, `note` AS `Note` FROM `zz_segments` HAVING 2=2 ORDER BY name, id_module"} ]}', '', 'fa fa-database', '2.4', '2.4', 1, 36, 1, 1);
|
||||
|
||||
-- Aggiungo impostazione predefinita
|
||||
INSERT INTO `zz_settings` (`idimpostazione`, `nome`, `valore`, `tipo`, `editable`, `sezione`) VALUES
|
||||
(NULL, 'Sezionale predefinito fatture di vendita', '1', 'query=SELECT id, CONCAT(nome, '': '', maschera) AS descrizione FROM co_sezionali WHERE dir=''entrata'' ORDER BY nome', 1, 'Fatturazione'),
|
||||
(NULL, 'Sezionale predefinito fatture di acquisto', '2', 'query=SELECT id, CONCAT(nome, '': '', maschera) AS descrizione FROM co_sezionali WHERE dir=''uscita'' ORDER BY nome', 1, 'Fatturazione');
|
||||
(NULL, 'Sezionale predefinito fatture di vendita', '1', 'query=SELECT id, CONCAT(name, '': '', pattern) AS descrizione FROM zz_segments WHERE id_module = 14 ORDER BY name', 1, 'Fatturazione'),
|
||||
(NULL, 'Sezionale predefinito fatture di acquisto', '2', 'query=SELECT id, CONCAT(name, '': '', pattern) AS descrizione FROM zz_segments WHERE id_module = 15 ORDER BY name', 1, 'Fatturazione');
|
||||
|
||||
-- Aggiorno widget Fatturato con i sezionali
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT(SUM((SELECT SUM(subtotale+iva-sconto) FROM co_righe_documenti WHERE iddocumento=co_documenti.id)+iva_rivalsainps+rivalsainps+bollo-ritenutaacconto), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM co_documenti WHERE idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir="entrata") |sezionale_entrata| AND data >= "|period_start|" AND data <= "|period_end|" AND 1=1' WHERE `zz_widgets`.`name` = 'Fatturato';
|
||||
|
Loading…
x
Reference in New Issue
Block a user