技术开发 频道

做Lotus中的一些小技巧总结

    【IT168 技术文章】

    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,在视图中加入对文档的操作按钮(如删除,修改)

    在视图的最后一列中写如下的代码,通过这里实现动行一个代理,并传递一个参数给代理

    "[删除]"

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

0
相关文章