NC65增加自定义参照并且参照数据要根据选择的财务组织过滤

1、首先定义一个参照类

package nc.pub.jzcm.ref;

import nc.ui.bd.ref.AbstractRefModel;
import nc.ui.bd.ref.IRefDocEdit;
import nc.ui.bd.ref.IRefMaintenanceHandler;

public class PMPrPayDefaultRefModel extends AbstractRefModel {
    public PMPrPayDefaultRefModel(){
        reset();
    }

    
    @Override
    public void reset() {
        setFieldCode(new String[] { "t.vbillcode","b.name","t.norigpaytotalmny", "d.accname", "t.vmemo"});

        setFieldName(new String[] {"单据编号","供应商","付款金额","付款银行账号","备注"});

        setDefaultFieldCount(5);

        setHiddenFieldCode(new String[] { "t.pk_pay","t.pk_supplier","t.pk_bankaccbas","c.pk_bankaccbas" });

        setPkFieldCode("t.pk_pay" );

        setRefTitle("PM付款单档案");
        
        setRefCodeField("b.name");
        setRefNameField("b.name");

        setTableName(" jzpr_pay t left join bd_supplier b on b.pk_supplier = t.pk_supplier  left join bd_bankaccuse c on c.pk_bankaccsub = t.pk_bankaccbas left join bd_bankaccbas d on d.pk_bankaccbas = c.pk_bankaccbas  ");

        resetFieldName();

        setAddEnableStateWherePart(false);

        setRefMaintenanceHandler(new IRefMaintenanceHandler() {
            public String[] getFucCodes() {
                return new String[] { "10120USRM" };
            }

            public IRefDocEdit getRefDocEdit() {
                return null;
            }
        });
        setWherePart(" c.pk_org='"+getPk_org()+"' and t.vdef2='PM' and t.dr='0'");
        setMaintainButtonEnabled(false);
    }
}

(以下以收款单自定义项12为例)

2、在收款单表头该字段上定义编辑前事件,获取财务组织,并赋值到参照的过滤条件上


        if ("vdef12".equals(e.getKey())) {
            String pk_org = (String) e.getBillCardPanel().getHeadItem("pk_org") .getValueObject();
            if ((pk_org == null) || (pk_org.length() == 0)) {
                e.setReturnValue(Boolean.valueOf(false));
                return;
            }
            BillItem item = e.getBillCardPanel().getHeadItem("vdef12");
            UIRefPane refPane = (UIRefPane) item.getComponent();
            refPane.getRefModel().setPk_org(pk_org);
        }

   

3、在单据模板初始化中把对应字段设置为自定义参照

 

参照类名为刚才定义的类名nc.pub.jzcm.ref.PMPrPayDefaultRefModel

4、展示

 

 


 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值