|
web化的簽核系統(snowman) |
aku1 发表于 2006-10-10 15:37:16 | Web 的程式,基本上也分前端與後端,後端如果是用Notes 的話,就是在Lotus agent 和 action 寫程式了。那前端,無論後端是用 jsp/asp/php/lotus 前端都只有一種語言,就就叫javascript 基本上,可以將web程式想成,下載至Browser 然後Browser去執行裏面的javascript和計算出網頁的內容外觀,所以一定要學會javascript?
除非你想讓server 忙死,而且貴公司有無限的頻寬的話,那不學也可以!!
在key in 每一個字時,都將它傳回server,讓server計算 ,然後再回傳新網頁,user每按一個字就閃一下,我想誰都受不了,所以一定要學javascript
我先不說要如何做dialogbox ,簽核把資料填寫完,至少要送簽吧,在notes裏,你可能在Action中寫上
@if( aaa="";@prompt([yesno]......
非常抱歉,@prompt不支援 Web ,那要如何寫? 先將Action的內容分為兩部份,檢查及處理 一、檢查警告工作,讓javascript來做 (自行學Javascript) 二、處理部份使用@formula (因為lotusscript 不會被執行)
如 TMsg:=User; @SetField("status";"管理處會簽"); @SetField("AuthorList";Send2); @SetField("FORM";"Apply2"); @MailSend(@Unique(Send2); "";""; "外派申請------"+" 請處理";TMsg; ""; [IncludeDoclink]); @PostedCommand([FileSave]);@Command([FileCloseWindow])
只要不使用不支援Web的@formula指令,應該都能正確執行,而使用lotusscript 的動作會被隱藏
當@formula 執行完會收到網頁如下
>>已處理套表
可利用如下重導 @Command([OpenPage];"首頁");
或是在 $$Return 中填入html 內容,Lotus notes 將會將內容回傳
上面的方法,說白點,就是Browser 做完local的javascript 運算後,將資料整個回傳給server,server 去執行Action的動作
除了觸發action 還有沒有web的特殊事件? 有,和觸發action很像,只不過這次程式是寫在 WebQuerySave裏去指定由那一支代理程式接手 那上面還有一個WebQueryOpen ? 當然是你open文件時會觸發的事件,也可以指定一支代理程式來接手
所以只要文件在Web環境中, 發生Open 及Save事件時,這個地方的代理程式,都會被執行,所以若你在action中改變欄位值,然後call doc.save(),再這裏又改變一次,那是以最後為主啦
原程式 @Command([ToolsRunMacro]; "<您的代理程式在此處>") 你也可以改成 @setField("Status";"哈哈笑");
直接使用@Formula,還是能執行的....
那麼lotusscript 不就都不能用在Web上? 不能直接寫在Action 上,可以寫在Agent上啊,再利用上面的,不就可以呼叫到了
Agent 內容
Dim session As NotesSession Dim db As NotesDatabase Dim doc As NotesDocument
Sub Initialize Set session=New NotesSession Set db=session.CurrentDatabase Set doc=session.DocumentContext Call doc.ReplaceItemValue("Subject","改改改") Call doc.Save(True,False) End Sub
畫面會回到原來編輯中,但是資料改了,文件也存好了!! 那怎麼重導至我們要的頁面
1.使用 Print Sub Initialize Set session=New NotesSession Set db=session.CurrentDatabase Set doc=session.DocumentContext Call doc.ReplaceItemValue("Subject","TTTTT") Call doc.Save(True,False) Print |<h3>謝謝你!!</h3>|
End Sub
Print 的內容為要顯示的html內容
2.不使用任何的 Print ,而且有$$RETURN 的欄位,這就不用說啦,依上
這下子,最重要的送簽按鈕就打完收工了,至於怎麼要樣做DialogBox for Web 或是 人員撰擇器 for Web....我已經都做出來了
|
阅读全文 | 回复(0) | 引用通告 | 编辑 |
发表评论:
|