做lotus中的一些小技巧总结

类别:编程语言 点击:0 评论:0 推荐:

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的值了,这个值相当于一个数组。

本文地址:http://com.8s8s.com/it/it23743.htm