壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1681|回复: 9

[Domino C/S开发] [求助]如何用公式来创建流水号?

[复制链接]
发表于 2003/5/16 11:24:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
我现在用想自动的生成文档号,即流水号。
主要构想如下:第一次生成0001的文档;第二次生成的文档就是0002,一次类推;
我想用公式在域中实现,请教大家一下,呵呵~~~多多帮忙!!
发表于 2003/5/16 13:31:47 | 显示全部楼层
@Elements (@DbColumn( class : "NoCache" ; server : database ; view ; columnNumber ))+1
 楼主| 发表于 2003/5/16 14:19:10 | 显示全部楼层
以下是引用Notes123在2003-5-16 13:31:47的发言:
@Elements (@DbColumn( class : "NoCache" ; server : database ; view ; columnNumber ))+1

不是阿!你返回的是列数,不是文档的流水号
发表于 2003/5/16 17:26:48 | 显示全部楼层
按照你的例子:

b:=@DbColumn("" : "NoCache"; ""; "ViewName";1);  ---先建一个View,其中第一列显示流水号,这随你,只要后面的数字改成相应的列数就是了

bb:=@If (@IsError(b);"0";b="";"0";b);

@If(@IsDocBeingSaved &(加入你需要的条件)&流水号域名 ="";

        @If(b="0"|bb="0"
              "0001";
               @Right("0000"+@Text(@TextToNumber(@Right(@Subset(bb; 1);1)) + 1);4));
         @IsNewDoc; ""; 流水号域名)

这只是简单的说说,你可以根据自己的需要去改!
发表于 2003/5/19 13:18:07 | 显示全部楼层
@DbColumn( class : "NoCache" ; server : database ; view ; columnNumber )返回的是列表,而@Elements( list ) 返回的是列表的是项目数量。
发表于 2003/5/20 14:03:01 | 显示全部楼层
学习
发表于 2003/5/25 20:41:13 | 显示全部楼层
那楼主你的问题解决了吗?
 楼主| 发表于 2003/5/27 09:45:54 | 显示全部楼层
我已经用lotusscripts语言解决了,呵呵呵呵~~~谢谢
发表于 2003/5/28 08:58:16 | 显示全部楼层
可以将你的LS贴出来给我看看吗?谢谢!
 楼主| 发表于 2003/5/30 08:18:44 | 显示全部楼层
        Dim workspace As New NotesUIWorkspace
        Dim uidoc As notesuidocument
        Dim udoc As notesdocument
        Set uidoc = workspace.CurrentDocument
        Set udoc = uidoc.document
       
        flag = Val(uidoc.fieldgettext("flag"))
        If flag = 0 Then
                '取文档中的域值
             '定义绘画
                Dim session As New notessession
                Dim db As notesdatabase
                Dim view As notesview
                Dim doc As notesdocument
               
             '设定绘画
                Set db = session.currentdatabase
                Set view = db.getview("set_doc")
                Set doc = view.getfirstdocument
                udoc.name = udoc.ser_name(0)
             '取文档值
                mid_list = doc.globals_list_number(0)
                first_list = udoc.temp_value(0)
          '判断文档中的值来确定显示的值
                midnum = Val(mid_list)
                If midnum < 10 Then
                        last_list = first_list + "000" + Right(mid_list,1)
                Elseif midnum < 100 Then
                        last_list = first_list + "00" + Right(mid_list,2)
                Elseif midnum < 1000 Then
                        last_list = first_list + "0" + Right(mid_list,3)
                Else
                        last_list = first_list + Right(mid_list,4)
                End If
               
             '给出正确的维修单流水号值
                udoc.ser_list = last_list
                udoc.ser_list_ch = last_list
               
                midstr = Cstr(midnum+1)
                doc.globals_list_number = midstr
                Call doc.save(True, True)
               
                udoc.flag = "1"
                udoc.name = udoc.ser_name(0)
                Call udoc.save(True,True)
        Else
                udoc.ser_list = udoc.ser_list_ch(0)
                udoc.name = udoc.ser_name(0)
                Call udoc.save(True,True)
        End If
       
        If udoc.rep_flag(0) = "1" Then
                udoc.rep_name = udoc.rep(0)
                Call udoc.save(True,True)
        End If
       
        If udoc.it_flag(0) = "1" Then
                udoc.it_name = udoc.it(0)
                Call udoc.save(True,True)
        End If
       
        If udoc.pri_flag(0) = "1" Then
                udoc.pri_name = udoc.pri(0)
                Call udoc.save(True,True)
        End If
       
        flag = Val(uidoc.fieldgettext("fix_flag"))
        If flag = 0 Then
                If udoc.ApprovalChoiceOS(0) = "同意外修" Or udoc.ApprovalChoiceOS(0) = "同意内修" Or udoc.ApprovalChoiceOS(0) = "不同意" Then
                        udoc.fix = udoc.ApprovalChoiceOS(0)
                        udoc.fix_way = udoc.ApprovalChoiceOS(0)
                        udoc.fix_flag = "1"
                        Call udoc.save(True,True)
                        Exit Sub
                End If
        Elseif flag = 1 Then
                udoc.fix = udoc.fix_way(0)
                Call udoc.save(True,True)
        End If
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 22:47 , Processed in 0.014989 second(s), 16 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表