美文网首页
金蝶EAS-BOS--一个业务单元对于多个菜单

金蝶EAS-BOS--一个业务单元对于多个菜单

作者: 衣服不好拿 | 来源:发表于2017-12-18 16:37 被阅读0次

是这样的,一个业务单元里有很多个字段,现在需要建立三个菜单,三个菜单的数据都来自同一个业务单元,根据需求,不同的菜单只显示需要显示的字段。

  • 隐藏我不要的字段
  • 不显示不是本菜单的数据,如:a菜单里看不到b菜单的数据
  • 个性化设置必录项,如:某个字段在a菜单是必录相,在b菜单不是

1.新建一个业务单元。在金蝶EAS,系统-客户化菜单编辑,新建多个菜单。并绑定到同一个UI对象(com.kingdee.eas.user.client.SaleListUI)

2.在SaleLIstUI.java文件,重写onLoad()方法:

  • 获取菜单名。
Map map = getUIContext();
String mainMenuName =  map.get("MainMenuName");//假如建了3个菜单,分别为a,b,c
  • 判断菜单
if("a".equals(mainMenuName)){
   //设置标题名称
  setUITitle("a");
  //设置过滤条件,不需要的数据可以不展示,行
  setFilterForQuery(new FileterInfo("entrys.xxxx IS NOT null"));
  //隐藏不需要的列
  talMain.getColumn("entrys.yyy").getStyleAttributes().setHided(true);
}
  1. 上面时序簿就做好了,然后把菜单的名字作为参数传过去SaleEditUI.java
  • 在SaleEditUI.java中重写prepareUIContext方法
protected void prepareUIContext(UIContext uiContext, ActionEvent e) {
        super.prepareUIContext(uiContext, e);
        //获取参数
        String mainMenuName = getUIContext().get("MainMenuName").toString();
        //放到上下文
        uiContext.put("title", mainMenuName);
    }

4.在SaleEditUI.java中重写onLoad()方法

       //接收参数
       String tit = getUIContext().get("title").toString();
       setUITitle(tit);//设置标题名称        
       //隐藏不需要的字段
       if("a".equals(tit)){
           setUITitle(tit);
           kdtEntrys.getColumn("xxxxx").getStyleAttributes().setHided(true);
        }

5.设置字段属性

  • 在BOS里面设置。打开业务单元,大纲-选择需要的字段-属性-新增保存事件-选择单据合法性校验。
    校验的条件可以随便写,我们不需要用他的检验。
  • 新增完之后保存,发布业务单元
  • 这时系统会自动在AbstractSaleEditUI.java中生成一个kdtEntrys_validate()方法,里面有刚刚定义的校验规则,我们只需要在SaleEditUI.java中重写该方法就可以了。
 
    //表单验证
   @Override
    public void kdtEntrys_validate() throws Exception {
       String tit = getUIContext().get("title").toString();
       if("a".equals(tit)){
           for (int rowIndex=0,n=kdtEntrys.getRowCount();rowIndex<n;rowIndex++) {
    //如果xxx字段为空,在保持的时候会提示“xxx不能为空”,不能保存      
  if (com.kingdee.bos.ui.face.UIRuleUtil.isNull(kdtEntrys.getCell(rowIndex,"xxx").getValue())) {
               com.kingdee.eas.util.client.MsgBox.showInfo(this,"xxx不能为空");com.kingdee.eas.util.SysUtil.abort();
           }

       }};                  
    }

相关文章

  • 金蝶EAS-BOS--一个业务单元对于多个菜单

    是这样的,一个业务单元里有很多个字段,现在需要建立三个菜单,三个菜单的数据都来自同一个业务单元,根据需求,不同的菜...

  • 服务链路追踪怎么搞?好搞吗?

    微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的...

  • #NPDP# 新产品开发战略-战略层级:公司战略

    公司战略是指: 1、一个多元化组织的整体战略:多元化是指规模较大的组织往往会被划分为多个业务单元,每个业务单元聚焦...

  • Spring Cloud Sleuth 之Greenwich版本

    微服务架构是一个分布式架构,微服务系统按业务划分服务单元,一个微服务系统往往有很多个服务单元。由于服务单元数量众多...

  • 蓝牙mesh模型

    蓝牙mesh模型(Model)是mesh模型架构中基础业务单元,可以认为每个模型对应一个特定的业务(也有可能多个模...

  • 服务链路追踪

    一、简介 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众...

  • vue中多个input焦点切换问题

    业务场景是这样的:左边菜单栏有多个菜单项,点击不同的菜单项,右侧相对应的input获得焦点 开始以为问题很简单只是...

  • Rainbond:如何制作一个可分享的云市应用?

    应用是Rainbond可管理的最小服务单元,用户可以将多个应用组成一个复杂的业务系统,这套业务系统可以对外提供服务...

  • Spring Cloud Sleuth服务链路追踪

    一、简介 微服务结构是一个分布式架构,微服务系统按照业务划分服务单元,一个微服务系统往往有很多个服务单元。由于服务...

  • K3 WISE 15 新建账套

    win7 系统,打开开始菜单->所有程序->金蝶 K3 WISE->金蝶 K3 服务器配置工具->账套管理账套位置...

网友评论

      本文标题:金蝶EAS-BOS--一个业务单元对于多个菜单

      本文链接:https://www.haomeiwen.com/subject/nxjmwxtx.html