以收款单节点卡片显示添加【退回】按钮为例:

(如果按钮没显示,页面出现按钮注册,不要慌,分别查看配置文件和类是不是正确)

1、先去功能注册里找到这个节点的配置文件:jzpr_receive_config.xml,然后定义按钮bean以及对应的类。(可以复制已有的按钮配置进行修改,我这里就是根据添加按钮修改的)

2、定义nc.ui.jzcm.jzpr0505.PrReceiveSendAction这个类,把这个类放在添加按钮类相同的包下。

/*** Eclipse Class Decompiler plugin, copyright (c) 2012 Chao Chen (cnfree2000@hotmail.com) ***/
package nc.ui.jzcm.jzpr0505;

import java.awt.event.ActionEvent;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
import nc.bs.framework.common.NCLocator;
import nc.bs.framework.common.RuntimeEnv;
import nc.bs.logging.Logger;
import nc.bs.trade.business.HYPubBO;
import nc.itf.pubapp.pub.smart.IBillQueryService;
import nc.itf.uap.IUAPQueryBS;
import nc.jdbc.framework.processor.BeanProcessor;
import nc.ui.jzbase.uipub.action.JZBaseAddAction;
import nc.ui.jzbase.uipub.action.JZBaseNCAction;
import nc.ui.jzbase.uipub.model.JZBaseBillManageModel;
import nc.ui.jzbase.uipub.model.datamanager.JZBasePageModelDataManager;
import nc.ui.ml.NCLangRes;
import nc.ui.pub.beans.MessageDialog;
import nc.ui.pubapp.uif2app.view.BillForm;
import nc.ui.uif2.NCAction;
import nc.ui.uif2.model.AbstractAppModel;
import nc.vo.pub.AggregatedValueObject;
import nc.vo.pub.BusinessException;
import nc.vo.pubapp.AppContext;
import nc.vo.pubapp.pattern.model.entity.bill.AbstractBill;

/**
 * i.    财务系统根据【付款申请单】生成的【付款单】提交拜特资金支付成功并回写PM系统支付结果成功后,因为收款账号错误银行返回拜特支付失败信息时,
 *     ,财务系统会生成一张收款单,财务人员将资金系统退回的【收款单】与【付款单】关联,提交审批
 * ii.    资金系统退回的【收款单】与【付款单】关联生效后,调用项目管理系统【付款申请单】支付结果接口,将收款单的金额转为负数及收款单日期回写对应的
 *      【付款申请单】支付明细,并将【收款单】单据号回写到支付明细的备注中
 * @author xueyl
 *
 */
public class PrReceiveSendAction extends JZBaseNCAction {
    IUAPQueryBS queryBS = (IUAPQueryBS) NCLocator.getInstance().lookup(
            IUAPQueryBS.class.getName());
    private static final long serialVersionUID = -974680769981501211L;
    private BillForm billfrom;
    private JZBasePageModelDataManager dataManager;

    public JZBasePageModelDataManager getDataManager() {
        return this.dataManager;
    }

    public void setDataManager(JZBasePageModelDataManager dataManager) {
        this.dataManager = dataManager;
    }

public PrReceiveSendAction() {
        this.setBtnName("退回");
        this.setCode("sendback");

    }

public BillForm getBillfrom() {
        return this.billfrom;
    }

    public void setBillfrom(BillForm billfrom) {
        this.billfrom = billfrom;
    }
    private AbstractAppModel model;

    public AbstractAppModel getModel() {
        return this.model;
    }

    public void setModel(AbstractAppModel model) {
        this.model = model;
        model.addAppEventListener(this);
    }

    
    public void doAction(ActionEvent e) throws Exception {
        JZBaseBillManageModel model = (JZBaseBillManageModel) getModel();
        Object[] objs =  model.getSelectedOperaDatas();
//        Object obj = getModel().getSelectedData();
        if(null !=objs && 0<objs.length){
            int flag = MessageDialog.showOkCancelDlg(getBillfrom(), "提示", "确定要退回吗?");
            if(1==flag){
                for (Object object : objs) {
                    AggPrReceiveVO aggvo=(AggPrReceiveVO) object;
                    PrReceiveVO parentVO = aggvo.getParentVO();
                    FKSQData fysqdatavo=new FKSQData();
                    List<FKSQBean> fysqlists=new ArrayList<FKSQBean>();
                    FKSQBean beanvo = transforApplyMX(parentVO);
                    fysqlists.add(beanvo);
                    fysqdatavo.setApply(fysqlists);
                    String xml=JaxbUtil.convertToXml(fysqdatavo);
                    。。。。。。。。。。。
                    getModel().directlyUpdate(aggvo);
                }
            }
            
        }else{
            throw new Exception("请先选择一条数据!");
        }
    }
    
    protected boolean isActionEnable() {
        Object obj = getModel().getSelectedData();
        Boolean flag=true;
        if(null !=obj){
            AggPrReceiveVO aggvo=(AggPrReceiveVO) obj;
            PrReceiveVO parentVO = aggvo.getParentVO();
            //没关联上PM付款单按钮置灰//如果收款单没审批通过按钮也置灰//如果已经同步
            if((null==parentVO.getVdef12() || StringUtils.isEmpty(parentVO.getVdef12())) || 1!=parentVO.getFstatusflag() || "Y".equals(parentVO.getVdef13())){
                flag= false;
            }
        }
        return flag;
    }

}

NC65添加自定义按钮相关推荐

  1. Dynamics CRM2013 任务列表添加自定义按钮

    任务列表的command bar 上面添加自定义按钮如下 要注意的是此处的列表不是任务实体而是活动实体,如果你是在任务实体的home栏上面加那你永远看不见按钮的显示,但如果是要在任务的表单界面上加按钮 ...

  2. laravel-admin 在列表页添加自定义按钮

    我的个人博客:逐步前行STEP 为了添加自定义按钮,按官方文档分4步走: 1.先定义工具类app/Admin/Extensions/Tools/ShowArtwork.php: <?phpnam ...

  3. ueditor编辑器添加自定义按钮

    一,ueditor的使用过程: 准备工具:将下载的ueditor文件考入项目中, 在jsp文件中引入ueditor.all.js,ueditor.config.js,ueditor.css,zh-cn ...

  4. Microsoft Power Platform MDA app添加自定义按钮

    想在model driven app里面添加自定义按钮有两种方式,一种是直接在app编辑模式里面通过edit command bar方式编辑,这种目前因为没权限还没试过,后续试过再更新细节 还有一种方 ...

  5. Nc65添加自定义参照

    Nc65添加自定义参照 此次需求为在收款结算管理自定义5字段可参照付款结算单 需要在参照表bd_refinfo插入参照信息 –插入参照语句 insert into BD_REFINFO ( CODE, ...

  6. [轉]fckeditor添加自定义按钮

    轉自:http://25175.com/200609/25175/25175_html/2010-05/3362.html 在这个例子中,我们将创建一个工具栏按钮.插入当前日期,我们将命名新的插件&q ...

  7. 深入理解 SAP Fiori Elements 工作原理系列之二:如何给 SAP Fiori Elements 应用添加自定义按钮

    这是 Jerry 2021 年的第 33 篇文章,也是汪子熙公众号总共第 309 篇原创文章. Jerry 的日常工作内容从 2020 年 8 月转到 Angular 前端开发之后,算是领略到了这个流 ...

  8. 给angularJs grid列上添加自定义按钮

    由于项目需要在angular 显示的表格中添加按钮,多次查询资料终于找到解决方法.就是给columnDefs 上的列增加 cellTemplate,同时绑定对应的触发事件,代码如下 columnDef ...

  9. Django admin 页面添加自定义按钮 点击事件

    基于 simpleui 开发, Simple UI 一款基于vue+element-ui的django admin现代化主题 普通admin 好像实现不了, Simpleui 官网:https://s ...

最新文章

  1. dns域名解析过程_域名解析怎样工作,Windows server 2008 R2如何安装DNS服务器
  2. MVC Layout布局系统
  3. 人民邮电报:区块链和工业互联网的融合 将产生叠加倍增效应
  4. 解决gdb报错:Failed to import the site module,No module named '_sysconfigdata_m'
  5. 基于unity+vuforia的VR二级齿轮减速器动画分解
  6. CentOS系统介绍
  7. 二维图像矢量化方法简述
  8. java上传图片裁剪_上传图像之裁剪
  9. C语言中abs()用法及其他绝对值函数
  10. WINDOW -- 重装系统报错“找不到适用的引导分区”
  11. 奔跑中的交银施罗德基金,崛起的新生代基金经理
  12. ih5长图如何滑动_iH5中级教程:微场景H5必备,横向滑动切换
  13. 04-安全攻防之bl和ret指令
  14. XP如何连接带网口的共享打印机
  15. 揭秘开心农场开发团队:初期仅15万元创业基金
  16. ELKF:日志可视化Discovery
  17. Refer to Hibernate 3.6 Migration Guide
  18. 二手书交易系统用例图2.0
  19. yolov4能做实例分割吗_做收腹运动能瘦肚子吗
  20. 鸟哥私房菜第0章读书笔记——计算器概论

热门文章

  1. 让你的EXCEL表格每页都自动生成表头
  2. 看冬奥和阿里D2引发对前端未来的思考
  3. PostgreSQL 数据恢复工具
  4. Python-批量修改Excel内的内容并保留原始格式
  5. 软考 - 软考软件设计师考试总结(2018上半年)
  6. 嵌入式系统软件架构设计
  7. c++ 专题 1:IO stream
  8. 2020女生适合学什么设计
  9. 华为USG6306多线负载均衡、ISP选路配置记录。
  10. Shell编程 大学生速通攻略(持续更新)