diff --git a/CHANGELOG.md b/CHANGELOG.md index 398357014..3380af962 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,7 +40,8 @@ Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://k ### Aggiunto (Added) - Aggiunta nel calendario della Dashboard visualizzazione dei preventivi pianificabili in corrispondenza alla data di accettazione e conclusione. - Aggiunta impostazione per la visualizzazione delle ore nella stampa intervento (Decimale, Sessantesimi). - + - Aggiunta possibilità di selezionare la sede di partenza della merce in fase di aggiunta articolo da un'attività + ### Fixed - diff --git a/include/common/articolo.php b/include/common/articolo.php index 866306d48..7e501665a 100755 --- a/include/common/articolo.php +++ b/include/common/articolo.php @@ -22,6 +22,15 @@ $qta_minima = 0; // Articolo if (empty($result['idarticolo'])) { + // Sede partenza + if ($module['name'] == 'Interventi') { + echo ' +
+
+ {[ "type": "select", "label": "'.tr('Partenza merce').'", "required": "1", "id":"idsede", "name": "idsede_partenza", "ajax-source": "sedi_azienda", "value": "'.($result['idsede_partenza'] ?: $options['idsede_partenza']).'" ]} +
+
'; + } echo '
@@ -179,6 +188,12 @@ $("#idarticolo").on("change", function() { }); +$("#idsede").on("change", function() { + updateSelectOption("idsede_partenza", $(this).val()); + session_set("superselect,idsede_partenza", $(this).val(), 0); + $("#idarticolo").selectReset(); +}); + $(document).on("change", "input[name^=qta], input[name^=prezzo_unitario], input[name^=sconto]", function() { verificaPrezzoArticolo(); verificaScontoArticolo(); diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index 7fa3b807d..1009e229d 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -111,7 +111,7 @@ switch (post('op')) { } } } - aggiorna_sedi_movimenti('interventi', $id_record); + flash()->info(tr('Attività modificata correttamente!')); break; @@ -131,8 +131,6 @@ switch (post('op')) { $intervento = Intervento::build($anagrafica, $tipo, $stato, $data_richiesta); $id_record = $intervento->id; - aggiorna_sedi_movimenti('interventi', $id_record); - flash()->info(tr('Aggiunto nuovo intervento!')); // Informazioni di base @@ -219,7 +217,6 @@ switch (post('op')) { flash()->clearMessage('warning'); } - aggiorna_sedi_movimenti('interventi', $id_record); break; // Eliminazione intervento @@ -267,8 +264,6 @@ switch (post('op')) { } } - aggiorna_sedi_movimenti('interventi', $id_record); - break; case 'manage_barcode': @@ -313,7 +308,8 @@ switch (post('op')) { } $qta = post('qta'); - + + $articolo->idsede_partenza = post('idsede_partenza'); $articolo->descrizione = post('descrizione'); $articolo->um = post('um') ?: null; @@ -394,7 +390,6 @@ switch (post('op')) { $serials = (array) post('serial'); $articolo->serials = $serials; - aggiorna_sedi_movimenti('interventi', $id_record); break; // Aggiunta di un documento in ordine diff --git a/modules/interventi/row-add.php b/modules/interventi/row-add.php index 963b7b7d3..4bdc0b18b 100755 --- a/modules/interventi/row-add.php +++ b/modules/interventi/row-add.php @@ -33,6 +33,7 @@ $options = [ 'totale_imponibile_documento' => $documento->totale_imponibile, 'totale_documento' => $documento->totale, 'nascondi_prezzi' => !$show_prezzi, + 'idsede_partenza' => $documento->idsede_partenza, 'select-options' => [ 'articoli' => [ 'idanagrafica' => $documento->idanagrafica, diff --git a/src/Common/Components/Article.php b/src/Common/Components/Article.php index d1efbee72..8a534af8e 100755 --- a/src/Common/Components/Article.php +++ b/src/Common/Components/Article.php @@ -292,7 +292,11 @@ abstract class Article extends Accounting $qta_movimento = $documento->direzione == 'uscita' ? $qta : -$qta; $movimento = Movimento::descrizioneMovimento($qta_movimento, $documento->direzione).' - '.$documento->getReference(); - $id_sede = $documento->direzione == 'uscita' ? $documento->idsede_destinazione : $documento->idsede_partenza; + if ($documento instanceof \Modules\Interventi\Intervento) { + $id_sede = $this->idsede_partenza; + } else{ + $id_sede = $documento->direzione == 'uscita' ? $documento->idsede_destinazione : $documento->idsede_partenza; + } // Fix per valori di sede a NULL $id_sede = $id_sede ?: 0; diff --git a/update/2_4_24.sql b/update/2_4_24.sql index 79511489a..10dea31d4 100644 --- a/update/2_4_24.sql +++ b/update/2_4_24.sql @@ -28,3 +28,6 @@ INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione` -- Aggiunta plugin allegati dell'anagrafica INSERT INTO `zz_plugins` (`name`, `title`, `idmodule_from`, `idmodule_to`, `position`, `script`, `enabled`, `default`, `order`, `compatibility`, `version`, `options2`, `options`, `directory`, `help`) VALUES ('Allegati', 'Allegati', (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name`='Anagrafiche'), (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name`='Anagrafiche'), 'tab', 'allegati.php', '1', '0', '0', '', '', NULL, NULL, '', ''); + +-- Aggiunta idsede nelle righe dell'intervento +ALTER TABLE `in_righe_interventi` ADD `idsede_partenza` INT NOT NULL AFTER `id_dettaglio_fornitore`; \ No newline at end of file