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 '
+
@@ -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