NC65的报销单据添加一个功能按钮

2023-11-03 21:30
文章标签 功能 按钮 单据 报销 nc65

本文主要是介绍NC65的报销单据添加一个功能按钮,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

思路

    • 1.打开功能注册,找到相应的功能节点
    • 2.写一个按钮类,继承 nc.ui.uif2.NCAction
    • 3.XML配置文件,路径要和你配置的一样,不然系统找不到
    • 4.试一下右键这个xml文件,点击SpringxmlToJava能否生成java代码,一般是可以生成的,我用的是eclipse。如果生成成功,说明写的xml配置文件没问题,没生成成功就检查一下配置,实在检查不出问题就不用生成java文件了。
    • 5.基本完成综上4步操作,重启一下中间件,重新打开界面按钮应该就可以出来了。
    • 6.可能出现的问题,按钮还是出不来怎么办?

1.打开功能注册,找到相应的功能节点

打开路径 == 动态建模平台 =》开发配置 =》功能注册 =》找到自己要修改的节点,添加配置扩展文件
在这里插入图片描述

2.写一个按钮类,继承 nc.ui.uif2.NCAction

package nc.ui.arap.actions;import java.awt.event.ActionEvent;
import nc.ui.pub.beans.MessageDialog;
import nc.ui.uif2.NCAction;public class ButtonAction extends NCAction {private static final long serialVersionUID = -2558919894445992033L;private ErmBillBillManageModel model;private BillForm editor;public BaseBillImageAction() {super.setCode("buttonAction ");super.setBtnName("按钮");}/*按钮启用的方法,我这样写是要有数据的时候才允许点击*/@Overrideprotected boolean isActionEnable() {if ((getModel().getSelectedOperaDatas() == null) || (getModel().getSelectedOperaDatas().length == 0)) {return false;}return true;}/**按钮触发执行的方法*/@Overridepublic void doAction(ActionEvent arg0) throws Exception {MessageDialog.showErrorDlg(editor, "提示", "你点击了按钮");}public ErmBillBillManageModel getModel() {return model;}public void setModel(ErmBillBillManageModel model) {this.model = model;this.model.addAppEventListener(this); // 监听}public BillForm getEditor() {return editor;}public void setEditor(BillForm editor) {this.editor = editor;}
}

3.XML配置文件,路径要和你配置的一样,不然系统找不到

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC ".//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans><!-- <bean class="nc.ui.pubapp.plugin.action.InsertActionInfo"><property name="actionContainer" ref="容器id,从原有的配置文件找" /><property name="actionType" value="notedit或者edit" /><property name="target" ref="放在哪个按钮之前或者之后" /><property name="pos" value="after或者before" /><property name="action" ref="自己的按钮类" /></bean>--><bean class="nc.ui.pubapp.plugin.action.InsertActionInfo"><property name="actionContainer" ref="editorActions" /><property name="actionType" value="notedit" /><property name="target" ref="printActionGroup" /><property name="pos" value="after" /><property name="action" ref="buttonAction" /></bean><bean class="nc.ui.pubapp.plugin.action.InsertActionInfo"><property name="actionContainer" ref="listViewActions" /><property name="actionType" value="notedit" /><property name="target" ref="listprintGroup" /><property name="pos" value="after" /><property name="action" ref="buttonAction" /></bean><bean id="buttonAction" class="nc.ui.erm.billinput.action.ButtonAction"><property name="model" ref="manageAppModel" />       	</bean>
</beans>

4.试一下右键这个xml文件,点击SpringxmlToJava能否生成java代码,一般是可以生成的,我用的是eclipse。如果生成成功,说明写的xml配置文件没问题,没生成成功就检查一下配置,实在检查不出问题就不用生成java文件了。

5.基本完成综上4步操作,重启一下中间件,重新打开界面按钮应该就可以出来了。

在这里插入图片描述
在这里插入图片描述

6.可能出现的问题,按钮还是出不来怎么办?

1.检查一下xml文件,看是不是参数写错了。然后我这种写法是pubApp的,不行可以换UI工厂2的写法,虽然感觉都一样,写法如下
    <bean class="nc.ui.uif2.uiextend.ActionExtInfo"><property name="actionContainer" ref="listViewActions" /><property name="uistate" value="NOTEDIT_STATE" /><property name="targetAction" ref="listprintGroup" /><property name="position" value="AFTER_POSITION" /><property name="extType" value="INSERT_EXTTYPE" /><property name="action" ref="buttonAction" /> </bean>
2.检查一下系统自带的xml配置文件,看是否支持扩展,我也是被这个问题困扰了几天,没想到啊!! 在这个我画的配置文件是支持扩展的配置文件,我的做法是把pubapp配置里的添加按钮配置一行代码写到这个公共的配置去了,部署的时候最好看一下这个文件有没有被人改过

在这里插入图片描述
3.实在不行就修改源码吧,虽然不太好。再不行就没办法了,我也还没遇到过。

好好学习,天天向上,加油,奥利给!!!!!!!!!!!!!!

这篇关于NC65的报销单据添加一个功能按钮的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/340994

相关文章

Java使用Mail构建邮件功能的完整指南

《Java使用Mail构建邮件功能的完整指南》JavaMailAPI是一个功能强大的工具,它可以帮助开发者轻松实现邮件的发送与接收功能,本文将介绍如何使用JavaMail发送和接收邮件,希望对大家有所... 目录1、简述2、主要特点3、发送样例3.1 发送纯文本邮件3.2 发送 html 邮件3.3 发送带

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

Python使用DeepSeek进行联网搜索功能详解

《Python使用DeepSeek进行联网搜索功能详解》Python作为一种非常流行的编程语言,结合DeepSeek这一高性能的深度学习工具包,可以方便地处理各种深度学习任务,本文将介绍一下如何使用P... 目录一、环境准备与依赖安装二、DeepSeek简介三、联网搜索与数据集准备四、实践示例:图像分类1.

如何关闭 Mac 触发角功能或设置修饰键? mac电脑防止误触设置技巧

《如何关闭Mac触发角功能或设置修饰键?mac电脑防止误触设置技巧》从Windows换到iOS大半年来,触发角是我觉得值得吹爆的MacBook效率神器,成为一大说服理由,下面我们就来看看mac电... MAC 的「触发角」功能虽然提高了效率,但过于灵敏也让不少用户感到头疼。特别是在关键时刻,一不小心就可能触

Vue中动态权限到按钮的完整实现方案详解

《Vue中动态权限到按钮的完整实现方案详解》这篇文章主要为大家详细介绍了Vue如何在现有方案的基础上加入对路由的增、删、改、查权限控制,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、数据库设计扩展1.1 修改路由表(routes)1.2 修改角色与路由权限表(role_routes)二、后端接口设计

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo