Differenze tra le versioni di "Ricerche Personalizzate della Finanziaria su Web Service"
imported>MFontana (Nuova pagina: [http://sicrawebhelp.saga.it/index.php/Contabilit%C3%A0_Finanziaria#Gestione ''Indietro''] Le ricerche personalizzate della Finanziaria possono essere effettuate anche da un programma...) |
imported>MFontana (Nuova pagina: [http://sicrawebhelp.saga.it/index.php/Contabilit%C3%A0_Finanziaria#Gestione ''Indietro''] Le ricerche personalizzate della Finanziaria possono essere effettuate anche da un programma...) |
||
Riga 206: | Riga 206: | ||
*0=Errore (se c'e' stato un errore) | *0=Errore (se c'e' stato un errore) | ||
*1=Ok (se il risultato e' corretto e completo) | *1=Ok (se il risultato e' corretto e completo) | ||
*2=Risultato parziale (se il risultato e' corretto ma nel file corrente c' | *2=Risultato parziale (se il risultato e' corretto ma nel file corrente c'è solo una parte del risultato stesso) | ||
Il tag 'descrizaione' (facoltativo) in caso di errore contiene la descrizione dell'errore stesso. | Il tag 'descrizaione' (facoltativo) in caso di errore contiene la descrizione dell'errore stesso. |
Versione delle 12:17, 6 ott 2011
Le ricerche personalizzate della Finanziaria possono essere effettuate anche da un programma esterno a Sicr@web utilizzando un web service. La ricerca avviene effettuando una chiamata inviando un file .xml a Sicr@web che rispondera' con un altro file .xml.
La chiamata va fatta all'indirizzo http://[server]:[porta]/client/services/CmnWSSGateway (per esempio http://192.168.10.10:8080/client/services/CmnWSSGateway) e il nome del web service da invocare e' 'fin.custom.research'.
Xml di richiesta
File xml di richiesta della ricerca personalizzata:
Query e tipo
Il tag 'query' (obbligatorio) e' quello principale, contiene tutte le informazioni necessarie per l'esecuzione della ricerca. E' possibile, nell'attributo 'description', impostare una descrizione per la ricerca corrente. Il tag 'tipo' (obbligatorio) contiene il tipo di ricerca che si vuole effettuare (attualmente quelle disponibili sono: DOCUMENTI, BILANCIO, IMPEGNI e MANDATI).
Tipo-risultato
Il tag 'tipo-risultato' (obbligatorio) contiene gli elementi per impostare il tipo di file che si desidera venga ritornato da Sicr@web e la formattazione dei dati in esso contenuti.
Il tag 'nome' (obbligatorio) serve per indicare il tipo di file da creare. I possibili valoris sono:
- CSV = file in formato csv
- CSVZIPB64 = file in formato csv zippato e criptato in base 64
Il tag 'tipo' (obbligatorio) serve per indicare il tipo di risposta che Sicr@web deve dare al chiamante. I possibili valori sono:
- IMMEDIATE_RESPONSE = il risultato della chiamata viene resituito con la stessa chiamata in corso
- DELAYED_RESPONSE = il risultato della chiamata contiene una chiave alfanumerica da usare per fare altre chiamate per avere il risultato effettivo della chiamata in corso
Il tag 'durata-archiviazione' (facoltativo) serve per indicare per quanto tempo, espresso in minuti, il sistema deve archiviare il risultato della richiesta. Al termine di questo periodo il risultato verra' eliminato. Se non viene specificato il risultato verra' archiviato per un'ora.
Il tag 'separatore-righe' (facoltativo) serve per indicare il separatore di righe che deve esere usato nell'esporatazione.
Il tag 'separatore-colonne' (facoltativo) serve per indicare il separatore di colonne che deve esere usato nell'esporatazione.
Il tag 'testata' (facoltativo) serve per indacare se deve essere esportata anche l'intestazione delle colonne, se questo tag non viene inserito Sicr@web esporta senza intestazione.
Il tag 'formattazione-virgola-mobile' (facoltativo) serve per indicare il formato dei numeri con decimali. I possibili valori sono:
- CURRENCY = 9.999.999,90
- FIXED_2 = 9999999,90
- INTERN = 9999999,9
- NONE = 9999999.9
Il tag 'formattazione-data' (facoltativo) serve per indicare il formato delle date. I possibili valori sono:
- GG_MM_AAAA = gg/mm/aaa
- GG_MM_AAAA_HH_MM_SS = gg/mm/aaa hh:MM:ss
- NONE = Nessuna formattazione
Il tag 'formattazione-spunte' (facoltativo) serve per indicare il formato delle spunte. I possibili valori sono:
- 1_0 = 1/0
- NONE = Nessuna formattazione
- ON_OFF = Acceso/Spento
- TRUE_FALSE = Vero/Falso
- X_EMPTY = X/[vuoto]
- YES_NO = Si/No
Globali
Il tag 'globali' (obbligatorio) serve per indicare i criteri principali su cui verra' effettuata la riceca (per esempio entrate o uscite oppure la data valuta).
Il tag 'eu' (obbligatorio) serve per indicare se la ricerca deve essere eseguita sulle entrate o sulle uscite. I possibili valori sono:
- E=Entrata
- U=Uscita
Il tag 'anno' (facoltativo) serve per indicare l'anno dell'esercizio su cui si vuole effettuare la ricerca,
Il tag 'data-valuta' (facoltativo) serve per indicare la data valuta.
Il tag 'flag-mandati-reversali' (facoltativo) serve per indicare se la ricerca va fatta su mandati (valore 1) o reversali (valore 0).
Il tag 'flag-buoni-ricevute' (facoltativo) serve per indicare se la ricerca va fatta su buoni (valore 1) o ricevute (valore 0).
Il tag 'flag-liquidazioni-non-pagate' (facoltativo) serve per indicare se la ricerca sui mandati deve includere le liquidazioni non pagate (valore 1) o no (valore 0)
Campi
Il tag 'campi' (obbligatorio) serve per indicare le colonne che dovranno essere esportare. Deve contenere almeno un tag 'campo'.
Il tag 'nome' (obbligatorio) contiene il nome codificato della colonna da esportare.
Il tag 'posizione-ordinamento' (facoltativo) serve per indicare la posicione della colonna nell'importanza degli ordinamenti (esempio: data documento (1), cognome (2), nome (3)).
Il tag 'crescente' (facoltativo) serve per indicare se l'ordinamento sulla colonna e' crescente (valore 1) o decrescente (valore 0).
Criteri
Il tag 'criteri' (facoltativo) contiene i criteri che si vogliono utilizzare per selezionare i dati da esportare (criteri di ricerca). Deve contenere almeno un tag 'criterio'.
Il tag 'nome' (obbligatorio) contiene il nome codificato della colonna su cui si vuole aggiungere il criterio.
Il tag 'operatore' (obbligatorio) contiene l'operatore di confronto con cui si vuole usare il criterio di selezione. I possibili valori sono:
- =
- <>
- >
- >=
- <
- <=
- in
- not in
- is null
- is not null
- between
- like
Il tag 'parametro' (facoltativo) contiene il valore di un parametro del criterio. Non c'e' un numero massimo di parametri da poter impostare, quindi i tag 'parametro' non hanno un numero massimo.
Criteri-hql
Il tag 'criteri-hql' (facoltativo) contiene ulteriori criteri criteri di ricerca. Deve contenere almeno un tag 'criterio-hql'.
Il tag 'nome' (facoltativo) serve per indicare il nome del criterio.
Il tag 'descrizione' (facoltativo) serve per indicare la descrizione del criterio.
Il tag 'hql' (obbligatorio) contiene la parte di query che corrisponde al criterio.
Il tag 'parametro' (facoltativo) contiene il valore di un parametro del criterio. Non c'e' un numero massimo di parametri da poter impostare, quindi i tag 'parametro' non hanno un numero massimo.
Si consiglia l'utilizzo dei criteri-hql a soli utenti esperti.
Un esempio
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<query> <tipo>MANDATI</tipo> <tipo-risultato> <nome>CSV</nome> <tipo>IMMEDIATE_RESPONSE</tipo> <testata>1</testata> </tipo-risultato> <globali> <eu>U</eu> <anno>2009</anno> <data-valuta>2009-12-31</data-valuta> <flag-mandati-reversali>0</flag-mandati-reversali> <flag-buoni-ricevute>1</flag-buoni-ricevute> <flag-liquidazioni-non-pagate>1</flag-liquidazioni-non-pagate> </globali> <campi> <campo> <nome>chkMandAnno</nome> </campo> <campo> <nome>chkMandCod</nome> <posizione-ordinamento>2</posizione-ordinamento> <crescente>0</crescente> </campo> <campo> <nome>chkMandData</nome> <posizione-ordinamento>1</posizione-ordinamento> <crescente>0</crescente> </campo> <campo> <nome>chkMandDes</nome> </campo> </campi> <criteri> <criterio> <nome>chkMandDes</nome> <operatore>like</operatore> <parametro>RIMBORSO%%</parametro> </criterio> </criteri> <criteri-hql> <criterio-hql> <hql> <queryDescriptor des="Data dal 01/10/2009 al 31/12/2009" name="data_?_action106" not-portable="false" where="{bei}.mandatoNome.mandato.data>=? and {bei}.mandatoNome.mandato.data<=?"> <entity alias="bei" class="it.saga.pubblici.finanziaria.bilancio.FinDACBilancioEventiImporti" entity-class="it.saga.library.expressions.query.ExpEntity"/> <param type="java.util.Date" value="01/10/2009"/> <param type="java.util.Date" value="31/12/2009"/> </queryDescriptor> </hql> </criterio-hql> </criteri-hql> </query>
Xml di risposta
Il file di risposta e' composto da un tag principale 'query' e da altri 3 sotto tag 'stato', 'descrizione' e 'righe'.
Il tag 'stato' (obbligatorio) contiente lo stato della risposta. I possibili valori sono:
- -1=Operazione non consentita (se l'utente non possiede l'autorizzazzione necessaria per effettuare la ricerca)
- 0=Errore (se c'e' stato un errore)
- 1=Ok (se il risultato e' corretto e completo)
- 2=Risultato parziale (se il risultato e' corretto ma nel file corrente c'è solo una parte del risultato stesso)
Il tag 'descrizaione' (facoltativo) in caso di errore contiene la descrizione dell'errore stesso.
Il tag 'righe' (facoltativo) contiene il file con il risultato nel formato indicato nella richiesta oppure la chiave per le successive chiamate in caso di richiesta di tipo 'DELAYED_RESPONSE'.
Esempio 1 (risultato ok)
<?xml version="1.0" encoding="ISO-8859-1"?>
<query> <stato>1</stato> <righe>Anno,Numero,Data,Descrizione 2009,172,2009-10-28,RIMBORSO SPESE PER ACQUISTO DVD BIBLIOTECA 2009,170,2009-10-26,RIMBORSO SPESE TRENO PER TRASFERTA A MILANO GEOM. POSIO ANTONIO 2009,169,2009-10-24,RIMBORSO SPESE PARCHEGGIO PER TRASFERTA A COMO 2009,167,2009-10-17,RIMBORSO SPESE PER NOTIFICA ATTI 2009,166,2009-10-16,RIMBORSO SPESE NOTIFICA ATTI 2009,164,2009-10-13,RIMBORSO SPESE TRASFERTA A TORINO PARTECIPAZIONE XXVI ASSEMBLEA ANNUALE ANCI SINDACO 2009,163,2009-10-12,RIMBORSO PSESE PER ACQUISTO CASSETTE REGISTRAZIONE CONSIGLIO 2009,162,2009-10-10,RIMBORSO SPESE TRASFERTA A COMO ASSISTENTE SOCIALE 2009,159,2009-10-05,RIMBORSO SPESE PER PRENOTAZIONE REVISIONE SCUOLABUS IVECO 2009,158,2009-10-03,RIMBORSO SPESE ACQUISTO PILA PER SETTORE POLIZIA LOCALE 2009,157,2009-10-03,RIMBORSO SPESE PER TRASFERTA A COMO DIPENDENTE POLIZIA LOCALE </righe> </query>
Esempio 2 (risultato con errore)
<?xml version="1.0" encoding="ISO-8859-1"?>
<query> <stato>0</stato> <descrizione>Errore:Il campo 'chkMandCo' non e' riconosciuto per la ricerca 'MANDATI'!</descrizione> </query>