diff --git a/include/common/articolo.php b/include/common/articolo.php index 1bc0798e1..873e5d146 100644 --- a/include/common/articolo.php +++ b/include/common/articolo.php @@ -2,6 +2,11 @@ $result['idarticolo'] = isset($result['idarticolo']) ? $result['idarticolo'] : null; +unset($_SESSION['superselect']['dir']); +unset($_SESSION['superselect']['idanagrafica']); +unset($_SESSION['superselect']['idarticolo']); + + // Articolo if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) { echo ' @@ -57,8 +62,12 @@ if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) { $("#idarticolo").on("change", function(){ // Autoimpostazione dei valori relativi if ($(this).val()) { + session_set("superselect,idarticolo", $(this).val(), 0); - $data = $(this).selectData(); + session_set("superselect,idanagrafica", "'.$options['idanagrafica'].'", 0); + session_set("superselect,dir", "'.$options['dir'].'", 0); + + $data = $(this).selectData(); var id_conto = $data.idconto_'.($options['dir'] == 'entrata' ? 'vendita' : 'acquisto').'; diff --git a/modules/articoli/ajax/select.php b/modules/articoli/ajax/select.php index 651555828..43a64a760 100644 --- a/modules/articoli/ajax/select.php +++ b/modules/articoli/ajax/select.php @@ -6,9 +6,23 @@ switch ($resource) { case 'articoli': $query = 'SELECT mg_articoli.*, (SELECT CONCAT(co_pianodeiconti2.numero, ".", co_pianodeiconti3.numero, " ", co_pianodeiconti3.descrizione) FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti3.id = idconto_vendita) AS idconto_vendita_title, (SELECT CONCAT(co_pianodeiconti2.numero, ".", co_pianodeiconti3.numero, " ", co_pianodeiconti3.descrizione) FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti3.id = idconto_acquisto) AS idconto_acquisto_title, co_iva.descrizione AS iva_vendita FROM mg_articoli LEFT OUTER JOIN co_iva ON mg_articoli.idiva_vendita=co_iva.id |where| ORDER BY mg_articoli.id_categoria ASC, mg_articoli.id_sottocategoria ASC'; - $idiva_predefinita = setting('Iva predefinita'); - $rs = $dbo->fetchArray('SELECT descrizione FROM co_iva WHERE id='.prepare($idiva_predefinita)); - $iva_predefinita = $rs[0]['descrizione']; + + //per le vendite leggo iva predefinita da anagrafica, se settata + if (!empty($superselect['dir']) && $superselect['dir'] == 'entrata') { + if (!empty($superselect['idanagrafica'])) { + $idiva_predefinita = $dbo->fetchArray("SELECT idiva_vendite FROM an_anagrafiche WHERE idanagrafica = '".$superselect['idanagrafica']."' ")[0]['idiva_vendite']; + $iva_predefinita = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id = '".$superselect['idiva_vendita']."' ")[0]['descrizione']; + } + } + + //in alternativa, per tutti gli altri casi, prendo quella da impostazioni + if (empty($idiva_predefinita)){ + $idiva_predefinita = get_var('Iva predefinita'); + $rs = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id='".$idiva_predefinita."'"); + $iva_predefinita = $rs[0]['descrizione']; + } + + foreach ($elements as $element) { $filter[] = 'mg_articoli.id='.prepare($element);