diff --git a/modules/fatture/add.php b/modules/fatture/add.php
index 4281e3c57..ce3816212 100755
--- a/modules/fatture/add.php
+++ b/modules/fatture/add.php
@@ -70,11 +70,11 @@ $idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [
- {[ "type": "select", "label": "", "name": "idtipodocumento", "required": 1, "values": "query=SELECT id, CONCAT(codice_tipo_documento_fe, ' - ', descrizione) AS descrizione FROM co_tipidocumento WHERE enabled = 1 AND dir = '' ORDER BY codice_tipo_documento_fe", "value": "" ]}
+ {[ "type": "select", "label": "", "name": "idtipodocumento", "required": 1, "values": "query=SELECT co_tipidocumento.id, CONCAT(co_tipidocumento.codice_tipo_documento_fe, ' - ', co_tipidocumento.descrizione) AS descrizione, co_tipidocumento.id_segment, zz_segments.name as name_segment FROM co_tipidocumento INNER JOIN zz_segments ON zz_segments.id = co_tipidocumento.id_segment WHERE co_tipidocumento.enabled = 1 AND co_tipidocumento.dir = '' ORDER BY co_tipidocumento.codice_tipo_documento_fe", "value": "" ]}
- {[ "type": "select", "label": "", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": $id_module, 'is_sezionale' => 1]); ?>, "value": "" ]}
+ {[ "type": "select", "label": "", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": $id_module, 'is_sezionale' => 1]); ?>, "value": "selectOne('co_tipidocumento', 'id_segment', ['id' => $idtipodocumento])['id_segment']; ?>" ]}
@@ -232,6 +232,8 @@ $(document).ready(function () {
});
input("idtipodocumento").change(function () {
+ $("#id_segment").selectSetNew($(this).selectData().id_segment, $(this).selectData().name_segment);
+
$.ajax({
url: globals.rootdir + "/actions.php",
type: "POST",
diff --git a/modules/fatture/init.php b/modules/fatture/init.php
index 781a3e459..179e1210b 100755
--- a/modules/fatture/init.php
+++ b/modules/fatture/init.php
@@ -47,7 +47,7 @@ if (isset($id_record)) {
co_statidocumento.descrizione AS `stato`,
co_tipidocumento.descrizione AS `descrizione_tipo`,
co_tipidocumento.id AS `idtipodocumento`,
- (SELECT is_fiscale FROM zz_segments WHERE id = id_segment) AS is_fiscale,
+ (SELECT is_fiscale FROM zz_segments WHERE zz_segments.id = co_documenti.id_segment) AS is_fiscale,
(SELECT descrizione FROM co_ritenutaacconto WHERE id=idritenutaacconto) AS ritenutaacconto_desc,
(SELECT descrizione FROM co_rivalse WHERE id=idrivalsainps) AS rivalsainps_desc,
(SELECT descrizione FROM dt_causalet WHERE id=idcausalet) AS causale_desc
diff --git a/modules/tipi_documento/actions.php b/modules/tipi_documento/actions.php
index 9822df3a3..91cfdebc2 100644
--- a/modules/tipi_documento/actions.php
+++ b/modules/tipi_documento/actions.php
@@ -39,6 +39,7 @@ switch (filter('op')) {
'help' => filter('help'),
'predefined' => $predefined,
'enabled' => post('enabled'),
+ 'id_segment' => post('id_segment')
], ['id' => $id_record]);
flash()->info(tr('Salvataggio completato!'));
diff --git a/modules/tipi_documento/edit.php b/modules/tipi_documento/edit.php
index 61d8b40b6..70c04147c 100644
--- a/modules/tipi_documento/edit.php
+++ b/modules/tipi_documento/edit.php
@@ -29,34 +29,43 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "select", "label": "", "name": "dir", "value": "$dir$", "values": "list=\"\": \"Non specificato\", \"entrata\": \"\", \"uscita\": \"\"", "required": 1 ]}
+ {[ "type": "select", "label": "", "name": "dir", "value": "$dir$", "values": "list=\"\": \"Non specificato\", \"entrata\": \"\", \"uscita\": \"\"", "required": 1]}
{[ "type": "select", "label": "", "name": "codice_tipo_documento_fe", "value": "$codice_tipo_documento_fe$", "values": "query=SELECT codice AS id, CONCAT_WS(' - ', codice, descrizione) AS descrizione FROM fe_tipi_documento", "required": 1 ]}
-
+
{[ "type": "checkbox", "label": "", "name": "predefined", "value": "", "help":"." ]}
-
+
{[ "type": "checkbox", "label": "", "name": "enabled", "disabled": "", "value": "" ]}
-
+
{[ "type": "checkbox", "label": "", "name": "reversed", "value": "", "readonly": 1 ]}
+ fetchOne('SELECT id FROM zz_modules WHERE title = "Fatture di acquisto"')['id'];
+ $id_module_vendite = database()->fetchOne('SELECT id FROM zz_modules WHERE title = "Fatture di vendita"')['id'];
+
+ echo'
+
+
+ {[ "type": "select", "label": "'.tr('Sezionale predefinito').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $record['dir'] == 'entrata' ? $id_module_vendite : $id_module_acquisti, 'is_sezionale' => 1]).', "value": "$id_segment$" ]}
+
+
- {[ "type": "text", "label": "", "name": "help", "value": "$help$" ]}
+ {[ "type": "text", "label": "'.tr('Help').'", "name": "help", "value": "$help$" ]}
-
-
-';
// Collegamenti diretti (numerici)
$numero_documenti = $dbo->fetchNum('SELECT id FROM co_documenti WHERE idtipodocumento='.prepare($id_record));
@@ -73,3 +82,4 @@ if (!empty($numero_documenti)) {
+
diff --git a/plugins/importFE/generate.php b/plugins/importFE/generate.php
index e5b6bd1ee..999e80fae 100755
--- a/plugins/importFE/generate.php
+++ b/plugins/importFE/generate.php
@@ -211,21 +211,23 @@ echo '
';
// Tipo del documento
-$query = "SELECT id, CONCAT (descrizione, IF((codice_tipo_documento_fe IS NULL), '', CONCAT(' (', codice_tipo_documento_fe, ')' ) )) AS descrizione FROM co_tipidocumento WHERE dir = 'uscita'";
+$query = "SELECT id, CONCAT('(', codice_tipo_documento_fe, ') ', descrizione) AS descrizione FROM co_tipidocumento WHERE dir = 'uscita'";
$query_tipo = $query.' AND codice_tipo_documento_fe = '.prepare($dati_generali['TipoDocumento']);
$numero_tipo = $database->fetchNum($query_tipo);
if (!empty($numero_tipo)) {
$query = $query_tipo;
}
+$id_tipodocumento = $database->fetchOne($query_tipo)['id'];
+
echo '
- {[ "type": "select", "label": "'.tr('Tipo fattura').'", "name": "id_tipo", "required": 1, "values": "query='.$query.'", "value": "'.($numero_tipo == 1 ? $database->fetchOne($query_tipo)['id'] : '').'" ]}
+ {[ "type": "select", "label": "'.tr('Tipo fattura').'", "name": "id_tipo", "required": 1, "values": "query='.$query.'", "value": "'.($numero_tipo == 1 ? $id_tipodocumento : '').'" ]}
';
// Sezionale
-$id_segment = $is_autofattura ? setting('Sezionale per autofatture di acquisto') : $_SESSION['module_'.$id_module]['id_segment'];
+$id_segment = $database->table('co_tipidocumento')->where('id', '=', $id_tipodocumento)->value('id_segment');
echo '
diff --git a/update/2_4_49.sql b/update/2_4_49.sql
index d32c9f18c..28f23b036 100644
--- a/update/2_4_49.sql
+++ b/update/2_4_49.sql
@@ -71,4 +71,10 @@ ALTER TABLE `co_righe_preventivi` ADD `is_titolo` BOOLEAN NOT NULL AFTER `confer
ALTER TABLE `co_documenti` CHANGE `numero_esterno` `numero_esterno` VARCHAR(100) NOT NULL;
-INSERT INTO `zz_settings` (`nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES ('Tipo di sconto predefinito', '%', 'list[%,€]', '1', 'Generali', '1', NULL);
\ No newline at end of file
+INSERT INTO `zz_settings` (`nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES ('Tipo di sconto predefinito', '%', 'list[%,€]', '1', 'Generali', '1', NULL);
+
+ALTER TABLE `co_tipidocumento` ADD `id_segment` INT NOT NULL AFTER `predefined`;
+UPDATE `co_tipidocumento` SET `id_segment`= (SELECT `zz_segments`.`id` FROM `zz_segments` INNER JOIN `zz_modules` ON `zz_segments`.`id_module` = `zz_modules`.`id` WHERE `zz_modules`.`name` = 'Fatture di vendita' AND `zz_segments`.`predefined` = 1) WHERE `co_tipidocumento`.`dir` = 'entrata';
+UPDATE `co_tipidocumento` SET `id_segment`= (SELECT `zz_segments`.`id` FROM `zz_segments` INNER JOIN `zz_modules` ON `zz_segments`.`id_module` = `zz_modules`.`id` WHERE `zz_modules`.`name` = 'Fatture di acquisto' AND `zz_segments`.`predefined` = 1) WHERE `co_tipidocumento`.`dir` = 'uscita';
+UPDATE `co_tipidocumento` SET `id_segment`=(SELECT `zz_segments`.`id` FROM `zz_segments` INNER JOIN `zz_modules` ON `zz_segments`.`id_module` = `zz_modules`.`id` WHERE `zz_segments`.`name` = 'Autofatture' AND `zz_modules`.`name` = 'Fatture di vendita') WHERE `co_tipidocumento`.`dir` = 'entrata' AND `co_tipidocumento`.`descrizione` LIKE "%autofattura%";
+UPDATE `co_tipidocumento` SET `id_segment`=(SELECT `zz_segments`.`id` FROM `zz_segments` INNER JOIN `zz_modules` ON `zz_segments`.`id_module` = `zz_modules`.`id` WHERE `zz_segments`.`name` = 'Autofatture' AND `zz_modules`.`name` = 'Fatture di acquisto') WHERE `co_tipidocumento`.`dir` = 'uscita' AND `co_tipidocumento`.`descrizione` LIKE "%autofattura%";
\ No newline at end of file