You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Business Central中创建含年月日的No. Series动态编号?

Business Central 自动生成C+年月日+3位流水号格式编号的配置方案

完全可以实现,不需要每日手动创建编号行,根据你使用的BC版本不同,要么原生配置就能搞定,要么只需要加几行极简的自定义代码,全程不需要人工日常维护。

新版本BC(v19/2021 wave2及以上版本)原生配置方法

这个版本开始系统自带的编号序列已经支持按日期自动匹配前缀,按下面步骤配置就行:

  • 打开No. Series(编号序列)页面,新建一条编号序列,填好编号编码、描述,绑定到你需要用的单据类型(比如销售发票)
  • 只需要建1条编号行,不需要按天新增:
    • 起始日期填你要启用这个规则的首日,比如2022-01-01
    • 起始编号填C220101001
    • 结束编号填对应周期的最大值,比如只覆盖2022年就填C221231999,要长期使用就填C991231999
    • 一定要勾选Date Order(按日期排序)选项,最后一位流水号长度设为3,增量步长设为1
  • 配置完的逻辑是:系统会自动识别固定前缀C之后的6位日期位(YYMMDD格式),新建单据时自动把这6位替换为当前单据日期,当日的流水号自动从001开始累加,跨天自动重置流水,完全不用手动加行。

旧版本BC/NAV(v18/2021 wave1及更早版本)实现方法

旧版本的Date Order功能只支持按年重置流水,不支持按日,这时候只要加个极简单的事件订阅就行,不用改系统标准逻辑:

  1. 先按上面的步骤新建编号序列,建一条初始行就行
  2. 新建一个扩展,订阅编号序列获取下一个号的触发事件,自动判断当日的编号行是否存在,不存在就自动创建,全程无感知,不需要人工操作。核心代码参考:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"No. Series", 'OnBeforeGetNextNo', '', false, false)]
local procedure AutoCreateDailyNoSeriesLine(var NoSeriesLine: Record "No. Series Line"; var IsHandled: Boolean)
var
    WorkDateVal: Date;
    DatePrefix: Code[7];
begin
    // 替换成你自己建的发票编号序列编码
    if NoSeriesLine."Series Code" <> 'INV-NO' then exit;
    WorkDateVal := WorkDate();
    // 拼接C+YYMMDD格式的前缀
    DatePrefix := 'C' + Format(WorkDateVal, 0, '<Year,2><Month,2><Day,2>');
    // 如果当前行不是当日的编号行,自动新建当日行
    if NoSeriesLine."Starting No." <> StrSubstNo('%1001', DatePrefix) then begin
        NoSeriesLine.Init();
        NoSeriesLine."Series Code" := 'INV-NO';
        NoSeriesLine."Starting Date" := WorkDateVal;
        NoSeriesLine."Starting No." := StrSubstNo('%1001', DatePrefix);
        NoSeriesLine."Ending No." := StrSubstNo('%1999', DatePrefix);
        NoSeriesLine."Last No. Used" := StrSubstNo('%1000', DatePrefix);
        NoSeriesLine.Insert(true);
    end;
end;

配置完建议先做测试:修改系统工作日期为不同日期,新建几张测试发票,确认编号能自动匹配当前日期、当日流水从001开始累加即可,后续使用不需要人工维护编号行。

内容的提问来源于stack exchange,提问作者kuhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 19:24:22