• 7157阅读
  • 3回复

【原创】Lotus Domino修改心得.doc [复制链接]

上一主题 下一主题
离线fanyu
 
只看楼主 倒序阅读 楼主  发表于: 2005-10-20
第一章 Lotus修改初步
第一回 信息共享->大事记->办理完毕后的返回按钮
此问题的解决,历时N天。
问题的引出,先找到对应问题所在的具体的位置,即办理完毕中的OnClick事件,
发现如下公式:
@Command([ToolsRunMacro]; "iDone")
这一步很容易,但公式不知其含义,经过若干资料的查找,在《Lotus Nots和Domino R5应用程序开发指南》一书找到了答案:
内容简要如下:ToolsRunMacro为调用代理的关键字,那么后面的iDone就应该是一个指定的代理名了?问题好像有了转机。
先看看在大事记的数据库中有没有iDone这个代理文件,一查果然有,又省了不少的事:)。打开代理,又是一头雾水,还好没有UI设计器这一部分,比较好看,回想起,在IE中会出现一个“此待办事宜已办理完毕”和一个“返回”的链接,我想,在这个代理中一事定能找到这几个字符串,于是我便遍历这个代理中的所有代码,在初始化事件中(Initialize)中找到了它们,仔细阅读该代码,并和已有好使的iDone代理相比较,没有发现问题。问题似乎又陷入彊局……
后来发现$$Return。老改表单,觉得它好像是一个表单里的域,回到前文书中的大事记表单,果然找到一个名叫$$Return的域,在其值中发现如下代码:
"["+@Implode(@DbName;"/")+"/$$ViewTemplate for vPrepare"+"]"
很明显前面公式代码先不管它,后面的应该指向一个URL,但并没有加上动作(Action)于是加了,变成如下代码
"["+@Implode(@DbName;"/")+"/$$ViewTemplate for Prepare?OpenForm"+"]"
但运行后还是找到不正确的URL。问题又停止不前了………
又开始把它和正确的公式相比对,发现正确的公工用采用的Base42编码,即%dd的形式表示特殊ASCII码(空格)。
我想问题一定出于此,于是我便用%20来代替空格字符,存盘后,运行
哇!成功了,我又可以进入下一话题了,呵呵。
第二回 表单首行前的空白
产生原因:由已计算子表单产生的。
解决办法:把子表单放到,首行之后,[取消]按钮之前的地方就可以解决。
第三回 Lotus R5的Design不支持JavaScripts的异常语句——框架惊魂记(上)
  事情的经过是这样的,在行政办公—>档案管理—>档案查阅—>我的借阅单中的[新建],会弹出一个选择窗口,这个窗口是一个带多个框架的窗口,目的是让用户选择要借阅的档案,当用户选择后,单击“添加”,最后确定就完成了选择操作。
在用户选择文档的这个框架内,用户还可以全文查询、甚至是修改辑辑这个文件,如果这时框架内的页面不是用户的选择列表页面,当用户单击添加时,就会弹出一个JavaScripts的错误提示,fs.document.all.$$SelectDoc.length;这里出错。同时当用户进入非选择列表页面时,这个非选择列表页面的“返回”也不好使,呜呜,问题大太了。
Bug是找到了,可是这个Bug的所在位置也能猜到,与“添加”按钮的JavaScripts代码有关!目前我们只是利用IE来分析并得出的结论。可以我们要改正这两个Bug可不是一件容易事(书中暗表:所有关于Lotus的高级修改方法都是这样的,就像大家玩的“找差”一样,相当难找了,可是一但你找到了,就会有一种无法形容的惊喜感),于是呼,我就又从浏览器的分析开始,想通过它的URL找到所对应页面的表单或视图什么的。
我又重复了上面的操作,等我打开那个选择窗口时,我用右键一点,我当时浊身一震,居然把IE的右键给屏闭了(这是笔者第一次在B/S项目里,见到有这东西,以前只在一些为了防止非法复制页面的网页上见过),这可怎么办呀,当时我坐在那,十根手指在键盘上不停的乱摸……,那么我能不能过这一关呢,请看下回分解。
第二章 CV大法
第一回 流程中部人选按部门分类
这一操作是真对库的。
每一步:把[流程中下一步]这一表单,覆盖所需修改库中的那个表单,但原表单一定要备份,切记。
第二步,用备份中的Back()来覆盖改正后的Back(),所有工作就完成了,呵呵。
第二回 系统配置库安装记
从服务器上拷过来的系统配置库不能用,表现如下:
系统配置库,不能添加人员,经查找发现是系统中使用了加密狗,而我这没有安装才导致添加人员失败的。
改正方法如下:
打开系统配置库—>代理—>(人员初始化onServer)|onServer—>Initialize
Sub Initialize
     'If Not ReadDog Then
     '      Exit Sub
     'End If
     Set s = New NotesSession
     Set db=s.currentdatabase
     ServerName=db.server
     ‘……
这个被屏掉的IF条件就是用来判断是否安装加密狗的。
第三章 Lotus R6.5的安装
第一回 关于语言包的安装
离线边缘
只看该作者 1楼 发表于: 2006-03-10
我有个问题,想问问了解nots的人,就是我现在要将一台nots服务器和所有的客户端加入到Windows2003所建的域控中(active directory),不知好加入吗,都做什么设置呢,请赐教,谢谢!
离线fanyu
只看该作者 2楼 发表于: 2006-03-10
notes用的都是自已的东西,它不用windows提供的。活动目录对于notes来说根本没有用的。
离线downstairs

只看该作者 3楼 发表于: 2011-02-26
编程编累了。定要把休闲娱乐板块的帖都看完!!!耐心!!!!
喜爱编程的猫头鹰
快速回复
限100 字节
 
上一个 下一个