手动和自动生成业务单据号码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。
系统预设的更新方式是由用户手工输入,因此在提交数据时框架不自动生成单号。
扫一扫加微信
更新业务单据号码有以下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;
}
扫一扫加微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网