NC nc5.x笔记(编辑中)

一、设置卡片界面下 金额字段负数为红色!

 1 /**
 2      * 设置卡片界面下 金额字段负数为红色!
 3      */
 4     private void repaintBodyMoneyColor(){
 5         if(!isListPanelSelected()){
 6             int rows = getBModel().getRowCount();
 7             if(rows>0){
 8                 for(int i=0;i<rows;i++){
 9                     CbGatheringBVO bvo = (CbGatheringBVO)getBModel().getBodyValueRowVO(i, CbGatheringBVO.class.getName());
10                     if(bvo!=null){
11                         if(SafeCompute.compare(UFDouble.ZERO_DBL, bvo.getNbroddaccountreceiv())>0
12                                 ||SafeCompute.compare(UFDouble.ZERO_DBL, bvo.getNboddaccountreceiv())>0){
13                             setBodyForeGroundByRow(tabB,i,new String[]{"nbroddaccountreceiv","nboddaccountreceiv"}, Color.RED);
14                         }
15                     }
16                 }
17             }
18         }
19     }


 二、读取XML并解析参数

Document document = null;
        try {
            DocumentBuilderFactory builderFactory = DocumentBuilderFactory
                    .newInstance();
            DocumentBuilder builder = builderFactory.newDocumentBuilder();
            // 接收XX电子票返回的信息
            document = builder.parse(new ByteArrayInputStream(retStr
                    .getBytes("utf-8")));
        } catch (Exception e) {
            e.printStackTrace();
            throw new BusinessException("更新失败!!!解析XX返回信息为: " + document);
        }
        NodeList fphm = document.getElementsByTagName("FP_HM"); // XX号码
        NodeList fpdm = document.getElementsByTagName("FP_DM"); // XX代码
        NodeList kprq = document.getElementsByTagName("KPRQ");
        NodeList code = document.getElementsByTagName("returnCode");
        NodeList msg = document.getElementsByTagName("returnMsg");
        NodeList pdfurl = document.getElementsByTagName("PDF_URL");
        String returncode = code.item(0).getTextContent();
        String returnMsg = msg.item(0).getTextContent();
        String PDF_URL = pdfurl.item(0).getTextContent();

        if (!"0".equals(returncode)) {
            throw new BusinessException("更新开票失败!!!XX返回信息为: " + returnMsg);
        }

        String FP_HM = fphm.item(0).getTextContent();
        String FP_DM = fpdm.item(0).getTextContent();
        String KPRQ1 = kprq.item(0).getTextContent();
        String KPRQ = KPRQ1.substring(0, 4)  + KPRQ1.substring(4, 7)
                + KPRQ1.substring(7, 10);


  三、继承ManageEventHandler取AggVO(按钮事件类)

@Override
    protected void onBoSave() throws Exception {

        VatinvoiceAggVO aggVO = (VatinvoiceAggVO) getBillCardPanelWrapper()
                .getBillVOFromUI();
        VatinvoiceBVO[] vatinvoiceBVO = (VatinvoiceBVO[]) aggVO.getChildrenVO();
        UFDouble amount = new UFDouble(0);
        UFDouble amountnotax = new UFDouble(0);
        UFDouble taxamount = new UFDouble(0);
        for (VatinvoiceBVO vatBVO : vatinvoiceBVO) {
            // 表体含税金额
            amount = amount.add(vatBVO.getAmount());
            // 表体无税金额
            amountnotax = amountnotax.add(vatBVO.getAmountnotax());
            // 表体税额
            taxamount = taxamount.add(vatBVO.getTaxamount());
        }     // 表头
        getBillCardPanelWrapper().getBillCardPanel().getHeadItem("totalamount")
        .setValue(amount);
        getBillCardPanelWrapper().getBillCardPanel()
        .getHeadItem("totalamountnotax").setValue(amountnotax);
        getBillCardPanelWrapper().getBillCardPanel()
        .getHeadItem("totaltaxamount").setValue(taxamount);
        getBillCardPanelWrapper().getBillCardPanel().dataNotNullValidate();     // 表尾     getBillCardPanelWrapper().getBillCardPanel().getHeadTailItem("pk_checker").setValue(getChecker(headVO.getPk_manager()));
        super.onBoSave();
    }


 四、按钮事件类下判断是什么界面

BillManageUI manageUI = (BillManageUI) getBillUI();
        boolean isListPanel = manageUI.isListPanelSelected();
        if(isListPanel){//列表界面

                }else{//卡片界面

                }        


 五、取得所有行数

int[] selects = manageUI.getBillListPanel().getHeadTable()
                    .getSelectedRows();
for (int i : selects) {
                VatinvoiceAggVO aggVO = (VatinvoiceAggVO) getBufferData()
                        .getVOByRowNo(i);
}


六、eclispce起中间间报内存不足

-Dnc.exclude.modules=${FIELD_EX_MODULES} -Dnc.runMode=develop -Dnc.server.location=${FIELD_NC_HOME} -DEJBConfigDir=${FIELD_NC_HOME}/ejbXMLs -DExtServiceConfigDir=${FIELD_NC_HOME}/ejbXMLs
-Xms512m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m
-Duser.timezone=GMT+8


 七、设置单据号

