做Lotus中的一些小技巧总结

2008-05-14 15:37:39.0     推荐:0    收藏:0    评论:0     来源:e800开发者频道
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条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: