用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

皖能集团Internet/Intranet应用系统

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:51:36
f gstrNextMan="" Then
Msgbox Err_No_Transactor,,"无办理人"
Exit Sub
End If
If gstrIsSponsor="否" And gstrIsCurrentReturn="是" Then
If Messagebox( "文件返回给"+gstrNextMan+"?" ,1,"完成") =2 Then Exit Sub
Else
If Messagebox(gstrNextMan+"进行"+gstrNextStep+"?" ,1,"完成") =2 Then Exit Sub
End If
Call DeleteMailDoc(gstrCurrentMan,doc.MailID(0)) '删除通知邮件
Call AdjustWorkFlow(doc) '调整办理人、办理步骤等
Call SendDocLink(doc,doc.CurrentTransactor(0),"待办:") '给下一办理人发送通知邮件
Call doc.ComputeWithForm( False, False ) '备份批示意见
doc.NotionBak=doc.GetItemValue(doc.NotionName(0))(0)
doc.Notion=""
Call uidoc.Save()
'如果当前是签发状态,修改文件的表单,使文件的大部分域变成不可编辑
If (gstrCurrentRole="签发" And gstrIsSponsor="否") Then
doc.Form="Subscribe"
End If
Call doc.Save(True,True)
Else '如果当前是最后一步
If Messagebox( "确定要将此文件办结?" ,1,"完成") =2 Then Exit Sub
Call DeleteMailDoc(gstrCurrentMan,doc.MailID(0))
Call AdjustWorkFlow(doc)
doc.CurrentTransactor="" '清除读者域
Call doc.Save(True,True)
Call CopyDocToFileDB(doc) '在文件库中创建该文件的拷贝
End If
doc.SaveOptions = "0"
Call uidoc.Close()
Call workspace.ViewRefresh
End Sub

2. 关系数据库的接口
我们在人事系统中,将考勤机的数据自动读入内Notes应用系统,进行员工考勤的有效管理。通过ODBC实现,首先在客户端控制面板正确设置ODBC的连接,然后在操作的(Options)声明 Uselsx "*LSXODBC" , 然后实现其具体的数据转换。
例如:
Sub Click(Source As Button)
Dim con As New ODBCConnection
Dim qry As New ODBCQuery
Dim result As New ODBCResultset
… …
Dim dataSource, datatab, deptstr As String
Set db=session.currentdatabase
Dim n As New notesname(session.username)

dataSource = "delphi"
DepartNo= Inputbox$("请输入部门编码, 如01", "DepartNo?")
timeV = Inputbox$("请输入年月, 如200001", "timeV?")
datatab= "c:/lhkq/kqtz"+timeV+".db"
If con.ConnectTo(dataSource) Then
i=1
Set qry.Connection = con
datatab="SELECT * FROM "+datatab++" where Bmbh = '"+DepartNo+"'"
Messagebox "Connect to " & dataSource + " -> " & datatab
qry.SQL = datatab
Set result.Query = qry
Call result.Execute
Call Result.FirstRow
Do
flagV= result.getvalue(21)
DeptV= result.getvalue(5)
If result.getvalue("Kqjg")<>"Rest" And result.getvalue(5)= DepartNo Then
Set newdoc=New NotesDocument(db)
newdoc.form="WorkRecorder"
Call newdoc.ComputeWithForm( False, False )
newdoc.Day=result.getvalue(2)
newdoc.DeptNum= DeptV
newdoc.JobName=result.getvalue(6)
newdoc.Read1= result.getvalue(8)
… …
lable1:
Set view1=db.getview("BMAP")
BM=newdoc.DeptNum(0)
Set doc1=view1.getdocumentbykey(BM)
If Not(doc1 Is Nothing) Then
Set item=newdoc.GetFirstItem("reader")
newdoc.department=doc1.department(0)
deptstr=Cstr(newdoc.department(0))
Call item.AppendToTextList(deptstr)
Call item.CopyItemToDocument(newdoc, "reader")
Else
Goto lable2
End If
… …
Call newdoc.save(True,True)
End If
Call result.NextRow()
Loop Until result.IsEndOfData
End If
Call workspace.ViewRefresh
End Sub

3. Microsoft Word的接口
Microsoft Word是常用的字处理工具,而且它具有批注、修改留痕等非常有用的功能,所以在发文、签报两个系统中我们解决了和Microsoft Word接口问题,使系统的实用性有了进一步提高。
首先在发文、签报中创建Word的OLE对象,然后进行处理。
1) 由Entering事件激发创建一个OLE的Word文档:
Set WordDoc=uidoc.GetObject("wdTextDoc")
Call uidoc.GotoField( "Text" )
Set WordDoc=uidoc.CreateObject("wdTextDoc", "Word.Document")
2)在创建Word文档时,要隐藏Word界面中的工具栏和标尺、设置标志和复制用户已建立的模板文件。
'隐藏Word界面中的工具栏和标尺
Set wdCommandBars=WordDoc.CommandBars
For i%=1 To 10
wdCommandBars(i%).Visible=False
Next
WordDoc.ActiveWindow.DisplayRulers=False
WordDoc.ActiveWindow.DisplayVerticalScrollBar =True
WordDoc.ActiveWindow.DisplayHorizontalScrollBar =True
'设置标志
Set doc=uidoc.Document
Call doc.ReplaceItemValue("IsWordText",1)
Call uidoc.Refreshhideformulas()
'复制模板文件
Dim sWordDotFile As String
sWordDotFile=uidoc.Document.DotFile(0)
If sWordDotFile<>"" Then
Call CopyWordDot(sWordDotFile,WordDoc )
End If
2) 增加批注、修订功能
’批注
Call WordDoc.Comments.Add (WordDoc.Application.Selection.Range)
’修订功能
Set WordDoc=uidoc.GetObject("wdTextDoc")
With Wo

上一页  [1] [2] [3]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:4,062.50000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号