LOTUS开发技巧

  *同义名有什么用?
    在表单,视图,关键字中可以用同义名,主要用途是当你想在程序中用英文,而在取名或显示给用户用中文时,你可以用同义气名,用"|"来分隔,注意:可以使用多个同义名,notes会存取最右边的一个.

*如何做一个动态的windows title?
    在表单中的windows title的事件中写入一个公式,如想按用户的名字变,写上@username就ok了!要想按域变,写上域名就ok.

*怎样激活域帮助
    在域属性的选项属性中的帮助描述写入帮助信息,就可以。当光标在该域时,状态栏会自动出现帮助描述,注意如果没有看到,在操作栏上请选 查看---域帮助

*怎样做到关键字能自动增、减?
    在关键字属性中,选用公式,然后输入公式,公式用@dbcolumn函数返回视图中的值,这时就能做到关键字能自动增、减,不过有没有用的关键字。

*如何让用户必须填一些域,否则不准保存?
    @假设该域为name;在该Name域的input validation的事件中写入下列公式:@if(name="";@failure("please input your name");@success)

*怎样将一个数据库做成模板?
    有多种方法,这里介绍一种,在工作台选中一个要做模板的数据库,然后选择文件---数据库---新建拷贝,在弹出的对话框中将.nsf改为.ntf就ok了。

*怎样做到当光标从一个域移到另一个域,表单自动刷新?
    在该域所在的表单中选择表单属性中的缺省选项中"自动刷新域。

*怎样让用户保存文档时,域中的数值自动转化你想要的标准格式?
    假设该域为name;想把它转化为大写,在该Name域的input translation的事件中写入下列公式:@UpperCase(State),就可以具体的字符串的操作公式,请看本页的字符串操作。

*怎样在表单中控制某一个域让谁编辑?
    你可以把该域放到存取控制区段里,指定该区段的编辑者就只有该编辑者才能修改改域了。

*怎样控制区域布局中域,当使用tab时,光标的移动顺序?
    假设在区域布局中有a,b,c三个域,我想要它们光标移动的顺序为a,c,b.可以这样做,选中a域,选设计----置前,选中c域,选设计----置前,选中b域,选设计----置前.

*在视图中怎样做出主文档,答复文档,答复的答复层层缩进的效果?
    在视图属性中选"缩进一个层次显示答复文档"只代表文档有答复折叠的层次,但不能在视图中显示出来,为了做到层层缩进,我们必须另外开发,在视图中的前面做一列,选定列属性"仅显示答复文档",然后在该列的公式中写上如果是答复文档的话,该列显示什么,如果是答复的答复文档显示什么,就可以了然后调整各列的宽度就可以看到有缩进的效果。

*作者域、读者域介绍
    作者域是一个域类型为作者类型的域,它是用来控制文档的作者的。作者域不能控制到ACL编辑者以上的权限,拥有编辑者或编辑者以上权限的,不管该文档中的作者域是否有它。作者域只能控制作者或作者以下的权限。你只须将名字,角色,群组放到作者域的公式中就可以了。
    读者域是一个域类型为读者类型的域,它是用来控制文档的读者的。读者域能控制到ACL的任何权限,即使它是管理者。也就是说,只要读者域里没有他,即使他是管理者也不能看到该文档。编程方法同作者域。

*怎样定义一个域的宽度?
    在普通表单中,没有办法控制域的宽度(在notes上);但在区域布局中你可以随意拖动域的宽度。所以你要控制域宽度,你可以把它放到区域布局中。

*怎样激活表单继承属性
    在form1表单的属性中的缺省选项中选择继承整个文档到RTF域,并选择继承到哪个域。然后回到视图中选定用form2创建的文档创建文档(用form1表单)。你就可以看到用form1表单创建的文档中的RTF域中继承了form2创建的文档创建文档,它可以文档链接,也可以是整个文档,这个选择表单属性就可以了。

*怎样判断某一天所在周的最后一天
    @If(tdate != ""; @Adjust(tdate; 0; 0; @Modulo(8 - @Weekday(tdate); 7); 0; 0; 0); tdate)

*怎样计算两个日期域间有几周?
    diffDays := (EndDate - StartDate) / 86400 + 1;
    strtDay := @Modulo(@Weekday(StartDate); 7);
    endDay := @Modulo(@Weekday(EndDate); 7);
    result := (diffDays - endDay + strtDay - 8) * 5 / 7 - @Max(-2; -strtDay) - @Min(1; endDay) + 5 - strtDay + endDay

*怎样在公式里用Dos命令
    @Command([Execute]; "C:\\COMMAND.COM"; "/C DEL C:\\TEST.TXT")

*怎样截取@dblookup的错误信息
    TempVar := @DbLookup();
    @If(@IsError(TempVar); 'perform desired error response'; 'perform desired action on TempVar')

*怎样做到当文档有答复时,用邮件通知该文档的作者
1.在主文档,答复文档,答复的答复文档创建一个域:form,缺省值:@Name([CN];@Usernam
2.在答复表单创建一个域:parentform,缺省值(用继承)form
3.在答复的答复表单,创建一个域:"parentform"缺省值(用继承)
ParentFrom:from
4.在答复和答复的答复表单增加一个隐藏,显示时计算的"announce"域,公式是:@If(@IsDocBeingSaved;@Success;@Return(0));
List := @Trim(@Replace(ParentFrom;From;""));
@If(@Elements(List) > 0; @Success;@Return(0));
SendList := @Prompt([OKCANCELLIST]; "Mail Notify?"; "Send mail notification about your reply to ";"";List);
@If(@Elements(SendList) > 0; @Success;@Return(0));
@ MailSend(SendList; ""; ""; "Ref:" + OriginalSubject; ""; "My reply: "; [IncludeDoclink])

*怎样在notes.ini里将环境变量删除
    ENVIRONMENT environmental variable := ""; 或者 @SetEnvironment("environmental variable";"").

*在答复文档里如何修改主文档的值
    @SetDocField($Ref;"Field on Parent Doc";"value")
 
*怎样得到一个群组里有哪些成员
    @Name([CN];@DbLookup("";@Subset(@MailDbName;1) : "Names.nsf";"Groups";"YourGroupName"; "Members"))
1
<!--

-->
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值