Bugfix sezionali
This commit is contained in:
parent
74a659fd3c
commit
ba4577a947
|
@ -1003,7 +1003,7 @@ function start_inputmask(element) {
|
|||
});
|
||||
|
||||
$(element+'.alphanumeric-mask').inputmask('Regex', {
|
||||
regex: "[A-Za-z0-9]*",
|
||||
regex: "[A-Za-z0-9\s\#/+-_\|]*",
|
||||
casing: "upper",
|
||||
});
|
||||
|
||||
|
|
|
@ -28,21 +28,7 @@ function get_new_numerosecondarioddt($data)
|
|||
// Calcolo il numero secondario se stabilito dalle impostazioni e se documento di vendita
|
||||
$formato_numero_secondario = get_var('Formato numero secondario ddt');
|
||||
|
||||
$query = "SELECT numero_esterno FROM dt_ddt WHERE DATE_FORMAT( data, '%Y' ) = '".date('Y', strtotime($data))."' AND idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir='".$dir."')";
|
||||
|
||||
// estraggo blocchi di caratteri standard da sostituire
|
||||
preg_match('/[#]+/', $formato_numero_secondario, $m1 );
|
||||
preg_match('/[Y]+/', $formato_numero_secondario, $m2 );
|
||||
// Marzo 2017
|
||||
// nel caso ci fossero lettere o numeri prima della maschera ### per il numero (es. 18-####)
|
||||
// è necessario l'ordinamento alfabetico "ORDER BY numero_esterno" altrimenti
|
||||
// nel caso di maschere del tipo 0001-2018 è necessario l'ordinamento numerico "ORDER BY CAST(numero_esterno AS UNSIGNED)"
|
||||
$pos1 = strpos( $formato_numero_secondario, $m1[0] );
|
||||
if( $pos1==0 ):
|
||||
$query .= " ORDER BY CAST(numero_esterno AS UNSIGNED) DESC LIMIT 0,1";
|
||||
else:
|
||||
$query .= " ORDER BY numero_esterno DESC LIMIT 0,1";
|
||||
endif;
|
||||
$query = "SELECT numero_esterno FROM dt_ddt WHERE DATE_FORMAT( data, '%Y' ) = '".date('Y', strtotime($data))."' AND idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir='".$dir."') ORDER BY numero_esterno DESC LIMIT 0,1";
|
||||
|
||||
$rs = $dbo->fetchArray($query);
|
||||
$numero_secondario = $rs[0]['numero_esterno'];
|
||||
|
@ -54,11 +40,6 @@ function get_new_numerosecondarioddt($data)
|
|||
if ($formato_numero_secondario != '' && $dir == 'entrata') {
|
||||
//$numero_esterno = get_next_code($numero_secondario, 1, $formato_numero_secondario);
|
||||
$numero_esterno = Util\Generator::generate($formato_numero_secondario, $numero_secondario);
|
||||
/*echo $query."<br>";
|
||||
echo $numero_secondario."<br>";
|
||||
echo $formato_numero_secondario."<br>";
|
||||
echo $numero_esterno."<br>";
|
||||
exit;*/
|
||||
} else {
|
||||
$numero_esterno = '';
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ switch (post('op')) {
|
|||
$idtipodocumento = post('idtipodocumento');
|
||||
|
||||
$numero = get_new_numerofattura($data);
|
||||
$idsezionale = post('idsezionale');
|
||||
$id_sezionale = post('id_sezionale');
|
||||
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, id_sezionale) 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).'), '.$_SESSION[$dir]['id_sezionale'].' )';
|
||||
$query = 'INSERT INTO co_documenti (numero, numero_esterno, idanagrafica, idconto, idtipodocumento, idpagamento, data, idstatodocumento, idsede, id_sezionale) 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_sezionale.' )';
|
||||
$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_sezionale = post('id_sezionale');
|
||||
|
||||
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_sezionale) 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_sezionale).' )');
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
// Lettura di tutte le righe della tabella in arrivo
|
||||
|
|
|
@ -45,7 +45,7 @@ if ($module['name'] == 'Fatture di vendita') {
|
|||
|
||||
?>
|
||||
<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 $idsezionale_default; ?>", "extra": "" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Sezionale'); ?>", "name": "id_sezionale", "required": 1, "class": "", "values": "query=SELECT id, nome AS descrizione FROM co_sezionali WHERE dir='<?php echo $dir; ?>' ORDER BY nome", "value": "<?php echo $idsezionale_default; ?>", "extra": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -48,9 +48,30 @@ switch (post('op')) {
|
|||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case 'delete-bulk':
|
||||
|
||||
|
||||
foreach ($id_records as $id) {
|
||||
|
||||
|
||||
$dbo->query('DELETE FROM co_documenti WHERE id = '.prepare($id).Modules::getAdditionalsQuery($id_module));
|
||||
$dbo->query('DELETE FROM co_righe_documenti WHERE iddocumento='.prepare($id).Modules::getAdditionalsQuery($id_module));
|
||||
$dbo->query('DELETE FROM co_scadenziario WHERE iddocumento='.prepare($id).Modules::getAdditionalsQuery($id_module));
|
||||
$dbo->query('DELETE FROM mg_movimenti WHERE iddocumento='.prepare($id).Modules::getAdditionalsQuery($id_module));
|
||||
|
||||
}
|
||||
|
||||
$_SESSION['infos'][] = tr('Fatture eliminate!');
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return [
|
||||
|
||||
'delete-bulk' => tr('Elimina selezionati'),
|
||||
|
||||
'export-bulk' => [
|
||||
'text' => tr('Esporta stampe'),
|
||||
'data' => [
|
||||
|
|
|
@ -24,11 +24,11 @@ function get_new_numerosecondariofattura($data)
|
|||
global $dbo;
|
||||
global $dir;
|
||||
global $idtipodocumento;
|
||||
global $idsezionale;
|
||||
global $id_sezionale;
|
||||
|
||||
// recupero maschera per questo sezionale
|
||||
$rs_maschera = $dbo->fetchArray("SELECT maschera FROM co_sezionali WHERE id='".$idsezionale."'");
|
||||
// esempio: ####YYYY
|
||||
$rs_maschera = $dbo->fetchArray("SELECT maschera FROM co_sezionali WHERE id='".$id_sezionale."'");
|
||||
// esempio: ####/YY
|
||||
$maschera = $rs_maschera[0]['maschera'];
|
||||
|
||||
// estraggo blocchi di caratteri standard da sostituire
|
||||
|
@ -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 id_sezionale='".$idsezionale."' ";
|
||||
$query = "SELECT numero_esterno FROM co_documenti WHERE DATE_FORMAT(data,'%Y')='".$anno."' AND id_sezionale='".$id_sezionale."' ";
|
||||
// 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
|
||||
|
@ -52,6 +52,14 @@ function get_new_numerosecondariofattura($data)
|
|||
$rs_ultima_fattura = $dbo->fetchArray( $query );
|
||||
|
||||
$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 $id_sezionale."<br>";
|
||||
echo $query."<br>";
|
||||
echo $rs_ultima_fattura[0]['numero_esterno']."<br>";
|
||||
echo $maschera."<br>";
|
||||
echo $numero_esterno."<br>";
|
||||
exit;*/
|
||||
|
||||
// sostituisco anno nella maschera
|
||||
$anno = substr( $anno, -strlen($m2[0]) ); // nel caso ci fosse YY
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "Maschera", "name": "maschera", "required": 1, "class": "", "value": "####YYYY", "extra": "" ]}
|
||||
{[ "type": "text", "label": "Maschera", "name": "maschera", "required": 1, "class": "alphanumeric-mask", "value": "", "maxlength": 25, "placeholder":"####/YY", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "nome", "required": 1, "class": "", "value": "$nome$", "extra": "" ]}
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "<?php echo tr('Maschera'); ?>", "name": "maschera", "required": 1, "class": "", "value": "$maschera$", "extra": "" ]}
|
||||
{[ "type": "text", "label": "<?php echo tr('Maschera'); ?>", "name": "maschera", "required": 1, "class": "alphanumeric-mask", "value": "$maschera$", "maxlength": 25, "placeholder":"####/YY", "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": "" ]}
|
||||
|
|
|
@ -174,7 +174,7 @@ CREATE TABLE IF NOT EXISTS `co_sezionali` (
|
|||
|
||||
-- Popolo con i sezionali di default
|
||||
INSERT INTO `co_sezionali` (`id`, `nome`, `maschera`, `dir`, `idautomezzo`, `note`) VALUES
|
||||
(1, 'Standard vendite', '###YY', 'entrata', NULL, ''),
|
||||
(1, 'Standard vendite', '####/YY', 'entrata', NULL, ''),
|
||||
(2, 'Standard acquisti', '####', 'uscita', NULL,'');
|
||||
|
||||
-- Collego le fatture esistenti al sezionale di default
|
||||
|
|
Loading…
Reference in New Issue