Importazione documenti

Il servizio d’Importazione documenti del Server Daemon consente d’importare in automatico nella gestione documentale i file presenti nelle cartelle del file system, di una mailbox di Exchange, oppure di un account IMAP. Un esempio può essere d’utilizzare questa funzione per recepire in automatico all’interno di QualiWare i fax in entrata.

Il servizio d’importazione documenti effettua un monitoraggio periodico di queste cartelle, importando i file contenuti in esse, consentendo di specificare per ogni cartella la categoria di destinazione dei file, la modalità di numerazione ed anche i valori per i vari attributi del documento.

Il campo Importazione ogni […] minuti consente d’impostare l’importazione automatica, indicando la frequenza in minuti. Lasciare il valore 0 (zero) per disabilitare la funzione.
Il pulsante Esecuzione immediata consente d’eseguire subito l’importazione.

QWSD - QualiWare Server Daemon, importazione documenti

A lato dell’elenco delle Importazioni configurate sono disponibili i pulsanti per la loro gestione:

  • Aggiungi ( + ), permette d’inserirne una nuova importazione;
  • Elimina ( x ), permette di cancellare un’importazione selezionata in elenco;
  • Modifica parametri (icona write), permette d’aprire la scheda di Configurazione importazione documenti e modificare un’importazione già esistente;
  • Importa ( < ), permette di caricare un’importazione da un file di testo;
  • Esporta ( > ), permette di scaricare l’importazione selezionata in formato file di testo.

 

Configurazione importazione documenti

QWSD - Configurazione importazione documenti

Attraverso il pulsante Modifica parametri (icona write) si accede alla scheda di Configurazione importazione documenti.

I campi identificativi sono:

  • Nome importazione, inserire il nome attribuito alla specifica importazione, nome che viene riportato nell’elenco Importazioni configurate della maschera principale di QualiWare Server Daemon e nei messaggi di notifica;
  • Abilitato, flag che consente d’attivare l’importazione;
  • Database, menu che consente di definire in quale database si applica l’importazione (scelta da eseguire nelle installazioni multi database).

 

Parametri di importazione

QWSD - Configurazione importazione documenti, Parametri di importazione

Il campo Categoria di destinazione consente d’indicare la categoria documentale di destinazione dei documenti importati. Usare il menù a discesa per aprire l’elenco delle categorie documentali presenti nel sistema per scegliere quello desiderato, diversamente è anche possibile non specificarla. In quest’ultimo caso il codice della categoria di destinazione dev’essere restituito dalla query (vedere nel seguito).

 

Cartelle di file 

QWSD - Configurazione importazione documenti, Cartelle di file

I campi in quest’area sono:

  • Cartella contenente i file, consente di riportare la cartella (comprensiva del percorso) che il sistema monitora per l’importazione dei file. La cartella può contenere file o eventuali indici, all’interno dei quali è contenuto il percorso dei file da importare;
  • Analizza sottocartelle, flag che consente d’includere nell’importazione anche i file presenti nelle sottocartelle della cartella specificata.

 

Cartella su Exchange

QWSD - Configurazione importazione documenti, Cartella su Exchange

I campi in quest’area sono:

  • URL, corrisponde all’indirizzo tramite il quale è possibile accedere ai Web Service di Exchange. Questo campo può essere lasciato vuoto se viene attiva la funzionalità Autodiscover, che consente di determinare la URL a partire dall’indirizzo email: questo avviene ad esempio per mailbox su Office 365.
    Esempio: https://<dominio>/EWS/Exchange.asmx ;
  • Versione, menu dove selezionare la versione del server Exchange;
  • Utente, indica il nome dell’utente che ha accesso alla mailbox da esaminare. Può essere specificato sia sotto forma di indirizzo email (può anche coincidere con l’indirizzo della mailbox) oppure nella forma <DOMINIO>\<UTENTE>;
  • Password, indica la password dell’utente;
  • Indirizzo mailbox, indica l’indirizzo email della mailbox da utilizzare per l’importazione. Può differire dalla mailbox dell’utente inserito nel caso in cui si vogliano importare i messaggi da una casella condivisa;
  • Cartella, corrisponde alla cartella dalla quale importare i messaggi, che dev’essere scelta utilizzando l’apposito comando a destra del campo. In caso di migrazione necessita specificare nuovamente il percorso della cartella sia d’importazione sia di destinazione, se quest’ultima è impostata;
  • Importa allegati, flag da selezionare nel caso debbano essere importati gli allegati anziché l’intero messaggio. Necessita ricordare che questa funzione importa esclusivamente i file allegati ai messaggi, escludendo il contenuto degli stessi messaggi.

