特定单据转换控制只能整单转换
【业务需求】
《售后单》只能整单下推《产品序列号对照表》。
【 目录】
1、引入标准动态表单《单据转换操作界面》
2、扩展《单据转换操作界面》,并修改标识
3、新建BOS模块的表单插件项目
4、新建《单据转换操作界面》表单插件类
5、项目添加引用
6、修改为公共类,继承动态表单插件抽象基类AbstractDynamicFormPlugIn
7、重写事件
8、修改生成路径
9、编译插件工程
10、注册插件
11、提交元数据和插件代码
12、测试
【具体操作】
1、引入标准动态表单《单据转换操作界面》
标识:BOS_ConvertOpForm
2、扩展《单据转换操作界面》,并修改标识
重命名:开发商_BOS_ConvertOpForm
3、新建BOS模块的表单插件项目
如果已经存在则不需要创建了。
新建文件夹:ConvertPlugIn
4、新建《单据转换操作界面》表单插件类
新建类:ConvertOpFormEdit
5、项目添加引用:Kingdee.BOS.Core.dll、Kingdee.BOS.dll
6、修改为公共类,继承动态表单插件抽象基类AbstractDynamicFormPlugIn
编写方法:
/// <summary> /// 《售后单》下推《产品序列号对照表》时,只能整单下推 /// </summary> private void IsAfterOrderToReplace() { var parentFormid = this.View.ParentFormView.BillBusinessInfo.GetForm().Id; var FConvertRule = this.View.Model.GetValue("FConvertRule"); if (parentFormid == "XHWT_AS_AfterOrder" && FConvertRule.Equals("XHWT_AS_AfterOrderToReplace")) { this.Model.SetValue("FSelectByBillId", true); //整单转换:全部分录行一并下推 打勾 this.View.GetControl("FSelectByBillId").Enabled = false;//禁用 this.View.GetControl("FSelectByBillId").Visible = false;//隐藏 this.View.UpdateView("FSelectByBillId"); } else { this.Model.SetValue("FSelectByBillId", false); //整单转换:全部分录行一并下推 取消打勾 this.View.GetControl("FSelectByBillId").Enabled = true;//禁用 this.View.GetControl("FSelectByBillId").Visible = true;//隐藏 this.View.UpdateView("FSelectByBillId"); } }
7、重写事件:
8、修改生成路径:
9、编译插件工程:
10、注册插件
11、提交元数据和插件代码
12、测试:
完美。