请帮我改一下代码谢谢!

chunlai80 2002-11-29 06:11:53
该段代码实现从系统管理中找到提交申请者的上级单位领导,并给他发送文档连接,这是C/S模式下的一个操作,我想把他该为B/S模式下的 代理,我是一个新手特别是对WEB下的代理不熟,请教各位大侠帮帮忙其中以dept开头的是视图,以sq开头的是域

Dim session As New notessession
Dim dbs As notesdatabase
Dim ser_name As String
Dim user As String
Dim dept As String

Set dbs=session.currentdatabase
ser_name=dbs.server
user=session.CommonUserName

Dim db As New notesdatabase(ser_name,"oa\sysadmin")
Dim view As notesview
Dim doc As notesdocument
Dim item As notesitem

Dim workspace As New notesUIWorkspace
Dim uidoc As notesUIDocument
Set uidoc=workspace.CurrentDocument

If uidoc.fieldgettext("sp_pro")="缺省程序" Then

Set view=db.getview("按姓名查询")
Set doc=view.getdocumentbykey(user+"/"+Strright(ser_name,"/O="))

Set item=doc.getfirstitem("ifleader")
leader=item.text '单位领导
Set item=doc.getfirstitem("dept_f")
f_d=item.text
Set item=doc.getfirstitem("dept_second")
f_s=item.text
Set item=doc.getfirstitem("dept_third")
f_t=item.text
Set item=doc.getfirstitem("dept_fourth")
f_ft=item.text
Set item=doc.getfirstitem("上级单位")
up_dept=item.text

If f_s="--" Then
dept=f_d
Else
If f_t="--" Then
dept=f_d & f_s
Else
If f_ft="--" Then
dept=f_d & f_s & f_t
Else
dept=f_d & f_s & f_t & f_ft
End If
End If
End If

If leader="是" Then '如果当前操作人是本部门领导
Set view=db.getview("(depart_class)")
Set doc=view.getdocumentbykey(dept)
If Not(doc Is Nothing) Then
Set item=doc.getfirstitem("up_class")
up_c=item.text '当前部门的上级部门
Else
Messagebox "没找到相应的文档"
End If
If up_c="无" Then
Messagebox "到达系统组织机构的顶级,不再在上报了!"
Else
Set view=db.getview("(dept_person)")
Set doc=view.getfirstdocument
found=False
While Not(doc Is Nothing) And Not found '查找部门领导
Set item=doc.getfirstitem("ifleader")
if_l=item.text
Set item=doc.getfirstitem("单位全称")
full_name=item.text
If (full_name=up_c And if_l="是") Then
Set item=doc.getfirstitem("person_name")
sent_person=item.text
found=True
Else
Set doc=view.getnextdocument(doc)
End If
Wend
If Not found Then '该部门不存在部门领导
Messagebox("上级部门: "+up_ct+" 没有设定部门领导,请与系统管理员联系")
Else
allowedit=True
uidoc.editmode=True

Call uidoc.fieldsettext("sq_status","上传")
Call uidoc.fieldsettext("sq_temp2",uidoc.fieldgettext("sq_temp1"))
Call uidoc.fieldsettext("sq_temp1",uidoc.fieldgettext("sq_from"))
Call uidoc.fieldsettext("sq_from",user)
Call uidoc.fieldsettext("sq_handle",sent_person)
Call uidoc.save()
allowedit=False
uidoc.editmode=False

'发送邮件
Set doc = uidoc.document
Dim newdoc As notesdocument
Dim rtitem As notesrichtextitem
Set newdoc = New notesdocument(dbs)
Set rtitem = New notesrichtextitem(newdoc,"body")
Call rtitem.appenddoclink(doc,"申请")
newdoc.subject =user +"于 "+Cstr(Today())+" 报给你一份申请,请你抓紧时间处理"
Call rtitem.appendtext(" 请办理!")
newdoc.sendto = sent_person
newdoc.send(False)
Call uidoc.close()
End If

End If
Else '当前操作人员不是部门领导
Set view=db.getview("(dept_person)")
Set doc=view.getfirstdocument
found=False
While Not(doc Is Nothing) And Not found '查找本部门领导
Set item=doc.getfirstitem("ifleader")
if_l=item.text
Set item=doc.getfirstitem("单位全称")
full_name=item.text
If (full_name=dept And if_l="是") Then
Set item=doc.getfirstitem("person_name")
sent_person=item.text
found=True
Else
Set doc=view.getnextdocument(doc)
End If
Wend
If Not found Then '该部门不存在部门领导
Messagebox("本部门: "+dept+" 没有设定部门领导,请与系统管理员联系")
Else '发送信件通知相关人员处理来文
allowedit=True
uidoc.editmode=True

Call uidoc.fieldsettext("sq_status","上传")
Call uidoc.fieldsettext("sq_temp2",uidoc.fieldgettext("sq_temp1"))
Call uidoc.fieldsettext("sq_temp1",uidoc.fieldgettext("sq_from"))
Call uidoc.fieldsettext("sq_from",user)
Call uidoc.fieldsettext("sq_handle",sent_person)
Call uidoc.save()
allowedit=False
uidoc.editmode=False
'发送邮件
Set doc1 = uidoc.document
Dim newdoc1 As notesdocument
Dim rtitem1 As notesrichtextitem
Set newdoc1 = New notesdocument(dbs)
Set rtitem1 = New notesrichtextitem(newdoc1,"body")
Call rtitem1.appenddoclink(doc1,"申请")
newdoc.subject =user +"于 "+Cstr(Today())+" 报给你一份申请,请你抓紧时间处理"
Call rtitem.appendtext(" 请办理!")
newdoc.sendto = sent_person
newdoc.send(False)
Call uidoc.close()
End If
End If
Else
sent_person=uidoc.fieldgettext("manual_person")
If sent_person="" Then
Messagebox "你使用了自定义审批程序,但是没有指定审批人!"
Else

allowedit=True
uidoc.editmode=True

Call uidoc.fieldsettext("sq_status","上传")
Call uidoc.fieldsettext("sq_temp2",uidoc.fieldgettext("sq_temp1"))
Call uidoc.fieldsettext("sq_temp1",uidoc.fieldgettext("sq_from"))
Call uidoc.fieldsettext("sq_from",user)
Call uidoc.fieldsettext("sq_handle",sent_person)
Call uidoc.save()
allowedit=False
uidoc.editmode=False
Dim dbmail3 As NotesDatabase
Dim docmail3 As NotesDocument
Set dbmail3 = session.CurrentDatabase
Set docmail3 = New NotesDocument( dbmail3)
docmail3.SendTo = sent_person
docmail3.Subject =user +"于 "+Cstr(Today())+" 报给你一份申请,请你抓紧时间处理"
docmail3.body=" 请在本系统的申请审批-待办审批中打开该文件"
Call docmail3.Send( False )
Call uidoc.close()

End If
End If

...全文
45 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
daluoboequalto 2002-11-29
  • 打赏
  • 举报
回复
uidoc can not be used in agent
and when run in web agent,the session.UserName will reffer to the server,while not to the name of the user nor the signer

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