BOS开发小总结(转)

问题12:如何修改F7 字段所关联的基础档案

在一般情况下,在BIM 视图对单据新增F7 字段时,就可以关联到想要的基础档案或其它视图。但是,当需要关联一些不存在业务单元(即*.bizunit 文件)的基础档案时(如:自定义核算项目)。此时就只能通过以下步骤来处理:

1.在BIM 里加一个F7 字段,关联物料或其他可以选到的基础资料。保存后先别发布;

2.切换到BOS 透视图,打到对应的.relation 文件,修改supplierEntity,原来是指定物料的实体,改成自定义核算项目的实体;

3.打开XXXEditUI.ui,修改F7 字段的queryInfo,原来是指向物料的query,改成自定义核算项目的query

问题15:如何通过IObjectPK pk获取实体对象

IObjectPK 是一个表示实体对象id 的对象,在日常开发工作中,经常需要通过它来获取实体对象。以下是通过IObjectPK 获取实体对象代码的模版:

I*Info i*Info = *Factory.getLocalInstance(ctx);

*Info info = i*Info.get*Info(pk);

以下示例,通过IObjectPK 获取成本对象实体:CostObjectInfo

ICostObject iCostInfo = CostObjectFactory.getLocalInstance(ctx);

CostObjectInfo coi = iCostInfo.getCostObjectInfo(pk);

问题16:如何通过实体对象的id获取实体对象

//如下代码,通过应收单的id 号,获取应收单表体实体

String entityID = “=dsfarlewkrjewrojafad”;

BOSUuid uid = BOSUuid.create(entityID);

IObjectPK opk = new ObjectUuidPK(uid);

OtherBillentryInfo obi = OtherBillentryFactory.getRemoteInstance().getOtherBillentryInfo(opk);

 

问题 23:如何获取当前用户

1、在UI 扩展类中,获取当前用户可通过工具类SysContext

如:SysContext.getSysContext().getCurrentUserInfo()

2、在ControlerBean 的扩展类中,获取当前用户可通过工具类ContextUtil

如:ContextUtil.getCurrentUserInfo(ctx)

关于 SysContext 和ContextUtil 这两个工具类中方法的介绍: 这两个类是 EAS 的全局工具类,用于获取当前用户信息,当前组织单元信息、客户端IP、客户端名字等信息。SysContext 用于客户端,如UI 扩展类中;而ContextUtil 用于服务端,如ControllerBean 扩展类中。

24:标准产品如何扩展类以便重写方法

  1. 对于客户端的UI类,无论是listUI,还是EditUI,都可以在通过追加后缀名CTEx的方式来扩展。如要重写标准产品采购订单的保存方法: com.kingdee.eas.scm.sm.pur.client.PurorderEditUI,在实际二次开发中,发布之后只会生成com.kingdee.eas.scm.sm.pur.client.AbstractPurorderEditUI,如果要重写保存的方法,则可以在com.kingdee.eas.scm.sm.pur.client包下新建PurorderEditUICTEx,此类继承PurorderEditUI类即可,然后在PurorderEditUICTEx重写保存方法。
  2. 服务端的扩展,主要是对bean的扩展,有两种方法
    方法1.
    1、在bim里面找到对应的业务单据XXX,打开“业务单元->功能”,新建一功能,然后发布。
    2、切换到java视图,可以找到刚才的业务单据的XXXControllerBeanEx。
    3、在XXXControllerBeanEx中覆盖对应的方法即可。
    方法2.
    新建一扩展类如:TestControllerBeanEx,然后在文本打开实体元数据,增加一扩展属性
<rs key="entityObject[com.kingdee.eas.custom.app.Test].extendedProperty.controllerBeanEx">  
<lang locale="en_US" value="com.kingdee.eas.custom.app.TestControllerBeanEx" />
<lang locale="zh_CN" value="com.kingdee.eas.custom.app.TestControllerBeanEx" />
<lang locale="zh_TW" value="com.kingdee.eas.custom.app.TestControllerBeanEx" />
</rs>

注意上面的写法[com.kingdee.eas.custom.app.Test]中的"Test"是TestControllerBeanEx的controllerBeanEx前面的Test,可以参考该实体文件的其他的属性
<rs ....> ... </rs>

备注
客户端的扩展针对行业版提供的是PIEx,为了不影响产品的后续维护,针对客户的客户端UI扩展务必使用后缀CTEx。

转载于:https://my.oschina.net/u/3421696/blog/891990

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值