Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-1) was last changed on 28-Aug-2023 11:25 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 added 324 lines
%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
!!! Cos'è il costruttore LOA66\\
Il LOA66 è un costruttore che permette la creazione di un albero dinamico. Questo albero dinamico è composto da nodi che a loro volta sono espandibili in altri alberi dinamici permettendo così di realizzare strutture ordinate e profonde in cui navigare\\
\\
!!! Creazione di un LOA66\\
Per creare un albero dinamico mediante il costruttore LOA66 è necessario uno script di setup (SCP_SET). La dicitura standard per gli script di setup dei LOA66 inseriti all'interno di schede di UPP è LOA66_XXX, dove XXX è il nome dell'UPP per la quale si vuole inserire il costruttore. Se si sta lavorando all'interno di una UPP, per creare lo script di setup del LOA66 basta attivare il relativo enabler all'interno della stessa UPP.\\
\\
!!! Struttura dello script di setup\\
I tag utilizzabili all'interno dello script sono:\\
- SEZ : gli attributi di tale tag sono Cod e Txt\\
- SUB : gli attributi di tale tag sono Cod e Txt\\
- A66.SEZ : gli attributi di tale tag sono Nam e Txt\\
- A66:SUB : gli attributi di tale tag sono For, Met, Txt, P01, Flg, Ico, Lvl, Cat, Nav, Fun e FunNam\\
- A66.FUN : gli attributi di tale tag sono Nam, Fun e Rif\\
\\
\\
Per prima cosa lo script viene diviso per Sezione(SEZ) e Sub sezione(SUB): ad ogni coppia SEZ/SUB corrisponde un albero.\\
Sia il tag SEZ che il tag SUB devono essere caratterizzati da un codice (Cod) e, eventualmente, da descrizione (Txt), in quanto per richiamare l'albero nello script di scheda si utilizza la seguente dicitura: SUB.A66(xxx.yy.zz), dove xxx rappresenta lo script di setup, yy il codice della sezione e zz il codice della subsezione. Per ogni sezione è possibile avere più sottosezioni.\\
\\
\\
!! Sviluppo dello script di setup\\
Una volta definito l'inizio di un certo albero con i tag SEZ e SUB, si può passare alla realizzazione dei nodi che andranno a comporre l'albero attraverso i tag A66.SEZ e A66.SUB.\\
I campi da compilare per A66.SEZ sono nome (Nam) e descrizione (Txt), mentre per A66.SUB sono i seguenti:\\
\\
- For (Forzatura sezione) permette di dare un nome ad un nodo che verrà ripreso successivamente nello script per essere caratterizzato\\
- Met (Metodo) permette di esprimere il metodo di costruzione con cui il costruttore deve ricostruire i nodi che vogliamo definire. Successivamente vedremo tutti i metodi implementati nel costruttore A66\\
- Txt (Descrizione) permette di definire il titolo dei nodi che verranno visualizzati. Non è un attributo necessario ma risulta utile con determinati metodi al fine di fissarne il titolo nella visualizzazione in scheda\\
- P01(Parametri) permette di definire dei parametri che verranno utilizzati dal metodo precedentemente esplicitato. Vedremo successivamente quali parametri ammette ciascun metodo\\
- Flg (Flag specificità) può venire valorizzata con la D. Se si esplicita Flg="D" i nodi vengono ordinati secondo la descrizione, altrimenti se si lascia blank i nodi verranno ordinati in base al codice\\
- Ico (Icona) permette di definire un'icona per i nodi\\
- Lvl (Autorizzazione) permette di definire il livello di autorizzazione a partire dal quale gli utenti possono vedere i nodi. Ad esempio, mettendo Lvl="02" solo gli utenti con autorizzazione superiore o uguale a 02 possono vedere i nodi\\
- Cat (Categorie previste) permette di definire una categoria ai diversi nodi che, una volta passata in ingresso nel parametro Flt della funzione della scheda che richiama lo script di setup, filtra tutti i nodi aventi quella determinata categoria\\
- Nav (Navigazione fine) la dicitura Nav="End" definisce il termine di espansione dei nodi indicando che quel nodo è una foglia, quindi non ulteriormente espandibile\\
- Fun (Funzione) permette di lanciare una funzione al click sul nodo. Se non viene definita la funzione da lanciare, in automatico verrà lanciata la scheda dell'oggetto del nodo\\
- FunNam (Nome funzione) permette di richiamare il nome di una funzione che viene definita all'interno dello script attraverso il tag A66.FUN per essere lanciata al click sul nodo prendendo in ingresso il tipo, parametro e codice del nodo selezionato. Utilizzare FunNam al posto di Fun è utile qualora una stessa funzione venisse richiamata per nodi differenti\\
\\
Per lanciare delle funzioni ai click sui nodi, come abbiamo anticipato si può usare il tag A66.FUN i cui parametri sono:\\
- Nam: serve per specificare il nome della funzione che verrà utilizzato come valore da inserire all'interno del parametro FunNam del tag SUB. Sostanzialmente nel parametro FunNam andrò a richiamare il nome di una certa funzione espressa attraverso il tag A66.FUN\\
- Fun: si dichiara la funzione vera e propria da lanciare\\
- Rif: ..........................................\\
\\
\\
!!! Metodi di costruzione\\
I metodi (Met) di costruzione sono molteplici e ognuno, come anticipato, ha bisogno in ingresso di specifici parametri (P01). Di seguito sono descritti i metodi ammessi\\
\\
!! SVI\\
Il metodo SVI emette un nodo padre che è possibile oggettizzare. Questo metodo è da utilizzare solo per i nodi di primo livello di un albero.\\
I parametri da compilare sono:\\
- Tipo e parametro all'interno del campo Tip;\\
- Codice all'interno del campo Codice.\\
\\
!! TIT\\
Il metodo TIT viene utilizzato per raggruppare nodi della stessa classe. Tutti i metodi che vengono utilizzati per espandere i nodi figli vanno elencati subito sotto il nodo padre. Perciò con questo metodo si da solo un nome al nodo che raggruppa i nodi figli, per questo motivo il metodo TIT non ha bisogno di nessun parametro.\\
\\
!! G60\\
Questo metodo permette la realizzazione di un nodo sfruttando l'API G60, che viene utilizzata per caricare gli elementi di una determinata classe.\\
I parametri che vanno passati per ottenere nodi che rappresentano tutte le istanze di una classe quando si utilizza questo metodo sono:\\
- Tipo e parametro, da inserire nel campo Ogg. Quindi, ad esempio, Ogg(CNCOL) mi restituisce un elenco di nodi, ciascuno corrispondente ad un collaboratore. Se non si desidera avere tutte le istanze della classe inserita, è possibile porre delle limitazioni attraverso il campo Lim, ad esempio con Lim(COM) verranno visualizzati i nodi dei CNCOL il cui codice inizia per COM;\\
- Descrizione, da inserire all'interno del campo Dec. Per vedere la descrizione estesa dell'oggetto affiancata da codice bisogna scrivere Dec(DC), mentre scrivendo Dec(CD) viene visualizzato il codice dell'oggetto insieme alla sua descrizioni divisi da un trattino;\\
- Filtro per attributo, da inserire nel campo Foa. Le istanze di una classe vengono filtrati in base al codice dell'Oav scritto all'interno del Foa che si valorizza una volta cliccato sul nodo padre. Ad esempio, se voglio che cliccando sul nodo Erbusco mi compaiono solamente i nodi che rappresentano i collaboratori che hanno sede Erbusco, dovrò inserire come campo Foa(P/COL/A12);\\
- Filtro fisso, Fsa. Da utilizzare se voglio filtrare le istanze in base ad un valore fisso che non sia un Oav;\\
- Raggruppamento in base ad un Oav, da inserire nel campo Toa. Se voglio raggruppare delle istanze in base ad un loro Oav, mi basta inserire il codice di quell'OAV all'interno del campo Toa.\\
\\
!! G40\\
Il metodo G40 è analogo a quello G60, con la sola differenza che vengono restituiti gli elementi di liste di oggetti. I parametri richiesti da questo metodo sono:\\
- Tipo e parametro, da inserire nel campo Ogg;\\
- Lista, da inserire nel campo Lis. Nel caso si scelga di visualizzare la lista che contiene tutte le istanze di una classe si compila Lis(*);\\
- Foa come in precedenza;\\
- Fsa come in precedenza;\\
- Toa come in precedenza\\
\\
!! SER\\
Questo metodo permette di espandere un nodo mediante il richiamo di un servizio.\\
I parametri da passare sono:\\
- Il servizio, all'interno del campo Ser. Ad esempio Ser(F(TRE;C£_100_03;ESP.LIV) 1(;;) 2(;;) INPUT());\\
- Il componente passato al servizio all'interno del campo Met. All'interno del campo Met possono esserci: MAT (matrice), TRE (albero), INT;\\
- Nel caso in cui il componente sia Mat, all'interno del campo Cls si inserisce la colonna della matrice che indica il tipo del nodo, altrimenti si lascia blank;\\
- Nel caso in cui il componente sia Mat, all'interno del campo Ist si inserisce la colonna della matrice che indica l'istanza dell'elemento da visualizzare nel nodo, altrimenti si lascia blank;\\
- Nel caso in cui il componente sia Mat, all'interno del campo DIs si inserisce la colonna della matrice che si vuole utilizzare come descrizione del nodo, altrimenti si lascia blank;\\
- Foa;\\
- Fsa;\\
- Toa.\\
\\
!! USR\\
Il metodo USR è utilizzato per richiamare programmi di posizionamento e di lettura che vanno a valorizzare i nodi con i parametri di output del programma.\\
I parametri da inserire sono:\\
- la funzione nel campo Ext (deve avere come input una funzione e un metodo);\\
- Par - per i parametri in input del programma.\\
I parametri in output saranno:\\
- tipo in T\\
- codice in K\\
- descrizione in D\\
- name in N\\
- icona in I\\
- funzione in F\\
\\
!! TAB\\
Il metodo TAB permette di creare i nodi andando a reperire gli elementi di una tabella.\\
I parametri necessari sono:\\
- Settore ed, eventualmente, sottosettore della tabella all'interno del campo Ogg;\\
- Lim;\\
- Foa;\\
- Fsa;\\
- Toa.\\
\\
!! COS\\
il metodo COS permette di creare un albero partendo dai dati contenuti nel D5COSO0F. I parametri necessari sono:\\
- Contesto del modello\\
- Tema del modello\\
- Sel(n) per selezionare il codice aggiuntivo n (NB i codici sono 0,1,2,3 dove 0 è il codice principale e 1,2,3 sono le chiavi associate al tema)\\
- Flt(n) con n=0,1,2,3 per filtrare secondo uno dei codici\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! D5C [DA RIVEDERE]\\
Permette di creare un albero partendo dai dati contenuti nel D5COSO0F la differenza con il metodo COS è che è possibile creare un nodo padre con il tipo del codice e i nodi figlio con il tipo della tabella. I parametri sono gli stessi del metodo COS.\\
input contesto e tema\\
legge tabelle d5s e d5o per verificare se il tema prende dei codici aggiuntivi e il tipo di periodo che prende\\
crea un nodo con tipo parametro og e codice cncol e name cn col e con descrizione la descrizione del cncol. questo è il primo nodo padre.\\
fa una £sqld (api che permette di eseguire l'sql) - fa una select sul codice (restituisce tutti i codici e le istanze di un contesto che hanno contesto = cncol e tema (quelli in ingresso)) per ogni record restituito crea un nodo dell'istanza nel contesto.\\
fa così per ogni oggetto\\
\\
!! DEC\\
Questo metodo utilizza la API DEC per reperire la descrizione di un oggetto. I parametri in input necessari sono:\\
- Il tipo e parametro, nel campo Ogg\\
- Codice nel campo Cod\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! CKO\\
Il metodo CKO permette di creare nodi che siano oggettizzati come membri di file che vengono passati attraverso i seguenti parametri:\\
- File, da inserire nel campo Fil. Ad esempio Fil(scp_set)\\
- Nome del membro, da inserire nel capo Mem. Ad esempio Mem(loa66_x1)\\
- Foa\\
- Fsa\\
- Toa\\
\\
\\
!! DOC\\
Per questo metodo i campi sono i medesimi del metodo CKO. I nodi vengono creati grazie ad una chiamata all'API G90, che va a leggere il file specificato nei parametri e restituisce un nodo ogni volta che incontra i tag:\\
- ::DEC, tag che permette di poter raggiungere un oggetto tramite un link\\
- ::I.INC.MBR, tag che permette di includere il contenuto di un membro all'interno di un altro\\
- ::FIG, tag che permette di richiamare una figura\\
\\
!! ESE\\
I parametri sono gli stessi dei metodi CKO e DOC. Anche questo metodo usa la G90 per andare a leggere il file specificato nei nei parametri e crea dei nodi padre ogni volta che incontra il tag PRO (che definisce gruppi di esercizi) a cui lega dei nodi figli che corrispondono ai tag ATT (che definisce gli esercizi di un gruppo).\\
\\
!! OGM\\
Questo metodo utilizza la g90 per leggere lo script scp_set chiamato b£_ogg_mass, in cui sono elencati diversi oggetti divisi per gruppi e crea nodi che corrispondono agli oggetti elencati utilizzando il tipo e parametro reperiti dal tag GRU e codice e descrizioni reperiti dal tag DEC. I parametri da inserire sono:\\
- Tipo e parametro qualora si voglia filtrare gli oggetti in base a questi 2 parametri nel campo OGM\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! £OG [DA RIVEDERE]\\
Questo metodo crea nodi che corrispondono a parametri della categoria £OG della tabella C£E.\\
\\
!! DIR\\
Molto simile al metodo SVI, con l'unica differenza che il tipo, parametro e codice vengono passati nell'oggetto 1 del nodo padre e non da parametri del nodo stesso.\\
\\
!! PAR\\
input azione da eseguire (azione api c£6 - la api ha come funzione quella di leggere i parametri). anche azione v - fa azione 1 e in più passa la data per prendere il valore del parametro in quella specifica data e legge b£n per verificare che i codici passati siano corretti per l'oggetto passato nell'oggetto 1.\\
I parametri da inserire sono:\\
- Azione nel campo Azi\\
- Categoria, ovvero la classe dove viene calcolato il parametro, in Cat\\
- Il codice del parametro nel campo Par\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! REF\\
Crea nodi che corrispondono all'elenco dei referenti di smeup collegati ad un account.\\
I parametri da inserire sono:\\
Livello, per filtrare i referenti in base al livello, da inserire nel campo Liv\\
Foa\\
Fsa\\
Toa\\
\\
!! SQL\\
Vengono creati nodi che corrispondono ad un istruzione SQL. L'istruzione SQL inserita deve essere scritta in modo tale da tornare obbligatoriamente 3 campi, il primo corrisponde al tipo e parametro, il secondo al codice ed il terzo alla descrizione dei nodi che si vogliono creare.\\
I parametri da inserire sono:\\
- La stringa SQL da inserire nel campo Sql\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! SOG [DA RIVEDERE]\\
Questo metodo usa la API £bri che va a vedere le info riguardanti gli utenti. Per ogni dato reperito dalla £bri che è l' API che restituisce in che scenari sono gli enti esegue la £ifcon, API per leggere l'ente, passandogli P1 e K1 e scenario (10=smeup, 20=panthera...) e fa lettura dell'ente indicato nel file BRENTI0F e restituisce un nodo tipo CN e codice che gli viene passato. Se viene resituito un CNCLI e scenario è 10 allora mette CLI nel nome del nodo, se invece scenario è 10 ma non si tratta di CNCLI nel nome metto SOGG.\\
I parametri da inserire sono:\\
- Scenario di inizio, nel campo Sci\\
- Scenario di fine, nel campo Scs\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! CM1\\
Questo metodo prende il tipo commessa che viene passato e va a leggere il file BRCOMM0F e crea dei nodi che corrispondono alle commesse che si riferiscono alla commessa di riferimento che viene passata nell'oggetto 1 dal nodo padre.\\
I parametri da compilare sono:\\
- Tipo commessa nel campo TCM\\
- Livello nel campo Liv per filtrare le commesse per livello. Qualora si lasci blank il campo Liv, viene considerato di default il livello 8.\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! SCA\\
Questo metodo permette di creare nodi che corrispondono alle rate in scadenza di un ente, che viene passato nell'oggetto 1 tramite tipo, parametro e codice dal nodo padre. Se la scadenza non è ancora superata, oltre alla descrizione compare anche ciò che resta da pagare.\\
I parametri che accetta sono:\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! TDO\\
Utilizza l'API £IDO per creare nodi che corrispondono a testate di documenti attivi di un ente, che viene passato nell'oggetto 1 tramite tipo, parametro e codice.\\
I parametri che possono essere inseriti sono:\\
- Tipo di documento nel campo Tdo, ad esempio fattura, proposta, offerta...\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! TDR\\
Legato al Metodo TDO ma in questo caso restituisce nodi che corrispondono alle righe dei documenti di un intestatario passato nell'oggetto 1 tramite tipo, parametro e codice dal nodo padre. A differenza del metodo TDR non restituisce solamente le righe di documenti attivi, ma anche di quelli disattivi, accompagnando le descrizioni dei nodi con il livello del documento.\\
I parametri che accetta sono:\\
- Tipo di documento nel campo Tdo\\
- Tipo di riga di documento nel campo Tri\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! OAV\\
Questo metodo permette di creare un nodo con l'oggetto che viene passato nell'oggetto 1 tramite tipo, parametro e codice dal nodo padre. Successivamente viene calcolato per quell'oggetto l'oav che viene passato nei parametri, e il nodo diviene il risultato dell'oav. Ad esempio, se passo nell'oggetto 1 il codice di un collaboratore con sede ad erbusco e nei parametri inserisco il codice dell'oav sede, il nodo non avrà come oggetto il CNCOLXXXXXX ma CNSEDERB.\\
I parametri che accetta questo metodo sono:\\
- Codice attributo, che va inserito nel campo Oav\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! FAT\\
Questo metodo permette di creare nodi che corrispondono alle fatture di un cliente, che viene passato nell'oggetto 1 tramite tipo, parametro e codice dal nodo padre. Inoltre, compilando i parametri, le fatture possono essere filtrate per modello e per esercizio contabile.\\
I parametri che accetta sono:\\
- Modello da inserire nel campo Mod\\
- Esercizio contabile da inserire nel campo Eco\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! SCH\\
Permette di creare nodi corrispondenti a script di scheda, con la possibilità di creare nodi figli di una scheda corrispondenti alle sottoschede presenti in quelle scheda. I parametri da inserire sono:\\
- Tipo di script, ovvero scp_sch, da inserire nel campo Tip\\
- Codice dello script, da inserire nel campo Cod\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! DIS\\
Utilizzando l'API £DIB permette di creare nodi che corrispondono a elementi di una distinta base. Si può scegliere se creare dei nodi tramite un'esplosione od un'implosione della distinta base. Nel caso si decide di esplodere la distinta, l'oggetto passato nell'oggetto 1 diviene nodo padre (assieme) a cui sono collegati nodi figli (componenti), viceversa, in caso di implosione, all'oggetto 1 (componente) vengono collegati nodi che corrispondono a tutti gli assiemi che vengono creati dal componente.\\
I parametri che possono essere compilati sono:\\
- Distinta da inserire nel campo Dis\\
- Funzione, ovvero implosione o esplosione, da inserire nel campo Fun. se lasciato blank di default si tratta di esplosione\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! 100\\
Ha lo stesso scopo del metodo DIS, ma in questo caso vengono utilizzate le distinte presenti nella UPP C£_100.\\
I parametri che possono essere utilizzati sono:\\
- Tipo, ovvero esplosione o implosione, nel campo Tip\\
- La distinta nel campo Brl\\
- Il tipo proprietario da inserire nel campo Tpr\\
- Il codice proprietario nel campo Pro\\
- Il codice dell' attributo nel campo Oav, che ha la funzione di valorizzare il nodo con l'attributo inserito, nello stesso modo in cui opera il metodo OAV\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! OGC\\
Questo metodo utilizza l'API G90 per cercare all'interno di script il tag OGG (che serve per definire o richiamare oggetti) e creare nodi corrispondenti all'oggetto definito.\\
I parametri da inserire sono:\\
- Il tipo di file in cui cercare il tag nel campo FIl\\
- Il codice del file nel campo Mem\\
- Foa\\
- Fsa\\
- Toa\\
\\
!! G75\\
Questo metodo utilizza l'API G75 per andare a trovare i file presenti in una libreria indicata nell'apposito campo, e per ogni file trovato crea un nodo.\\
I parametri da compilare sono:\\
- File da inserire nel campo Fil\\
- Nome del membro, da inserire nel campo Mem. Attraverso questo campo è possibile filtrare i file appartenenti ad una libreria, ad esempio se inserisco Mem(W_) mi compariranno solo i file che iniziano con W_\\
- Libreria in cui cercare i file nel campo Lib\\
- Foa\\
- Fsa\\
- Toa\\
\\
\\
\\
!!! Come richiamare lo script di setup del LOA66 in scheda\\
Lo script di setup creato potrà essere richiamato nello script di scheda. Lo script di setup verrà richiamato attraverso l'utilizzo del componente Scheda con 2 principali possibili funzioni associabili a seconda di come si è costruito lo script di setup:\\
\\
- D.FUN.STD F(EXD;*SCO;) 1(LI;OGGETTO;*) 2(MB;SCP_SCH;LOA66) 4(;;BAS) P(SUBA66(XXX.YY.ZZ) Title(TITOLO) Con(P0)) INPUT(NxtLvl(Liv002))\\
Questa modalità consente di passare in ingresso l'oggetto 1 andando così a presentare come primi nodi gli elementi di tale oggetto. Nell'oggetto 4 è possibile passare il valore BAS (permette l'apertura di un tab al doppio click su un nodo) oppure il valore SEZ. Nell'attributo SUBA66() andrò a specificare nome dello script di setup, sezione e sottosezione da presentare. In titolo definisco il titolo dei primi nodi.\\
\\
- D.FUN.STD F(EXD;*SCO;) 1(SE;SUB.A66;XXX.YY.ZZ) 2(MB;SCP_SCH;LOA66) 4(;;BAS) P(MENU() Nam(ALL) SUBA66(XXX.YY.ZZ) RooDes(Oggetti di formazione) Con(P0)) INPUT(NxtLvl(Liv002))\\
Con XXX si indica il nome dello script di setup, YY codice della sezione e ZZ codice della sottosezione da presentare. L'attributo Con non viene utilizzata dal servizio ma viene utilizzata dalla scheda per forzare il variabile *CONAP relativa al contesto (la trovi tra le variabili di sezione/scheda.\\
\\
\\
XXDEC T(MB) P(DOC) K(X1PERS_00)\\
XXDEC T(MB) P(DOC) K(X1PERS_01)\\
XXDEC T(MB) P(DOC) K(X1PERS_02)\\
XXDEC T(MB) P(DOC) K(X1PERS_10)\\
XXDEC T(MB) P(DOC) K(X1PERS_03)\\
XXDEC T(MB) P(DOC) K(X1PERS_04)\\
XXDEC T(MB) P(DOC) K(X1PERS_06)\\
XXDEC T(MB) P(DOC) K(X1PERS_07)\\
XXDEC T(MB) P(DOC) K(X1PERS_09)\\
XXDEC T(MB) P(DOC) K(X1PERS_08)\\
XXDEC T(MB) P(DOC) K(X1PERS_21)\\
XXDEC T(MB) P(DOC) K(X1PERS_51)\\
This page has only one version
«