Strumenti Utente

Strumenti Sito


documentazione_3di_riservata:docway4:script_utili_6

Questa è una vecchia versione del documento!


eraseCustomSelect

Lo script è stato realizzato per cancellate l'elemento /doc/extra/customSelect1 da una selezione di documenti.

eraseCustomSelect.lua
local dbg = require 'xw.dbg' ({active=false, key='acl'})
local xw = require('extraway')
xw.addPackage("$.xwTools") ;
 
--[[-
--]]
function eraseCustomSelect(query)
	-- deactivate triggers
	xw.triggersOff() ;
 
	local outputXML = xw.prepareRecord("<report></report>") ;
	local outputMainNode = outputXML:selectFirstNode("/report") ;
	local recordIsModified = false ;
 
	local targetRecordSet = xw.executeQuery(query) ;
        xw.log.msg("Working on query: "..query.." records)")
	if ( targetRecordSet:isValid() and 0 < #targetRecordSet ) then
		local targetRecord = targetRecordSet:getFirst() ;
		while ( targetRecord:isValid() ) do
			recordIsModified = false ;
			targetRecord_LockResult = targetRecord:lock() ;
			if ( targetRecord_LockResult == true ) then
 
				local targetRecordRootNode = targetRecord:selectFirstNode("/doc", nil) ;
 
        local searchEraseCustomSelect = targetRecord:selectFirstNode("/doc/extra/customSelect1") ;
				if ( searchEraseCustomSelect:isValid() ) then
          searchEraseCustomSelect:erase()
          recordIsModified = true ;
        end
 
				if ( recordIsModified ) then
					local outcome = targetRecord:save() ;
					if ( outcome <= 0 ) then
						targetRecord:unlock() ;
						xw.log.msg('save error') ;
					end
				else
					targetRecord:unlock() ;
				end
			else
				xw.log.msg('lock error') ;
			end
			targetRecord = targetRecordSet:getNext() ;
		end
 
	end
 
	-- activate triggers
	xw.triggersOn() ;
 
	return 'true' ;
end
 
eraseCustomSelect = {
	eraseCustomSelect = eraseCustomSelect,
	eraseCustomSelect_signature = {
	    inParms = {"query"},
		outParms = {"result"}
	}
} ;

Per l'esecuzione lo script deve essere copiato nella directory /opt/3di.it/extraway/xwee/script ed avviato tramite il seguente xmlcommand:

<?xml version="1.0" encoding="ISO-8859-1"?>
<cmd stored="$.eraseCustomSelect.eraseCustomSelect">
  <query>query in linguaggio xw</query>
</cmd>
/data/attic/documentazione_3di_riservata/docway4/script_utili_6.1505730226.txt.gz · Ultima modifica: 2017/09/18 12:23 da ncandelora