%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
::HEA RESP(FF) STAT(80) USAG(OM) DTAG(20120120) ORAG(112500) CLAS(B)\\
!!! OBIETTIVO\\
Il servizio consente di gestire file e cartelle.\\
Fornisce le API per realizzare schede con cui esplorare un'alberatura di cartelle e/o file, la gestione (copia, eliminazione, spostamento) o la lettura del contenuto (solo per i file di testo).\\
\\
!!! SCHEDA DI ESEMPIO\\
Un esempio del funzionamento di questo servizio è disponibile alla relativa scheda JA_00_05.\\
Per default viene visualizzato il contenuto di una cartella il cui percorso è -per questo esempio- cablato nello script alla cartella home utente.\\
Nell'esempio sono applicate due diverse possibili gestioni delle cartelle.\\
\\
__La prima sottoscheda__ mostra 3 diverse sezioni.\\
La sezione di sinistra visualizza le sottocartelle contenute in C:\Documents and Settings\nomeutente esplorabile attraverso l'albero; nel momento in cui venga selezionata una qualsiasi sottodirectory in tale albero, il suo contenuto ne appare elencato nelle due sezioni di destra. La sezione in alto mostra le cartelle (sempre sottoforma di albero ancora esplorabile), mentre la sezione in basso mostra un semplice elenco dei files.\\
\\
__La seconda sottoscheda__ mostra un esempio di gestione alternativa.\\
Ritroviamo ancora nella sezione di sinistra l'albero corrispondente alla struttura di C:\Documents and Settings\nomeutente, ma nella sezione di destra il contenuto appare elencato sottoforma di matrice e senza più la divisione tra directory e files.\\
Eseguendo il doppio click su una cartella della matrice, la sezione si ricarica e viene mostrato il contenuto della directory selezionata; eseguendo il doppio click su un file della matrice, tale file viene aperto direttamente.\\
\\
Selezionando invece semplicemente con il tasto destro il singolo file, è possibile trovare le tradizionali operazioni di Apri, Elimina, Copia, Sposta, ecc... nel menu di Popup alla voce "Standard Looc.up".\\
\\
!!! FUNZIONI/METODI\\
\\
Per gli oggetti di tipo J1PATHFILE e J1PATHDIR sono ora possibili le azioni tipiche di\\
* Elenca (file/cartelle/immagini) come albero o matrice\\
* Apri con l'editor definito in windows\\
* Copia\\
** un file di tipo immagine e ricalcola la cache\\
* Sposta (Rinomina)\\
* Elimina\\
** un file\\
** una cartella\\
** un insieme di file definti tramite parametri di filtro\\
** di un file di tipo immagine con successivo ricalcolo della cahce delle immagini\\
* Crea (file o cartelle)\\
* Scrivi il contenuto di un file\\
* Leggi il contenuto di un file e produci un output in forma\\
** di testo\\
** con valori separati\\
* Aggiorna cache immagini\\
* Invia tramite Skype - Possibilità offerta dal servizio JA_00_08 (Vedi documentazione relativa)\\
* Invia tramite MSN   - Possibilità offerta dal servizio JA_00_08 (Vedi documentazione relativa)\\
* Invia tramite mail  - Possibilità offerta dal servizio JA_00_08 (Vedi documentazione relativa)\\
\\
\\
Tali azioni sono accessibili con il tasto destro dalla voce Standard Looc.up del menu di popup sul nome file e richiedono successivamente la selezione del percorso di destinazione.\\
\\
Dalla versione V2R3M071026-01E del 24/11/07 è stata implementata la possibilità di leggere il contenuto di file di testo e di farlo restituire\\
in formato HTML o in formato testo. La prima modalità è utile quando voglio visualizzare il contenuto in una sezione HTM, il secondo quando lo voglio visualizzare in una sezione TXT.\\
\\
\\
I metodi utilizzabili per la funzione - F(EXB/TRE/INT;JA_00_05;[metodo]) - sono:\\
\\
# LIS    Elenca i files e le cartelle contenute nel particolare path espresso nell'oggetto1\\
# LIS.ALL  Elenca i files e le cartelle contenute nel particolare path espresso nell'oggetto1\\
# LIS.FIL Elenca i soli files contenuti nel particolare path espresso nell'oggetto1 come matrice\\
# LIS.TRE Elenca i soli files contenuti nel particolare path espresso nell'oggetto1 come albero\\
# LIS.RIC Elenca file e cartelle contenute nel particolare path espresso nell'oggetto1 permettendo l'esplorazione ricorsiva con la discesa in più livelli.\\
# LIS.IMG Elenca i soli file di tipo immagine (*.png, *.jpg, *.gif) presenti nel particolare path espresso nell'oggetto1. Visualizza una matrice con preview dell'immagine stessa.\\
# LIS.DOC Elenca i documenti di un oggetto. I documenti di un oggetto sono i file presenti nella cartella identificata dalla variabile AZI.OGG, sottocartella T1\P1\K1\\
NOTA: Per migliorare la leggibilità delle schede si sconsiglia l'utilizzo del metodo INT in quanto il tipo di XML restituito viene definito nel servizio.\\
Riportiamo di seguito le regole definite nel servizio per determinare il tipo di XML da restituire:\\
# LIS.RIC restituisce SEMPRE un albero\\
# LIS.*** restituisce una matrice se attributo Det=SI\\
\\
\\
\\
# PRO          Elenca le proprietà per un singolo file (matrice verticale)\\
# OPN             Apre il file o la directory selezionata\\
# CPY  Copia il file selezionato o cartella in una nuova destinazione. Sono gestiti i seguenti casi:\\
## F(INT;JA_00_05;CPY) 1(J1;PATHFILE;File sorgente) 2(J1;PATHFILE;File destinazione)\\
## F(INT;JA_00_05;CPY) 1(J1;PATHDIR;Dir sorgente) 2(J1;PATHDIR;Dir destinazione)\\
## F(INT;JA_00_05;CPY) 1(J1;PATHFILE;File sorgente) 2(J1;PATHDIR;Cartella di destinazione) 3(**;**;Nome nuovo file)\\
## F(INT;JA_00_05;CPY) 1(J1;PATHDIR;Dir sorgente) 2(J1;PATHDIR;Cartella di destinazione) 3(**;**;Nome nuova directory)\\
\\
Nel caso di cartella viene copiato il contenuto, per copiare anche la cartella impostare il parametro CPYROOT a 1\\
L'azione richiede la selezione del nuovo percorso o file di destinazione se non indicato nel K2.\\
Nel caso l'origine sia una cartella copia il contenuto nella destinazione\\
é possibile far valorizzare delle variabili di scheda che indicano il file copiato. Le variabili vengono definite se nel P è presente l'attributo SETVAR con valore 1.\\
Le variabili definite sono le seguenti:\\
## CPYESI: indica l'esito della copia. assume i seguenti valori:\\
### OK: copia eseguita con successo\\
### CANCEL: l'utente ha annullato l'operazione\\
### ERROR: si è verificato un'errore\\
## CPYESID: riporta la descrizione dell'operazione compiuta\\
## CPYFILESIZE: è la dimensione del file copiato. Vale 0 nel caso sia una cartella\\
## CPYTYPE: tipo di copia. Indica se ho copiato un file o una cartella. Assume i seguenti valori:\\
### PATHFILE: nel caso abbia copiato un file\\
### PATHDIR: nel caso abbia copiato una cartella\\
## CPYSRCFILENAME: nome del file/cartella sorgente\\
## CPYSRCFILEDIR: cartella che contiene il file/cartella sorgente\\
## CPYSRCFILEPATH: percorso completo del nome di file/cartella sorgente\\
## CPYSRCFILEEXT: estensione del file sorgente. In caso sia una cartella è blank\\
## CPYDSTFILENAME: nome del file/cartella destinazione\\
## CPYDSTFILEDIR: cartella che contiene il file/cartella destinazione\\
## CPYDSTFILEPATH: percorso completo del nome di file/cartella destinazione\\
## CPYDSTFILEEXT: estensione del file destinazione. In caso sia una cartella è blank\\
# CPY.DOC  Copia il file o la cartella selezionata nella cartella dell'oggetto. Se questa non esiste viene creata in automatico. Se viene copiata una cartella, il default (diversamente dal metodo CPY) è di copiare la cartella e non il contenuto. E' possibile farsi restituire delle variabili che indicano l'esito dell'operazione. vedi metodo CPY\\
# MOV  Sposta il file selezionato in una nuova destinazione. La destinazione può essere indicata in modo esplicito nel K2 oppure si può indicare al servizio il metodo per la sua creazione. Vedere la sezione parametri per maggiori dettagli.\\
# MOV.DOC  Sposta il file o la cartella selezionata nella cartella dell'oggetto. Se questa non esiste viene creata in automatico\\
# DEL   Elimina il file o la directory selezionata (deve essere vuota)\\
# DEL.ALL Elimina la cartella selezionata e tutto il contenuto\\
# DEL.CNT Elimina il contenuto di una cartella filtrando i file da eliminare\\
# ZIP  Comprime il file o la directory selezionata\\
# UZP  Decomprime il file in una directory selezionata (può creare cartella con nome dello zip)\\
# NEW  Crea un nuovo file o una nuova directory (utilizza il path indicato nel codice 1)\\
# NEW.FIL Crea un file. Per i dettagli vedi il paragrafo specifico.\\
# NEW.DIR Crea una nuova cartella nella cartella indicata nel codice dell'oggetto 1 e assegna il nome indicato nel codice dell'oggetto 2\\
# WRI (SV) Crea un file indicato nell'oggetto 1 e lo riempie con il contenuto del campo di INPUT\\
Se l'oggetto 1 è una cartella usa il codice dell'oggetto 2 come nome di file, se il codice 2 è vuoto viene utilizzato il nome NewFile.txt\\
# FND             Controlla l'esistenza di un file o di una cartella. Se non esiste viene restiuita la funzione per la sua creazione.\\
# CHK             Controlla l'esistenza di un file o di una cartella. Se non esiste, restituisce funzione per la creazione e le variabili di scheda ESID,ESIV e ESIC. ESID contiene la descrizione dell'esito:  cartella/file non disponibile oppure cartella/file presente. ESIV contiene il valore 1 se l'oggetto esiste 0 se non esiste. ESIC  contiene il colore verde se esiste e il colore rosso se non esiste\\
# SRC             Cerca un file in una cartella restituendo le n occorrenze incontrate\\
# EDT  IN SVILUPPO - Consente di modificare un file. L'editor è determinato dall'estensione del file. Attualmente gli unici file gestiti sono quelli di tipo S02. Hanno un formato XML. L'editor è il G30. Il configuratore utilizzato è defintio dal nome del file.\\
# REN  Rinomina il file selezionato in una nuova destinazione. La destinazione deve essere indicata in modo esplicito nel K2 come percorso completo.\\
\\
%%quote
Questo metodo crea file e li riempie.
E' obbligatorio fornire i seguenti oggetti:
1) una cartella
2) un oggetto generico che indica il nome del file da creare

