请帮我改一下代码谢谢!

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

...全文
113 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
代码转载自:https://pan.quark.cn/s/c50a500cf555 在当今全球经济迅猛增长的背景下,通讯技术的持续进步使得个人之间的联系日益紧密,因此个人对其联系人信息的有效管理变得尤为重要。在此需求下,通讯录应运而生,各式各样的通讯录应用正不断为人们的生活带来便利。通讯录管理软件主要用于处理日常生活中的同学、朋友等联系人的信息编辑,助用户随时获取所需联系人的全部资料。这款通讯录管理系统操作简便,用户能够通过该系统轻松完成添加、检索、更新、移除等基本的管理任务。软件的操作界面通常可以隐藏在屏幕的边缘区域,当用户的鼠标移至该区域时,操作界面会自动显现,用户仅需输入关键词(如联系人姓名)即可快速找到所需的通讯录数据。 【Java课程设计-通讯录系统】是一款基于Java编程语言开发的个人通讯录管理工具,其目的是协助用户高效地处理和查找联系人信息。该系统是在JDK 1.7.0和NetBeans 6.9.1集成开发环境中构建的,提供了添加、检索、修和删除联系人等核心功能,旨在为用户提供流畅的操作体验。 ### 一、需求分析 1. **基本功能**:系统需具备存储联系人姓名、电话、电子邮箱等核心数据的能力,并支持用户执行新增联系人、查找特定联系人、编辑现有联系人资料以及移除无用联系人等操作。 2. **搜索功能**:用户通过输入联系人姓名的关键字,系统能迅速定位到对应的联系人记录。 3. **界面友好**:界面设计需简洁明了,操作直观易用,软件窗口支持隐藏于屏幕边缘,并在鼠标接近时自动展示。 4. **数据保存**:系统必须实现联系人数据的持久化存储,确保程序关闭后数据不会丢失。 ### 二、任务分析 1. **主界面设计**:开发一个用户友好的主界...

536

社区成员

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

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