Retrieving user list from Workflow Server onto Form


does know how list of workflow users list box on form? in workflow server designer 6.1, found in script assistant basicscript called jfusers.names says returns semi-colon delimited list of users, tried write list list box on form called "cbodistribution" putting following code on on open event of first task in workflow process:

task.setfielddata "cbodistribution", jfusers.names

however, when initiate process, workflow server gives me following message in browser:

the user record corresponding user number '{33}' not found. click here more information.

when click 'here' pops internet explorer message box saying "an internal error has occured."

i think need assign jfusers object, i'm not sure what. ideas?

thanks.

perry,<br /><br />i have not done in basicscript since jscript support arrived, understanding support basicscript removed. (not sure this, gave excuse move jscript.)<br /><br />there couple of ways this: <br /><br />firstly, using adobe workflow server driver , event (such button click or form load) build query on form populate list of users. method have used there loads of users, , need allow search functionality such people last name starting 'smith' or something. (but execute on server side, , server can secured appropriately.)<br /><br />secondly, when want prepopulate dropdown process map, there couple of things need aware of. <br /><br />you either use xfa interface , xml, , add list of users data model. (read datahandling.pdf more info on this, distributed workflow server 6.2 @ least)<br /><br />or (and assuming formserver forms, here, not work other types of forms) use script build string containing users, , store list in <fieldname>_items_ field. <br /><br />the names in list have separated string of ;!!; formserver uses internally.<br />so in case you'd put sting cbodistribution_items_ field.<br /><br />here sample jscript:<br />var key = new array();<br />var value = new array();<br />key[0] = "isenabled"; value[0] = "true"; //only include enabled participants<br />key[1] = "isoutofoffice"; value[1] = "false"; //only include in office<br />key[2] = "isparticipator"; value[2] = "true"; //only include allowed participate<br />//add other criteria required<br /><br />//find users match criteria<br />var oparticipants = directory.findallusers(key,value);<br />//check out how many returned<br />var snamecount =oparticipants.length; <br />var snamelist = "";<br />var = 0;<br />for (i==0;i<snamecount;i++)<br />{<br />     snamelist = snamelist + ";!!;" + oparticipants.item(i).name;<br />}<br />workitem.setfieldvalue("cbodistribution", snamelist);<br />//this include empty line @ top of list, , items not sorted.<br /><br />hope helps,<br />sanna


More discussions in LiveCycle pre-ES (6.x and 7.x) discussions


adobe

Comments