Custom Filter o Calculated fields?

alessapan

Member
DaDaBIK version 10.3-Manarola enterprise, installed on 27/08/2020 ), the latest version of DaDaBIK is 10.3-Manarola released on 26/08/2020

System info
PHP Version: 7.2.33
mysql version: 5.7.29-32-log
Web server: Apache
Client: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36

Buongiorno,

se possibile vorrei capire preventivamente se è realizzabile quanto sto per descrivere:
in una tabella contenente una lista di richieste identificate da un campo "owner" (campo nascosto allo user) corrispondente al Codice Fiscale dell'utente, vorrei completare automaticamente i campi Cognome e Nome prelevandoli da un'altra tabella dove è presente la lista degli utenti (il CF è definito univoco) con i campi codice fiscale, cognome e nome.

Posso usare nel "calculated field" una opportuna istruzione SQL? Devo invece usare un custom filter?

Grazie


Alessandro
 

alessapan

Member
Ciao

sono arrivato alla soluzione da solo e vi incollo qui quello che ritengo corretto.
Ho modificato la mia view collegando tramite una JOIN la tabella contenente gli altri campi (vedi codice sotto). In comune le due tabelle hanno i campi codice_fiscale e owner, chiave per relazione uno a molti (da tabella dirigenti a tabella dirigenti_rimborsi).
Ritengo che il corretto uso degli indici e dei campi permetta a dadabik di fare cose eccezionali come ad esempio (con gli opportuni permessi) "EDITARE" i campi dalla mia VIEW aggiornando correttamente i campi nella TABELLA. Ultimo vantaggio, anche nella VIEW funziona perfettamente la restrizione del permesso "MY" nella visualizzazione solo dei propri record per i singoli utenti.

Ecco il codice utilizzato: dirigenti e dirigenti_rimborsi sono le due tabelle distinte. La possibilità di vedere oltre al campo owner (nel mio caso il codice fescale) anche nome e cognome, facilita l'autorizzatore ad individuare meglio le pratiche.

CREATE VIEW missioni_inserite AS
SELECT
`dirigenti_rimborsi`.`id` AS `id`,
`dirigenti_rimborsi`.`owner` AS `owner`,
`dirigenti`.`cognome` AS `cognome`,
`dirigenti`.`nome` AS `nome`,
`dirigenti_rimborsi`.`Mese_contabilita` AS `Mese_contabilita`,
`dirigenti_rimborsi`.`Data_missione` AS `Data_missione`,
`dirigenti_rimborsi`.`Localita` AS `Localita`,
`dirigenti_rimborsi`.`Causale` AS `causale`,
`dirigenti_rimborsi`.`Motivo` AS `motivo`,
`dirigenti_rimborsi`.`Tragitto` AS `tragitto`,
`dirigenti_rimborsi`.`nkm` AS `nkm`,
`dirigenti_rimborsi`.`tot_rimborso` AS `Tot_rimborso`,
`dirigenti_rimborsi`.`status_rimborso` AS `status_rimborso`,
`dirigenti_rimborsi`.`ore_a_cedola` AS `ore_a_cedola`,
`dirigenti_rimborsi`.`status_cedole` AS `status_cedole`
FROM
`dirigenti_rimborsi`
JOIN `dirigenti` WHERE
(
(
`dirigenti_rimborsi`.`status_rimborso` = 1
) AND(
`dirigenti`.`codice_fiscale` = `dirigenti_rimborsi`.`owner`
)
)


Alessandro
 
Top