documentazione_3di_riservata:docway4:script_utili
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedente | |||
documentazione_3di_riservata:docway4:script_utili [2017/09/12 16:32] – ncandelora | documentazione_3di_riservata:docway4:script_utili [Data sconosciuta] (versione attuale) – eliminata - modifica esterna (Data sconosciuta) 127.0.0.1 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
- | ===== addAltreUOR e addAltreUORint (script lua per aggiungere codici in diritto Altre UOR) ===== | ||
- | |||
- | Lo script consente di aggiungere massivamente codici di strutture sul diritto Altre UOR (visualizzazione e intervento) degli utenti a partire da un file xml strutturato in un formato specifico.\\ | ||
- | Il file xml ha la seguente struttura: | ||
- | |||
- | <file xml altreuor.xml> | ||
- | <?xml version=" | ||
- | < | ||
- | <utente id=" | ||
- | <utente id=" | ||
- | <utente id=" | ||
- | </ | ||
- | </ | ||
- | |||
- | Il file xml deve essere denominato **altreuor.xml** per lo script dedicato al diritto __Altre UOR in visualizzazione__ o **altreuorint.xml** per lo script che interviene sul diritto __Altre UOR in intervento__. <wrap em> | ||
- | |||
- | Lo scipt lua che interviene sul diritto Altre UOR in visualizzazione è il seguente: | ||
- | <file lua addAltreUOR.lua> | ||
- | local dbg = require ' | ||
- | local xw = require(' | ||
- | xw.addPackage(" | ||
- | |||
- | --[[- | ||
- | --]] | ||
- | function addAltreUOR() | ||
- | |||
- | local sourceFileFullPath = xw.getCurrentArcName() .. " | ||
- | local sourceRecord = xw.prepareRecordFromFile(sourceFileFullPath) ; | ||
- | if ( not(sourceRecord: | ||
- | xw.log.msg ('file non valido' | ||
- | return ' | ||
- | end | ||
- | |||
- | local targetNodeSet = sourceRecord: | ||
- | if ( targetNodeSet: | ||
- | local targetNode = targetNodeSet: | ||
- | while ( targetNode: | ||
- | local idUtente = targetNode: | ||
- | local idDiritto = targetNode: | ||
- | local risultatoAggiornamento = aggiornaRecord(idUtente , "/ | ||
- | targetNode = targetNodeSet: | ||
- | end | ||
- | end | ||
- | |||
- | end | ||
- | |||
- | function aggiornaRecord(idUtente , pathElementoDaAggiornare, | ||
- | |||
- | -- deactivate triggers | ||
- | xw.triggersOff() ; | ||
- | |||
- | local recordIsModified = false ; | ||
- | |||
- | local targetRecordSet = xw.executeQuery(' | ||
- | if ( targetRecordSet: | ||
- | local targetRecord = targetRecordSet: | ||
- | while ( targetRecord: | ||
- | recordIsModified = false ; | ||
- | targetRecord_LockResult = targetRecord: | ||
- | if ( targetRecord_LockResult == true ) then | ||
- | |||
- | local targetRecordRootNode = targetRecord: | ||
- | |||
- | local elementoDaAggiornare = targetRecord: | ||
- | if ( elementoDaAggiornare: | ||
- | elementoDaAggiornare: | ||
- | recordIsModified = true ; | ||
- | end | ||
- | |||
- | if ( recordIsModified ) then | ||
- | local outcome = targetRecord: | ||
- | if ( outcome <= 0 ) then | ||
- | targetRecord: | ||
- | xw.log.msg(' | ||
- | end | ||
- | else | ||
- | targetRecord: | ||
- | end | ||
- | else | ||
- | xw.log.msg(' | ||
- | end | ||
- | targetRecord = targetRecordSet: | ||
- | end | ||
- | |||
- | end | ||
- | |||
- | -- activate triggers | ||
- | xw.triggersOn() ; | ||
- | |||
- | return ' | ||
- | end | ||
- | |||
- | addAltreUOR = { | ||
- | addAltreUOR = addAltreUOR, | ||
- | addAltreUOR_signature = { | ||
- | outParms = {" | ||
- | } | ||
- | } ; | ||
- | </ | ||
- | |||
- | Mentre lo script che interviene sul diritto Altre UOR in intervento è il seguente: | ||
- | <file lua addAltreUORint.lua> | ||
- | local dbg = require ' | ||
- | local xw = require(' | ||
- | xw.addPackage(" | ||
- | |||
- | --[[- | ||
- | --]] | ||
- | function addAltreUORint() | ||
- | |||
- | local sourceFileFullPath = xw.getCurrentArcName() .. " | ||
- | local sourceRecord = xw.prepareRecordFromFile(sourceFileFullPath) ; | ||
- | if ( not(sourceRecord: | ||
- | xw.log.msg ('file non valido' | ||
- | return ' | ||
- | end | ||
- | |||
- | local targetNodeSet = sourceRecord: | ||
- | if ( targetNodeSet: | ||
- | local targetNode = targetNodeSet: | ||
- | while ( targetNode: | ||
- | local idUtente = targetNode: | ||
- | local idDiritto = targetNode: | ||
- | local risultatoAggiornamento = aggiornaRecord(idUtente , "/ | ||
- | targetNode = targetNodeSet: | ||
- | end | ||
- | end | ||
- | |||
- | end | ||
- | |||
- | function aggiornaRecord(idUtente , pathElementoDaAggiornare, | ||
- | |||
- | -- deactivate triggers | ||
- | xw.triggersOff() ; | ||
- | |||
- | local recordIsModified = false ; | ||
- | |||
- | local targetRecordSet = xw.executeQuery(' | ||
- | if ( targetRecordSet: | ||
- | local targetRecord = targetRecordSet: | ||
- | while ( targetRecord: | ||
- | recordIsModified = false ; | ||
- | targetRecord_LockResult = targetRecord: | ||
- | if ( targetRecord_LockResult == true ) then | ||
- | |||
- | local targetRecordRootNode = targetRecord: | ||
- | |||
- | local elementoDaAggiornare = targetRecord: | ||
- | if ( elementoDaAggiornare: | ||
- | elementoDaAggiornare: | ||
- | recordIsModified = true ; | ||
- | end | ||
- | |||
- | if ( recordIsModified ) then | ||
- | local outcome = targetRecord: | ||
- | if ( outcome <= 0 ) then | ||
- | targetRecord: | ||
- | xw.log.msg(' | ||
- | end | ||
- | else | ||
- | targetRecord: | ||
- | end | ||
- | else | ||
- | xw.log.msg(' | ||
- | end | ||
- | targetRecord = targetRecordSet: | ||
- | end | ||
- | |||
- | end | ||
- | |||
- | -- activate triggers | ||
- | xw.triggersOn() ; | ||
- | |||
- | return ' | ||
- | end | ||
- | |||
- | addAltreUORint = { | ||
- | addAltreUORint = addAltreUORint, | ||
- | addAltreUORint_signature = { | ||
- | outParms = {" | ||
- | } | ||
- | } ; | ||
- | </ | ||
- | |||
- | <wrap em> | ||
- | <code xml> | ||
- | <?xml version=" | ||
- | <cmd stored=" | ||
- | |||
- | <?xml version=" | ||
- | <cmd stored=" | ||
- | </ | ||
- | |||
/data/attic/documentazione_3di_riservata/docway4/script_utili.1505226737.txt.gz · Ultima modifica: 2017/09/12 16:32 da ncandelora