Note
Se il servizio di posta è configurato per l’accesso applicativo al tenant di Office365 tramite autenticazione oAUTH2.0, i campi URL, Utente e Password non sono visibili perché non necessari.

Se si utilizza Office365 e non è configurato l’accesso applicativo al tenant di Office365, sull’utente specificato non deve essere attivata l’autenticazione a 2 fattori, altrimenti al momento di scegliere la cartella si verifica l’errore “unauthorized“.

 

Cartella su IMAP

QWSD - Configurazione importazione documenti, Cartella su IMAP

I campi in quest’area sono:

  • Server IMAP, corrisponde all’indirizzo del server IMAP (esempio imap.gmail.com per GMail, outlook.office365.com per Office 365, imaps.pec.aruba.it per Aruba PEC);
  • Porta, indica la porta IMAP, generalmente è la 993;
  • Utente, indica il nome dell’utente che ha accesso all’account, generalmente e riportato l’indirizzo email;
  • Password, indica la password dell’utente;
  • Cartella, corrisponde alla cartella dalla quale importare i messaggi, che dev’essere scelta utilizzando l’apposito comando a destra del campo;
  • Importa allegati, flag da selezionare nel caso debbano essere importati gli allegati anziché l’intero messaggio.

Nota
Per collegarsi ad un account GMail è necessario abilitare l’IMAP nelle impostazioni di GMAIL, nonchè l’accesso alle applicazioni meno sicure in Impostazioni dell’account, sezione Sicurezza seguendo questo link
Se è attiva l’autenticazione a due fattori, è invece necessario creare una “app password”, attraverso questo link, inserendo poi la password generata nella configurazione sopra descritta.

 

Determinare i valori dei campi (metadati)

QWSD - Configurazione importazione documenti, Determinare valori dei campi

 

Usa query

QWSD - Configurazione importazione documenti, Usa query

Per ogni file o messaggio contenuto nella cartella specificata, il programma esegue la query che deve restituire un solo record con i campi della tabella DOCUMENT che si desidera assegnare.

Devono essere restituiti i campi TIPO_CONT, NUMERO e TITOLO, ma possono essere restituiti anche ulteriori campi (esempio CUSTOM1, ecc.). Nel caso in cui non sia stata specificata la categoria di destinazione, la query deve restituire il campo TIPO contenente il codice della categoria nella quale dev’essere archiviato il file.

Il sistema consente di specificare il numero di revisione attraverso il campo IND_REV. In questi casi e nell’eventualità già esista nella categoria un documento con i valori di TIPO_CONT e NUMERO ritornati dalla query, il sistema importa il documento solo se il numero di revisione è immediatamente successivo a quella attualmente pubblicata, inserendo nello storico quest’ultima. Se il documento esiste già in quella versione o la versione corrente non è pubblicata, l’importazione fallisce.

Alla query sono passati in automatico una serie di parametri con le relative informazioni al file o al messaggio oggetto dell’importazione:

  • NOMEFILE, contiene il nome del file senza estensione;
  • PATH, contiene il percorso;
  • ESTENSIONE, contiene l’estensione;
  • DATA, contiene la data di ultima modifica del file.

In caso d’importazione da cartella di Exchange sono disponibili i seguenti parametri aggiuntivi, che contengono informazioni relative al messaggio:

  • SUBJECT, contiene il soggetto del messaggio;
  • DATERECEIVED, contiene la data ricezione;
  • TIMERECEIVED, contiene l’ora ricezione;
  • DATESENT,  contiene la data d’invio;
  • TIMESENT, contiene l’ora d’invio;
  • CATEGORY, contiene la categoria;
  • SENDER, contiene l’indirizzo del mittente;
  • TORECIPIENTS, contiene gli indirizzi dei destinatari;
  • CCRECIPIENTS, contiene gli indirizzi dei destinatari in conoscenza;
  • MESSAGEID, contiene l’ID del messaggio.

I campi ed i pulsanti di quest’area sono:

  • Dividi un documento PDF in corrispondenza delle pagine in cui è presente il seguente testo, consente di suddividere un file PDF in più file da importare separatamente, specificando il testo che identifica la prima pagina di ogni documento. Il sistema individua le pagine dov’è presente il testo specificato, crea più documenti quante sono le pagine, includendo in ciascuno di essi anche eventuali pagine successive che non contengono il testo;
  • Query Designer, pulsante che consente di progettare la query utilizzando un potente strumento visuale e verificandone anche le funzionalità;
  • Verifica struttura Query, pulsante che consente di verificare se la query contiene tutte le informazioni necessarie;
  • Non segnalare errore se la query non restituisce record, flag che consente di non considerare come errori i casi in cui la query non ritorni alcun record, il che può avvenire quando ad esempio la query filtra il file o il messaggio che non sono da importare sulla base dei valori dei passati parametri.

 

