diff --git a/modules/articoli/actions.php b/modules/articoli/actions.php index 38c67cc41..40f18b4aa 100644 --- a/modules/articoli/actions.php +++ b/modules/articoli/actions.php @@ -42,8 +42,8 @@ switch (post('op')) { ' prezzo_acquisto='.prepare($prezzo_acquisto).','. ' idiva_vendita='.prepare($idiva_vendita).','. ' gg_garanzia='.prepare($gg_garanzia).','. - ' volume='.prepare($idiva_vendita).','. - ' peso_lordo='.prepare($gg_garanzia).','. + ' volume='.prepare($volume).','. + ' peso_lordo='.prepare($peso_lordo).','. ' componente_filename='.prepare($componente_filename).','. ' attivo='.prepare($attivo).', '. ' note='.prepare($note). diff --git a/modules/articoli/add.php b/modules/articoli/add.php index 3506a182c..9214e30fc 100644 --- a/modules/articoli/add.php +++ b/modules/articoli/add.php @@ -4,12 +4,11 @@ include_once __DIR__.'/../../core.php'; unset($_SESSION['superselect']['id_categoria']); -?>
+?>
-
{[ "type": "text", "label": "", "name": "codice", "required": 1, "value": "" ]}
@@ -25,7 +24,6 @@ unset($_SESSION['superselect']['id_categoria']);
{[ "type": "select", "label": "", "name": "subcategoria", "value": "", "ajax-source": "sottocategorie", "icon-after": "add|||hide" ]}
-
@@ -37,19 +35,22 @@ unset($_SESSION['superselect']['id_categoria']);
diff --git a/modules/fatture/actions.php b/modules/fatture/actions.php index d9fd4ece0..9e569ea08 100644 --- a/modules/fatture/actions.php +++ b/modules/fatture/actions.php @@ -44,9 +44,27 @@ switch (post('op')) { $query = 'INSERT INTO co_documenti (numero, numero_esterno, idanagrafica, idconto, idtipodocumento, idpagamento, data, idstatodocumento, idsede) 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).') )'; $dbo->query($query); - $id_record = $dbo->lastInsertedID(); + if ($dir == 'entrata') { + $listino = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id = (SELECT idlistino FROM an_anagrafiche WHERE idanagrafica = '.prepare($idanagrafica).')'); + + if (!empty($listino)) { + $dbo->update('co_documenti', [ + 'tipo_sconto_globale' => 'PRC', + 'sconto_globale' => abs($listino[0]['prc_guadagno']), + ], ['id' => $id_record]); + + aggiorna_sconto([ + 'parent' => 'co_documenti', + 'row' => 'co_righe_documenti', + ], [ + 'parent' => 'id', + 'row' => 'iddocumento', + ], $id_record); + } + } + $_SESSION['infos'][] = str_replace('_NUM_', $numero, tr('Aggiunta fattura numero _NUM_!')); break; diff --git a/modules/fatture/modutil.php b/modules/fatture/modutil.php index c241105f7..ea1a921d3 100644 --- a/modules/fatture/modutil.php +++ b/modules/fatture/modutil.php @@ -771,7 +771,7 @@ function aggiorna_sconto($tables, $fields, $id_record, $options = []) // Aggiorno l'eventuale sconto gestendolo con le righe in fattura if (!empty($sconto[0]['sconto_globale'])) { if ($sconto[0]['tipo_sconto_globale'] == 'PRC') { - $subtotale = $dbo->fetchArray('SELECT SUM('.$tables['row'].'.subtotale - '.$tables['row'].'.sconto) AS imponibile FROM '.$tables['row'].' WHERE '.$fields['row'].'='.prepare($id_record))[0]['imponibile']; + $subtotale = $dbo->fetchArray('SELECT SUM(subtotale - sconto) AS imponibile FROM (SELECT '.$tables['row'].'.subtotale, '.$tables['row'].'.sconto FROM '.$tables['row'].' WHERE '.$fields['row'].'='.prepare($id_record).((!isset($options['idgruppo']) || !empty($options['idgruppo'])) ? ' GROUP BY idgruppo' : '').') AS t')[0]['imponibile']; $subtotale = -$subtotale / 100 * $sconto[0]['sconto_globale']; $descrizione = $descrizione.' '.Translator::numberToLocale($sconto[0]['sconto_globale']).'%'; diff --git a/update/2_3.sql b/update/2_3.sql index 430843d25..7723a7b0c 100644 --- a/update/2_3.sql +++ b/update/2_3.sql @@ -887,6 +887,7 @@ UPDATE `zz_plugins` SET `enabled` = 0 WHERE `name` = 'Pianificazione fatturazion -- Fix del tipo di alcune impostazioni UPDATE `zz_settings` SET `tipo` = 'decimal' WHERE `nome` = 'Soglia minima per l\'applicazione della marca da bollo' OR `nome` = 'Importo marca da bollo'; +UPDATE `zz_settings` SET `valore` = '82' WHERE `nome` = 'Tipo di pagamento predefinito' AND `valore` = '20'; -- Fix per le date in varie tabelle ALTER TABLE `co_documenti` CHANGE `data` `data` datetime;