批号设置为日期并且格式为yymmdd时 保存时校验批号与对应的日期是否相等
1、物料启用批号管理
2、设置批号属性如下图以生产汇报单为例
3、设置批号编码规则:
3、对应的单据表体菜单添加按钮 【获取批号】生产汇报单已经存在该按钮 不再添加
4、表单插件代码 设置校验 如下图:
5、将插件编译后绑定到表单插件 标准产品插件之后
具体代码如下:
public override void BeforeSave(BeforeSaveEventArgs e) { base.BeforeSave(e); List<DynamicObject> entrys = this.Model.DataObject.GetDynamicValue<DynamicObjectCollection>(CONST_PRD_MORPT.CONST_FEntity.ENTITY_ORM_PRD_MORPTENTRY).ToList(); StringBuilder sbError = new StringBuilder(); foreach (var entry in entrys) { DynamicObject mtrlObj = entry.GetDynamicObjectItemValue<DynamicObject>(CONST_PRD_MORPT.CONST_FEntity.ORM_MaterialId); if (mtrlObj.IsNullOrEmptyOrWhiteSpace()) continue; bool isLotManege = mtrlObj.GetDynamicObjectItemValue<bool>(CONST_BD_MATERIAL.CONST_SubHeadEntity1.ORM_IsBatchManage, false); if (isLotManege) { DynamicObject lotObjs = entry.GetDynamicObjectItemValue<DynamicObject>(CONST_PRD_MORPT.CONST_FEntity.ORM_Lot); int curSeq = entry.GetDynamicValue<int>("Seq"); string lotNumber = lotObjs.GetDynamicValue<string>("Number"); string curPrdTime = entry.GetDynamicObjectItemValue<DateTime>(CONST_PRD_MORPT.CONST_FEntity.ORM_ProduceDate).ToString("yyyyMMdd"); if (!lotNumber.EqualsIgnoreCase(curPrdTime)) { sbError.AppendLine(string.Format("分录{0}对应的批号取值不为对应的生产日期")); } } } if (sbError.Length > 0) { this.View.ShowErrMessage(sbError.ToString()); e.Cancel = true; } }
批号设置为日期并且格式为yymmdd时 保存时校验批号与对应的日期是否相等
本文2024-09-23 03:42:52发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-160624.html
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf