NC二次开发常用的方法
//这张表存放的是所有单据模板的信息表 如果不知道单据模板的信息后可在数据库中查询
PUB_BILLTEMPLET
//这张表是打印模板的表改模板可以再此表修改
pub_print_template
//获取表头某个字段的值
getBillCardPanel().getHeadItem("kitarea").getValueObject()
//获取当前登录人信息
ClientEnvironment.getInstance().getUser().getUserName()
//获取当前登录人PK
String userpk = getBillUI()._getOperator();
//获取当前系统时间
String RefundTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
//获取登入时间
String date = ClientEnvironment.getInstance().getBusinessDate().toString();
//一样获取登入时间
UFDate date = getUi()._getDate();
//系统登录时间
String query_actiondate = sf.format(new Date(new Long(InvocationInfoProxy.getInstance().getDate())));
用时间随机生成数
new SimpleDateFormat("yyyyMMddHHmmssSSS") .format(new Date() );
//给表体某个字段设值
getBillCardPanelWrapper().getBillCardPanel().getBillModel("pm_cm_material").setValueAt(matervos[i].getInvclass(), i, "invclass");
获取参照字段里面的值
UIRefPane capplydeptref = (UIRefPane) getBillCardPanel().getHeadItem("capplydeptid").getComponent();
capplydeptref.getRefPK();
capplydeptref.getRefName();
capplydeptref.getRefCode();
//给参照字段赋值
UIRefPane capplyref = (UIRefPane) getBillCardPanel().getHeadItem("capplydeptname").getComponent();
capplyref.setPK(pk_deptdoc);
capplyref.setName(deptname);
//获取一个VO对象从VO中取出值
SoChangenameNewVO[] customerVO = (SoChangenameNewVO[]) getBillCardPanelWrapper()
.getBillCardPanel().getBillModel("ps_so_changename_new").getBodyValueVOs(SoChangenameNewVO.class.getName());
getBillUI().showHintMessage("") 界面底部出现提示
String strControl = ParamReader.getParamter(_getCorp().getPrimaryKey().toString(), IParamCode.PS_zhgwth).toString();
获取按钮参数
IParamCode.PS_zhgwth 在IParamCode.PS_zhgwth 中定义
//UFDouble 类型的取值和通过UFDouble 类型的判断
UFDouble Num = new UFDouble(String.valueOf(returnVOs[i].getAttributeValue("nsbigmny")));
Double doubleNum=Num.toDouble();
if(doubleNum==0){
ProjectUtil pu = new ProjectUtil();
String house = returnVOs[i].getAttributeValue("pk_house").toString();
// String project = returnVOs[i].getAttributeValue("project").toString();
ArrayList<Object[]> list = pu.getNbroddaccountreceiv(house);
if(list.size()>0){
UFDouble a=new UFDouble(0);
for(int f=0;f<list.size();f++){
String b =String.valueOf(list.get(f)[0]);
if(!b.equals("null")){
a=a.add(new UFDouble(b));
}
}
//让某个字段达到是否可编辑效果
getBillCardWrapper().getBillCardPanel().getBillModel("zh_dggcc_sckz_b1").setCellEditable(row, colName, false);
//日期时间相加
String RefundTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
Calendar ca = Calendar.getInstance();
int year = Integer.parseInt(RefundTime.substring(0,4));
ca.set(Calendar.YEAR,year);
int month = Integer.parseInt(RefundTime.substring(5,7));
ca.set(Calendar.MONTH, month-1);
int day = Integer.parseInt(RefundTime.substring(8,10));
ca.set(Calendar.DAY_OF_MONTH, day+91);
SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sp.format(ca.getTime()));
//在界面弹出一个提示框
在ClientEventHandler中
MessageDialog.showOkCancelDlg(getBillUI(),"提示","错误提示");
在ClientUI中
MessageDialog.showOkCancelDlg(this,"提示","错误提示");
//清空表体参照数据出来的当前行
getBillCardPanel().getBillModel("hfgf_jhsdiscount").clearRowData(e.getRow(), new String[]{"vdbcode", "vdbname", "pk_currtype", "currtype", "ncurrrate", "fdbaccountmode", "fdiscountmode", "ndiscountrate", "bisrefmodify", "dbegindate", "dfinishdate"});
//在UI类中调用EventHandler类
((MyEventHandler)getManageEventHandler()).onBoLineDel();
//用SQL获取时间
select GETDATE() as '当前日期',
DateName(year,GetDate()) as '年',
DateName(month,GetDate()) as '月',
DateName(day,GetDate()) as '日',
DateName(dw,GetDate()) as '星期',
DateName(week,GetDate()) as '周数',
DateName(hour,GetDate()) as '时',
DateName(minute,GetDate()) as '分',
DateName(second,GetDate()) as '秒'
//查询数据库以VO的形式返回---在报表中使用放入表体中比较好
ArrayList<SuperVO> listSuperVO = (ArrayList<SuperVO>) query.executeQuery(sql, new BeanListProcessor(Class.forName(CrmDdHouseRptVo.class.getName())));
//编辑保存警告
this.billForm.getBillCardPanel().getBillModel().cellShowWarning(i, "goodsno");
1.//模拟触发刷新按钮 相当于在界面上点击刷新按钮
//new一个按钮
nc.ui.pubapp.uif2app.actions.RefreshSingleAction refreshaction=new RefreshSingleAction();
//传数据给这个按钮
refreshaction.setModel(this.getModel());
//新增一个事件。。。模拟这个按钮事件
ActionEvent e1=new ActionEvent(refreshaction, 1001, "刷新");
//执行这个按钮的doAction方法,把这个模拟事件传进去
refreshaction.doAction(e1);
// 其他按钮也应该类似
NC二次开发常用的方法的更多相关文章
- NC二次开发常用的表
常用的表: 收费清单:pr_cr_receivables 会计月份: bd_accperiodmonth 20180416
- mybatis学习记录二——mybatis开发dao的方法
4.1 SqlSession使用范围 4.1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSession ...
- 23个phpcms v9模板制作及二次开发常用代码案例
0:调用最新文章,带所在版块 {pc:get sql="SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url a ...
- IOS-UITableView开发常用各种方法总结
实现列表有两种方式 方式一 继承UIViewController,实现UITableViewDataSource和UITableViewDelegate协议.声明UITableView. UserIn ...
- onvif规范的实现:onvif开发常用调试方法 和常见的segmentation fault错误
在前几篇中,虽然已经实现了rtsp视频流的对接,但是还要做的工作还非常多,onvif本来就是一个覆盖面非常广的一个协议,每一个功能都要填充大量的函数.而且稍不注意就会出现segmentation fa ...
- PHPCMS V9 二次开发常用代码集
0:调用最新文章,带所在版块 {pc:get sql="SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url a ...
- 【小程序开发总结】微信小程序开发常用技术方法总结
1.获取input的值 <input bindinput="bindKeyInput" placeholder="输入同步到view中"/> b ...
- selenium_学习笔记——二次封装常用的方法
# coding = utf-8 ''' 二次封装元素方法 加入循环查找方法,提高查找元素的稳定性 ''' from selenium import webdriver from selenium.w ...
- ecshop二次开发常用代码
通过index控制循环次数.在循环中将index作为if的判断条件,对循环进行控制.这里index是从0开始的.如果index<2,会进行两次循环. <!--{foreach from=$ ...
随机推荐
- FragmentStatePagerAdapter写法
为了节省资源,分批加载数据//适配器class TabLayoutViewPagerAdapter extends FragmentStatePagerAdapter { public TabLayo ...
- C语言数组的概念
在<C语言数据输出大汇总以及轻量进阶>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include <std ...
- poj_2186 强连通分支
题目大意 有N头牛,他们中间有些牛会认为另外一些牛“厉害”,且这种认为会传递,即若牛A认为牛B“厉害”,牛B认为牛C“厉害”,那么牛A也认为牛C“厉害”.现给出一些牛的数对(x, y)表示牛x认为牛y ...
- Linux上查看和修改字符集
author :headsen chen date: 2018-05-14 16:20:30 一·查看字符集 字符集在系统中体现形式是一个环境变量,看当前终端使用字符集的有以下几种方式: 1: 1 ...
- 现代3D图形编程学习-关于本书
关于这本书 三维图像处理硬件很快成为了必不可少的组件.很多操作系统能够直接使用三维图像硬件,有些甚至要求需要有3D渲染能力的硬件.同时对于日益增加的手机系统,3D图像硬件,也成为了它们的必备特征. 对 ...
- html的table列表根据奇数还是偶数行显示不同颜色
<tr <s:if test="#sts.even"> class="table_1" onMouseOut="this.class ...
- 使用response来控制浏览器的缓存
缓存这个技术在我们实际的开发中是非常常用的,也是非常重要的一项技术.主要用于客户端(浏览器)向服务器端请求的是一些比较大的数据,并且这个数据在短时间内不会经常发生变化的情况,比如一些网站的logo图片 ...
- Spoken English Practice(Don't get me wrong, that explanation makes no difference, I'm still mad at you. Come on, be reasonable!)
绿色:连读: 红色:略读: 蓝色:浊化: 橙色:弱读 下划线_为浊化 口语蜕变(2017/7/11) ...
- Android中的 style 和 theme
通过设置 view 控件的属性,达到设置android UI的目的,如果某些 属性值复用率很高,可以考虑将属性单独声明在 style中,这样就可以达到复用的效果. 一.style Style 概念:A ...
- 基于spring的quartz定时框架,实现简单的定时任务功能
在项目中,经常会用到定时任务,这就需要使用quartz框架去进行操作. 今天就把我最近做的个人主页项目里面的定时刷新功能分享一下,很简单. 首先需要配置一个配置文件,因为我是基于spring框架的,所 ...