手动和自动生成业务单据号码UpdateKeyMode详解(1)
手动和自动生成业务单据号码UpdateKeyMode详解(1)
更新业务单据号码有以下3种方式,UpdateKeyMode枚举定义如下: C# Code: /// <summary> /// 更新主表关键方式 /// </summary> public enum UpdateKeyMode { /// <summary> /// 未指定.单据号码手工输入或指定 /// </summary> None, /// <summary> /// 自动生成流水号 /// </summary> OnlyDocumentNo, /// <summary> /// 自动生成32位GUID /// </summary> OnlyGuid } //来源:C/S框架网(www.csframework.com) QQ:1980854898 None: 未指更新类型,单据号码手工输入或在业务层手工赋值。 OnlyDocumentNo:系统自动生成单据号码,号码规则在sys_DocSN表定义。 OnlyGuid:有些单号直接使用32位的GUID,系统自动生成32位的GUID。 系统预设的更新方式是由用户手工输入,因此在提交数据时框架不自动生成单号。 dalBaseBusiness类定义成员变量为: /// <summary> /// 业务单据号码更新类型(如生成流水号,或GUID) /// </summary> protected UpdateKeyMode _UpdateSummaryKeyMode = UpdateKeyMode.None; 开发框架的DAL层样例预设为OnlyDocumentNo(自动生成单据号码),如dalSO: public dalSO(Loginer loginer) : base(loginer) { _SummaryTableName = tb_SO.__TableName; _SummaryKeyName = tb_SO.__KeyName; _UpdateSummaryKeyMode = UpdateKeyMode.OnlyDocumentNo;//自动生成单据号码(流水号) //_UpdateSummaryKeyMode = UpdateKeyMode.None; //手工生成单据号码 } 若设为OnlyDocumentNo,即使手工指定单号,在提交数据时系统仍会生成一个单号。参考DAL层的GetNumber方法: C# Code: /// <summary> /// 获取系统自动生成的流水号(入库单) /// </summary> protected override string GetNumber(DbTransaction tran) { string docNo = DocNoTool.GetNumber(tran, "IN"); return docNo; } 扫一扫加微信
参考文档:
C# 自动生成Goolge/Baidu的SiteMap.xml文件 CS开发框架 - 业务单据自动生成功能设计(原) 客户要求开发框架能自动生成数据窗体及log日志表 你的开发框架能自动生成WebService层的接口吗? 开发框架新增单据自动生成功能 增值功能:数据字典自动生成流水号解决方案 指定单据号码自动打开业务单据窗体并显示数据 实例:数据字典自动生成流水号 企业版V4.5代码生成器自动生成窗体原型及二次加工界面参考 数据字典重写SaveResultEx UpdateEx方法手动控制事务自动生成流水号 CS开发框架旗舰版主从从表(多级明细表)实例,自动生成主从表代码 开发技巧-Winform窗体自动生成下一个业务流程的单据|C/S框架网 ORM_FieldAttribute类详解:字段特性定义,框架内核根据此特性自动生成SQL脚本 新增记录时自动生成记录的序号号码(或单据号码)并填充文本框 数据字典基础资料窗体主键设置为自动生成流水号码解决方案
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |