nc java 设置,NC57,NC63-NC2开经验总结
NC57,NC63-NC二开经验总结
版主2010级市场营销专业本科生
2013年8月入达内培训Java相关技术
12月入职,做用友NC的二次开发工作
2015年4月离职,4中下旬入职一家互联网金融企业
下面是做NC二开期间积累的一些常用的技术点,供NC实习生参考,不谢!
下面是从word文档里拷贝进来的,图片全都没有了。需要的可以直接下载上面链接的文档。
NC二开经验总结
公式相关
1.显示公式没执行
列表界面显示,卡片界面不显示:
Handler的onBoCard执行:getBillCardPanel().execHeadLoadFormulas();
Controller的isLoadCardFormula返回true
另外,字段录入长度不够时,列表显示,卡片不显示
2.带出数据执行公式
表头显示公式,执行getBillCardPanel().execHeadLoadFormulas();
表体显示公式,执行getBillCardPanel().getBillModel().execLoadFormula();
补充:上面是最简单的方法,其它自己测试。比如,指定表体行执行公式:
// 下面的方法必须设置编辑公式 –- 用for循环效果等于上面的方法
getBillCardPanel().execBodyFormula(i, "pk_supdoc");
UI
1.列表界面设置可多选
public ClientUI(){
super();
getBillListPanel().setMultiSelect(true);
}
2.查询条件
UIDialog dlg = getQueryUI();
if(dlg.showModal() != 1) return;
INormalQuery query = (INormalQuery)dlg;
String sql = query.getWhereSql();
3.隐藏表体字段
BillData bs = getBillCardPanel().getBillData();
BillItem[] items = bs.getBillModel().getBodyItems();
for (int i = 0; i < items.length; i++) {
items[i].setShow(false);
}
getBillCardPanel().setBillData(bs); // 必须有这一行
4.隐藏表头字段
方法一:
billCardPanel.getHeadItem("hzdy42").getComponent().setVisible(false);
billCardPanel.getHeadItem("hzdy42").getCaptionLabel().setText("");
方法二:
billCardPanel.hideHeadItem(new String[]{"hzdy38","hzdy39","hzdy40","hzdy41","hzdy42"});
5.将AggVO显示到单据界面上
billCardPanel.setBillValueVO(aggvo);
系统变量相关
1.单据号
前置任务:配置单据号规则
创建单据号:new HYPubBO().getBillNo(单据类型, 组织, null, null);
或者:getVbillCode(单据类型,组织);
new BillcodeGenerater ().getBillCode (单据类型, 组织,null,null);
2.主键
KeyGenerator.getInstance().getKey(20);
3.获取nchome路径
RuntimeEnv.getInstance().getNCHome();
4.系统变量
InvocationInfoProxy
WorkbenchEnvironment
ClientEnvironment
5.设置客户端背景色
F:\NC63\AceHome\ierp\sf\themeconf.xml
模块相关
1.添加模块
META-INF里面必须有module.xml,Sysconfig下才能找到该模块
2.单据类型没有定义所属模块
产生这个异常的原因是:单据类型没在添加在项目模块里,而是在自己的模块里,在单据类型表里:bd_billtype,把单据的systemcode改为项目模块即可
单据动作相关
1.动作注册
从pub_billaction表里复制其它单据的动作,修改单据类型、ID即可
2.动作代码路径
modules -> 单据类型所在模块 -> META-INF -> var -> source
3.按钮显示
只显示isEnabled()==true的按钮:
int[] btnAry = ((LController) getUIManageController()).getCardButtonAry();
for (int i = 0; i < btnAry.length; i++) { getBillUI().getButtonManager().getButton(btnAry[i]).setVisible(getBillUI().getButtonManager().getButton(btnAry[i]).isEnabled());
}
单据模版相关
1.下拉字段
数据库里保存的是 0、1、2、3.。。。所以vo里对应Integer
getBillCardWrapper().initHeadComboBox("vname", new String[]{"A","B","C"}, true);
2.日期型字段
单据模板是日期型时,vo要为UFDate
3.日期型默认取值
4.查询所有的默认查询条件
5.调用模板
数据库操作相关
1. HYPubBO_Client
findColValue方法只能查询字符型字段(因为这个方法内嵌了String强转)
2.JdbcSession
JdbcSession session = null;
session = PersistenceManager.getInstance().getJdbcSession();
session = JdbcSessionUtil.createJdbcSession();
密码相关
1.root密码修改
补丁相关
1.如何打补丁
在modules里找到相应的模块,将public、private、client下的代码导出的jar包放到模块的lib文件夹下,开发工具重新加载下即可(怎么重新加载?--重启,再重启,直到开发工具能加载到刚导入的jar包里的类)
运行相关
1.启动中间件报错
2.startup.bat启动服务卡着不动
元数据相关
1.单据日期
配置文件相关
1.配置文件变量名写错
节点相关
1.打开其它节点
直接点开指定的节点,没有数据:SFClientUtil.openFrame("ZZ0102"); // 下面的还没测试
参照相关
1.表头参照多选取值
((UIRefPane) billCardPanel.getHeadItem("hzdy41").getComponent()).getRefModel().getPkValues();
2.动态指定参照类
((UIRefPane)(getBillCardPanelWrapper().getBillCardPanel().getHeadItem("字段").getComponent())).setRefModel(参照类.class);
3.设置参照是否支持多选
((UIRefPane) editor.getBillCardPanel().getHeadItem("vpsn").getComponent()).setMultiSelectedEnabled(true);
4. 设置参照只显示一级
5.参照字段实现手输
6.如何知道一个字段的参照类型:
Object obj = ((UIRefPane)getBillCardPanel().getHeadItem("").getComponent()).getRefModel();
Syttem.out.println(obj);
下拉相关
1. 下拉去掉空白选项
预警
1.配置
其它
1.命名规则
2.表空间的概念
3.获取用户有权限的组织
实用方法
1.获取表体所有页签名
getBillCardPanel().getBillData().getBodyTableCodes();
2.获取表体指定行的vo
getBillModel("页签名").getBodyValueRowVO(rownum, className);
3.单据状态栏打印消息
ShowStatusBarMsgUtil.showStatusBarMsg
4.获取ts
CurTime.getCurrentTimeStampString();
5.创建主键
new SequenceGenerator().generate(pk_corp,num);
6. 保留小数点后2位,并“四舍五入”
new UFDouble().setScale(2, UFDouble.ROUND_HALF_UP);
nc java 设置,NC57,NC63-NC2开经验总结相关推荐
- NC57,NC63-NC二开经验总结
版主2010级市场营销专业本科生 2013年8月入达内培训Java相关技术 12月入职,做用友NC的二次开发工作 2015年4月离职,4中下旬入职一家互联网金融企业 下面是做NC二开期间积累的一些常用 ...
- nc 自开节点做参照_NC57,NC63-NC二开经验总结
版主2010级市场营销专业本科生 2013年8月入达内培训Java相关技术 12月入职,做用友NC的二次开发工作 2015年4月离职,4中下旬入职一家互联网金融企业 下面是做NC二开期间积累的一些常用 ...
- java设置pdf加密_如何使用Java对PDF进行加密,密码保护和设置受限权限
java设置pdf加密 Today we will be looking at the document workhorse that is PDF, and how to programmatica ...
- java设置缓存机制
2019独角兽企业重金招聘Python工程师标准>>> java设置缓存机制 所谓缓存,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实 ...
- java设置窗体居中与去除边框以及jframe设置背景色
java设置窗体居中的代码如下: public void setWindowCenter(JFrame frame){int windowWidth = frame.getWidth(); //获得窗 ...
- java 设置光标_java光标位置怎么设置 java设置光标位置方法
java设置光标位置方法: 方法一. import Java.awt.TextField; import javax.swing.JFrame; public class InsertPosition ...
- Java设置软件图标即窗口上角图标
Java设置窗口图标 import java.awt.Frame; import java.awt.Image; import java.awt.Toolkit; ...
- win10虚拟内存怎么设置最好_淘宝直通车时间段怎么设置?哪个时间段开最好?...
大家好,我是西瓜电商培训的子木.淘宝直通车一直都是商家们最受关注的一款推广工具,开过直通车的商家应该都知道在开直通车的时候是可以通过自己设定时间和金额的,所以很多商家可能会根据每天店铺的流量时间段来分 ...
- java设置并行度_控制Java并行流的并行度
java设置并行度 在掌握了这些新功能之后,随着Java 9的最新发布,我们有了许多新功能可以用来改进我们的解决方案. Java 9的发布也是修改我们是否掌握Java 8功能的好时机. 在这篇文章中, ...
最新文章
- 笔试算法题(55):快速排序实现之三路划分, 三元中值法和插入排序处理小子文件...
- php和python和java-python与java区别
- 链式栈的初始化,判空,进栈,出栈,求长,求顶,打印,清空和销毁
- spring19:AspectJ的初步介绍
- 基于 Blazui 的 Blazor 后台管理模板 BlazAdmin 正式尝鲜
- matlab光学毕业论文,光学信息处理实验的Matlab仿真.doc
- FTP 协议和 HTTP 协议的比较
- 电子学会Python(二至五级)
- 删除mysql主键语句_MySQL主键添加/删除
- 通信原理matlab实验课程设计,通信原理matlab课程设计报告
- 台式电脑开机显示节电模式怎么办_台式电脑的开机密码忘记了怎么办?
- WCF简单教程(4) 数据契约
- unix 时间戳转化为 日期格式
- matlab解三角函数方程组,用matlab解三角函数方程组:y=A+Bx+Csin(Dx)+Esin(Fx)
- 周末浅说--未将对象引用设置到对象的实例(System.NullReferenceException)
- 多副本和raid技术
- 实用:Google Chrome(谷歌浏览器)键盘快捷键大全
- 计算机开机pin,电脑开机时忘记pin密码怎么办?
- 什么是RFID技术?RFID技术介绍
- 计算机数值怎么看大小,笔记本电脑尺寸怎么看_笔记本电脑尺寸查询
热门文章
- Nginx反向代理实践
- CSS基础知识(表单标签、事件、CSS介绍、选择器、伪类选择器案例、样式、盒子模型、定位)...
- 创维盒子T1-H2903_1+8G_安卓4.4.2_当贝桌面-刷机固件包
- 200道BAT机器学习面试题分享
- 海康Visionmaster-3D工具-匹配-深度图
- STM32CubeMX | 基于STM32使用HAL库实现USB组合设备之多路CDC
- 支持热插拔的AR眼镜,才是更好的AR眼镜
- 计算器逻辑实现算法(加、减、乘、除)- JS版
- 计算机毕业设计之java+javaweb的理发店管理系统
- 盗墓笔记android,盗墓笔记-盗墓笔记手游官方版下载-游侠手游