LOTUS学习技巧 一

1、 notes同关系型数据库比较 
关系型数据库 lotus notes 
基于事务处理模型 基于文档型 
使用结构化数据 使用半结构数据元素(丰富文本,图片,等) 
提供实时访问数据 使用复制来增加或减少文档(按修改) 
使用特别的queiries定位数据 使用视图定位数据 
集中在一个企业内部 在企业与企业间 
使用sql来访问 使用全文检索来访问 

2、什么应用不适合notes 
1.实时的数据处理 
2.大于4g的数据库(r5增加到64g) 
3.基于query和基于报表 
4.复杂计算 

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

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

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

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

7、各种域类型区别介绍? 
域类型 何时变化 
计算型 当文档创建,存盘,刷新时计算,并保存在文档中 
显示时计算 当文档打开编辑,读或刷新时计算,不保存在文档中 
创建时计算 当文档被创建时,仅此计算一次,并保存在文档中。 

8、主文档、答复文档、答复的答复文档介绍 


类别 描述 
文档 用来创建主文档,不依附其他的文档 
答复 用来答复主文档,依靠主文档,在层次视图里有同主文档有缩进关系 
答复的答复 
可以用来答复主文档,也可以答复答复的答复文档,同它的父文档有缩进关系。 
注意:答复文档无论选定的是主文档,还是答复文档,还是答复的答复文档,都是针对主文档答复的. 

9、 如果让用户必须填一些域,否则不准保存? 
@假设该域为name;在该name域的input validati input your name");@success) 

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

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

12、怎样让用户保存文档时,域中的数值自动转化你想要的标准格式? 
假设该域为name;想把它转化为大写,在该name域的input translati 

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

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

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

16、acl中的安全介绍 
访问级别 功能 
管理者 能修改acl和复制设置,在本地加密一个数据库,删除一个数据库,能执行比它低级别的任何任务。 
设计者 能修改所有的设计元素,创建全文索引,能执行比它低级别的任何任务。 
编辑者 能创建文档和编辑文档 
作者 能创建和编辑在作者域中有她名字的文档 
读者 能读文档,但不能创建和编辑文档 
存放者 能创建新文档,但不能读到任何文档,即使是他自己创建的 
不能存取者 不能访问数据库 

17、 公式学习: 

变量 

变量有两种类型:域,临时变量,你可以在公式中使用域名作为变量如:firstname 

临时变量只能存在于公式中。它的作用范围就是它所在的公式,除了在公式中赋予给它的属性以外没有其他属性。创建一个临时变量的语法是:variablename := value 


常量 
常量类型 描述 
文本型 用""标记的字符集,如:"joe.",注意:为了在文本串中用引号,用转义符"",如:"" 
数字型 数字0-9,能用(+和-),科学记数法和常量e 

时间型 任何时间型的常量用([]),如:[98-2-31] 

公式关键字 
关键字语法 
field fieldname:=value :赋一个值给当前notes文档中的域,如果域不存在则创建一个,存在则覆盖该值。 
field companyname:=company+"。inc" 

rem ["remarks"]: 注释 
rem "12/15/95" 

select logicalvalue: 在视图,代理或复制公式中用来定义一个文档集 
select form="idea" 

字符串处理函数介绍? 

@propercase(string) 
将字符串中的单词转换成字首大写的形式:每个单词的头一个字母大写,后面的其他字母小写。以下的样例将返回 every child loves toys. @propercase("every child loves toys") 

@trim(strin) 
从文本字符串中(或文本列表的每一个元素中)删除位于开头和结尾的空格,同时还删除多余的空格。以下的样例将返回 robert smith。@trim(@uppercase("robert smith")) 

@length(string) 
返回文本字符串中字符的个数.该样例返回 45。@length("the boy crossed the wide, but gentle, stream.") 

@newline 
在文本字符串中插入一个新行(回车)。下面公式返回 hi there "hi"+@newline+"there" 

@matches(string;pattern) 
用一个样本字符串去匹配一个字符串。因为样本字符串可以包含一定数量的通配符和逻辑符号,所以可以用较复杂的模式去匹配字符串。该样例返回 0。 @matches("a big test";"a?test") 