String billcode = (new BillcodeGenerater()).getBillCode(
                            "节点编码", 公司主键, null, null);


 八、取单据VO

AggregatedValueObject[] vos = getBillListPanelWrapper().getBillListPanel().getMultiSelectedVOs(
                HzAuthenticateBillVO.class.getName(), HzAuthenticateHVO.class.getName(),
                HzAuthenticateHVO.class.getName());
for (AggregatedValueObject vo : vos) {
            String key = vo.getParentVO().getPrimaryKey();
HzVatinvoiceBillVO vatbillvo = (HzVatinvoiceBillVO) getService().queryBillVOByPrimaryKey(billVOName, key);
}
时间: 2024-07-31 10:58:43

NC nc5.x笔记(编辑中)的相关文章

NC 6.X笔记(编辑中)

1.参照多选 写在编辑前事件中 ((UIRefPane) editor.getBillCardPanel().getBodyItem("pk_wa_item").getComponent()).setMultiSelectedEnabled(true); 这个是表体  执行公式: public String getNameByID(String tablename, String name, String colNm, String id) { nc.ui.pub.formulapar

AspectJ学习笔记2-Eclipse中AspectJ插件AJDT的正确安装方法

接着之前一篇日志.这个事情也挺无语的,简单记录一下. 在这里:http://www.eclipse.org/ajdt/ 可以下载最新的Eclipse Plugin,下载解压之后,一般来说,直接把解压后文件夹下的features和plugins放到Eclipse的文件夹下就行了.不过我这样做以后,启动Eclipse,发现没什么作用.才参考网上有人介绍的第二种方法,也就是Help--Install New Software--Add--Local这种方式选择刚才的解压文件夹,但是这样操作以后会报像下

《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

<Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内容主要都是介绍如何在屏幕上显示图像,事实上除了图像之外,音乐的播放也可以被理解为一种显示的方式,本节将学习在Cocos2d-x中播放声音的方法. (1)在HelloWorld.h中对HelloWorld类进行如下定义: class HelloWorld : public Cocos2d::Layer { pu

Linux学习笔记——虚拟机中安装VMware Tools

0 前言 VMware Tools是VMware虚拟机中自带的一种增强工具,只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,实现文件在虚拟机之间的复制粘贴. 最近购买了周立功的一款EasyARM开发板,作为树莓派Linux学习的补充.在虚拟机中安装了周立功提供的ubuntu镜像,总觉得在主机和PC机之间直接复制粘贴才爽,所以又安装了Vmware Tools.     [相关博文] [ Linux学习笔记--vmware plarer中安装ubunt

3D数学读书笔记——3D中的方位与角位移

本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/25339595 方位和角位移的基本概念 什么是方位.角位移? 直观的说,我们知道,物体的"方位"主要描写叙述物体的朝向,然而,"方向"和"方位"并不全然一样.向量有"方向"但没有"方位",差别在于,当一个向量指向特定方向时,能够让向量自转

页面状态保持机制(编辑中)

在ASPX页面中,每个控件的状态,通过VIEWSTATE进行保持,但前提是必须以回调的方式进行调用.我们的很多页面处理,都是以URL调用的方式进行的,无法使用VIEWSTATE. 在上例的分页处理中,使用了URL参数来传递状态,这种传递方式简单明了,但也存在问题: 1.复杂 2.和其他方式之间的共处存在问题 特别是第二点,在分页中体现得非常明显:既要能通过URL传递,还要允许页面控制,还要能传递新的参数.要实现这一要求,只能借助复杂的处理逻辑来实现了: 这种方式,当页面还有其他参数的时候,就会很

笔记-Nodejs中的核心API之Events

最近正在学习Node,在图书馆借了基本关于Node的书,同时在网上查阅资料,颇有收获,但是整体感觉对Node的理解还是停留在一个很模棱两可的状态.比如Node中的模块,平时练习就接触到那么几个,其他的一些模块暂时只会在学习的时候接触到,不常用便就荒废了.正所谓好记心不如烂笔头,多做笔记还是更有利于理解和记忆.自己做的总结也方便回头复习,所以决定踏上漫长的修炼之旅-- Node提供了许多API,其中一些比较重要.这些核心的API是所有Node应用的支柱,你会不停的用到他们. Events 几乎所有

[Android学习笔记]ListView中含有Button导致无法响应onItemClick回调的解决办法

转自:http://www.cnblogs.com/eyu8874521/archive/2012/10/17/2727882.html 问题描述: 当ListView的Item中的控件只是一些展示类控件时(比如TextView),注册ListView的监听setOnItemClickListener之后,当点击Item时候会触发onItemClick回调. 但是,当Item中存在Button(继承于Button)的控件时,onItemClick回调不会被触发. 解决方案: 在Item的布局文件

《python源码剖析》笔记 python中的List对象

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.PyListObject对象 --> 变长可变对象,可看作vector<PyObject *> typedef struct{ PyObject_VAR_HEAD //其中的ob_size表示实际被使用的内存的数量 PyObject **ob_item;//ob_item为指向元素列表的指针,实际上,Python中的list[0]就是ob_item[0] int allocat