mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-18 12:30:35 +01:00
Actions per sezionali
This commit is contained in:
parent
dcab3c1336
commit
968c3dae02
@ -24,6 +24,7 @@ switch (post('op')) {
|
|||||||
$idtipodocumento = post('idtipodocumento');
|
$idtipodocumento = post('idtipodocumento');
|
||||||
|
|
||||||
$numero = get_new_numerofattura($data);
|
$numero = get_new_numerofattura($data);
|
||||||
|
$idsezionale = post('idsezionale');
|
||||||
if ($dir == 'entrata') {
|
if ($dir == 'entrata') {
|
||||||
$numero_esterno = get_new_numerosecondariofattura($data);
|
$numero_esterno = get_new_numerosecondariofattura($data);
|
||||||
$idconto = get_var('Conto predefinito fatture di vendita');
|
$idconto = get_var('Conto predefinito fatture di vendita');
|
||||||
@ -867,6 +868,8 @@ switch (post('op')) {
|
|||||||
$idddt = $post['idddt'];
|
$idddt = $post['idddt'];
|
||||||
$numero = get_new_numerofattura($data);
|
$numero = get_new_numerofattura($data);
|
||||||
|
|
||||||
|
$idsezionale = post('idsezionale');
|
||||||
|
|
||||||
if ($dir == 'entrata') {
|
if ($dir == 'entrata') {
|
||||||
$numero_esterno = get_new_numerosecondariofattura($data);
|
$numero_esterno = get_new_numerosecondariofattura($data);
|
||||||
} else {
|
} else {
|
||||||
@ -882,7 +885,7 @@ switch (post('op')) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Creazione nuova fattura
|
// Creazione nuova fattura
|
||||||
$dbo->query('INSERT INTO co_documenti(numero, numero_esterno, data, idanagrafica, idtipodocumento, idstatodocumento, idpagamento, idconto) 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).')');
|
$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();
|
$id_record = $dbo->lastInsertedID();
|
||||||
|
|
||||||
// Lettura di tutte le righe della tabella in arrivo
|
// Lettura di tutte le righe della tabella in arrivo
|
||||||
|
@ -34,29 +34,19 @@ if ($module['name'] == 'Fatture di vendita') {
|
|||||||
{[ "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": "" ]}
|
{[ "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>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
if( $dir == "entrata" ){
|
|
||||||
|
|
||||||
if (isset($_SESSION[$dir]['idsezionale'])){
|
|
||||||
$idsezionale_default = $_SESSION[$dir]['idsezionale'];
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
|
|
||||||
(!empty($_SESSION['idsezionale'])) ? $idsezionale_default = $_SESSION['idsezionale'] :$idsezionale_default = get_var("Sezionale predefinito fatture di vendita");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
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">
|
<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='entrata' ORDER BY nome", "value": "<?= $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 $idsezionale_default; ?>", "extra": "" ]}
|
||||||
</div>
|
</div>
|
||||||
<?php
|
|
||||||
}else{
|
|
||||||
?>
|
|
||||||
<div class="col-md-6">
|
|
||||||
{[ "type": "text", "label": "<?php echo tr('Numero fattura del fornitore'); ?>", "name": "numero_esterno", "required": 1, "class": "", "value": "", "extra": "" ]}
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- PULSANTI -->
|
<!-- PULSANTI -->
|
||||||
|
@ -27,40 +27,42 @@ function get_new_numerosecondariofattura($data)
|
|||||||
global $idsezionale;
|
global $idsezionale;
|
||||||
|
|
||||||
// recupero maschera per questo sezionale
|
// recupero maschera per questo sezionale
|
||||||
$maschera = $dbo->fetchArray("SELECT * FROM co_sezionali WHERE id='".$idsezionale."'");
|
$rs_maschera = $dbo->fetchArray("SELECT maschera FROM co_sezionali WHERE id='".$idsezionale."'");
|
||||||
// esempio: ####YYYY
|
// esempio: ####YYYY
|
||||||
$numero_esterno = $maschera[0]['maschera'];
|
$maschera = $rs_maschera[0]['maschera'];
|
||||||
|
|
||||||
// estraggo blocchi di caratteri standard da sostituire
|
// estraggo blocchi di caratteri standard da sostituire
|
||||||
preg_match('/[#]+/', $numero_esterno, $m1 );
|
preg_match('/[#]+/', $maschera, $m1 );
|
||||||
preg_match('/[Y]+/', $numero_esterno, $m2 );
|
preg_match('/[Y]+/', $maschera, $m2 );
|
||||||
|
|
||||||
// potrei inserire una fattura per l'anno scorso, quindi recupero l'anno dalla data impostata
|
$anno = substr( $data, 0, 4);
|
||||||
$anno = substr( $data, 0, 4); // questo valore serve nella query
|
|
||||||
|
|
||||||
// recupero ultimo numero di fattura per questo sezionale (idtipodocumento va considerato o no?)
|
|
||||||
//AND idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = '".$dir."')
|
|
||||||
$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_sezionale='".$idsezionale."' ";
|
||||||
// Marzo 2017
|
// Marzo 2017
|
||||||
// nel caso ci fossero lettere prima della maschera ### per il numero (es. FT-0001-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
|
// è necessario l'ordinamento alfabetico "ORDER BY numero_esterno" altrimenti
|
||||||
// nel caso di maschere del tipo 001-2017 è necessario l'ordinamento numerico "ORDER BY CAST(numero_esterno AS UNSIGNED)"
|
// nel caso di maschere del tipo 001-2017 è necessario l'ordinamento numerico "ORDER BY CAST(numero_esterno AS UNSIGNED)"
|
||||||
$pos1 = strpos( $numero_esterno, $m1[0] );
|
$pos1 = strpos( $maschera, $m1[0] );
|
||||||
if( $pos1==0 ):
|
if( $pos1==0 ):
|
||||||
$query .= " ORDER BY CAST(numero_esterno AS UNSIGNED) DESC LIMIT 0,1";
|
$query .= " ORDER BY CAST(numero_esterno AS UNSIGNED) DESC LIMIT 0,1";
|
||||||
else:
|
else:
|
||||||
$query .= " ORDER BY numero_esterno DESC LIMIT 0,1";
|
$query .= " ORDER BY numero_esterno DESC LIMIT 0,1";
|
||||||
endif;
|
endif;
|
||||||
|
|
||||||
|
$rs_ultima_fattura = $dbo->fetchArray( $query );
|
||||||
|
|
||||||
$ultima_fattura = $dbo->fetchArray( $query );
|
|
||||||
|
|
||||||
$numero_esterno = get_next_code( $ultima_fattura[0]['numero_esterno'], 1, $numero_esterno );
|
|
||||||
|
|
||||||
|
$numero_esterno = get_next_code( $rs_ultima_fattura[0]['numero_esterno'], 1, $maschera );
|
||||||
|
|
||||||
|
echo $numero_esterno;
|
||||||
|
exit();
|
||||||
|
|
||||||
// sostituisco anno nella maschera
|
// sostituisco anno nella maschera
|
||||||
$anno_ = substr( $anno, -strlen($m2[0]) ); // nel caso ci fosse YY
|
$anno = substr( $anno, -strlen($m2[0]) ); // nel caso ci fosse YY
|
||||||
$numero_esterno = str_replace( $m2[0], $anno_, $numero_esterno );
|
$numero_esterno = str_replace( $m2[0], $anno, $numero_esterno );
|
||||||
|
|
||||||
|
|
||||||
return $numero_esterno;
|
return $numero_esterno;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user