@If的用法
判断当前文档是否正在编辑中,如果不在,则执行编辑
@If(@IsDocBeingEdited;"";@Command([EditDocument]));或
@If(@IsDocBeingEdited; @True;@Command( [EditDocument] ; 1));
@DocLock([Lock])
判断当前文档是否要送审,如果要,则进入下一审核,否则返回编辑状态
@If(@Prompt([YesNo]; "送审"; "您真的要送审吗?")=1;"";@Return(""));
限制在一定时间段不能使用
@If(((h>8&h<12)|(h>=14&h<17)|(h=8&m>=30&m<=60)|
(h=17&m>=0&m<=30));@Do(@Prompt([Ok];"提示";"此时间段(8:30--12:00、
14:00--17:30)暂停使用");@Return(""));@Success);
判断附件是否大于30M
temp:=@Integer(@AttachmentLengths/(1024*1024));
@If(@Sum(temp)>30;@Do(@Prompt([Ok];"警告";"您的附件已超出规定的大小(
30M)");@Return(""));@Success);
新建文档
@If(@IsNewDoc;"新建出差杂费明细表";"出差杂费明细表")
如果读者为空,则提示"请填写读者"
@If(yallreaders="";@Do(@Prompt([Ok];"警告";"请填写读者");@Return
(""));@Success);
@Prompt的用法
求3+4*5的值
@Prompt([Ok]; "3 + 4 * 3"; @Text(3 + 4 * 3));
@PostedCommand的用法
保存文件
@PostedCommand([FileSave]);
@command的用法
@Command([FileCloseWindow])关闭窗体
@Command( [EditDocument]; "1")编辑文档
@Command([NavigatePrev])上一帖
@Command([NavigateNext])下一帖
@Command([Compose];@MialDbName:"Memo")在用户的邮件上创建一个新的
便笺
把按钮的值传给域
@Command([ViewRefreshFields]);
@Command([MailAddress];"yauditor1")
创建新的主题
@Command([Compose]; ""; "MainTopic")
在韦斯切斯特目录服务器里的reps.nsf数据库上创建一个新的用户信息
@Command([Compose]; "SALES//nyoffice" : "Westchester\REPS.NSF";"Client
Information")
链接到当前服务器下的某个数据库
@Command([FileOpenDatabase];@Subset(@DbName;1):"NEWOA\officefixing.nsf")
@text的用法
如果salse的值为800,则返回值为$800.00
@Text(Sales;"C,2")
返回04/11/93 10:43 AM
@Text(@Now)
返回 04/11
@Text(@Now;"D1S0")
返回10:43:30 AM
@Text(@Now;"D1S1")
返回04/93 10:43 AM
@Text(@Now;"D3T1")
@Unique的用法
返回red; green; blue,注意大小写
@Unique("red":"green":"blue":"green":"red")
@DbLookup用法
将newoa下人员配置表下的人员与域绑定
@DbLookup("": "NoCache" ;yservername:"newoa\db_renyuan.nsf";"v_renyuan" ; "20"
;11)
根据部门查找当前部门的领导
@DbLookup("" : "NoCache" ; yservername : "bbk\groups.nsf" ;"Groups" ;"#"+ydep;3)
将当前数据库下人员配置表的人页与域绑定
@DbLookup("": "NoCache" ;@DbName; "v_renyuan" ; "4" ;3)
根据当前用户查找其所在部门
@DbLookup("": "NoCache" ;@Subset(@Name
([CN];@DbName);1):"names.nsf";@DbColumn("": "NoCache";@Subset(@Name
([CN];@DbName);1):ymaindatabase;"v_systemvar"; 5); @Name
([CN];@UserName);4)
说明:@DbColumn("": "NoCache" ;@Subset(@Name
([CN];@DbName);1):ymaindatabase;"v_systemvar"; 5);表示查找当前数据库
下"v_systemvar"视图的第5列下的数据,
其中ymaindatabase是一个域值,其值为@LeftBack( @Subset(@Name
([CN];@DbName);-1) ;"\")+"\\"+"OAMAIN.NSF"
所以整个公式表示查找"names.nsf"数据库下的当前用户所在的部门
取得当前数据库的系统时间
temp1:=@Text(@DbLookup( "" : "NoCache" ; "oa-a" :"koa\kbbgoa.nsf" ;
"serverdatetime" ;"a" ; 3));
h:=@TextToNumber(@Left(temp1;2));取得小时
m:=@TextToNumber(@Middle(temp1;3;2));取得分钟
@IsMember的用法
当前人为AD或ADMIN则显示
!@IsMember(@Name([CN];@UserName);"AD":"ADMIN")
当前处理人为yauditor,状态为"b"时显示
!(@IsMember(@Name([CN];@UserName);yauditor) &yStatus1="b")
@Subset的用法
取得当前服务器名
@Subset(@DbName;1)
@name的用法
取得当前用户
@name([cn];@username)
leftback的用法
@leftback("learnwallmod";3)返回learn wall
@leftback("learn wall";"")返回learn
@trim的用法
@Trim(@Name([CN];yapprover)) 去除yapprover两侧的空格
Lotus Notes 公式函数集2
A
@Abs 返回一个数字的绝对值(无符号值)。
@Abstract 英文缩写,中文无效
@Accessed 指出最后一次访问(即读取或编辑)该文档的时间和日期。
@Acos 使用角度的余弦,计算反余弦。
@AddToFolder* 将选定的文档移动到另一个文件夹中
@Adjust 调整指定的时间-日期值。调整的值可正可负。
@All 返回值“True”。
@AllChildren 包含父文档的所有满足选择标准的“答复”文档。
@AllDescendants 包含所有满足选择标准的父文档的答复文档以及答复的答复
文档。
@Ascii 将一个LMBCS(Lotus 多字节字符集)字符串转换成一个ASCII字符串。
@Asin 使用角度的正弦,计算反正弦。
@Atan 使用角度的正切,计算反正切。
@Atan2 使用角度的 y/x 正切,计算反正切。
@AttachmentLengths 返回表示当前文档中各个附件长度的数字或数字列表。返
回的数字只是近似值;与附件的实际大小可能稍有差距。
@AttachmentNames 返回附加到文档中的文件的操作系统文件名。如果附加了
多个文件,则返回一个多值文本列表。
@Attachments 返回附加到文档中的文件数目。
@Author 返回包含文档姓名的文本列表。
B
@Begins 确定一个指定的子串是否保存在另一个字符串的开头。
@BrowserInfo* 返回浏览器类型
C
@Certificate 确定一个指定的子串是否保存在另一个字符串的开头。
@Char 将 IBM Code Page 850 的代码编号转换成对应的字符串。
@CheckAlarms 触发闹铃守护程序检查邮件文件中是否有新的闹铃信息。
@ClientType 返回文本字符串以从 Web 客户机中区分 Notes 客户机。
@Command 执行一个 Notes 命令。
@Contains 确定某个子串是否包含在一个字符串中。
@Cos 余弦函数。
@Created 返回创建此文档时的时间-日期值。
D
@Date 将数字转换成时间和日期的不同部分;然后返回时间-日期值。
@Day 从指定日期值中提取天的部分。
@DbColumn (Notes) 从 Notes 数据库的视图或文件夹里查找并返回一个完整的
列值。
@DbColumn (ODBC) 使用数据源信息激来激活 ODBC 驱动程序。
@DbCommand (ODBC) 利用ODBC.INI 文件中的数据源信息来激活 ODBC 驱
动器。
@DbExists 给定一个服务器和文件名,或复本标识符,查明该数据库是否存在
。
@DbLookup (Notes) 给定一个值,在一个指定的视图(或文件夹)里查找视图
里的第一个排序列里包含该值的所有文档。
@DbLookup (ODBC) 使用 ODBC.INI 文件里的数据源信息激活恰当的 ODBC
驱动器。
@DbManager 返回当前对数据库有“管理者”权限的用户、群组和服务器的列表
。
@DbName 返回当前 Notes 服务器和数据库的名称。
@DbTitle 返回当前数据库的标题。
@DDEExecute 将指定的命令串传递给由一个对话标识符标识的 DDE 应用程序
@DDEInitiate 初始化与 DDE 服务器的一个对话,并返回该对话的标识符。
@DDEPoke 将未申请的数据存储到 DDE 服务器应用程序中的特定位置。
@DDETerminate 中止与 DDE 应用程序的对话。
DEFAULT 为域指定值。
@DeleteDocument 在代理中运行时此函数时,删除正在被处理的文档。
@DeleteField 在代理中运行该函数,@DeleteField 将删除指定的域。
@DialogBox 弹出一个对话框,用指定的表单显示当前的文档。
@Do 从左到右计算表达式,并返回列表中最后一个表达式的值。
@DocChildren 用在列公式或窗口标题公式中,返回当前文档(或分类)下的
子文档(或子分类)的个数。
@DocDescendants 在一个列公式或窗口标题公式中返回属于当前文档或分类
的子文档或子分类的数目。
@DocFields 返回文档中所有域的列表。
@DocLength 返回文档的字节数。
@DocLevel 返回表示文档或分类级别的字符串。
@DocMark 在运行公式的代理中,表明您是否想保存对文档的改变。
@DocNumber 在列公式或窗口标题公式中,返回一个代表当前文档或分类的
项目编号的字符串。
@DocParentNumber 在一个列公式或窗口标题公式中,返回一个字符串,它表
示一个视图项目的上一层项目的编号。
@DocSiblings 在列公式或窗口标题公式中,返回一个字符串,它表示与某个
视图项目(文档或分类)处于同一级的项目的个数。
@DocumentUniqueID 在数据库的多个复本中用来唯一标识某个文档。
@Domain 返回 NOTES.INI文件里当前用户的 Notes 网络域名。
E
@EditECL 为指定的通讯录和名称显示“工作站安全性:执行控制列表”对话框
。
@EditUserECL 为指定的通讯录和名称显示“工作站安全性:执行控制列表”对
话框。
@Elements 计算列表中文本、数字、时间-日期的个数。
@EnableAlarms 启动或停止后台警告守护进程。
@Ends 确定子串是否在字符串的后面。
ENVIRONMENT 设置环境变量并存储在用户的 NOTES.INI 文件里。
@Environment 设置或返回存储在用户 NOTES.INI 文件中的环境变量。
@Error 允许您在表达式中产生错误条件。
@Exp 计算以 e 为幂,以指定的数为指数的值。
@Explode 返回由文本串或日期范围中的元素所组成的文本列表。
F
@Failure 当用于输入确认校验时,若输入的数值不符合校验条件,@Failure 将
显示您给出的消息。
@False 返回数字 0。
FIELD 改变已有域的内容或创建新的域。
@Fontlist* 列本地机器的所有字体
G
@GetDocField 给定唯一的文档标识符,返回文档中某个域的内容。
@GetPortsList 返回激活或禁止的端口的列表。
@GetProfileField 从简要表文档中获得域,并缓存这个域的值,以备会话使用
。
H
@Hour 返回时间-日期中的小时部分。
I
@If 根据条件执行操作
@Implode 连接文本列表中的成员,并返回文本字符串。
@InheritedDocumentUniqueID 当前文档继承的父文档的唯一标识符。
@Integer 将数字或数字列表截断成一个整数,去掉其小数部分。
@IsAgentEnabled 判定定时运行的代理是否有效。
@IsAvailable 查找文档中是否存在某个域。
@IsCategory 在列公式中,如果视图中某一行为一个分类,则返回指定的字符
串。
@IsDocBeingEdited 检查文档的当前状态,如果文档正在被编辑,则返回 1
(True);否则返回 0 (False)。
@IsDocBeingLoaded 查看文档的当前状态,如果文档正被装入内存并显示,则
返回 1 (True);否则返回 0 (False)。
@IsDocBeingMailed 检查文档的当前状态,如果文档正在被邮寄,则返回 1
(True);否则返回 0 (False)。
@IsDocBeingRecalculated 检查文档的当前状态,如果文档中的公式正在被计算
,则返回 1 (True);否则返回 0 (False)。
@IsDocBeingSaved 检查文档的当前状态。如果正在保存文档,则返回 1 (True)
;否则返回 0 (False)。
@IsDocTruncated 说明当前文档是否被截短过。
@IsError 如果数值是一个 @ERROR 值,则返回 1 (True),否则,返回 0 (False)
。
@IsExpandable 在列公式中,如果视图中的某一行是可展开的,则返回某个特
定的字符串。
@IsMember 指出一段文本(或文本列表)是否包含在另外一个文本列表中。
@IsModalHelp 说明当前文档是否为一个模态帮助文档。
@IsNewDoc 对于一个正在编辑的文档,指出该文档是否已经存盘。
@IsNotMember 判断一段文本(或文本列表)是否不包含在另一个文本列表
中。
@IsNumber 判断某个值是否为一个数字(或数字列表)。
@IsResponseDoc 判断某个文档是否为答复文档。
@IsText 判断某个值是否为文本(或文本列表)。
@IsTime 判断一个值是否为时间-日期值(或时间-日期列表)。
@IsUnavailable 判断域名是否存在于文档里。
@IsValid 在当前表单执行所有检验公式。
K
@Keywords 给定两个文本列表,返回第一个列表和第二个列表之间重叠的部
分。
L
@LanguagePreference* 返回语言设置
@Left 从左到右搜索字符串,并返回字符串中最左边的几个字符。
@LeftBack 从右至左搜索字符串并返回子串。
@Length 返回文本字符串中字符的个数。
@Like 将字符串和样本串进行匹配。
@Ln 返回一个自然对数。
@Locale* 返回语言名称
@Log 返回大于 0 的数的常用对数(以 10 为底)。
@LowerCase 将指定字符串里的大写字母转换成小写。
M
@MailDbName 返回 Domino 服务器的名称和当前用户的邮件数据库的名称。
@MailEncryptSavedPreference 判断用户是否在“用户惯用选项”对话框选择了“加
密保存的邮件”。
@MailEncryptSentPreference 判断用户是否在“用户惯用选项”对话框中选择了“
加密发送邮件”。
@MailSavePreference 判断用户在“用户惯用选项”对话框中,选择了“保存发送
的邮件” 中的哪个选项。
@MailSend 将当前文档邮寄
@MailSignPreference 判断用户是否选择了“用户惯用选项”对话框的“签发邮件”
。
@Matches 用一个样本字符串去匹配一个字符串。
@Max 给出两个数字,返回较大的那个数字。
@Member 给定一个值,在文本列表中找到该值的位置。
@Middle 从一个字符串的中间部分返回一个子串。从左向右扫描,
@MiddleBack 从一个字符串中间部分返回一个子串。从右向左扫描,
@Min 给定两个数字,返回较小的那一个。
@Minute 从时间-日期中提取分钟数值。
@Modified 表示文档最近一次编辑和保存的时间。
@Modulo 返回除法操作的余数。
@Month 从指定的时间-日期中提取月份值。
O
@OptimizeMailAddress 给定一个邮件地址,删除其中不必要的网络域。
P
@Password 密码字符串。
@Pi 返回常量 p,精确到 15 个小数位。
@PickList 显示一个模态窗口,包括视图、地址等
@Platform 返回当前 Notes 运行的平台版本。
@PostedCommand 执行一条 Notes 命令。
@Power 求一个数的幂值。
@Prompt 显示一个对话框,并根据用户的操作返回一个文本值。
@ProperCase 将字符串中的单词转换成字首大写的形式:每个单词的头一个
字母大写,后面的其他字母小写。
R
@Random 产生一个 0 和 1 之间的随机数,包含 0 和 1。
@RefreshECL 从指定的通讯录和名称中,将管理执行控制列表拷贝到用户的
个人工作站 ECL 中。
REM REM 关键字允许您给公式增加解释性的注释。
@Repeat 以指定的次数重复某字符串。
@Replace 在文本列表中执行查找/替换操作。
@ReplaceSubstring 用指定的新单词或新短语代替字符串中的某个单词或短语
。区分大小写。
@Responses 返回文档的答复文档的(在当前视图中)个数。
@Return 立即停止公式的执行并返回指定的值
@Right 返回字符串最右边的字符。
@RightBack 返回字符串中最右边的字符。
@Round 四舍五入求整
S
@Second 从指定的时间-日期中,提取并返回秒值。
SELECT 定义文档的选择条件。
@Select 返回列表中某个位置编号上的值。
@Set 为临时变量赋值。
@SetDocField 给定一个文档的唯一标识符,设置此文档中的某个域的值。
@SetEnvironment 在用户的 NOTES.INI 文件中,设置并保存一个环境变量。
@SetField 为文档中的某个域赋值。
@SetProfileField 在简要表文件中设置域值。
@SetTargetFrame* 设置目标框架
@Sign 判定一个数是正数、负数还是零。
@Sin 给定一个用弧度表示的角度,返回该角度的正弦值。
@Soundex 返回某指定字符串的 Soundex 码
@Sqrt 返回一个数字的正平方根。
@Subset 从左到右搜索一个列,并返回您所指定数量的值。
@Success 返回 1(真)。
@Sum 在一组数字或数字列表中进行加法运算。
T
@Tan 给定某个角度的弧度值,返回该角度的正切值。
@Text 将任意值转换成文本字符串。
@TextToNumber 在可能的情况下,将文本字符串转换成数字。
@TextToTime 将文本字符串转换为时间-日期值。
@Time 将时间和日期的组成部分转换成数字;然后返回时间-日期值。
@Today 返回当天的日期。
@Tomorrow 返回明天日期的时间-日期值。
@Trim 从文本字符串中(或文本列表的每一个元素中)删除位于开头和结尾
的空格。
@True 返回数字 1。该函数等效于 @Yes。
U
@Unavailable 使用本函数删除某个域。
@UndeleteDocument
@Unique 不带参数时,返回一个随机的、唯一的文本值。
带有参数时,则删除列表中有重复的元素。
@UpperCase 将指定字符串里的小写字母转换为大写。
@URLGetHeader 从 URL 中返回指定的超文本传输协议 (HTTP) 的标题信息。
@URLHistory 用于查找、保存和重新加载一个 URL 历史记录。
@URLOpen 提取一个由 URL 指定的 W.W.W 页面。
@UserAccess 给定一个服务器和文件名,指出当前用户对这个数据库的存取
级别。
@UserName 返回当前的用户名或服务器名。
@UserNameLanguage 返回代表当前用户权限的文本列表。
@UserNamesList
@UserPrivileges
@UserRoles 返回当前用户具有的角色的列表。
V
@V2If 这个函数执行一个 @If 操作;其语法和 @If 的语法一样。
@V3UserName 返回当前用户名或服务器名。
@ValidateInternetAddress
@Version 返回您正在运行的 Notes 软件的版本号。
@ViewTitle 返回当前视图的名称。
W
@Weekday 算出一周中的某一天,返回一个表示这一天的数字。
@Wide
@Word 从一个文本字符串里返回指定的单词。
Y
@Year 从指定的时间-日期值中提取年份。
@Yes 返回值 1。
@Yesterday 返回与昨天日期相对应的时间-日期值。
Z
@Zone 返回当前计算机或时间-日期值的时区设置,并指出它是否遵循夏时制
。