Questo metodo crea il file con nome K2 nella cartella K1. Questo file è il file BASE.

Successivamente vengono svolti le seguenti operazioni:

Dal campo di INPUT viene cercato il parametro Data, se trovato questo definisce i dati su cui operare.
Se il parametro Data non è definito, viene cercato il parametro Fun e poi il parametro FUN.
Se presente, viene richiamata la funzione e i dati ottenuti vengono elaborati.
Una volta ottenuti i dati, se il tipo di output (parametro Out o OUT) è SIF, viene creato un file di tipo S02 e scritto il link al file BASE. Il nome del file di tipo S02 è ottenuto aggiungendo al nome del file BASE, l'estensione ".S02".
Se il tipo di output è "SXF" viene creato un file di tipo S01 e il contenuto sono i dati ottenuti. Il nome del file è ottenuto aggiungendo al nome del file BASE, l'estensione ".s01".

Se il tipo di output non è SXF e l'attributo OVR non vale CNT viene creato il file BASE, il cui contenuto sono i dati ottenuti.

/%
----
\\
# OCR\\
\\
\\
# REA            Legge il contenuto del file indicato o dei files presenti nella cartella specificata\\
# REA.RIC        Come il metodo REA, ma se si tratta di una cartella vado in ricorsione\\
A partire dal 14/12/07 il contenuto del file viene restiuito in 3 modalità:\\
* TEXT: vengono sostiuiti eventuali CDATA presenti e la loro chiusura\\
* HTM: vengono sostituiti tutti i caratteri "<", ">" tab e ritorni a capo\\
* HTM_LOLOG: come il metodo HTM, viene inoltre forzato che il tipo di carattere sia non proporzionale\\
\\
Se si specifica il metodo REA.RIC, il contenuto dei file viene accodato.\\
\\
\\
!! Significato dei parametri\\
Metodo|Parametro|Valore|Significato\\
DEL.xxx|||\\
DEL.ALL|CONFDEL|0|Nessun messaggio\\
DEL.ALL|CONFDEL|1|Si\\
DEL.ALL|CONFDEL|2|Segnala se non esiste\\
DEL.CNT|CONFDEL|0|Nessun messaggio\\
DEL.CNT|CONFDEL|1|Si\\
DEL.CNT|CONFDEL|2|Segnala se non esiste\\
DEL.CHE|CONFDEL|0|Nessun messaggio\\
DEL.CHE|CONFDEL|1|Si\\
DEL.CHE|CONFDEL|2|Segnala se non esiste\\
LIS.ALL|DET|SI|Si, mostra dettagli (data modifica, opzionale dimensione e attributi R/H/A), uscita EXB\\
LIS.ALL|DET|NO|No\\
LIS.ALL|RIS|*SI|Si, abilita risalita (viene aggiunto link a cartella padre)\\
LIS.ALL|RIS|*NO|No\\
LIS.ALL|ASKCRE|1|Se non esiste la cartella, chiedi se crearla\\
LIS.ALL|ASKCRE||Se non esiste la cartella, non fare nulla\\
LIS.ALL|NOROOT|1|Non inserire la root nell'elenco\\
LIS.ALL|NOROOT||Aggiungi la root nell'elenco\\
LIS.ALL|ShwAt|1|Se DET=SI, aggiungi gli attributi R,H e A\\
LIS.ALL|ShwAt||Non aggiungere gli attributi R,H e A\\
LIS.ALL|ShwDi|1|Se DET=SI, aggiungi l'attributo dimensione\\
LIS.ALL|ShwDi||Non aggiungere l'attributo dimensione\\
LIS.TRE|||\\
LIS.TRE|DET|SI|Si, mostra dettagli (data modifica, opzionale dimensione e attributi R/H/A), uscita EXB\\
LIS.TRE|DET|NO|No\\
LIS.TRE|RIS|*SI|Si, abilita risalita (viene aggiunto link a cartella padre)\\
LIS.TRE|RIS|*NO|No\\
LIS.TRE|RIS|*SI|Si, abilita risalita (viene aggiunto link a cartella padre)\\
LIS.TRE|RIS|*NO|No\\
LIS.TRE|ASKCRE|1|Se non esiste la cartella, chiedi se crearla\\
LIS.TRE|ASKCRE||Se non esiste la cartella, non fare nulla\\
LIS.TRE|NOROOT|1|Non inserire la root nell'elenco\\
LIS.TRE|NOROOT||Aggiungi la root nell'elenco\\
LIS.TRE|ShwAt|1|Se DET=SI, aggiungi gli attributi R,H e A\\
LIS.TRE|ShwAt||Non aggiungere gli attributi R,H e A\\
LIS.TRE|ShwDi|1|Se DET=SI, aggiungi l'attributo dimensione\\
LIS.TRE|ShwDi||Non aggiungere l'attributo dimensione\\
LIS.RIC|||\\
LIS.RIC|GetFi|1|Restituisci i file\\
LIS.RIC|GetFi||Non restituire i file\\
LIS.RIC|GetDi|1|Restituisci le cartelle\\
LIS.RIC|GetDi||Non restituire le cartelle\\
LIS.PRO|||\\
LIS.PRO|DET|SI|Si\\
LIS.PRO|DET|NO|No\\
LIS.PRO|RIS|*SI|Si\\
LIS.PRO|RIS|*NO|No\\
LIS.IMG|||\\
LIS.IMG|DET|SI|Si\\
LIS.IMG|DET|NO|No\\
LIS.IMG|RIS|*SI|Si\\
LIS.IMG|RIS|*NO|No\\
LIS.DOC|||\\
LIS.DOC|DET|SI|Si, mostra dettagli (data modifica, dimensione e attributi R/H/A ), uscita EXB\\
LIS.DOC|DET|NO|No\\
LIS.DOC|RIS|*SI|Si, abilita risalita (viene aggiunto link a cartella padre)\\
LIS.DOC|RIS|*NO|No\\
LIS.DOC|DET|NO|No\\
LIS.DOC|RIS|*SI|Si, abilita risalita (viene aggiunto link a cartella padre)\\
LIS.DOC|RIS|*NO|No\\
LIS.DOC|ASKCRE|1|Se non esiste la cartella, chiedi se crearla\\
LIS.DOC|ASKCRE||Se non esiste la cartella, non fare nulla\\
LIS.DOC|NOROOT|1|Non inserire la root nell'elenco\\
LIS.DOC|NOROOT||Aggiungi la root nell'elenco\\
LIS.DOC|ShwAt|1|Se DET=SI, aggiungi gli attributi R,H e A\\
LIS.DOC|ShwAt||Non aggiungere gli attributi R,H e A\\
LIS.DOC|ShwDi|1|Se DET=SI, aggiungi l'attributo dimensione\\
LIS.DOC|ShwDi||Non aggiungere l'attributo dimensione\\
MOV|||\\
MOV|CHECK|0|non eseguire controllo copia (SVI)\\
MOV|CHECK|1|Eseguire controllo copia (SVI)\\
MOV|CONMV|0|Non richiedere conferma\\
MOV|CONMV|1|Chiedi conferma\\
MOV|OVERW||modalità sovrascrittura\\
MOV|SETVAR|0|non creare le variabili con l'esito dell'operazione\\
MOV|SETVAR|1|Crea le variabili con l'esito dell'operazione\\
MOV|SIL|0|emetti eventuali messaggi\\
MOV|SIL|1|non emettere messaggi (modalità silenziosa)\\
MOV|SYNC|0|non eseguire operazione in modo sincrono\\
MOV|SYNC|1|Esegui operazione in modo sincrono\\
MOV|SECCHK|NO|Non esegue il controllo di sicurezza (default)\\
MOV|SECCHK|YES|esegue il controllo di sicurezza, verificando i path ammessi nella variabile PROVIDER_PATHS\\
DEL.ALL|CONFDEL|0|Nessun messaggio\\
DEL.ALL|CONFDEL|1|Si\\
DEL.ALL|CONFDEL|2|Segnala se non esiste\\
NEW.FIL|||\\
NEW.FIL|Out|SIF|Crea il file con link al contenuto\\
NEW.FIL|Out|SXF|Crea il file con il contenuto\\
NEW.FIL|Out||Definito dal client\\
NEW.FIL|Enc||Definito dal client\\
NEW.FIL|Enc|cp1252|Windows (cp1252)\\
NEW.FIL|Enc|Cp850|Ascii (Cp850)\\
NEW.FIL|Enc|ISO-8859-1|ISO-8859-1 (Latin 1)\\
NEW.FIL|Enc|Yes|Sì\\
NEW.FIL|VarSol|No|No\\
NEW.FIL|VarSol||Crea file e riempilo\\
NEW.FIL|Ovr|CNT|Non creare file\\
NEW.FIL|Ept||Crea anche vuoto\\
REA.CSV|||\\
REA.CSV|Encod||Definito dal client\\
REA.CSV|Encod|cp1252|Windows (cp1252)\\
REA.CSV|Encod|Cp850|Ascii (Cp850)\\
REA.CSV|Encod|ISO-8859-1|ISO-8859-1 (Latin 1)\\
REA.CSV|Encod|UTF-8|UTF-8\\
REA.CSV|FOXML|TEXT|Formato testo\\
REA.CSV|FOXML|HTM|Formato Html\\
REA.CSV|FOXML|HTM_LOLOG|Formato Html con carattere a larghezza fissa\\
REA.CSV|FOXML|TXT_LOLOG|Formato testo per lettura file di log (SV)\\
REA.CSV|FLDSEP|tab|Tabulazione\\
REA.CSV|FLDSEP|vir|Virgola\\
REA.CSV|FLDSEP|punvir|Punto Virgola\\
REA.CSV|FLDSEP|pipe|Pipe\\
REA.TXT|||\\
REA.TXT|Encod||Definito dal client\\
REA.TXT|Encod|cp1252|Windows (cp1252)\\
REA.TXT|Encod|Cp850|Ascii (Cp850)\\
REA.TXT|Encod|ISO-8859-1|ISO-8859-1 (Latin 1)\\
REA.TXT|Encod|UTF-8|UTF-8\\
REA.TXT|FOXML|TEXT|Formato testo\\
REA.TXT|FOXML|HTM|Formato Html\\
REA.TXT|FOXML|HTM_LOLOG|Formato Html con carattere a larghezza fissa\\
REA.TXT|FOXML|TXT_LOLOG|Formato testo per lettura file di log (SV)\\
REA.TXT|FLDSEP|tab|Tabulazione\\
REA.TXT|FLDSEP|vir|Virgola\\
REA.TXT|FLDSEP|punvir|Punto Virgola\\
REA.TXT|FLDSEP|pipe|Pipe\\
REA.RIC|||\\
REA.RIC|Encod||Definito dal client\\
REA.RIC|Encod|cp1252|Windows (cp1252)\\
REA.RIC|Encod|Cp850|Ascii (Cp850)\\
REA.RIC|Encod|ISO-8859-1|ISO-8859-1 (Latin 1)\\
REA.RIC|Encod|UTF-8|UTF-8\\
REA.RIC|FOXML|TEXT|Formato testo\\
REA.RIC|FOXML|HTM|Formato Html\\
REA.RIC|FOXML|HTM_LOLOG|Formato Html con carattere a larghezza fissa\\
REA.RIC|FOXML|TXT_LOLOG|Formato testo per lettura file di log (SV)\\
REA.RIC|FLDSEP|tab|Tabulazione\\
REA.RIC|FLDSEP|vir|Virgola\\
REA.RIC|FLDSEP|punvir|Punto Virgola\\
REA.RIC|FLDSEP|pipe|Pipe\\
WRI|||\\
WRI|OVERW|Yes|Sovrascrivi\\
WRI|OVERW|No|Non sovrascrivere\\
WRI|OVERW|Empty|Solo se vuoto\\
WRI|OVERW|Ask|Chiedi conferma\\
WRI|OVERW|Append|Concatena\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\
\\