手动和自动生成业务单据号码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类定义成员变量为:
开发框架的DAL层样例预设为OnlyDocumentNo(自动生成单据号码),如dalSO:
若设为OnlyDocumentNo,即使手工指定单号,在提交数据时系统仍会生成一个单号。参考DAL层的GetNumber方法:
/// <summary>
/// 业务单据号码更新类型(如生成流水号,或GUID)
/// </summary>
protected UpdateKeyMode _UpdateSummaryKeyMode = UpdateKeyMode.None;
/// 业务单据号码更新类型(如生成流水号,或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;
}
/// <summary>
/// 获取系统自动生成的流水号(入库单)
/// </summary>
protected override string GetNumber(DbTransaction tran)
{
string docNo = DocNoTool.GetNumber(tran, "IN");
return docNo;
}

参考文档:
更新主表的主键模式UpdateKeyMode枚举详解(2)
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
达梦数据库数据类型详解
.NET8 WebApi框架接口认证方式:Bearer Token/Jwt Token详解|C/S开发框架
DevExpress XtraReport 开发指南|单表报表设计详解(C#)|C/S开发框架
FastReport.NET2023报表数据源配置详解|C/S开发框架
C# Math.Round方法MidpointRounding参数详解|C/S开发框架
DatabaseProvider类详解|C/S开发框架
UserConfig类详解 | Winform 蝇量级开发框架|C/S开发框架
DataDictCache | 全局缓存设计逻辑详解|C/S开发框架
DataBinder类详解 | Winform MiniFramework蝇量框架|C/S开发框架
ucButtonFunction 组件详解|MiniFramework蝇量框架|Winform框架|C/S开发框架
WinFramework轻量级开发框架 | 功能按钮事件详解|C/S开发框架
WinFramework轻量级开发框架 | 窗体继承关系图详解|C/S开发框架
TableInfoAttribute、KeyField、IgnoreField特性详解|C/S开发框架
数据字典窗体bllBaseDataDict类详解|开发教程
更新主表的主键模式UpdateKeyMode枚举详解(2)
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
达梦数据库数据类型详解
.NET8 WebApi框架接口认证方式:Bearer Token/Jwt Token详解|C/S开发框架
DevExpress XtraReport 开发指南|单表报表设计详解(C#)|C/S开发框架
FastReport.NET2023报表数据源配置详解|C/S开发框架
C# Math.Round方法MidpointRounding参数详解|C/S开发框架
DatabaseProvider类详解|C/S开发框架
UserConfig类详解 | Winform 蝇量级开发框架|C/S开发框架
DataDictCache | 全局缓存设计逻辑详解|C/S开发框架
DataBinder类详解 | Winform MiniFramework蝇量框架|C/S开发框架
ucButtonFunction 组件详解|MiniFramework蝇量框架|Winform框架|C/S开发框架
WinFramework轻量级开发框架 | 功能按钮事件详解|C/S开发框架
WinFramework轻量级开发框架 | 窗体继承关系图详解|C/S开发框架
TableInfoAttribute、KeyField、IgnoreField特性详解|C/S开发框架
数据字典窗体bllBaseDataDict类详解|开发教程
其它资料:
什么是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内容管理系统 |
什么是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内容管理系统 |
在线客服