Specifica i valori

QWSD - Configurazione importazione documenti, Specifica i valori

Quest’area è disponibile solo per l’importazione da cartelle di file e consente di specificare la modalità d’assegnazione dei campi obbligatori:

  • TIPO_CONT;
  • NUMERO;
  • TITOLO.

 

Riconoscimento barcode

QWSD - Configurazione importazione documenti, riconoscimento barcode

In quest’area il sistema effettua per ogni file un riconoscimento di eventuali barcode presenti, i quali vengono passati ad una query nei parametri BARCODE1 e successivi BARCODEn.

I campi di quest’area sono:

  • Tipo barcode da ricercare Orientamento barcode, se definiti consentono di rendere più rapida l’operazione di riconoscimento, sempre che si conosca a priori il tipo di barcode e l’orientamento;
  • Numero massimo di barcode presenti in ogni documento, consente di specificare quanti barcode devono essere ricercati;
  • Dividi in più documenti in base al barcode, flag che consente d’importare più file PDF che siano stati in precedenza scansionati in un unico file. In quel caso il barcode dev’essere presente solo sulla prima pagina di ciascun documento. Nel campo Prefisso barcode è possibile filtrare il barcode specificandone il prefisso;
  • Test, pulsante che consente d’eseguire il test di riconoscimento su un file specificato. Anche in questo caso vengono passati alla query il nome del file (senza estensione) nel parametro NOMEFILE e il percorso nel parametro FILE;
  • Non segnalare errore se la query non restituisce record, flag che disabilita gli avvisi d’errore quando la query non trasmette registrazioni;
  • Verifica struttura Query, pulsante che consente di verificare se la query contiene tutte le informazioni necessarie.

 

Importare metadati con l’intelligenza artificiale

QWSD - Configurazione importazione documenti, Configura intelligenza artificiale

Il pulsante Configura Intelligenza Artificiale apre la scheda Integra metadati con l’intelligenza artificiale, che consente di configurare l’uso della IA Generativa (GPT) per l’estrazione di metadati dal documento, utilizzando una specifica in linguaggio naturale senza dovere scrivere alcun codice.

QWSD - Configurazione importazione documenti, Configura intelligenza artificiale

Il pulsante Test consente di provare il prompt caricando un documento.

Come spiegato nella pagina Intelligenza Artificiale Generativa (GPT) con QualiWare, può essere specificato un prompt che descriva i dati da estrarre e specifichi il nome del metadato. Questo nome può essere usato nella query preceduto da ” : ” per assegnare il campo del database tramite una query, come l’esempio riportato di seguito:

select 
ltrim(str(year(TRY_PARSE(replace(:datafattura,'.','/') as date USING 'it-IT')))) as TIPO_CONT,
right('00000'+ltrim(str(isnull((select max(convert(int,NUMERO)) from DOCUMENT where TIPO='GPT4' and TIPO_CONT=ltrim(str(year(TRY_PARSE(replace(:datafattura,'.','/') as date USING 'it-IT')))))+1,1))),5) as NUMERO,
:Servizio+' '+:destinatario+' dal '+:datainizio+' al '+:datafine as TITOLO,
:destinatario as CUSTOM3,
:fornitore as CUSTOM5,
:Servizio as CUSTOM4,
TRY_PARSE(replace(:datafattura,'.','/') as date USING 'it-IT') as DATE1,
TRY_PARSE(replace(:datainizio,'.','/') as date USING 'it-IT') as DATE3,
TRY_PARSE(replace(:datafine,'.','/') as date USING 'it-IT') as DATE4,
isnull(TRY_PARSE(:consumi AS float USING 'it-IT'),0) as NUMBER1,
:um as CUSTOM2,
:numerofattura as CUSTOM1,
isnull(TRY_PARSE(:importo AS float USING 'it-IT'),0) as NUMBER2

Esegui OCR è un flag che consente il riconoscimento ottico dei caratteri che consente di convertire diversi tipi di documenti in dati modificabili e ricercabili. Dalla versione 2023.00.17, quando vi sono delle importazioni di file tramite OCR, le immagini vengono convertite in bianco e nero.

Note
Viene utilizzata la funzione TRY_PARSE per trasformare data e numero nei rispettivi valori col tipo di campo corretto.

I dati restituiti dall’Intelligenza Artificiale sono sempre di tipo stringa, di conseguenza devono essere convertiti.

Si può inserire nel prompt un ulteriore campo per determinare la lingua del documento ed adattare di conseguenza il parametro della cultura.

 

Importare metadati da template

QWSD - Configurazione importazione documenti, Configura uso template per i metadati

Se la categoria documentale selezionata nel campo Categoria di destinazione utilizza i template per individuare i metadati nel documento (vedi Importazione documenti PDF con estrazione automatica dei campi), il sistema consente di applicarli durante l’importazione automatica. In questo caso, il sistema mostra nella scheda il pulsante Configura uso template per i metadati, cliccarlo per aprire la scheda Configura importazione metadati tramite template.

QWSD - Configurazione importazione documenti, Configura importazione metadati tramite template

La scheda riporta l’elenco dei metadati ricercati dai template definiti per la specifica categoria documentale. Selezionare il flag Utilizza i template disponibili per l’importazione dei metadati, che consente al sistema d’attivare il template del documento durante l’importazione e ricavare i metadati tramite le aree mappate nel documento. Ogni area è contraddistinta dal nome del metadato che corrisponde al parametro della query, all’interno del quale viene inserito il corrispondente valore.

Nota
Il sistema consente di configurare sia questa modalità di estrazione dati sia quella che utilizza l’intelligenza artificiale, che viene applicata se non è stato individuato alcun template. In questo caso, è indispensabile che i nomi dei campi configurati nella scheda di configurazione dell’intelligenza artificiale siano esattamente gli stessi utilizzati nei template.

 

Altri campi per l’importazione

Nell’area per determinare i valori dei campi sono inoltre disponibili i seguenti campi:

  • Nome redattore, indica il Redattore da inserire nei file importati;
  • Importa dati da file Excel, flag che consente d’importare i dati da un file Excel (si rimanda alla pagina Importazione dati da file Excel) e che attiva il flag Evidenzia celle vuote, funzione che permette di risaltare col color rosso le caselle vuote del file importato;
  • Esegui OCR per file in formato PDF, flag che consente d’attivare il riconoscimento ottico dei caratteri sui file importati, dove i file di tipo immagine vengono trasformati in formato PDF;
  • Pubblica automaticamente, flag che consente di pubblicare in automatico i file importati. Questo flag è visibile solo per le categorie non BPM che abbiano una sola fase, quella di redazione;
  • Campo per corpo email, visibile solo nel caso di importazione da Cartella di Exchange, consente di specificare in quale campo del database viene importato il corpo della email importata;
  • Test importazione, pulsante che permette d’effettuare un test di verifica delle impostazioni apportate.

 

Dopo l’importazione

Successivamente aver definito i parametri e definito i valori da importare, i campi disponibili per completare la configurazione dell’importazione dei documenti sono:

  • Invia report al seguente mail, specifica l’indirizzo al quale inviare il report dell’importazione una volta terminata. Il flag solo in caso di errore specifica se il report dev’essere inviato solo in caso emergano errori d’importazione;
  • File importati, campo disponibile quando viene definita nel Parametro di importazione l’area Cartelle di file, permette di  specificare l’azione da eseguire dopo l’importazione:
    • Nessuna azione;
    • Cancellali;
    • Aggiungi .QWIMP al nome;
  • Sposta email importate nella cartella, consente di specificare in quale cartella della casella di Exchange devono eventualmente essere spostati i messaggi dopo l’importazione. Scegliere la cartella utilizzando il pulsante accanto il campo;
  • Esegui questo script, consente di specificare lo script VB.NET che dev’essere eseguito quando l’importazione di un documento è stata eseguita con successo. Lo script può essere inserito e modificato premendo il pulsante Modifica script, che può prevedere:
    • la variabile oggetto DB, che contiene la connessione al database di QualiWare;
    • le variabili string “Tipo“, “Tipo_Cont“, “Numero” e “Ind_rev“, che contengono i codici identificativi del documento importato.

N.B. lo script viene eseguito prima che il documento venga rinominato o cancellato o la mail venga spostata. Se lo script fallisce, l’azione di rinomina, cancellazione o spostamento non viene eseguita.

Di seguito si riporta un esempio di script che inserisce un record in una tabella:

dim q as qwtable
q=new qwtable()
q.database=DB
q.sql="select * from DOCUMENTI_IMPORTATI"
q.allowallrecords=false
q.active=true

q.beginappend()
q.replace("CODICE",tipo+" "+tipo_cont+" "+numero+" "+ltrim(dbase.str(ind_rev)))
q.replace("DATA",Today())
q.saverecord()
q.active=false