我学习Lotus系列Word文档下载推荐.docx
《我学习Lotus系列Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《我学习Lotus系列Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
2.列:
每个视图中列式显示关于所列文档的一类信息。
如创建日期,作者,主题等。
设计人员可以设置每一列显示的信息或值。
可以通过简单功能,域,公式来计算。
例子:
a.在“产品信息”列中加如下公式:
product+"
:
"
+@Text(Quailty).
b.在“销售情况”列中加如下公式:
@If(Sales_Febuary>
60000,"
GreatMonth"
;
goodMonth"
);
不用说,一看就明白想显示的是什么吧。
c.当然,我们可以让列显示图标,如邮件有附件时显示一个环形针图标:
@If(@Attachments;
5;
0),即如果有附件,则选择第5个图标,否则为0,即nothing。
一个列的公式是这样写的:
@Now-@If(@Elements(HistoryDate)=0;
@Created;
@Subset(HistoryDate;
-1))分析了一下,觉得应该是现在的时间减去最近的一个HistoryDate的时间。
那么是得到的最新修改过的时间和现在的时间差。
今天面临的一个问题是不知道如何调试,当然我找到了启动调试的地方。
选择“文件”--“工具”--“调试LotusScript”.但是我要选择我所调试的那段程序怎么弄呢?
我每次调试都是那段,而且我也不知道那段那里来的,哎,别人的程序没有注释,很奇怪,写程序不要注释怎么搞。
LotusDomino学习笔记之一配置问题
到了新公司,昨天才入职,今天teamleader就扔了活给我干
用DominoServer&
Web客户端开发一个demo出来,10天时间
可我之前从未接触过Domino,而且这玩意儿和之前的Java开发概念相去挺远的,哎,搞吧
今天是学习Domino的第一天,主要是用DominoDesigner做开发的一些小问题:
1.PROBLEM:
创建dB以后,预览时提示:
要在WEB浏览器中成功预览此元素,请添加(或修改)匿名的ACL(或缺省的)ACL条目以使其至少具有可以创建文档的‘作者’访问权限”
SOLUTION:
在dB上按右键,选应用程序,访问控制,将Default的权限类型改为“作者”或以上即可
2.PROBLEM:
创建dB以后,预览时页面提示404错误,服务器端报错:
HTTPWebServer:
lotusnotesexceptionfiledoesnotexist
dB文件,即.nsf文件没有存放到<
DominoHome>
/data下,有可能的是存放到了<
NotesHome>
/data下等等
3.PROBLEM:
当在Designer中打开一个表单,再从web访问此表单,则浏览器显示500错误,服务器控制台显示HTTPWebServer:
LotusNotesException-Thisdatabaseiscurrentlyinusebyanotherpersonorprocess,andcannotbeaccessedatthistime.InordertoshareaNotesdatabase,itmustbeaccessedviaaDominoServerbyallusersofthedatabase[/localtest.nsf/login?
OpenForm]
REASON:
是Web端访问的用户与Designer编辑的用户对于Domino来说是两个用户,例如Web端访问的是Default用户,而Designer端编辑的是SYSTEM/baidu这个用户。
4.PROBLEM:
当Designer中关闭表单后,再从web访问此表单,则浏览器显示500错误,服务器控制台显示HTTPWebServer:
LotusNotesException-Thisdatabasehaslocalaccessprotection(entrypted)andyouarenotauthorizedtoaccessit[/localtest.nsf/login?
同样是权限配置问题,首先因为dB建立时默认就是中等加密,然后可以在Designer里dB右键-应用程序-属性-基本页(第一页)-加密设置,可以看到数据库的加密方式以及用于的用户
3&
4SOLUTION:
(1)在数据库的存取控制列表里面加入“Anonymous”,在服务器上用“domcfg5.ntf”模板创建domcfg.nsf数据库,这样在Web下打开你的数据库时会自动进行认证。
(2)在服务器的配置文档中有一个关于服务器认证的选项,改成“单服务器”即可,保存后重新启动Domino服务器,即可实现单次登录有效。
(3)确保你的dB建立在服务器上而不是本地上,也不是从本地拷贝过去的即可
5.PROBLEM:
启动Domino服务器以后,再启动LotusDesigner,提示:
Domino服务器运行时无法使用Administration程序。
可以关闭Domino服务器(但应继续运行文件服务器)或选择标记为“LotusNotes”的图标
可能因为Nots下的notes.ini文件中配置的部分路径有问题,建议重新安装客户端
来源于:
LotusDomino学习笔记之二HelloWorld-[Development]
弄了两天的Domino了,感觉网上的Domino资料太过于贫乏了,而且缺乏入门的东东,所以希望自己记录下自己摸索的点点滴滴,也希望能够帮助到那些和我一样感到迷茫的人,呵呵
基础知识
Domino中,一个nsf文件称为数据库,也同时称为应用程序(Designer中的称呼)。
这里的数据库与传统意义上的关系型数据库有所不同,Domino数据库包含数据、代码、表单、视图、资源文件等等很多东西。
实现过程
1.启动DominoServer,打开DominoDesigner
2.文件-应用程序-新建
应用程序存放服务器注意不要选本地,本地和本地服务器是两码事;
标题填入HelloWorld;
模板服务器选择同应用程序存放服务器;
模板选空白
3.在左边栏中展开刚刚创建的数据库HelloWorld,选中“页面”,然后点击右边主要栏顶部的“新建页面”按钮
4.在页面中输入“HelloWorld”,然后Ctrl+S保存,弹出框中输入页面名称“pHelloworld”。
这样页面就已经做好了,但是还需要设置权限才能在web上访问
5.在左边HelloWorld数据库顶上灰色区域按右键,选应用程序-访问控制,将Default设置为“读者”
6.打开浏览器,输入:
http:
//localhost/HelloWorld.nsf/pHelloworld?
OpenPage即可看到效果
其中helloworld.nsf是我们刚创建的数据库,/pHelloworld是我们保存的页面,后面带的OpenPage代表是打开此页面
LotusDomino学习笔记之三简单存储与展现-[Development]
版权声明:
转载时请以超链接形式标明文章原始出处和作者信息及本声明
公司OA使用Domino的方案已经被否定掉了,今天突然想补写之前一直搁置Domino学习笔记的,虽然我也很讨厌Domino开发,但总算是纪念自己这一个月来的学习吧
Domino中的数据存储结构与普通的关系型数据库不相同,这里每次存储的记录称为文档,类似关系型数据库中的表中的记录,但不同的是,关系数据库中每条记录的结构必须与其所在的表的结构相同,而Domino中没有表的概念,因此每一条文档的结构是随意的,例如第一条文档可以有3个字段,第二条文档则可以有5个字段。
这里给出了一个Domino中最简单的保存数据的方案,需要用到表单。
我们继续使用上次中的HelloWorld.nsf数据库
1.在Designer中打开上次使用的HelloWorld.nsf数据库,在左边栏选择“表单”,然后在中间栏顶部点击“新建表单”
2.在新建的表单中输入“名字”两个字,然后点击顶部下拉菜单创建-域,此时在表单界面上会出现一个无标题的域,双击域出现域的属性选单,在名称处输入“name”
3.同样的方式再创建一个性别、年龄域,分别命名为sex和age,这样表单域的就完成了,也可以说是确定了此表单保存文档的格式,完成后效果如图
4.继续点击顶部下拉菜单创建-热点-按钮,在弹出框的标签中输入“保存”,如图
5.然后按Ctrl+S保存表单,命名为fPerson,最终结果如图:
6.我们创建的保存按钮但是按钮现在什么事情也干不了,因此我们需要为按钮写上保存逻辑。
点击保存按钮,看到右下的空白窗口,确保顶部“运行”的状态为“客户机”和“公式”
然后在下面窗口中输入以下代码
@Command([FileSave]);
@Command([FileCloseWindow]);
点击此窗口顶部的绿色小勾,然后再按Ctrl+S保存此表单
7.至此一个可以保存数据的表单已经完成,可以访问http:
//localhost/HelloWorld.nsf/fPerson?
OpenForm来看效果
无法访问?
是权限的问题,记得上次我们HelloWorld里面将Default的权限设置为“读者”了嘛?
因为读者没有创建文档的权限,因此是无法访问表单的,要访问一个表单,至少需要是“编辑者”,因此还是在数据库上右键-应用程序-访问控制,将Default的权限改为编辑者即可
8.在浏览器中输入值,然后点击“保存”按钮,如果出现一个Formprocessed的页面,表示数据已被保存
9.如何验证我们的数据已经被保存了呢?
我们可以通过一个简易的视图来查看。
在Designer里,点击左侧的“视图”,然后中间栏顶部点击“新建视图”,在弹出框中输入视图名称“vPerson”然后点击确定,再双击进入视图编辑界面
10.进入以后,可以看到顶部有一条列栏,图中黑色块为第一列列头
双击第一列列头,可以弹出列属性框,输入标题“name”然后关闭
11.选中第一列列头,然后在底部显示中选择“域”,再选择“name”,如图
12.双击列头空白处可以新建一列,重复上面的步骤添加sex和age列并将其显示设置为相关的域,完成后如图
13.最后点击视图中的任意空白处,然后在左下角选择vPerson的“视图选择”
再在右下角公式处填入代码:
SELECTForm="
fPerson"
,如图
点击小窗口的顶部的绿色小勾,然后按Ctrl+S保存视图
这是为了指定此视图仅显示与fPerson相关联的文档
14.现在一切就绪,访问http:
//localhost/HelloWorld.nsf/vPerson?
OpenView即可看到刚刚我们通过fPerson存储的那些数据
下一节开始着手改进这次的表单和视图,嘿嘿
LotusDomino学习笔记之四表单与视图改进-[Development]
此次改进是针对上一篇中所创建的表单与视图来进行的
页面、表单、视图是Domino中最常用的三种展现方式,下面做下简单的介绍:
页面不能含有任何表单元素,例如按钮、域等等,因此多做简单展现用,例如内嵌大纲等;
表单是Domino中最强大的展现元素,它可以放置表单元素、可以在页面展现前后设置代理来处理复杂逻辑、可以用于嵌入视图
视图一般功用分为两种:
一种是内部视图,一般用来为其他程序提供查询功能,一般建议将视图名称前后用小括号括住,表示此视图无法被外部访问;
另一种则是展现视图,一般用于给用户展现列表数据,如同我们在上一篇中所说的那样,但一般应用会将此类视图内嵌于一个表单中来使得界面更漂亮些
改进表单元素
1.还是在Designer中,我们在左侧的HelloWorld数据库中点击表单项,可以看见之前创建的fPerson表单,双击打开
2.由于性别只会有男性和女性两种,所以我们准备将性别选框其改为单选。
双击sex域,弹出的域属性框中,先将第一页的“类型”改为“单选按钮”,然后在顶部翻到第二页“控件”,在选择一栏输入“男”和“女”,并且在“列数”一栏设置为2,如图:
3.由于年龄肯定是数字,因此我们将双击age域,然后在属性框中“类型”设为“数值”
4.保存之后,还是访问http:
//guolin/HelloWorld.nsf/fPerson?
OpenForm,可以看到效果
修改/删除功能
1.访问上一篇中创建的视图,http:
//guolin/HelloWorld.nsf/vPerson?
OpenView,注意到视图的第一列是有链接可以点击进入的
点击进入了以后其实就到达了fPerson这个表单页面,只是不能修改,如图。
我们准备将的修改/删除功能建立在这个页面上。
2.访问时首先注意到的是这个页面虽然不能更改,但还是存在“保存”按钮。
我们希望在添加的时候有这个按钮,但在查看的时候却没有。
因此双击“保存”按钮进入按钮的属性框,顶部选择“段落隐藏”页,然后勾选“打开读”,如图:
关闭,保存。
再次访问时即可看到“保存”按钮已经不显示了,而且添加页面(http:
OpenForm)中的“保存”按钮还存在。
这样就达到了我们要的效果了
3.接下来我们在“保存”按钮下面一行添加两个按钮,分别叫“修改”和“删除”,然后设置他们两个的“段落隐藏”属性为勾选“打开编辑”,如图:
这里注意一定要是“保存”按钮的下一行,因为Domino中同一行总是保持相同的段落隐藏属性,完成后效果如图:
4.我们单击选中“修改”按钮,在其下方的动作窗口中输入代码:
@Command([EditDocument]);
,如图:
点击绿色小勾完成“修改”按钮的设置
5.用4的方法在“删除”按钮上输入公式:
@Command([Clear]);
6.此时再次通过视图访问到此页,即可看见修改和删除两个按钮。
点击修改按钮可以进入修改界面,完成后,点击保存即实现修改。
点击删除按钮出现……权限不够?
这是因为当前Default用户权限为“编辑者”,编辑者默认是不能删除文档的,因此我们打开此数据库的“访问控制”,在Default用户的右侧权限处,勾选“删除文档”,确定,即可执行删除指令。
删除完成后应该会看到提示字符“Deleted”表示成功删除
内嵌视图
访问http:
OpenView,是不是觉得这个视图很丑?
在Domino中,纯视图的界面方面几乎没有可配置性,例如如果想在顶部加一行字“用户列表”这是无法实现的,因此如果视图用于做展现,一般都会使用内嵌视图来表现。
下面我们来学习如何创建视图vPerson的内嵌视图
1.首先,我们需要创建一个表单,命名为“$$ViewTemplateforvPerson”,这个命名是Domino中的规范,其格式为:
$$ViewTemplatefor<
视图名称>
,如果是这样命名,那么在访问vPerson视图时,就会自动转到$$ViewTemplateforvPerson这个表单去
2.在这个表单中,第一行输入“用户列表”几个字
3.在下一行,选择顶部下拉菜单的“创建”-“嵌入元素”-“视图”,在弹出框中选择vPerson,确定。
即可看到表单中多了一个嵌入视图的小框
4.在嵌入视图上按右键-“嵌入视图...”,在弹出嵌入视图属性框中,Web访问-显示处将“使用Java小程序”改为“使用HTML”,关闭,保存表单
5.再次访问vPerson视图:
OpenView,是不是已经变成了我们刚刚创建的表单了?
呵呵,你也可以试试“使用Java小程序”的方式展现视图,看看是什么样子的(不过使用Java小程序来显示视图有诸多弊端,所以不推荐使用,这个以后再讲)
6.不过,这样的视图虽然展现方面可以更灵活,但却没有了“上一页”和“下一页”的功能?
我们现在就来创建上一页和下一页的按钮。
在嵌入视图下一行创建两个按钮,分别命名为“上一页”和“下一页”,在上一页的按钮中输入公式:
@DbCommand("
Domino"
"
ViewPreviousPage"
);
在下一页按钮中输入公式:
ViewNextPage"
)
再次访问vPerson视图,试试上一页和下一页按钮,是不是很好用了?
呵呵
(注意,这里的上一页和下一页按钮其实有一个小小的缺陷,就是最后一页它总是会尝试显示最后一条,解决方案我们后面再讲)
完成后Designer中$$ViewTemplateforvPerson应该是类似下图所示:
“添加”功能
之前我们每次要添加都必须直接访问fPerson表单,现在由于视图为嵌入视图了,所以我们可以将“添加”功能加入到视图里啦!
1.在$$ViewTemplateforvPerson中加入一个按钮,命名为“添加”。
单击它并在其公式窗口中输入公式:
@Command([Compose];
。
这个公式中的[Compose]就代表要打开一个表单,而"
就是表单名称,注意分隔符为分号。
2.再次访问vPerson视图:
OpenView即可看见“添加”按钮,点击即进入我们的fPerson表单界面进行添加了
现在一切围绕fPerson的一切操作都可以从$$ViewTemplateforvPerson这个表单上连接过去了,包括:
添加、修改、删除、查看详细
至此可以说一个功能完整的person信息维护模块已经完成了,但离完善还有一定距离,我们会在下一篇中继续改善这个系统
小结
本篇涉及到了
∙表单元素的简单设定
∙表单的多个功用(显示文档、添加、修改)
∙段落隐藏的设定
∙删除、修改的公式
∙删除权限
∙内嵌视图的命名格式
∙控制内嵌视图翻页的公式
∙跳转到表单的方式
好了,明天周末了。
休息,休息。