收录日期:2019/04/26 16:16:38 时间:2016/05/23 01:58:06 标签:消息协作
请高手帮忙
  现在想做一个合同号申请的流程,合同号的产生规则是由年月+合同类别号+流水号
合同类别号(A,B,C)
 我在点下一步是想判断这个合同号是否已经用。怎么处理
是否考虑使用简要表呢?
Function setFlowNO(doc As notesdocument)
'===========================================
'
'功    能:生成流水号的函数
'作    者:
'日    期:2003/12/2
'描    述:
'版    本:1.0
'
'===========================================

Dim ss As New notessession
Dim db As notesdatabase
Dim profileDoc As NotesDocument
Dim profileItem As NotesItem
Set db=ss.currentdatabase
Set profileDoc = db.GetProfileDocument("setFlowNO","" )
Set profileItem =profileDoc.GetFirstItem("FlowNO")

Dim strToday As String
Dim strCurrentNo As String
Dim strYear As String
Dim intFlowNO As Integer
If Not profileitem Is Nothing Then
intFlowNO=Cint(profileDoc.flowNO(0)+1)
Else
Set profileitem = New NotesItem(profiledoc, "FlowNO", 1)
intFlowNO=profileDoc.flowNO(0)
End If
profileDoc.FlowNO=intFlowNO
Call profileDoc.save(True,True)

strToday=Today()
strYear=Year(strToday)
strCurrentNo=strYear+Right(intFlowNO+1000000,6)
setFlowNO=strCurrentNo
End Function
在拟制表单的WebQueryOpen中加一个代理生成一个空文档[保存合同号][每次代理运行在此文档对应的视图中检索合同号]
会产生大量空文档
合同号已经产生,我是想在保存前再判断一次有没有重复。因为现在如果有两个人同时申请时会产生重复号。
你专门做一个公共表单和视图来存储当前的合同编号(包含分类域),然后在你起草合同的时候先根据
相应的类别和年份取到当前的合同号加1作为当前合同的编号
然后在点击下一步的时候,按照当前合同的年份,分类、序号,合同编号视图中检索,如果没有则认为该合同号不重复,如果已经存在,则认为在此操作之前已经有人提交了一份相同编号的合同,可以给出错误提示
首先 做一个表单hetongxuhao  包括 syear 域  smonth 域  sort 域  number 域
做一个视图view  包含四列 分别显示上述四个域值 列属性中设置为升序

在合同表单的中做一个生成编号的按钮,按钮点击时执行如下代理
Sub Initialize
Dim session As New notessession
Dim CUR_DOC As notesdocument
Dim INFO_DOC As notesdocument
Dim INFO_VIEW As notesview
        Dim keys(1 to 3) as string
Set CUR_DOC=session.DocumentContext()
Set INFO_VIEW=INFO_DB.getview("view")
        keys(1)=Cstr(Year(Now))
        keys(2)=Cstr(Month(Now))
        keys(3)=CUR_DOC.Sort(0)
Set INFO_DOC=INFO_VIEW.getdocumentbykey(keys,1)
If Not INFO_DOC Is Nothing Then
count=INFO_DOC.number(0)
CUR_DOC.SerialNumber=keys(1)+"-"+keys(2)+"-"+keys(3)+"-"+cstr(count)
INFO_DOC.number=count+1
Call INFO_DOC.save(True,False)
Call CUR_DOC.save(True,True)
Else
Set INFO_DOC=New notesdocument(INFO_DB)
INFO_DOC.form="hetongxuhao"
INFO_DOC.number=1
INFO_DOC.syear=keys(1)
                INFO_DOC.smonth=keys(2)
                INFO_DOC.sort=keys(3)
Call INFO_DOC.save(True,True)
CUR_DOC.SerialNumber=keys(1)+"-"+keys(2)+"-"+keys(3)+"-"+cstr(1)
Call CUR_DOC.save(True,True)
End If
End Sub
这样做比较简单也不会出现合同编号重复
因为你还有个分类要取 所以不好说在打开时就来决定合同的编号的了
偶回复你了,收到了吗?
我也回复你了 你收到了吗?
收到了谢谢
你发过留言了吗?我没有收到啊?

急,.NET+sql2000被注入 求在企业管理器里删除代码的办法 在线等 mysql5.0的数据录入问题 莫名其妙的LIB与DLL , 两个工程对同一个DLL不同结果 关于邮件检测的问题。急急急~~急急急 如何给对话框添加背景画面??还有BUTTON加背景位图,及背景颜色??请高手做答,做好有例子和代码!!谢谢!!! 0分的帖子 求教。 struts 算是基础问题吧,求教! 在VC++6.0中使用Recordset的Open方法操作数据库时,如果出现“超时已过时”错误,应该设置Command还是Connection的CommandTimeout? mysql5.0的数据录入问题 怎样花时间学好java listBox如何换行? 关于缺少\';\'的一个错误 通宵找工作,感觉还不错! DLL注册成功 , 但是运行VB时说MISSING webbrowser,打开新页面弹出缺少对象的提示框,怎么禁用 0分的帖子 完全是一种煎熬. 刚完成AJAX二级联动菜单,绝对原创 关于这个包dclusr.dpk问大牛 老师们,求一个彩色目标字符串,有范例,可是我不会! 请各位朋友进来看下这个很困惑的问题 一道关于字符串的题目 如何判断ListView选中行?? 用java实现finger漏洞扫描插件 report view2008的问题 关于!!server.xml里面的context用法,请牛人指点 XtraReports 打印出空行的问题 万能破解图形验证码的思路 谁有vwd 中文版下载地址