LOTUS开发技巧

来源:互联网 发布:工业设计网络教育 编辑:程序博客网 时间:2024/06/05 18:22

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

*
如何做一个动态的windows title?
在表单中的windows title的事件中写入一个公式,如想按用户的名字变,写上@usernameok了!要想按域变,写上域名就ok.
  
*
怎样激活域帮助
在域属性的选项属性中的帮助描述写入帮助信息,就可以。当光标在该域时,状态栏会自动出现帮助描述,注意如果没有看到,在操作栏上请选 查看---域帮助
 
*
怎样做到关键字能自动增、减?
在关键字属性中,选用公式,然后输入公式,公式用@dbcolumn函数返回视图中的值,这时就能做到关键字能自动增、减,不过有没有用的关键字。

*
如何让用户必须填一些域,否则不准保存?
@
假设该域为name;在该Name域的input  validation的事件中写入下列公式:@if(name=""@failure("please input your name");@success)   
  
*
怎样将一个数据库做成模板?
有多种方法,这里介绍一种,在工作台选中一个要做模板的数据库,然后选择文件---数据库---新建拷贝,在弹出的对话框中将.nsf改为.ntfok了。
  
*
怎样做到当光标从一个域移到另一个域,表单自动刷新?
在该域所在的表单中选择表单属性中的缺省选项中"自动刷新域。
  
*
怎样让用户保存文档时,域中的数值自动转化你想要的标准格式?
假设该域为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"))

原创粉丝点击