单据插件.单据审核后界面切换到查看状态
背景:客户业务场景存在同一张单据,不同用户打开,且不关闭单据(常态-旧系统操作习惯),一直占用单据修改(星空标准功能),导致第二位用户打开同一张单据时,提示‘操作冲突’,如果第二位用户需要修改单据,需要联系上一个用户或让管理员处理,客户反馈体验不友好。
优化方案:
1.管理员登录系统-参数设置-基础管理-bos平台-基本页签,勾上‘不同单据状态下列表打开单据详情方式’,且所有单据状态下设置为‘查看方式’,注意:此操作为系统级,影响所有单据(配置-参考下图);
2.常用单据上菜单栏新增‘修改’按钮,按钮配置‘修改’操作,如需编辑单据,需点击‘修改’(配置-参考下图);
3.新增表单插件,并注册到常用单据上(配置-参考下图);
配置1:
配置2:
配置3:
效果展示-系统标准:
效果展示-二开效果:
表单插件:
using Kingdee.BOS;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Resource;
using Kingdee.BOS.Util;
using System.ComponentModel;
namespace HNKD.K3.Test.Core
{
[Kingdee.BOS.Util.HotUpdate]
[Description("【单据插件】单据审核后界面切换到查看状态")]
public class SetFormAsViewAfterAuditBillPlugIn : AbstractBillPlugIn
{
public override void AfterDoOperation(AfterDoOperationEventArgs e)
{
base.AfterDoOperation(e);
if (e.Operation.OperationId == 1 && e.OperationResult.IsSuccess)// 审核成功
{
if (this.View.OpenParameter.Status != OperationStatus.VIEW)
{
SetFormTitle();
this.View.CommitNetworkCtrl();// 释放网控
this.View.OpenParameter.Status = OperationStatus.VIEW;
this.View.UpdateView();
}
}
}
/// <summary>
/// 设置窗体标题
/// </summary>
private void SetFormTitle()
{
var titleValue = this.View.BusinessInfo.GetForm().Name;
var tempValue = new LocaleValue();
tempValue.Merger(titleValue);
tempValue.Merger(ResManager.LoadKDString("查看", "002012030003421", SubSystemType.BOS), " - ");
this.View.SetFormTitle(tempValue);
}
}
}
好帖,已点赞
单据插件.单据审核后界面切换到查看状态
本文2024-09-16 17:16:34发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-14660.html