文章目录
特定单据转换控制只能整单转换
业务需求
《售后单》只能整单下推《产品序列号对照表》。
详细设计
引入标准动态表单《单据转换操作界面》
引入后,应用可见
扩展《单据转换操作界面》,并修改标识
重命名:开发商_BOS_ConvertOpForm
未签入状态
新建BOS模块的表单插件项目
如果已经存在则不需要创建了。
新建文件夹:ConvertPlugIn
新建《单据转换操作界面》表单插件类
新建类:ConvertOpFormEdit
项目添加引用
Kingdee.BOS.Core.dll、Kingdee.BOS.dll
修改为公共类,继承动态表单插件抽象基类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");
}
}
//《售后单》下推《产品序列号对照表》时,只能整单下推
重写事件
修改生成路径
编译插件工程
注册插件
提交元数据和插件代码
测试
END