本帖最后由 快表客服 于 2023-12-27 13:34 编辑
自定义条件生成编号
需求:按一个单元格中所选择的不同的值并依据另外一个日期字段的年份值生成一个流水编号。
比如:今年的合同类型A生成一个类型的编号,合同类型B生成另外一个类型的编号,下一年的两类合同分别生成下一年度的流水编号
效果:
- 定义变量 @Count Int = (
- Select 排除重复 计数( T_2049.F_65621 ) From T_2049 Where [编号_主表].[编号类型] = 本报表.[编号_主表].[编号类型] 并且 年份([编号_主表].[签约日期]) = 年份(本报表.[编号_主表].[签约日期])
- );
- If @Count > 0
- Begin
- Select 排除重复 Left(最大值( T_2049.F_65621 ),7) + Right('0000'+ Cast(Right(最大值( T_2049.F_65621 ),4)+1 As Varchar(4)),4) AS 本报表.[编号_主表].[编号]x填充不锁定
- From T_2049 Where [编号_主表].[编号类型] = 本报表.[编号_主表].[编号类型] 并且 年份([编号_主表].[签约日期]) = 年份(本报表.[编号_主表].[签约日期])
- END
- ELSE
- Begin
- Select Case
- When 本报表.[编号_主表].[编号类型] = 'A' Then 'ST'+ Convert(Varchar(4),年份( 本报表.[编号_主表].[签约日期])) + '-0001'
- When 本报表.[编号_主表].[编号类型] = 'B' Then 'XN'+ Convert(Varchar(4),年份( 本报表.[编号_主表].[签约日期])) + '-0001'
- End AS 本报表.[编号_主表].[编号]x填充不锁定
- From T_0
- End
复制代码
T_2049.F_65621是编号字段,表间公式执行时机为保存执行
|
|
快表客服