1,如何在代理中取得当前的用户名: dim sUser as string dim vUser as variant set doc = session.documentContext sUser = {@Username} vUser = Evaluate(sUser,doc) vUser(0)就是当前的用户名了 但这个代理必须设置成以Web身份运行的代理,
2,在代理中新增个文档,同时设置它的读者域 在表单中已经加入了一些相应域,一个读者域 strFormula = {@Unique("[Administrator]":Users)} vResult = Evaluate(strFormula, newdoc) newdoc.DocReaders = vResult '对读者域赋值 ‘下面这两 句是将文档中的读者域DocReaders,设成真正的读者域。 ’没有这两句文档的读者域的值在文档中是不会起作用的。 Set item = .GetFirstitem("DocReaders") item.IsReaders = True Call doc.Save(True,False)
3,在视图中加入对文档的操作按钮(如删除,修改) 在视图的最后一列中写如下的代码,通过这里实现动行一个代理,并传递一个参数给代理 "[<a href=\"DelFavorite?OpenAgent&UNID=" + UNID + "\">删除</a>]" 代理能过Query_String_Cecoded得到传进去的参数&UNID=XXXXXXXXXXXXXXXXXXXXXXXXXX(文档UNID) 代理这样写 Set db = session.CurrentDatabase Set nowdoc = session.DocumentContext Set view = db.GetView("AllDoc") sCond = nowdoc.Query_String_Decoded(0) '得到参数的字符串 sUnid = GetParamValue(sCond,"UNID") ’用这个函数,得到参数串中”UNID“的值 Set doc = view.GetDocumentByKey(sUnid) Call doc.Remove( True ) 4.在B/s中代理中如得到当前表单中列表框内的值 采用的方法是在表单中增加一个临时的文本域来存放列表框的值,初始是设为空,并设为允许多值 在点击按钮时,用Javascript将列表框中的值赋给文本域 代码: doc.FilesValue.value=doc.FilesValue.value+";"+doc.ListFiles.options[i].value; 代理 中就可以取FileValue的值了,这个值相当于一个数组。

|