mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-24 23:37:51 +01:00
Sezionali fatture vendita
This commit is contained in:
parent
ba4577a947
commit
9b24ab8125
5
core.php
5
core.php
@ -177,8 +177,9 @@ if (!API::isAPIRequest()) {
|
||||
}
|
||||
|
||||
// Impostazione automatica dei sezionali
|
||||
$_SESSION['uscita']['id_sezionale'] = get_var('Sezionale predefinito fatture di acquisto');
|
||||
$_SESSION['entrata']['id_sezionale'] = get_var('Sezionale predefinito fatture di vendita');
|
||||
(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 del tema grafico di default
|
||||
$theme = !empty($theme) ? $theme : 'default';
|
||||
|
@ -1003,7 +1003,7 @@ function start_inputmask(element) {
|
||||
});
|
||||
|
||||
$(element+'.alphanumeric-mask').inputmask('Regex', {
|
||||
regex: "[A-Za-z0-9\s\#/+-_\|]*",
|
||||
regex: "[A-Za-z0-9#_|\/\\-]*",
|
||||
casing: "upper",
|
||||
});
|
||||
|
||||
@ -1105,12 +1105,21 @@ function session_set_array(session_array, value, inversed) {
|
||||
/**
|
||||
* Funzione per impostare un valore ad una sessione
|
||||
*/
|
||||
function session_set(session_array, value, clear) {
|
||||
function session_set(session_array, value, clear, reload) {
|
||||
if (clear == undefined) {
|
||||
clear = 1;
|
||||
}
|
||||
|
||||
return $.get(globals.rootdir + "/ajax.php?op=session_set&session=" + session_array + "&value=" + value + "&clear=" + clear);
|
||||
if (reload == undefined) {
|
||||
reload = 0;
|
||||
}
|
||||
|
||||
return $.get(globals.rootdir + "/ajax.php?op=session_set&session=" + session_array + "&value=" + value + "&clear=" + clear, function(data, status){
|
||||
|
||||
if (reload==1)
|
||||
location.reload();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function session_keep_alive() {
|
||||
|
@ -31,7 +31,7 @@ if ($module['name'] == 'Ddt di vendita') {
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "<?php echo $tipo_anagrafica; ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='<?php echo $tipo_anagrafica; ?>' AND deleted=0 ORDER BY ragione_sociale", "value": "<?php echo $idanagrafica; ?>" ]}
|
||||
{[ "type": "select", "label": "<?php echo $tipo_anagrafica; ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='<?php echo $tipo_anagrafica; ?>' AND deleted=0 ORDER BY ragione_sociale", "value": "<?php echo $idanagrafica; ?>", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=<?php echo $tipo_anagrafica; ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
|
@ -24,7 +24,7 @@ switch (post('op')) {
|
||||
$idtipodocumento = post('idtipodocumento');
|
||||
|
||||
$numero = get_new_numerofattura($data);
|
||||
$id_sezionale = post('id_sezionale');
|
||||
$idsezionale = post('idsezionale');
|
||||
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).'), '.$id_sezionale.' )';
|
||||
$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.' )';
|
||||
$dbo->query($query);
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
@ -868,7 +868,7 @@ switch (post('op')) {
|
||||
$idddt = $post['idddt'];
|
||||
$numero = get_new_numerofattura($data);
|
||||
|
||||
$id_sezionale = post('id_sezionale');
|
||||
$idsezionale = post('idsezionale');
|
||||
|
||||
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, 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).' )');
|
||||
$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).' )');
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
// Lettura di tutte le righe della tabella in arrivo
|
||||
|
@ -33,19 +33,9 @@ if ($module['name'] == 'Fatture di vendita') {
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "<?php echo tr('Tipo fattura'); ?>", "name": "idtipodocumento", "required": 1, "values": "query=SELECT id, descrizione FROM co_tipidocumento WHERE dir='<?php echo $dir; ?>'", "value": "" ]}
|
||||
</div>
|
||||
<?php
|
||||
|
||||
if( $dir == "entrata" ):
|
||||
(!empty($_SESSION[$dir]['idsezionale'])) ? $idsezionale_default = $_SESSION[$dir]['idsezionale'] : $idsezionale_default = get_var("Sezionale predefinito fatture di vendita");
|
||||
endif;
|
||||
|
||||
if( $dir == "uscita" ):
|
||||
(!empty($_SESSION[$dir]['idsezionale'])) ? $idsezionale_default = $_SESSION[$dir]['idsezionale'] : $idsezionale_default = get_var("Sezionale predefinito fatture di acquisto");
|
||||
endif;
|
||||
|
||||
?>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "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": "" ]}
|
||||
{[ "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": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
50
modules/fatture/controller_before.php
Normal file
50
modules/fatture/controller_before.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
|
||||
/*deve sempre essere impostato almeno un sezionale
|
||||
if (isset($_SESSION[$dir]['idsezionale'])){
|
||||
$idsezionale = $_SESSION[$dir]['idsezionale'];
|
||||
}
|
||||
else{
|
||||
|
||||
if ($dir=='entrata')
|
||||
(!empty($_SESSION[$dir]['idsezionale'])) ? $idsezionale = $_SESSION[$dir]['idsezionale'] :$idsezionale = get_var("Sezionale predefinito fatture di vendita");
|
||||
|
||||
if ($dir=='uscita')
|
||||
$idsezionale = get_var('Sezionale predefinito fatture di acquisto');
|
||||
|
||||
|
||||
$_SESSION[$dir]['idsezionale'] = $idsezionale;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
?>
|
||||
|
||||
|
||||
<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": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
$("#idsezionale_").on("change", function(){
|
||||
|
||||
//alert ('<?php echo $dir; ?>');
|
||||
|
||||
if ($(this).val()<1){
|
||||
session_set('<?php echo $dir; ?>,idsezionale', '', 1, 1);
|
||||
}else{
|
||||
session_set('<?php echo $dir; ?>,idsezionale', $(this).val(), 0, 1);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
@ -63,7 +63,7 @@ $_SESSION['superselect']['ddt'] = $dir;
|
||||
}
|
||||
?>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "<?php echo $label; ?>", "name": "numero_esterno", "class": "text-center", "value": "$numero_esterno$" ]}
|
||||
{[ "type": "text", "label": "<?php echo $label; ?>", "name": "numero_esterno", "class": "alphanumeric-mask text-center", "value": "$numero_esterno$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
|
@ -24,10 +24,10 @@ function get_new_numerosecondariofattura($data)
|
||||
global $dbo;
|
||||
global $dir;
|
||||
global $idtipodocumento;
|
||||
global $id_sezionale;
|
||||
global $idsezionale;
|
||||
|
||||
// recupero maschera per questo sezionale
|
||||
$rs_maschera = $dbo->fetchArray("SELECT maschera FROM co_sezionali WHERE id='".$id_sezionale."'");
|
||||
$rs_maschera = $dbo->fetchArray("SELECT maschera FROM co_sezionali WHERE id='".$idsezionale."'");
|
||||
// esempio: ####/YY
|
||||
$maschera = $rs_maschera[0]['maschera'];
|
||||
|
||||
@ -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='".$id_sezionale."' ";
|
||||
$query = "SELECT numero_esterno FROM co_documenti WHERE DATE_FORMAT(data,'%Y')='".$anno."' AND idsezionale='".$idsezionale."' ";
|
||||
// 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 $id_sezionale."<br>";
|
||||
/*echo $idsezionale."<br>";
|
||||
echo $query."<br>";
|
||||
echo $rs_ultima_fattura[0]['numero_esterno']."<br>";
|
||||
echo $maschera."<br>";
|
||||
|
@ -63,7 +63,7 @@
|
||||
|
||||
|
||||
<?php
|
||||
$fatture = $dbo->fetchArray('SELECT COUNT(*) AS tot_fatture FROM co_documenti WHERE id_sezionale='.prepare($id_record));
|
||||
$fatture = $dbo->fetchArray('SELECT COUNT(*) AS tot_fatture FROM co_documenti WHERE idsezionale='.prepare($id_record));
|
||||
$tot_fatture = $fatture[0]['tot_fatture'];
|
||||
if ($tot_fatture > 0) {
|
||||
echo "<div class='alert alert-danger' style='margin:0px;'>Ci sono $tot_fatture fatture collegate a questo sezionale. Il comando elimina è stato disattivato, eliminare le fatture per attivare il comando \"Elimina sezionale\".</div>\n";
|
||||
|
@ -337,11 +337,11 @@ class App
|
||||
|
||||
// Sostituzione dei sezionali
|
||||
$sezionali = [
|
||||
'|sezionale_uscita|' => $_SESSION['uscita']['id_sezionale'],
|
||||
'|sezionale_entrata|' => $_SESSION['entrata']['id_sezionale'],
|
||||
'|sezionale_uscita|' => $_SESSION['uscita']['idsezionale'],
|
||||
'|sezionale_entrata|' => $_SESSION['entrata']['idsezionale'],
|
||||
];
|
||||
foreach ($sezionali as $key => $value) {
|
||||
$query = str_replace($key, !empty($value) ? ' AND id_sezionale = '.prepare($value) : '', $query);
|
||||
$query = str_replace($key, !empty($value) ? ' AND idsezionale = '.prepare($value) : '', $query);
|
||||
}
|
||||
|
||||
return $query;
|
||||
|
@ -159,7 +159,7 @@ DELETE FROM `zz_settings` WHERE
|
||||
|
||||
-- SEZIONALI
|
||||
-- Modifico co_documenti per aggiungere riferimento al sezionale
|
||||
ALTER TABLE `co_documenti` ADD `id_sezionale` int(11) NOT NULL ;
|
||||
ALTER TABLE `co_documenti` ADD `idsezionale` int(11) NOT NULL ;
|
||||
|
||||
-- Creo tabella sezionali
|
||||
CREATE TABLE IF NOT EXISTS `co_sezionali` (
|
||||
@ -174,12 +174,11 @@ 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, ''),
|
||||
(2, 'Standard acquisti', '####', 'uscita', NULL,'');
|
||||
(1, 'Standard vendite', '####/YY', 'entrata', NULL, '');
|
||||
|
||||
-- Collego le fatture esistenti al sezionale di default
|
||||
UPDATE `co_documenti` SET `id_sezionale`='1' WHERE `idtipodocumento` IN (SELECT `id` FROM `co_tipidocumento` WHERE `co_tipidocumento`.`dir`='entrata');
|
||||
UPDATE `co_documenti` SET `id_sezionale`='2' WHERE `idtipodocumento` IN (SELECT `id` FROM `co_tipidocumento` WHERE `co_tipidocumento`.`dir`='uscita');
|
||||
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');
|
||||
|
||||
-- Innesto modulo sezionali sotto "Contabilità"
|
||||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES
|
||||
|
Loading…
x
Reference in New Issue
Block a user