模型配置自定义填充变量值

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

模型配置自定义填充变量值

模型配置录入界面由产品建模维护的变量列表所构成显示,主要由两个界面所组成:

(图1.模型配置界面外壳,唯一标志:ENG_MODELCONFIGURE)

 


(图2:模型配置动态面板,唯一标志:ENG_MDLCFGPANEL)

 

图1的界面用于处理选择产品模型的交互,以及点击刷新按钮后更新内层的动态面板的显示。

界面控制插件路径:Kingdee.K3.MFG.ENG.Business.PlugIn.DynamicForm.MdlCfgEdit.cs

图2用于构建产品模型的录入界面,按照选择好的产品模型,获取其维护好的建模变量进行控件构造并显示。界面控制插件路径:Kingdee.K3.MFG.ENG.Business.PlugIn.DynamicForm.MdlCfgDynPanelEdit.cs

 

(图3:产品模型已维护好的建模变量)

 

(图4:模型配置界面构建后的具体效果)

 

 

如果在实际项目中需要对这些控件做默认值填充,有三种方式:

1.  在产品建模配置好默认值携带

2.  在产品建模配置好映射的辅助属性维度,并在调用的位置上填充辅助属性

3.  通过二次开发编写动态面板的表单插件,自行进行维度的值填充

 

 

 

下文重点说明下第三种方式的处理办法:

相关工具:1.反编译工具一个,用于观察上述的插件编写,用于参考。2.VisualStudio开发环境,并安装好.net framework 4.0。

 

步骤一:新建一个动态表单插件,继承AbstractDynamicFormPlugIn

步骤二:将新建好的插件注册至ENG_MDLCFGPANEL的表单插件。

步骤三:实现值携带。首先,这个界面有一个固定的字段【FModelNumber】,通过this.View.Model.GetValue(“FModelNumber”)获取对应的产品模型,就是构造本次模型配置的相关产品模型数据。取ID调用MdlCfgServiceHelper.BuildDynFieldMdlFromPrdModeling(ctx,mdlId)可以获取到产品模型的模型配置结构。(参考于Kingdee.K3.MFG.ENG.Business.PlugIn.DynamicForm.MdlCfgEdit.cs 的方法ShowDynamicPanel()的调用形式。)返回的参数包为JSON结构,dynFlds为界面构建的动态录入控件的原始模型定义,参考这个集合的定义构造好varkey,即可对指定的变量控件进行值录入。这里的处理参考插件Kingdee.K3.MFG.ENG.Business.PlugIn.DynamicForm.MdlCfgDynPanelEdit.cs中的SetDefaultValue方法。

销售订单的取数为跨界面视图的取数动作。可以在ENG_MODELCONFIGURE表单注册插件通过this.View.ParentFormView.Model.DataObject获取,或者在ENG_MDLCFGPANEL通过this.View.ParentFormView.ParentFormView.Model.DataObject获取,具体实现以实际调试进行调整。


若二开实现逻辑跟产品模型无关,仅仅是通用的变量之间的赋值/过滤关系处理,则可以通过查询建模变量的内码获取对应的动态控件标识进行赋值,或者作F7选择过滤。

步骤一:查看建模变量列表(如下图)

步骤二:在数据库中查询对应变量的内码,如果对操作数据库存在不方便的情况,可以通过插件内实现自行按照对应变量的编码查询ID。

如上图的等级内码为136614,则它在模型配置界面的key就为F136614


步骤四:注册表单插件,实现界面控制




模型配置自定义填充变量值

模型配置录入界面由产品建模维护的变量列表所构成显示,主要由两个界面所组成:(图1.模型配置界面外壳,唯一标志:ENG_MODELCONFIGURE) ...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息