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