@left 
从左到右搜索字符串,并返回字符串中最左边的几个字符。 该样例返回"len"。 @left("lennard wallace";3) 



逻辑操作 

@if 
@if(c 

如果满足条件1,则做action1,如果满足条件2,则做action2,否则做else-action. 
注意: 1.该函数必须有奇数个参数。 
2.总共可以加99个条件 
3.可以嵌套 

日期操作 

@created 
返回创建此文档时的时间-日期值。 

@adjust(time-date; year;m m ;sec 
按照指定的年、月、日、小时、分钟、秒来调整指定的时间-日期值。调整的值可正可负。 
以下的样例将返回 09/2/97。 @adjust([06/30/95];2;2;2;0;0;0) 

@today 
返回当天的日期。 

@m 
从指定的时间-日期中提取月份值 
该样例返回 1。 @m 

@weekday(time-date) 
算出一周中的某一天,返回一个表示这一天的数字。 
下面样例返回 5(实际是星期六)。 weekday([9/29/88]) 

@tomorrow 
返回明天日期的时间-日期值。 

算术操作 

@max(number;number) 
给出两个数字,返回较大的那个数字。 
下面样例返回 99;6;7;8 @max(99:2:3;5:6:7:8) 

@max(number;number) 
给定两个数字,返回较小的那一个。 
以下的样例将返回 5;2;3;3 @min(99:2:3;5:6:7:8) 

@round(number) 
将指定的数字归整,结果为最接近它的一个数 
该样例返回 1 @round(1.499) 

@round(number;factor) 
如果还指定了另外一个数字,就用它作为规整因子 
如果称做 numberofemployees 的域值是12338,则该样例返回12340 
@round(numberofemployees;10) 

@sum(num;num;) 
在一组数字或数字列表中进行加法运算。 
以下的样例将返回 3 
@sum( 1 : 2 ) 



列表操作 

@elements(list) 
计算列表中文本、数字、时间-日期的个数。该函数总是返回数字以指明在列表中项目的个数。如果 salesforce 域中的列表是 "rogers" : "binney" : "harris" : "lars 4。" @elements(salesforce) 

@max(list;list) 
给出两个数字列表,返回较大的那个数字列表。 

@member(value; stringlist) 
给定一个值,在文本列表中找到该值的位置。 
下面样例返回 0。 @member("sales"; "finance":"service":"legal")" 

@subset(list;number) 
从左到右搜索一个列,并返回您所指定数量的值。如果您指定了一个负数,@subset 将从右到左搜索,但结果却是按从头到尾的次序排列。 
以下的样例将返回 new orleans;l @subset("new orleans":"l 2) 


数据转换 
@text(value) 
将任意值转换成文本字符串。 如:@text(retailprice) 
@texttonumber(string) 
在可能的情况下,将文本字符串转换成数字。如 @texttonumber("32.95") 

特殊函数 

@username 
返回当前的用户名或服务器名。 

如果用户名是层次结构名, @username 将以规范格式返回(其中包含 cn、ou、o 和 c 标识符)。 如果如果要返回缩写格式的名字(忽略标识符),请使用 @v3username。 


@name([acti 
用来裁剪层次结构名。可以用它将标准格式的名称进行缩写,将缩写名称扩展为它的标准格式,在名称中找到某一个部分,掉转部件的顺序以便用层次名称为一个视图分类。 如:@name([cn];author) 

@allchildren 
包含父文档的所有满足选择标准的"答复"文档。 

@alldescendants 
包含所有满足选择标准的父文档的答复文档以及答复的答复文档。 

@isresp 
判断某个文档是否为答复文档。 

@isnewdoc 
对于一个正在编辑的文档,指出该文档是否已经存盘 

@istext(value) 
判断某个值是否为文本(或文本列表)。 

@isnumber(value) 
判断某个值是否为一个数字(或数字列表)。 

@failure(string) 
返回您给出的消息;当用于输入确认校验时,若输入的数值不符合校验条件,@failure 将显示您给出的消息。 
如:这个样例给出了输入校验公式。如果用户在"areacode"域中输入了大于 999 的数字,则返回一条错误信息"area codes have 3 digits"。 @if(areacode<999;@success;@failure(area codes have 3 digits") 

@success 
返回 1(真)。在输入检查公式中将该函数与 @if 一起使用可以判断输入的值是否满足检查条件。如:当"price"域中的值小于100 时,以下的样例将返回 1 并允许文档保存。在输入检查公式中表示输入的数据正确。 @if(price<100;@success;@failure(price too large") 


作者域、读者域介绍 

作者域是一个域类型为作者类型的域,它是用来控制文档的作者的。作者域不能控制到acl编辑者以上的权限,拥有编辑者或编辑者以上权限的,不管该文档中的作者域是否有它。作者域只能控制作者或作者以下的权限。你只须将名字,角色,群组放到作者域的公式中就可以了。 

读者域是一个域类型为读者类型的域,它是用来控制文档的读者的。读者域能控制到acl的任何权限,即使它是管理者。也就是说,只要读者域里没有他,即使他是管理者也不能看到该文档。编程方法同作者域。 


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


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


常用保留域介绍 
notes 提供了预定义的域,可以使用它们来自动添加一些只有自己编程才能实现的功能。这些域名在 notes 中是保留的。如果想使用不同的保留域名称或者重新定义该域,notes 将显示错误消息。也就是说你在表单中放置同名的域,表单会自动完成一些功能,如:我加一个叫mailopti 

邮递文档的保留域 

保留域名称用途 

mailopti 
由用户决定是否邮递文档 

saveopti 
控制文档在邮递时是否保存 

sign 
创建者签名文档防止损害 

encrypt 
加密邮件sendto将邮件发送给本域列出的用户 

copyto 
将邮件的拷贝发送给本域列出的用户 

blindcopyto 
将邮件的隐藏拷贝发送给本域列出的用户 

deliverypriority 
分别以"高"、"中"、"低"的优先级邮递邮件 

deliveryreport 
当邮件邮递给收件人时返回一个报告 

returnreceipt 
当收件人阅读邮件时返回回执 

mailformat 
通过 cc:mailtm 邮递邮件 


通用的保留域 
保留域名称用途categories分类文档$versi encrypti 


怎样判断某一天所在周的最后一天 
@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 resp '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 envir variable := ""; 或者 @setenvir variable";""). 


在答复文档里如何修改主文档的值 
@setdocfield($ref;"field on parent doc";"value") 


怎样得到一个群组里有哪些成员 
@name([cn];@dblookup("";@subset(@maildbname;1) : "names.nsf";"groups";"yourgroupname"; 

"members")) 













本文转自群亮51CTO博客,原文链接: http://blog.51cto.com/tql/5374,如需转载请自行联系原作者




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 选取视图的列的内容 @Trim @DbColumn 6 2. 隐藏判断常用的命令 6 3. 判断当前用户是否是“某个组”的成员,然后来显示和隐藏 6 4. 在Lotus Domino 中显示图 6 5. 链接JS文件 6 6. 删除文档的方法 7 7. $$return 域的使用 8 8. 将表单设计为视图或导航器模板 9 9. 为 Web 定制“表单已处理”确认信息 10 10. 定制出错信息 11 11. $$HtmlHead几种常用的技巧 11 12. Domino Designer 模板表 12 13. 角色判断 13 14. 判断文档是否正在被修改 13 15. 在只读的方式下返回($$return 13 16. 刷新表单 14 17. 怎样在文档里存照片? 14 18. 后台lotusscript如何取得前台表单中复选框所选择的项目列表(b/s结构) 15 19. 试图的列公式:附件下载 15 20. 有没有好一点的分页处理代码 16 21. 同一用户重复登录 18 22. Return to sender 19 23. Agent to copy values from 1 form to another 在同一个数据库中进行 22 24. 超越OLE – 通过COM结合MS Office与Notes应用 23 25. 读写关系数据库资料 28 26. 视图---excel,表单---word 32 27. 关于Web上的检索问题 35 28. 如何使用Notes与关系数据库进行信息交互? 37 29. 如何在IE里面实现notes中的 对话框列表? 39 30. LotusDomino环境下编写Web浏览器多数据库检索程序 40 31. WINAPI函数 44 32. 用PowerBuilder访问Lotus Notes数据库 55 33. 如何在表单中加入计数器 58 34. 实现两个数据库间的数据追加 C/S 结构 60 35. 如何防止他人使用旧id和旧口令访问Domino服务器? 61 36. 在你的WEB站点上使用DOMINO群集 62 37. 在你的DOMINO WEB站点中插入.SWF文件 73 38. DOMINO R5的域搜索功能在WEB上的实现 77 39. Display Rich Text fields in a view 86 40. Auto-Launch a file attachment 87 41. Showing a response count without showing the responses 89 42. 常用的几个按钮收集 91 43. 在WEB上从视图删除文档技巧 93 44. 在Domino Designer中使用XML数据 96 45. 在Domino Designer上执行XML 100 46. Show single category view, the next stage 107 47. Checkboxes in a list box 108 48. Formatting a Notes view in HTML table for WEB 109 49. Jump to the end of a view (web agent) 111 50. Disabling actions until a page finishes loading 114 51. Web-based, fully customizable search 115 52. 从复选框中删除文档Deleting selected docs on Web 120 53. Debugging LotusScript Agents 121 54. Displays the contents of the Subject field in the first document in theExamples view. 124 55. Example: GetLastDocument method 125 56. Examples: GetNextDocument method 125 57. Example: GetFirstDocument method 126 58. Examples: FTSearch method 127 59. Examples: DeleteDocument method 128 60. Example: Deleting a document 129 61. Example: Creating a document 129 62. Examples: Locating documents within a view or folder 130 63. Example: Adding a document 135 64. Export to Excel 136 65. 连接ODBC 138 66. 特效 140 67. notes和Excel交换数据 141 68. NOTES的ODBC:(LS:DO) 142 69. Managing JavaScript "popup" windows 第一稿 144 70. HEAD元素使用集锦 147 71. 主页javascript特效19则 148 72. 关于创建、删除、编辑、打开和保存文档的 URL 命令 156 73. Domino URL 命令 158 74. 在打开有下面这段代码的页面时将会跳出一个468x60大小的小窗口 160 75. javascript的容错脚本 161 76. Web search with JavaScript 162 77. 如何防止他人使用旧id和旧口令访问Domino服务器 164 78. Fixing the Domino CheckBox Bug 165 79. Managing JavaScript "popup" windows 172 80. Quick, easy, foolproof field level help 175 81. Quick edit document link 176 82. Managing JavaScript "popup" windows 178 83. Svg: Pie-Eyed 181 84. Recebt Entries 182 85. Xin Calendar Mods 183 86. 答复文档 186 87. 公式语言 187 88. Resuable way to get URL parameters into fields 199 89. JSHeader 使用 201 90. JavaScript 帮助 201 91. Examples: Collecting documents by searching 207 92. 关于DOcumentContext 的属性 209 93. About data types 关于lotus Domino 的数据类型 210 94. CLng function 212 95. Using the DOM to replace "No documents found" 213 96. What you need and want to know about errors 217 97. Processing multiple documents from a view 221 98. Forcing attachments to always download 225 99. ODBCExample: GetValue method 247 100. ODBCResultSet class 248 101. Create a "Login" anchor link 251 102. 分类视图的开发技巧 253 103. 公式语言 255 104. Copy documents from one database to another 267 105. 定制搜索表单 268 106. UserName的属性及使用 275 107. Dynamic Content for Popup Windows 277 108. Shortcut when printing from a Java Agent 278 109. Lotus Script: Write # statement 279 110. Lotus Script: Input # statement 280 111. 使用代理生成 XML 284 112. 使用视图生成 XML 286 113. 执行算术运算 288 114. Keep URLs simple by making them relative 292 115. Quick, easy, foolproof field level help 294 116. Hiding attachments (without noscript tag!) 295 117. Listing search results in groups 296 118. 如何在表单中加入计数器? 300 119. 怎样限制一个WEB用户只有登陆才能使用数据库 302 120. Complete control when printing HTML from an agent 304 121. Simple multi-lingual forms using Domino 306 122. Stop double form submissions 308
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值