Il caso: una richiesta di accesso in uno studio di consulenza
Esempio Caso illustrativo: l'azienda e i suoi dati sono inventati per spiegare il flusso.
Asesoría Ribera, uno studio di consulenza inventato per questo esempio, riceve la richiesta di una persona che vuole sapere quali suoi dati risultano nella fatturazione di un cliente. La responsabile della privacy dello studio lavora in Odoo con VeriFactu España (AEAT RRSIF Compliance) e deve estrarre queste informazioni dal modulo.
Il pulsante è presente nei rami 17, 18, 19 e 20 del modulo, pubblicato su Odoo Apps per queste quattro versioni. Quanto segue descrive il codice di Odoo 20.0.

Come ci arriva lei al pulsante
La scheda si apre da Verifactu / SIF › Privacy / GDPR › DSAR Wizard. Ogni tratto del menu richiede dei permessi e, se non ne hai uno, quel tratto non lo vedi: Privacy / GDPR lo vedono Privacy Officer e SIF Manager; Verifactu / SIF lo vedono anche Accountant, Asesoría Operator e Auditor (read-only).
Una volta nella scheda, il pulsante non dipende da nessuna condizione della vista: si vede in tutte e quattro le versioni. I passaggi di lei sono questi:
- Apri il menu ed entra nella scheda del
DSAR Wizard. I campi della richiesta si trovano nel gruppoRequest Details. - Guarda il campo
Company. Per impostazione predefinita riporta l'azienda attiva, e la ricerca viene fatta solo all'interno dell'azienda indicata lì. - Scrivi in
Data Subject NIF / Nameil NIF della persona o il suo nome. - Se lo studio usa un numero di pratica, lo annota in
Request Reference. - Premi
Generate Access Export (art.15).
L'etichetta del pulsante cambia con la lingua di Odoo. Con Odoo in spagnolo è quella indicata sopra; con Odoo in catalano, Generar Exportació d'Accés (art.15).

Cosa fa il pulsante, in ordine
Quando lo premi, il codice esegue queste operazioni, una dopo l'altra:
- Prende il testo scritto in
Data Subject NIF / Name, toglie gli spazi alle estremità e lo usa per cercare nell'azienda scelta. - Costruisce il risultato, che contiene il testo che hai scritto, il nome dell'azienda e due elenchi: i registri e gli annullamenti trovati.
- Salva il risultato come file JSON nella procedura guidata stessa, con il nome
dsar_access_export_seguito dai primi venti caratteri di ciò che hai scritto e dall'estensione.json. - Tenta di generare anche un PDF (più avanti, cosa fa il codice se non riesce).
- Registra un evento (sezione successiva).
- Riapre la stessa scheda della procedura guidata in una finestra a comparsa, con lo stesso record.
Il codice descrive questa estrazione come una lettura dei campi dei dati personali senza alterare alcun registro della catena.
Cosa cerca e cosa esporta
| Blocco | Dove cerca | Quali dati estrae |
|---|---|---|
| Registri | Identificativo o nome della controparte | Numero di serie, data di emissione, nome, tipo di identificativo, identificativo e totale |
| Annullamenti | Solo l'identificativo della controparte | Numero di serie, data di emissione e identificativo |
La corrispondenza è «contiene», senza distinzione tra maiuscole e minuscole. Se Asesoría Ribera scrive solo una parte di un nome, entrano tutti i registri di quell'azienda il cui nome o identificativo contenga quella parte. E se scrive un nome, gli annullamenti non vengono cercati per nome, ma solo per identificativo.
Cosa viene registrato
Dopo aver generato il file, il pulsante crea un evento nel registro eventi del modulo, per l'azienda scelta. L'evento riporta data e ora, l'utente che ha premuto il pulsante, una descrizione con il NIF o il nome scritto, il NIF o nome e il riferimento della richiesta come contesto (il riferimento resta vuoto se non l'hai compilato), un'impronta calcolata su questi dati e un numero di sequenza proprio dell'azienda.
Il riferimento della richiesta passa all'evento; il file JSON dell'esportazione non lo include. E l'ordine conta: se la generazione del file si interrompe con un errore, il codice non arriva a registrare l'evento.
Altre azioni che lasciano eventi
L'evento del pulsante non è l'unico registrato in questo modo. Quando si salva la scheda di un'azienda, se è stato cambiato l'ambiente dell'AEAT, il responsabile del SIF o l'ambito di VeriFactu, viene registrato anch'esso un evento. Inoltre, il pulsante standard per annullare una fattura, che il modulo estende, e l'azione pianificata Verifactu: Clock Drift Check, che viene eseguita ogni ora ed è attiva all'installazione, arrivano allo stesso registro. Per ciò che il modulo aggiunge alle fatture, consulta questo articolo.
Il PDF che il codice tenta di salvare
Oltre al JSON, il codice tenta di generare un PDF con la stessa procedura guidata e, se ci riesce, lo salva con il nome dsar_access_export_ più i primi venti caratteri di ciò che è stato scritto e l'estensione .pdf. Se la generazione fallisce, il codice cattura l'errore, annota un avviso nel registro del server e prosegue con il JSON e l'evento.
Cosa imparare dal caso
- Conferma il campo
Companyprima di premere: la ricerca si limita a quell'azienda. - Scrivi il NIF completo quando ce l'hai; un nome parziale può portare più registri del previsto, e gli annullamenti escono solo per identificativo.
- Annota il
Request Referencese vuoi che l'evento lo riporti: il JSON esportato non lo include.
Come ti aiuta FlexigoTech
FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura. Se vuoi rivedere chi deve avere i permessi del menu privacy, o adattare il modulo al vostro processo, scrivici.
Continua a leggere
Verificato nel codice del modulo (versione 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigo_spain_verifactu 20.0 (1fdc980f): wizards/verifactu_dsar_wizard_views.xml
- Codice del modulo: flexigo_spain_verifactu 20.0 (1fdc980f): wizards/verifactu_dsar_wizard.py
- Codice del modulo: flexigo_spain_verifactu 20.0 (1fdc980f): models/res_company.py
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
- flexigotech.com/en/services.html
