电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

单据转换.二开案例.选单界面 默认过滤方案设置

来源:金蝶云社区作者:金蝶2024-09-2318

单据转换.二开案例.选单界面 默认过滤方案设置

【场景】选单界面 默认过滤方案设置 目前系统不支持针对选单预设企业过滤方案 【原因】不同的业务对象,关联源单的实体不一样; 如采购订单,有些单据是跟明细关联,有些跟付款计划关联,不便于设置同一的选单过滤方案 【变通方案案例】 (a)针对选单对象,由管理员设置过滤方案,并共享给所有用户 ![image.webp](/download/01007d464caa83de46bdaf4fe69f99ed4168.webp) (b)准备表结构,存储源单、目标单、单据类型和预设方案id ```ksql IF NOT EXISTS (SELECT 1 FROM KSQL_USERTABLES WHERE KSQL_TABNAME = 'T_Custom_DrawDefaultScheme') CREATE TABLE T_Custom_DrawDefaultScheme ( FID VARCHAR(36) NOT NULL, FSrcFormId VARCHAR(36) DEFAULT ' ' NOT NULL, FTgtFormId VARCHAR(36) DEFAULT ' ' NOT NULL, FBillTypeId VARCHAR(36) DEFAULT ' ' NOT NULL, FSchemeId VARCHAR(36) DEFAULT ' ' NOT NULL ); EXEC P_ALTERPK 'PK_Custom_DrawDefaultScheme', 'T_Custom_DrawDefaultScheme', 'FID', '1' IF NOT EXISTS (SELECT 1 FROM KSQL_INDEXES WHERE KSQL_INDNAME = 'IDX_Custom_DrawDefaultScheme') CREATE INDEX IDX_Custom_DrawDefaultScheme ON T_Custom_DrawDefaultScheme ( FSrcFormId, FTgtFormId, FBillTypeId); ``` (c)通过表单插件,干预单据转换界面BOS_ConvertOpForm,干预源单修改时的值更新,设置过滤方案的值 ![image.webp](/download/01003c0bc388c85e41328fe73ff822a05744.webp) ```csharp using Kingdee.BOS; using Kingdee.BOS.Core.Bill; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DynamicFormPlugIn.BillConvert { [Kingdee.BOS.Util.HotUpdate] [System.ComponentModel.Description("选单界面, 过滤方案设置")] public class FormPlugIn_DrawSetDefaultSchemePlugIn : AbstractDynamicFormPlugIn { /* * 选单界面,根据源单、目标单、目标单据类型,自动跳转到设置的过滤方案上 * * 表结构 ksql IF NOT EXISTS (SELECT 1 FROM KSQL_USERTABLES WHERE KSQL_TABNAME = 'T_Custom_DrawDefaultScheme') CREATE TABLE T_Custom_DrawDefaultScheme ( FID VARCHAR(36) NOT NULL, FSrcFormId VARCHAR(36) DEFAULT ' ' NOT NULL, FTgtFormId VARCHAR(36) DEFAULT ' ' NOT NULL, FBillTypeId VARCHAR(36) DEFAULT ' ' NOT NULL, FSchemeId VARCHAR(36) DEFAULT ' ' NOT NULL ); EXEC P_ALTERPK 'PK_Custom_DrawDefaultScheme', 'T_Custom_DrawDefaultScheme', 'FID', '1' IF NOT EXISTS (SELECT 1 FROM KSQL_INDEXES WHERE KSQL_INDNAME = 'IDX_Custom_DrawDefaultScheme') CREATE INDEX IDX_Custom_DrawDefaultScheme ON T_Custom_DrawDefaultScheme ( FSrcFormId, FTgtFormId, FBillTypeId); * */ private bool IsDraw = false; private string BillTypeId = null; private string TargetFormId = null; /// <summary> /// 初始化事件 /// </summary> /// <param name="e"></param> public override void OnInitialize(InitializeEventArgs e) { if (this.View.ParentFormView == null) return; var opNumber = this.View.OpenParameter.GetCustomParameter("OperationNumber"); if (opNumber != null && (FormOperationEnum)opNumber == FormOperationEnum.Draw) { IsDraw = true; } if (!IsDraw) return; var billModel = this.View.ParentFormView.Model as IBillModel; if (billModel == null) return; TargetFormId = this.View.ParentFormView.BillBusinessInfo.GetForm().Id; var billTypeField = this.View.ParentFormView.BillBusinessInfo.GetBillTypeField(); if (billTypeField == null) return; var billTypeObj = billModel.GetValue(billTypeField) as Kingdee.BOS.Orm.DataEntity.DynamicObject; if (billTypeObj != null) { BillTypeId = Convert.ToString(billTypeObj[0]); } } /// <summary> /// 值更新事件 /// </summary> /// <param name="e"></param> public override void DataChanged(DataChangedEventArgs e)

单据转换.二开案例.选单界面 默认过滤方案设置

【场景】选单界面 默认过滤方案设置目前系统不支持针对选单预设企业过滤方案【原因】不同的业务对象,关联源单的实体不一样;如采购订单,...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信