>>>>U8其他每隔几天做一张报表计算几天的发生数,第二次做时,需计算出本次到上次出报表这期间的本月发生数,请问如何处
U8其他每隔几天做一张报表计算几天的发生数,第二次做时,需计算出本次到上次出报表这期间的本月发生数,请问如何处 0:0:0 用友NC小编
U8其他每隔几天做一张报表计算几天的发生数,第二次做时,需计算出本次到上次出报表这期间的本月发生数,请问如何处U8其他每隔几天做一张报表计算几天的发生数,第二次做时,需计算出本次到上次出报表这期间的本月发生数,请问如何处
U8其他-每隔几天做一张报表计算几天的发生数,第二次做时,需计算出本次到上次出报表这期间的本月发生数,请问如何处自动编号:8617产品版本:U8其他产品模块:UFO报表所属行业: 通用适用产品:u821关 键 字:报表问题名称:每隔几天做一张报表计算几天的发生数,第二次做时,需计算出本次到上次出报表这期间的本月发生数,请问如何处问题现象:每隔几天做一张报表计算几天的发生数,第二次做时,需计算出本次到上次出报表这期间的本月发生数,请问如何处理.原因分析:如何实现逐页汇总问题咨询。解决方案:用SELECT()函数,把报表设计个单元表示页号,如A1用MRECNO()定义页号公式,再用SELECT(**,A1@=A1@+1)就可以按页逐页汇总了。温馨提示:如果您的问题还没有解决,欢迎进入。
如果您的问题还没有解决,或者在百度上找不到***可以到 上找一下
用友nc java 下载сцсяnc java обть:
用友财务软件nc教程用友财务软件nc教程:
用友U8 打了新的库存补丁后,调拨单保存审核后,生成红字的其他出入库单。用友U8 打了新的库存补丁后,调拨单保存审核后,生成红字的其他出入库单。
问题原因:程序问题,由于增加了调拨方向导致
解决方法:打补丁Data_Data_st_76789_transflag.sql,请在查询分析器中针对帐套的年度数据库执行。解决方案:问题原因:程序问题,由于增加了调拨方向导致
解决方法:打补丁Data_Data_st_76789_transflag.sql,请在查询分析器中针对帐套的年度数据库执行。 天龙瑞德
U8其他固定资产不可使用U8其他固定资产不可使用
U8其他-固定资产不可使用自动编号:10712产品版本:U8其他产品模块:固定资产所属行业: 通用适用产品:关 键 字:固定资产问题名称:固定资产不可使用问题现象:V8.21总帐,固定资产,应收,应付四个模块挂接使用,当七月份所有模块正常结帐以后,开始做八月份业务的时候,打开八月份固定资产日常操作的时候,所有功能都是灰色,不可使用状态。八月份在界面中显示“已结帐状态”,只有“恢复月末结帐前状态”可用。但是恢复的时候提示“操作失败,请找供应商联系”,无法恢复月末结帐。总帐Gl_mend表FA字段结帐日期是七月份,八月份也没有任何标志,八月份固定资产未做任何业务操作。把所有模块八月份结帐后还是无法反结八月份的固定资产。而且固定资产结帐标志无法自动打上。操作环境没有问题,原因分析:在帐套参数表(accinformation)中固定资产的“最新会计期间”错误解决方案:经查找发现在帐套参数表(accinformation)中固定资产的“最新会计期间”错误,应该是8,(在你上报的数据里显示是7)这个跟最新会计日期是一致的。手工修改就可以了。温馨提示:如果您的问题还没有解决,欢迎进入。
其他出库单无法进行记帐 其他出库单无法进行记帐
U8知识库问题号:1856解决状态:最终解决方案软件版本:其他软件模块:存货核算行业:通用关键字:无法进行记帐适用产品:u821问题名称:其他出库单无法进行记帐问题现象:存货核算系统是在2003年4月份启用的,期初单据均已记帐。内有一A仓库的计价方式为“个别计价法”,我4月份对A仓库的出入库单据进行记帐操作时,各种入库单均可以正常记帐,其他出库单却无法进行记帐,这是为什么?是不是“个别计价法”的仓库在进行出库单据进行记帐前,应该先对某一个步骤进行操作,如果是,那应该先怎么做呢?还是“选项”未设置好呢?请您给予解答,谢谢!问题原因:个别计价法对出库单记帐时需要进行出库成本分配。解决方案:记帐时,点击右键,进行成本分配后才可以记帐。补丁编号:录入日期: 15:23:45最后更新时间:
批量输出明细帐 批量输出明细帐
通知识库问题号:23866适用产品:用友T3-用友通软件版本:用友T3-用友通标准版软件模块:总账问题名称:批量输出明细帐问题现象:如何将明细帐一次性输出成excel表!
用友T3用友通关于采购订单的执行问题? 用友T3用友通关于采购订单的执行问题?
在用友通2005采购管理中,一张订单可以被多次拷贝生成入库单,但一张订单只能被执行一次,并且执行订单的入库单货品数量可以与订单不一致。那么请问:如果一个采购订单所订货品要分期分批入库的话,如何做这张订单的执行操作?订单可以多次执行,但总数量不能超过订单数量。如有其它问题,请联系在线***咨询。 。
用友T3用友通关于往来期初录入 用友T3用友通关于往来期初录入
现在的用友通2005我觉得在采购、销售里面录入供应商、客户往来期初很不方便。客户期初往来太多了,能不能只录入一个期初总金额?可以采用虚拟***,虚拟存货如果不想录入***中的存货明细,可以虚拟一个新的存货,令这个存货的总金额为期初总金额就可以了。客户和代理商期初都可以这样解决!如有其它问题,请联系在线***咨询。
用友U8财务固定资产的制单是在哪儿进行的。
用友U8财务固定资产的制单是在哪儿进行的。
固定资产的制单是在哪儿进行的。在固定资产下有个批量制单功能节点,在那里面可以进行制单生成凭证。或者在固定资产选项中选择业务完成后立即制单选项,这样完成业务操作后系统会自动提示制单。如有用友U8其它问题,请在下面回复疑问,我们将第一时间与您联系,帮助您解决问题。同时您也可以联系用友用友天龙瑞德用友软件,用友财务软件,寻找用友U8服务商,咨询用友U8价格,用友U8多少钱?,用友U8报价,欢迎咨询。我们将竭诚为您服务。联系***:010-。网址:用友云基地
用友系统管理不能注册提示不能调用系统管理不能注册提示不能调用
问题版本:803-U8.52问题模块:804-系统环境所属行业:0-通用问题状态:公示关 键 字:登陆适用产品:852补 丁 号:开放状态:注册用户原问题号:提交时间:问题名称:系统管理不能注册提示不能调用问题现象:系统管理不能注册提示不能调用, 数据不能备份原因分析:用户的电脑工程师对用友软件的数据库做了设置解决方案:取消对数据库日志文件的限制
U8其他辅助核算U8其他辅助核算
U8其他-辅助核算自动编号:10352产品版本:U8其他产品模块:总账所属行业: 通用适用产品:U8总帐关 键 字:日常操作问题名称:辅助核算问题现象:一用户在使用U8总帐填制凭证过程中发现当科目是项目核算,选择项目时顺序是扎乱的,问是否可以按照项目编码排序,同样选择客户/供应商时能否按照编码排序,以便能够快捷的找到需要的内容,提高工作效率。原因分析:同解决方案解决方案:项目的参照可以在总帐的选项中设置按项目编号排序,而客户档案是按客户分类加上客户编号排序。温馨提示:如果您的问题还没有解决,欢迎进入。
用友U8 对账后余额调节表不平_0用友U8 对账后余额调节表不平
问题原因:在总帐明细账表中有对账记录被标志为已核销(bdelet 字段值为 -1)解决方法:修改该记录值为0解决方案:问题原因:在总帐明细账表中有对账记录被标志为已核销(bdelet 字段值为 -1)解决方法:修改该记录值为0 天龙瑞德
报表取数出错_0报表取数出错
问题版本:801-U8.51问题模块:2-UFO报表所属行业:0-通用问题状态:公示关 键 字:取数适用产品:U851----UFO报表补 丁 号:开放状态:注册用户原问题号:提交时间:问题名称:报表取数出错问题现象:用户有个科目设了三种辅助核算,但在报表取数时,该科目不能在参照时选相应的辅助核算内容。原因分析:需求问题,本版无法解决,851A可以解决。解决方案:建议升级解决。
UFO无法正常登陆UFO无法正常登陆
问题版本:810-U6普及版3.1问题模块:2-UFO报表所属行业:0-通用问题状态:公示关 键 字:登陆UFO适用产品:8.X-U8补 丁 号:开放状态:注册用户原问题号:提交时间:问题名称:UFO无法正常登陆问题现象:服务器端无法正常登陆UFO,无法看见登陆界面,并提示“无法调用[注册服务]”,但其他客户端均可以正常登陆,不知是什么原因?原因分析:UFO无法正常登陆的原因一般有:机器上存在UFOW.INI文件,远程配置不成功,机器名称中有特殊字符等.解决方案:解决方法: 1、在当前系统搜索UFOW.INI文件,将其删除; 2、通过系统服务--远程配置重新连接服务器; 3、当前机器名不要有类似“_”等特殊字符;实在不行,可将U8系统卸载重装。
用友T3用友通销售管理发货明细表错乱 用友T3用友通销售管理发货明细表错乱
数据错乱出现的操作步骤是:销售管理-&发货明细表-&点“按业务员”查询,显示界面:货物名称 这里是空白的。规格型号 这里显示是:计量单位的数据计量单位显示的是:发货日期数据依次往后推。用友数据表修复办法:发货明细表按“业务员”查询数据错乱,办法是将RPT_F开头的三张表内容清空,从其他好的帐套中导入,即可解决 同同一个办法也可以解决打印预览的问题。 如有其它问题,请联系在线***咨询。
企业发生混合性投资业务如何缴纳企业所得税 企业发生混合性投资业务如何缴纳企业所得税
问:企业发生混合性业务如何缴纳? 答:根据《国家总局关于企业混合性投资业务企业所得税处理问题的公告》(2013年第41号):一、企业混合性投资业务,是指兼具权益和债权双重特性的投资业务。同时符合下列条件的混合性投资业务,按本公告进行企业所得税处理(一)被投资企业接受投资后,需要按投资合同或协议约定的利率定期支付利息(或定期支付保底利息、固定利润、固定股息,下同);(二)有明确的投资期限或特定的投资条件,并在投资期满或者满足特定投资条件后,被投资企业需要赎回投资或偿还本金;(三)投资企业对被投资企业净资产不拥有所有权;(四)投资企业不具有选举权和被选举权;(五)投资企业不参与被投资企业日常生产经营活动。 二、符合本公告第一条规定的混合性投资业务,按下列规定进行企业所得税处理:(一)对于被投资企业支付的利息,投资企业应于被投资企业应付利息的日期,确认收入的实现并计入当期应所得额;被投资企业应于应付利息的日期,确认利息支出,并按和《国家税务总局关于企业所得税若干问题的公告》(2011年第34号)第一条的规定,进行税前扣除。 (二)对于被投资企业赎回的投资,投资双方应于赎回时将赎价与投资成本之间的差额确认为债务重组,分别计入当期应纳税所得额。
各门店都有很多委托代销业务,如何统计利润呢各门店都有很多委托代销业务,如何统计利润呢
可以使用销售明细统计表来查询,同时按部门过滤,但是要求基本信息中的职员和部门设置要对应正确,并且当职员所属部门有变动的时候,也要及时修改基本信息,以免影响统计的正确性.
用友天龙瑞德010-
UFO中一张表页内同时取多个期间帐务函数的应用!UFO中一张表页内同时取多个期间帐务函数的应用!
[答]:很多报表、分析都会用到上年同期数据,或者连续几年的同期数据,每月都在做定期分析,应如何处理?要求在不用更改账务函数公式的情况下,只要每月输入相应的关键字“年”“月”“日”,就会取到相应几年同期数据。如输入日,相应取到2005年、2004年、2003年的同期数据,输入日,相应取到2004年、2003年、2002年的同期数据。前提是不需要更改单元格的公式!可通过批处理方式定义取数公式后,选定范围修改,批处理公式实现。下附示例(月关键字由用户交互输入,A4单元取的是上月值,B4取当月值):
open report &e:\aaa.rep&
let &yue=getint(&请输入月&)
let 月=&yue
let &month=&yue-1
let a4=QC( &1001&, &month,,&999&,2005,,,,&y&,,)
let b4=QC(&1001&,月,,&999&,2005,,,,&y&,,)
用友u8报价单
如何录入外币期初余额
1、期初余额录入在,总账系统-期初余额里面录入,帐套1月份启用的帐套只需要录入期初余额,年中启用的帐套需要录入三列,累计借方、累计贷方、期初余额。期初余额录入完毕后,要点“试算”和“对账”。
2、期初余额试算不平衡将不能填制凭证。
七个技巧让出纳事半功倍 七个技巧让出纳事半功倍
广义与狭义的划分 从广义上讲,只要是票据、货币资金和有价证券的收付、保管、核算,就都属于。它既包括各单位部门专设出纳机构的各项票据、货币资金、有价证券收付业务处理,票据、货币资金、有价证券的整理和保管,货币资金和有价证券的核算等各项工作,也包括各单位业务部门的货币资金收付、保管等方面的工作。 狭义的出纳则仅指各单位会计部门专设出纳岗位或人员的各项工作。 财务日常工作非常琐碎,然而又要求财务人员严谨细致,处理业务时不得出现半点差错。这样一份工作,一天下来往往使我们身心疲惫。其实,在财务工作中存在着许多小技巧,能够让财务工作变得轻松起来。下面笔者为大家总结了做好出纳工作的7个小技巧,让你事半功倍。 七个技巧 一、在收付现金时一定要与当事人当面对清金额,最 好与第三人核对后再进行收付进账。 二、对需要报销的***,抬头与本单位不符、大小写金额不符、涂改***、***上无收款单位章或收款人章、***与支票入账方不符者,均不能接受***,待补办手续后再报核。 三、报销单据需先签字、后付款;收款单据先交款、后盖章;付款单据要盖付讫章。 四、付款单据如由他人代领,应签代领人名字,而不得签被代领人名字;代领人不是本单位的职工,要注明与被带领人关系及其联系地址。 五、营业外收入,要以经办单位交款单位为依据,收款后开出财务收据。 六、要注意加强对支票、***和收据的保管。领用支票要设立备查登记簿,经单位主管财务领导审签后,由领用人签章。领用现金支票要在存根联上签字,以防正副联金额不符。 支票存根联上要逐项写明金额、用途、领用人,并在备查簿上注明空白支票和支票限额。支票作废后要按顺序装订在凭证中。 空白***和收据不能随便外借,已开具金额尚待带出收款的***和收据,要由借用人出具借据并作登记,以便分清责任,待款收回后再结清借据。 ***和收据作废后要退回来,先作废后重开,如果是销货***退回红冲,应该先由仓库部门验货入库后再进行退款。 如果对方丢失***和收据,要根据对方财务部门开出该款尚未报销的证明才能补办单据,并在证明单上注明原开***或单据的时间、金额、号码等内容,同时注明&原开单据作废&字样。 七、登记银行存款日记账和现金日记账,要首先复核凭证、支票存根、附件是否一致,然后按付出支票号码顺序排列,以便查对。摘要栏应注明经办人、收款单位及支票号码。 支票上的印鉴,应即用即盖,并由会计人员、出纳员二人分开保管,支票用印鉴的私人印章,只能用于盖印支票,而不作为其他任何用途。
企业股东个人年终依据股份数额取得的分红如何缴纳个人所得税? 企业股东个人年终依据股份数额取得的分红如何缴纳个人所得税?
企业股东个人年终依据股份数额取得的分红,无论是现金、实物或是有价证券均应按“利息、股息、红利”所得项目计征个人所得税。
1、2、3、4、5、6、7、8、9、10、
用友U8普及版升级出错U8普及版升级出错
U8普及版-升级出错自动编号:1625产品版本:U8普及版产品模块:固定资产所属行业: 通用适用产品:U85X关 键 字:fa_AssetAttached问题名称:升级出错问题现象:U8普及版升级时出现fa_AssetAttached升级失败原因分析:fa_AssetAttached库不存在解决方案:引入另外年度的表即可温馨提示:如果您的问题还没有解决,欢迎进入。
用友U8普及版升级到U8普及版,总账非套打问题U8普及版升级到U8普及版,总账非套打问题
U8普及版-升级到U8普及版,总账非套打问题自动编号:3039产品版本:U8普及版产品模块:总账所属行业: 通用适用产品:U8普及版关 键 字:升级到U8普及版,总账非套打问题问题名称:升级到U8普及版,总账非套打问题问题现象:低版本尤其是U821、U852升级到U8普及版后,总账非套打帐簿,其中往来明细账打印里,点设置都会报错,并且企业门户死机。原因是该账套数据库非套打表PrintEX表和U8普及版正常建立的账套的该表记录是少的,从正常的账套里导入即可。原因分析:低版本尤其是U821、U852升级到U8普及版后,总账非套打帐簿,其中往来明细账打印里,点设置都会报错,并且企业门户死机。原因是该账套数据库非套打表PrintEX表和U8普及版正常建立的账套的该表记录是少的,从正常的账套里导入即可。解决方案:温馨提示:如果您的问题还没有解决,欢迎进入。
速达录入期初余额步骤
1、期初余额录入在,总账系统-期初余额里面录入,帐套1月份启用的帐套只需要录入期初余额,年中启用的帐套需要录入三列,累计借方、累计贷方、期初余额。期初余额录入完毕后,要点“试算”和“对账”。
2、期初余额试算不平衡将不能填制凭证。
速达财务软件年结
一、操作流程:
1、先做数据备份
2、新建年度帐
3、结转上年数据
二、具体步骤:
1、数据备份:
系统管理→系统→注册→用户名admin 密码为空→确定→账套→备份→选择要备份的账套→确定→选择备份路径→完成备份
2、新建年度帐(以2016年结转到2017年为例):
系统管理-系统-注册-用户名是您自己的名字如demo密码demo-选择帐套001-年度2016-确定-年度帐-建立-2017年年度帐-确定-关闭系统管理
3、结转上年数据:
系统管理-系统-注册-用户名是您自己的名字如demo密码demo-选择帐套-年度2017-确定-年度帐--结转上年数据-总账系统结转-选择结转方式-明细方式-错误结转科目为0说明结转成功
| Copyright &
&All Rights Reserved 精彩会计生活 &北京天龙瑞德&版权所有 & 北京海淀上地十街辉煌国际大厦3-609&总机:010- & 售后:下次自动登录
现在的位置:
& 综合 & 正文
[转] 用友NC二次开发问题汇总【转】
http://blog.csdn.net/softwave/article/details/8739799
1. nc57 字段颜色
getDealArrivalUI().getBillCardPanel().getBillModel("hn_bkarrival_b").setBackground(Color.yellow,
getDealArrivalUI().getBillCardPanel().getBillModel("hn_bkarrival_b").getItemIndex("npurchdiscount"));
2.前台提示对话框
MessageDialog.showWarningDlg(ui, "错误", "对于绿通类型的到货单,不可用!");
3.设置选择行
ui.getBillCardPanel().getBodyTabbedPane().setSelectedIndex(0);
4.设置页签激活
ui.getBillCardPanel().setTabEnabled(1, "hn_bkarrival_b", true);
BillTabbedPane tabb2 =
(BillTabbedPane) SwingUtilities.getAncestorOfClass(BillTabbedPane.class,
ui.getBillListPanel().getBodyScrollPane("hn_bkarrival_b"));
if (tabb2 != null) {
int index = tabb2.indexOfComponent(ui.getBillListPanel().getBodyScrollPane("hn_bkarrival_b"));
tabb2.setEnabledAt(index, true);
一、供应链采购订单问题
在采购订单参照请购单时,若选择了10行请购单的记录,采购订单的表体也就显示了10条记录,如何才能实现还可以再弹出请购单的参照,追加一条记录,而不需要取消单据后重现选择请购单。
答:截止最新版本,你这个问题只能是退回去,重新选择11条过来,不能如你希望那样10条不动再追加第11条.这是个易用性改进的需求,我转给SCM开发部门.
二、3.1的XML导入文档
只有项目基本档案、客商基本档案,现在客户在5.0的基础上导入
而且人员档案也分成了集团级和公司级。请问
1、项目基本档案和项目管理档案是否只用一个XML文件即可
2、客商基本档案和客商档案是否需要分别导入
3、人员基本档案和人员档案是否需要分别导入
如果有文,请提供(导入文档和XML交换文件格式)
答:1 、RE: 50中可以导入项目基本档案,导入时如果指定导入的公司时,基本档案会自动分配生成项目管理档案。
2、RE:客商基本档案导入时,如果指定了分配的公司,可以自动把基本档案分配到公司生成客户档案和供应商档案
3、RE:人员基本档案和人员档案不需要分别导入,是在一个完成的XML文件中表示数据的
三、关于NCv5的部署
自己完成了一个NCv5的,需要部署,我是把public、private、client、gen分别打包,然后把jar和xml在一个一个分类拷贝到对应的文件夹,好麻烦,为什么不能在eclipse中直接就部署到nchome呢?.
答:eclipse里面 uap有个工具,右键mde tools 下 export module可以将代码打包,不用一个个来打jar包。
导出来的目录直接考到nchome下module 就可以
四、nc5中下拉框不能返回其内容的问题
在单据模板和查询模板中,将一个字段的数据类型设置为"下拉框",并且设置参照名称为"I,01,02,03,04,05"。运行时下拉框的内容可以显示出来,
但是返回的却是所选值的索引序号,即0,1,2,3,4。 在查询模板中设置了返回类型和显示类型都没有效果。
求助:这是V5的bug还是哪里设置的不对?
我用的是V501
答:换成 SX,01,02,03,04,05
前面设置的参数都有哪些?分别有什么作用?
答:设置查询模板某一字段的数据类型是"下拉" ,然后在参照类型中输入字符串"IX,自由态,游离态,..."
IX,UPP024=外部单位,UPP040=内部核算单位,UPP041=内部法人单位,UPP042=内部渠道成员
CX,UC000-0001589=客户,UC000-0000275=供应商,UC000-0001574=客商
I,工行,招行,人行,建行
字符串的前缀有 I IX C CX S SX 六种代表不同的含义:
将下拉框的索引号作为整型返回
将下拉框的索引号作为整型返回
将下拉框的索引号作为Char类型返回
将下拉框的索引号作为Char类型返回
返回下拉框中显示的内容
可设置返回值和显示内容的对应关系,选择某一个显示值则会返回该显示值对应的返回值 格式 "SX,自由态=6,审核通过=7,审核不通过=9"
以上六种类型中两个字母的(IX、CX、SX)可通过"="号设置对应关系,而剩下的类型会把整个字符串包括"="号都显示出来。
五、关于树的问题一个左树右表结构的管理界面的单据不知道如何把树的ROOT根结点改成其它的名字,
还有我对右表里面的数据增加、保存、删除后'如何能同一时间刷新左边的树''用的是V501
答:对于树卡片类界面,调用父类BillTreeCardUI的modifyRootNodeShowName方法修改根节点名称,
对于树管理类界面,调用父类BillTreeManageUI的modifyRootNodeShowName方法修改根节点名称,
UI类对应的Control类的isAutoManageTree方法返回值是true可以在编辑卡片或列表界面后自动刷新树的节点。
在ui类中 可以
((TableTreeNode)getBillTree().getModel().getRoot()).setUserObject("name");
六、怎样编写代码在待办事务中发送一条消息?
答:可以参考下, 后台代码,就是往数据库插入一条记录
//////////////////////////////
PFMessageBO pfm = new PFMessageBO();
CommonMessageVO comvo = new CommonMessageVO();
UserNameObject usvo = new UserNameObject("a");
usvo.setUserPK("000000VJ");
usvo.setUserCode("a");
usvo.setUserName("a");
comvo.setSender("a");
comvo.setReceiver(new UserNameObject[]{usvo});
comvo.setMessageContent("导入数据演示");
comvo.setTitle("外部平台导入数据");
comvo.setType(MessageTypes.MSG_TYPE_INFO);
pfm.insertCommonMessage(comvo);
///////////////////////////////
nc.ui.uap.sf.SFClientUtil
showNode(String nodecode)
七、报表开发中遇到的问题在报表中,需要对 XX率(比如兑现率) 进行小计合计, 兑现率 = 实发量 / 计划量 , 是一个百分比数, 现在点击"小计合计"按钮,对该列进行统计,是将所有的兑现率加起来,这样是错误的,应该是
兑现率合计 = 累计实发量 / 累计计划量.
错误的结果:
现在不知道修改哪个方法能够修改这个问题,使点击"小计合计"按钮后,将小计合计数由自己来计算.
答:添加 2列内容累计实发量 , 累计计划量 在设置公式列 ( 兑现率)=累计实发量/累计计划量
八、制作报表穿头规则的时候自动生成的代码出现编译类错误制作支持穿透的报表时候,利用左侧的"查询间穿透"代码生成向导生成的规则片段报编译类错误,
生成的代码片段如下:
String value = getPeneValue("SUBJNAME");
getHashParam().put("subj", new ParamVO(value));
StorageDataSet ds = ModelUtil.getQueryResult("gldetail4pene", getHashParam(), "design");
setId("gldetail4pene");
setDataSet(ds);
出现的错误如下:
nc.vo.uap.queryengine.QEBusinessException: 编译类错误....
at nc.bs.pub.querymodel.PenetrateRuleUtilBO.check(PenetrateRuleUtilBO.java:49)
at nc.impl.uap.queryengine.EmbedCodeUtilImpl.checkPenetrateRule(EmbedCodeUtilImpl.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at nc.n.serv.ServiceDispatcher.a(ServiceDispatcher.java:320)
at nc.n.serv.ServiceDispatcher.execCall(ServiceDispatcher.java:129)
at nc.monServletDispatcher.doGet(CommonServletDispatcher.java:76)
at nc.monServletDispatcher.doPost(CommonServletDispatcher.java:95)
使用的开发环境,版本是nc501,我使用system.out.print();它也报编译类错误
答:在起中间件服务的J***A项目的构建路径中增加以下外部JAR就可以了:
%JDK%/lib/tools.jar
九、启动NC客户端时报错每次启动NC的客户端时总会提示
Java.lang.ClassNotFoundException:nc.n.NetStreamConstants错误?
但是这个错误似乎并不是很影响运行
答:是在V5.011后版本去掉.你可以不管这个信息,不影响使用
十、在哪个方法中增加查询条件在哪个类里面增加查询条件.我现在想增加一个条码的查询条件
答:你说的查询条件是指查询对话框中的条件吗?
如果是 只需配置查询模版即可
十一、总账如何查询某个会计月是否已结账答:ICreateCorpQueryService
(ICreateCorpQueryService)getLocator().lookup(ICreateCorpQueryService.class.getName());
//查询总帐的最小未结帐月份
String[] sYearMonth = cc.querySettledPeriod(dwbm, "GL");
//再用sYearMonth 与当前月份比较,即可判断是否结帐
十二、关于持久化事务在预警平台中调用了
JdbcSession session = sessionManager.getJdbcSession();
conn = session.getConnection();
conn.setAutoCommit(false);
程序里做了分段提交。 但是运行后发现似乎还是最后所有数据一起提交。
由于操作的数据量比较大,所以不想以整个包所有数据为一个事务。
而且程序中有这样的片段。统计一组数据,生成xml文件,打标志位。如果是所有数据一个事务的话会造成一部分数据文件已经生成,但是标志位没有打上的情况。最后就形成了xml文件重复的问题。
有没什么方法,或哪里设置能让程序在调用 mit后就真的进行数据提交。
答:事务型的组件是指该组件的方法调用中事务处理会自动参与,这类组件的开发与远程组件类一样,也是基于接口的,同样我们对接口没有任何的特别要求,
普通借口就可以了。
V5.0中的事务参与模型通过方法名后缀进行判断,判断的方法如下:
方法名后缀RequiresNew: 新事物
方法名后缀Mandatory: 必须在一个已有的事务环境中运行改方法
方法名后缀Supports: 只是支持事务,不建议使用
方法名后缀NotSupported:不支持事务,不建议使用
方法名后缀Never:不能有事务,否则出错
没有方法名后缀:
如果有事务,就在该事务环境下工作,否则新启事务,这是大部分事务型组件的情况
十三、NC缓存出现的问题
修改后的代码更新到服务器上后,3.5以上的版本应该是不需要重新启动应用服务器客户端就应该自动更新,即支持动态部署...但为什么在客户哪里我都把应用服务器重新起到了,可客户端代码还是不更新...在缓存目录删除对应的代码后,界面还是可以运行,应该说明是没有用到这里的代码,这是为什么呢?代码是自己写的,没有使用单据模板...
答:这里可能有些不稳定,不过手工清一下缓存还是放心一些
十四、在NC中使用过web service ?能不能介绍下经验
答:NC的外部交换平台就是NC的一个典型的web service 的应用
十五、WAS 部署问题
NC501版本,配置了 WAS 集群,有主从两台服务器。目前开发了一个模块需要部署到WAS上,可是一直不能正确部署,新注册的功能节点根本就打不开。
新的模块概述:
1、模块名称为 imptool。
2、需要后台完成的功能就是查询会计科目,在 imptool.module 文件中把相关的类配置为 public 形式,而不是 private 。
3、生成 ejb 代码:使用 eclipse MDE 的 module 工具根本就不对 public 形式的组件生成 ejb 代码,所以不生成 imptool_proxy.module 文件。
总上所述,我认为不需要部署 ejb。或是应该部署 ejb,那如何进行部署呢 ??
是否在部署模块到 WAS 上需要两个步骤,1、部署 ejb,2、部署模块的代码 ?? 都需要怎么操作??
答一:1.如果没有ejb或者proxy确实不需要生成ejb。
2.但向was中重新部署过程还是需要的,部署过程会更新classpath路径。新增加的module才能正常访问。
正常的部署过程应该是
1.生成ejb。这过程会先生成nc50.ear,根据proxy描述文件生成对应proxy。
2.部署ejb。根据ear包和其内的描述文件将ejb和war包部署到was中。帮助文件的变化也是需要重新部署的。
答二:我这么做部署成功过:
1 先把自己的代码用MDE Tools-〉Export Module 导出。
2 通过FTP或其他方式把刚才导出的模块放到was服务器上的nchome/modules里面。
3 使用X-Manager或者其他可视化客户端工具连接服务器。停was服务后,运行nchome/bin/wasSysConfig.sh。选择Deployment做如下操作:读取、修改、全选、保存、生成EJB、部署EJB。
4 启动was服务。
5 如果存在was集群,将第2、3步操作在集群中的其他机器上同样进行一遍。在所有服务器上操作完成后,启动服务器。
注意:如果新的模块中没有使用ejb则不用执行第3步操作。将模块拷贝到nchome/modules后直接重启was服务即可。
如果新的模块中使用了ejb,这nc.itf.xxxx.XXX接口的方法中一定不能使用jdk1.5的语法如:ArrayList&String&。如果使用了会导致ejb部署失败,因为was使用IBM的jdk,还可能有版本问题。
十六、开发节点的授权问题比如说 客户化的节点编码是10,财务是20,供应链是40,我想增加一个 80 的一级节点可以吗?是否会受产品授权的制约?
现在测试时好像没什么问题,但怕开发完了以后,最后上线实施时,放到小型机的正式产品中用不起来怎么办?
答:二次开发和行业开发的模块,要以H开头,可以不受产品授权控制.'80'不可以,部署到正式系统上是不能用的.
十七、Active Directory 作为LDAP用java访问
问:我们的 J2EE 应用程序目前正通过我们在内部开发的 LDAPAuthentication 类访问 Domino LDAP Server 进行认证。这一 LDAPAuthentication 类将使用 JNDI API 来搜索 Domino LDAP Server。然而,我们无法使用这个 LDAPAuthentication 类来搜索 Active Directory,因为 Active Directory 不支持 JNDI API。有没有另一个 J***A API(Active Directory 支持)可供我们用来定制
LDAPAuthentication 类以访问 Active Directory 进行认证?
答:ActiveDirectory 支持 LDAP 协议,您可以在 Java 中使用标准的 Java JNDI API 来访问它。LDAP 服务器并非真的必须支持 JNDI API,只要支持 LDAP 协议就可以了。如果您
有问题,最有可能是关于您打算如何访问 ActiveDirectory 的配置问题。我已经提供了一个简单的测试案例程序来认证一个 LDAP 服务器的识别名。请确认您的 LDAPAuthentication 类与它基本相同。一般情况下,您对待 ActiveDirectory 不必与对待任何其他的 LDAP 服务器有什么不同。
import java.util.P
import javax.naming.*;
import javax.naming.directory.*;
//include the JNDI in the classpath. You should use the same JDK used by WebSphere Application server.
class wasLdapAuth
public static void main(String[] args)
//***************** user information to be authenticated ********************************
//*****************Please modify the following three properties accordingly ************
String ldapHost= "ldap://cliang1.:389"; //ldap host + port number
String DN = "cn=user1, ou=Austin,o=ibm,c=us";
// DN to be authenticated
String password = "security";
DN's password
//***************** End of user information
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
//for websphere 4.0 and 5.0
//props.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.jndi.LDAPCtxFactory");
// for WebSphere 3.5 release
props.put(Context.SECURITY_AUTHENTICATION, "simple");
//use simple authentication mechanism
props.put(Context.SECURITY_CREDENTIALS, password);
props.put(Context.SECURITY_PRINCIPAL, DN);
props.put(Context.PROVIDER_URL, ldapHost);
long start = System.currentTimeMillis();
long end=0;
long time =0;
System.out.println("authenticating");
DirContext ctx = new InitialDirContext(props);
System.out.println("authenticated");
end = System.currentTimeMillis();
time = end -
System.out.println( "authentication takes = " + time + " millis");
System.out.println("successfully authenticate DN: "+DN);
catch (Exception ex)
end = System.currentTimeMillis();
time = end -
System.out.println("Exception is "+ex.toString());
ex.printStackTrace();
System.out.println( "authentication takes = " + time + " millis");
System.out.println("fail to authenticate DN: "+DN);
十八、几个NC二次开发中常用的方法//取得单据号(从NC取,服务器端)
String billNo = new nc.bs.trade.business.HYPubBO().
getBillNo(ISYYSBilltype.CTRLDDEPT_BGT_BILL, parentVo.getPk_corp(), null, null); // 设置单据号
//取得单据号(从NC取,客户端)
return HYPubBO_Client.getBillNo(getUIControl().getBillType(), _getCorp().getPrimaryKey(), null, null);
//在UI中设置按钮状态
getButtonManager().getButton(nc.ui.trade.button.IBillButton.Add).setEnabled(false);
//取系统参数
从 pub_sysinit 表取
"select pk_sysinit, pk_corp, sysinit, sysindex, initcode, initname, makedate, value, editflag, controlflag, remark, defaultvalue, valuelist, stateflag, domainflag, paratype, groupcode,groupname,mainflag,mutexflag,showflag,jzflag,valuetype,sysflag,checkclass,editclass,dataclass,pkvalue,afterclass
from v_pub_sysinit where
initcode = '" + paraCode + "' and pk_corp = ? order by sysindex ";
select * from pub_sysinit where initcode='SYYS601';
//刷新页面上的数据
SuperVO[] queryVos = queryHeadVOs(str_sqlwhere);
//查询数据
updateBuffer(queryVos);
//修改缓存
((nc.ui.trade.treemanage.BillTreeManageUI) getBillUI()).setListHeadData(getBufferData().getAllHeadVOsFromBuffer());
十九、调用外部交换平台返回类SendResult的问题在代码中调用PostFile中的方法sendFileWithResults
SendResult result = PostFile.sendFileWithResults(newfile, url,"D://", "D://", true);
谁知道第四个参数是什么意思?
放回类SendResult怎么从中得到是否发送成功的信息?
答:parameter1: 要发送的文件.
parameter2: 要调用的servlert 的服务器路径
parameter3: 返回文件的存放路径
parameter4: 发送成功后,文件移动备份的地址
parameter5: 是否压缩传送
SendResult result = PostFile.sendFileWithResults(docfile, url, "[url=file:////backFiles]//backFiles[/url]", "[url=file:////moveFiles]//moveFiles[/url]", false);
Document rtnDoc = result.getBackDoc();
rtnDoc 是一个有格式的 xml 回执文件;里边有一个 &resultcode&1&/resultcode& 为 1 的时候为成功.否则 就是错误编号.
&resultdescription&成功或错误信息&/resultdescription&;
方法中间的参数, 是回复时网页自动生成的 ,就是两个路径
二十、NC50做的树卡界面 开发环境没问题 部署到中间件上树没了用二次开发工具配置的一个卡片UI单据,手工改成树卡单据 开发环境没问题,但部署到运行环境上之后 树没了
答:因为我在开发环境中开的中间件 然后通过IE作为客户端来访问
只要从命令行启动中间件就没有问题了
二十一、NC5.0开发环境配置问题开发环境和数据库在同一个机器上,数据库用的是orcale9i。配置好环境后,启动JStarter后报如下错误:
但是直接启动产品则没有任何问题,在MDE中测试链接数据库也可以测试成功。换了一个环境,重新配置也遇到这样的问题。有谁碰到过这样的问题,帮助小弟解决一下,非常感谢!
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.Socket.connect(Socket.java:516)
at java.net.Socket.connect(Socket.java:466)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
at sun.net.www.http.HttpClient.&init&(HttpClient.java:214)
at sun.net.www.http.HttpClient.New(HttpClient.java:287)
at sun.net.www.http.HttpClient.New(HttpClient.java:299)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:796)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:748)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:673)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:840)
at nc.starter.test.JStarter.getMyAppletStub(JStarter.java:239)
at nc.starter.test.JStarter.StartNC(JStarter.java:114)
at nc.starter.test.JStarter.bnStart_ActionPerformed(JStarter.java:97)
at nc.starter.test.JStarter.connEtoC1(JStarter.java:140)
at nc.starter.test.JStarter.access$100(JStarter.java:26)
at nc.starter.test.JStarter$IvjEventHandler.actionPerformed(JStarter.java:42)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at ponent.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at ponent.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at ponent.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at ponent.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at ponent.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
答:有使用插件自带的NC Middleware 用的是自己配置的StartDirectServer,这样的话就要配置启动参数
二十二、NC50二次开发工具做的模块 可以挂到其他节点上吗?用50二次开发工具 新做一个模块 里边有一张单据 功能代码都已经写好 怎么把这个模块 挂到供应链模块的某一个节点上, 以前3.X 只要在供应链模块新增一个节点 把UI类挂上去就好了 我找了一下好像都没有配置的地方
答:目前的版本是你所说的这样,
只能先在自己建的项目下增加功能,再修改其节点编号,挂在"供应链"下面
二十三、关于表的增行保存问题
在表单的行操作中,选择"增行",如果不填任何数据就保存的话.是保存了空行还是系统自动去除了空行?怎么控制的?我在开发过程中这两种情况都遇到了.当然可以写判断方法.只是想知道为什么会出现这两种情况?
答:如果你未加任何判断,数据库表结构又允许这些字段为空,那就保存一条空记录了。
应该在UI类中增加判断,若某些字段为空,并且是最后一行,可以调用表单模板的删除行的方法在保存前自动删掉
二十四、关于50应收应付金额校验问题
客户要求在做应收应付单据的时候不仅要输入借方金额还需输入贷方金额,而应收应付单都有金额校验,如应收必须录入借方金额,这样就无法满足客户在同一张单据上即要录入借方又要录入贷方的需求,现想将NC中这个金额校验的功能去掉,和录入划账单一样,可任意录入借贷方金额;
借:应收账款-无营业部代理人XX客商
应收账款-无营业部代理人XX客商
销售费用-代理手续费-XXX收入类型,3U和非3U
贷:国内票证结算
其他应交款-机场建设费
主营业务收入-退票费收入
这是一笔具体的业务,是不能拆分的,按NC目前的情况要做一个应收单,应付单,付款单三个单据才能完成这笔业务,而在实际中,这个业务是不能拆分的,必要在一张单据反应
答:请修改 nc/vo/arap/global/DjVOTreater
二十五、NClicense问题在功能注册中,注册节点为01开头,申请license后,打开节点提示"该产品的用户数已达到产品授权数",因为已建500个帐套,帐套中已有大量数据,不好更改节点号
答:以后不能再这样注册二次开发的节点了,必须要以H0开头
二十六、NC50单据上图片字段如何处理
在单据上有个字段是图片类型的 这个字段和其他字段一样是需要保存的 请问 VO 和 数据库如何处理
答:两个方案:
1: 单据上(数据库表)保存图片文件的路径信息,自己再实现一个图片加载显示的panle,根据这个路径加载图片
2: 数据库表里设置一个blob字段,可以直接存放图片。
自己实现一个能显示图片的 rander
//首先在模版上设置此字段数据类型为: 图片类型
//在节点上新增单据时,双击此字段可以选择图片(和参照类似),选择后界面会自动显示
//单据保存时:
//得到路径
String path
= getBillCardPanel().getHeadItem("userphoto").getImagePath();
//取道文件名然后上传到服务器(默认路径是 nchome/webapps/nc_web/ncupload )
File file = new File(path);
FileManagerUtil.saveFileToServer("USERIMAGE/",file.getAbsolutePath());
//然后可以把服务器存取此 图片的路径和文件名 赋值到VO保存到数据库.
//以后查询的时候转载图片:
//首先取道此单据 VO 中的: 图片路径和文件名
File file = new File(vo.getUserPhoto);
//用下边方法把图片下载到 本地(默认是在 和缓存同级的 NCCODE/ 下)
FileManagerUtil.saveFileToLocal("USERIMAGE/", file.getName());
//构造 URL
URL url = FileManagerUtil.getFileURLLocal("USERIMAGE/", file.getName());
//为图片字段赋值
ImageIcon = new ImageIcon(url);
((UILabel)getBillCardPanel().getHeadItem("userphoto").getComponent()).setIcon(new ImageIcon(url));
直接构造远程的 URL 不把文件保存到本地也能显示,但测试时发现有时能显示,有时不能显示.
二十七、gl_voucher 凭证表,怎么判断是否记帐是根据 记帐日期 tallydate 和 记帐人 pk_manager 这两个条件来判断吗? pk_manager 默认值是 N/A 是啥意思
答:pk_manager 默认值是 N/A是未记账的意思
记账的话pk_manager 是记账人的PK
二十八、在50里 数据权限 如何设置
记得在35里 有个节点可以设置数据权限,即可以为每个用户设置不一样基础档案的参照内容。(以部门档案为例:共有两个部门,A用户的部门档案参照只能看到其中一个部门,而B用户只能看到另外一个部门)。
在 50里 该怎么设置啊???? 没有找到可以设置的节点啊。
答:可以把权限分配给角色,然后用户关联角色。
权限管理 - 资源权限控制:选择要控制的资源(部门档案),然后选择要权限控制的公司。
然后到权限分配里边,选择角色,公司和资源(部门档案),把具体数据权限分配给角色就ok了
二十九、NC50公司档案录入界面的字段名可以改吗?有个需求 要修改公司档案录入界面上字段的名称,如"公司名称" 改为 "项目名称" "公司编码" 改为"项目编码" 请问是否可行 如可行在哪里进行修改。
答:V5版本支持多语言,你可以在 resources/lang/simpchn 下搜索出目前的字段名称,然后修改成你想要的名称,重启服务即可
三十、如何取到当前登陆的帐簿信息
每个公司有多账簿的时候怎么取到当前登陆的帐簿信息?
答:BDGLOrgBookAccessor
使用这个类就可以,前后台都可调用
三十一、网银对账单生成凭证的可行性讨论
客户需求:
1.将NC50网上银行模块下载的银行对账单,自动到总账生成收付类凭证.
2.凭证分录上的科目根据对账单摘要的不同而改变.(有凭证模版的概念)。
3.一条对账单数据对应一张凭证。
1.可否通过将对账单数据发送至会计平台。通过配置会计平台的凭证模版根据NC【常用摘要】的不同而生成不同的凭证。
因为对账单也是一种单据,是否可通过配置单据类型、单据VO对照、单据影响因素等等条件来向会计平台靠拢。
2.手动下载对账单时,比如同样的下载条件下载2次,那在数据库中第一次下载的对账单记录主键和第二次下载的记录主键是一样的吗?
我看了一下 好像是一样的,但不是很肯定。
3.会计平台能否生成单边凭证.
4.银行对账单手动下载可否一次批量下载多个账套 多个账户的数据。
答:对帐单可以通过会计平台生成凭证,并且可以利用会计平台的一切功能,可动态生成摘要、科目等
NC50不支持单式凭证
可以将对帐单视为一种单据,给它定义一个单据类型、系统类型等,再保存对帐单时,将数据发送到会计平台,示例代码:
public void sendDAP(AggregatedValueObject vo) {
DapMsgVO msgVO = new DapMsgVO();
ResCostVO header=(ResCostVO) vo.getParentVO();
ResCostdetailVO[] items=(ResCostdetailVO[]) vo.getChildrenVO();
msgVO.setMsgType(DapMsgVO.ADDMSG);
msgVO.setCorp(header.getPk_corp());
msgVO.setSys("demo");
msgVO.setProc("FY");
msgVO.setBillCode(header.getVbillno());
msgVO.setProcMsg(header.getPrimaryKey());
msgVO.setBusiDate(header.getDmakedate());
msgVO.setComment("办公费用");
msgVO.setCurrency("");
msgVO.setMoney(items[0].getVmoney());
msgVO.setOperator(header.getVoperatorid());
IDapSendMessage bo = (IDapSendMessage)NCLocatorProxy.getLocator().lookup(IDapSendMessage.class.getName());
bo.sendMessage(msgVO, vo);
}catch(Exception e){
e.printStackTrace();
三十二、请问怎样在代码中取得中间件所在服务器上的文件路径或目录?
请问怎样在代码中取得中间件所在服务器上的文件路径或目录?
答:RuntimeEnv.getInstance().getNCHome()
三十三、审批流问题,为何审批人看不到消息
PfUtilClient.processAction("S***E", "KCSP", this._getDate().toString(), (AggregatedValueObject)hYBillVO,
FAPfUtil.UPDATE_S***E);
kcsp是审批的单据的单据类型,以上代码写在申请单里面,审批单据配置了审批流,申请单未做其它处理,这样的写法对吗,后台vbillstatus改变了,但是审批人未收到消息
答:检查一下是否启动了审批流。
可查看wf-log.log日志跟踪原因
三十四、J***A 可以直接从串口读数据吗?
项目要求直接从地磅上读取数据,请问有相关的资料吗?
答:可以考虑使用DLL接入,与硬件相关的,一般都采用本地码编写。
使用DLL,或者UNIX的so等文件接入。
网上找了一个程序,你也可以参考一下。
/** *//******************************************
* 程序文件名称:SendComm.java
功能:从串行口COM1中发送数据
******************************************/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
class S_Frame extends Frame implements Runnable,ActionListener
/**//*检测系统中可用的通讯端口类 */
static CommPortIdentifier
/**//*Enumeration 为枚举型类,在util中
static Enumeration
OutputStream
/**//*RS-232的串行口
SerialPort
p=new Panel();
TextField in_message=new
TextField("打开COM1,波特率9600,数据位8,停止位1.");
out_message=new TextArea();
btnOpen=new Button("打开串口,
发送数据");
btnClose=new Button("关闭串口, 停止发送数据");
data[]=new byte[10240];
/**//*设置判断要是否关闭串口的标志*/
/**//*安排窗体*/
...{ super("串口发送数据");
setSize(200,200);
setVisible(true);
add(out_message,"Center");
add(p,"North");
p.add(btnOpen);
p.add(btnClose);
add(in_message,"South");
btnOpen.addActionListener(this);
btnClose.addActionListener(this);
} //R_Frame() end
/**//*点击按扭打开串口.*/
public void actionPerformed(ActionEvent event) ...{
if (event.getSource()==btnClose)...{
serialPort.close();//关闭串口
//用于中止线程的run()方法
in_message.setText("串口COM1已经关闭,停止发送数据.");
/**//*从文本区按字节读取数据*/
data=out_message.getText().getBytes();
/**//*打开串口*/
in_message.setText("串口COM1已经打开,正在每2秒钟发送一次数据.....");
} //actionPerformed() end
/**//*打开串口,并调用线程发送数据*/
public void start()...{
/**//*获取系统中所有的通讯端口
portList=CommPortIdentifier.getPortIdentifiers();
/**//* 用循环结构找出串口 */
while (portList.hasMoreElements())...{
/**//*强制转换为通讯端口类型*/
portId=(CommPortIdentifier)portList.nextElement();
if(portId.getPortType() == CommPortIdentifier.PORT_SERIAL)...{
if (portId.getName().equals("COM1")) ...{
/**//*打开串口 */
serialPort = (SerialPort) portId.open("ReadComm", 2000);
catch (PortInUseException e) ...{
/**//*设置串口输出流*/
outputStream = serialPort.getOutputStream();
catch (IOException e) ...{}
} //if end
} //if end
} //while end
/**//*调用线程发送数据*/
readThread = new Thread(this);
//线程负责每发送一次数据,休眠2秒钟
readThread.start();
catch (Exception e) ...{
//start() end
/**//*发送数据,休眠2秒钟后重发*/
public void run() ...{
/**//*设置串口通讯参数*/
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
catch (UnsupportedCommOperationException e) ...{
/**//*发送数据流(将数组data[]中的数据发送出去)*/
outputStream.write(data);
catch (IOException e) ...{
/**//*发送数据后休眠2秒钟,然后再重发*/
try ...{ Thread.sleep(2000);
//结束run方法,导致线程死亡
catch (InterruptedException e) ...{
//run() end
//类S_Frame end
public class SendComm
...{public static void main(String args[])
...{ S_Frame S_win=new S_Frame();
S_win.addWindowListener(new WindowAdapter()
...{public void windowClosing(WindowEvent e)
...{System.exit(0);
S_win.pack();
/** *//******************************************
* 程序文件名称:ReadComm.java
功能:从串行口COM1中接收数据
******************************************/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
class R_Frame extends Frame implements Runnable,ActionListener,SerialPortEventListener
检测系统中可用的通讯端口类 */
static CommPortIdentifier
Enumeration 为枚举型类,在java.util中
static Enumeration
InputStream
声明RS-232串行端口的成员变量
SerialPort
out_message=new TextField("上面文本框显示接收到的数据");
in_message=new TextArea();
btnOpen=new Button("打开串口");
/**//*建立窗体*/
super("串口接收数据");
setSize(200,200);
setVisible(true);
btnOpen.addActionListener(this);
add(out_message,"South");
add(in_message,"Center");
add(btnOpen,"North");
} //R_Frame() end
/**//*点击按扭所触发的事件:打开串口,并***串口. */
public void actionPerformed(ActionEvent event)
/**//*获取系统中所有的通讯端口
portList=CommPortIdentifier.getPortIdentifiers();
/**//* 用循环结构找出串口 */
while (portList.hasMoreElements())...{
/**//*强制转换为通讯端口类型*/
portId=(CommPortIdentifier)portList.nextElement();
if(portId.getPortType() == CommPortIdentifier.PORT_SERIAL)...{
if (portId.getName().equals("COM1")) ...{
serialPort = (SerialPort) portId.open("ReadComm", 2000);
out_message.setText("已打开端口COM1 ,正在接收数据..... ");
catch (PortInUseException e) ...{ }
/**//*设置串口***器*/
serialPort.addEventListener(this);
catch (TooManyListenersException e) ...{ }
/**//* 侦听到串口有数据,触发串口事件*/
serialPort.notifyOnDataAvailable(true);
} //if end
} //if end
} //while end
readThread = new Thread(this);
readThread.start();//线程负责每接收一次数据休眠20秒钟
} //actionPerformed() end
/**//*接收数据后休眠20秒钟*/
public void run() ...{
Thread.sleep(20000);
catch (InterruptedException e) ...{
//run() end
/**//*串口***器触发的事件,设置串口通讯参数,读取数据并写到文本区中*/
public void serialEvent(SerialPortEvent event) ...{
/**//*设置串口通讯参数:波特率、数据位、停止位、奇偶校验*/
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
catch (UnsupportedCommOperationException e) ...{ }
byte[] readBuffer = new byte[20];
inputStream = serialPort.getInputStream();
catch (IOException e) ...{}
/**//* 从线路上读取数据流 */
while (inputStream.available() & 0) ...{
int numBytes = inputStream.read(readBuffer);
//while end
str=new String(readBuffer);
/**//*接收到的数据存放到文本区中*/
in_message.append(str+" ");
catch (IOException e) ...{
} //serialEvent() end
//类R_Frame end
public class ReadComm
public static void main(String args[])
实例化接收串口数据的窗体类
R_Frame R_win=new R_Frame();
定义窗体适配器的关闭按钮功能 */
R_win.addWindowListener(new WindowAdapter()
...{public void windowClosing(WindowEvent e)
...{System.exit(0); }
R_win.pack();
三十五、会计平台能否生成暂存凭证现在客户提出凭证信息可能不全,那会计平台是否支持生成总账暂存凭证?那50的外部数据交换平台能支持暂存凭证的导入吗?
答:目前版本的会计平台不支持暂存凭证,需要修改凭证生成的代码才能实现,可以自己在外部交换平台凭证的校验文件中加入暂存标记
三十六、请问审批流的问题
如何实现审批流,在金额不同时,如小于20000,或大于等于20000,实现不同的审批流。
A1制单后,小于20000时,只需A2审批;大于等于20000时,A2批准后,需提交A3审批;
现在在A1制单后,分两条线,一条线(金额&2000)指向A2+虚节点,另一条(金额&2000)指向A2+A3+虚节点;
请问如何设置临界值2000
答:鼠标双击弟一条线,弹出一个条件对话框,里面可以设置单据上的金额字段的取值范围
三十七、数据库操作
使用数据库操作方法
sql = "select * from 表"
IUAPQueryBS iUAPQueryBS = (IUAPQueryBS)NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
List list = (List)iUAPQueryBS.executeQuery(sql,new ArrayListProcessor());
返回的数组List里放入的是什么对象
应该怎么取出来使用
答:ArrayProcessor 数组处理器,返回一个对象数组,结果集中只有一行数据,其中结果集中每一列对应数组的一个元素。
l ArrayListProcessor 数组集合处理器,返回一个ArrayList集合,集合中的每一个元素是一个数组,每个数组对应结果集中的一行数据,其中结果集中每一列对应数组的一个元素。
MapProcessor HashMap处理器,返回一个HashMap, 结果集中只有一行数据,其中结果集合中每一列的列名和列值对应HashMap的一个关键字和相应的值。
MapListProcessorl HashMap集合处理器,返回一个ArrayList集合,集合中的每一个元素是一个HashMap,每个HashMap对应结果集中的一行数据, 其中结果集合中每一列的列名和列值对应HashMap的一个关键字和相应的值。
BeanProcessorl
值对象处理器,返回一个JavaBean,结果集中只有一行数据,该处理器能自动把结果集中的值按列的名称映射到javaBean中,如结果集中有名称为"name"的字段,那么只要该java对象中有getName()方法就能把结果集合中"name"对应的值映射到对象中。
BeanProcessor 值对象集合处理器,返回一个ArrayList集合,集合中的每一个元素是一个javaBean,每个javaBean对应结果集合中一行数据,其中每个JavaBean中的数据映射关系和BeanProcess同理。
ColumnProcessor 列值处理器,返回一个Java对象,结果集中只有一行数据,该对象对应与结果集中某一列的值,该处理器通过结果集列的序号或名称来确定列。
l BeanMappingListProcessor:值对象集合处理器,根据映射信息返回一个ArrayList集合,集合中的每一个元素是一个javaBean,每个javaBean对应结果集合中一行数据,其中每个JavaBean中的数据映射关系和BeanMappingProcess同理
BeanMappingProcessor:值对象处理器,根据映射信息返回一个JavaBean,结果集中只有一行数据,该处理器能自动把结果集中的值按列的名称映射到javaBean中,如结果集中有名称为"name"的字段,那么只要该java对象中有getName()方法就能把结果集合中"name"对应的值映射到对象中
三十八、会计平台有批处理的接口吗?
请问会计平台可以批量处理单据吗?
我找了nc.itf.dap.pub.IDapSendMessage里边没有批处理的方法。
答:暂时没有批处理功能,只能循环调用
三十九、模块全部*** 运行时提示找不到组件
具体异常信息
nc.bs.ponentNotFoundException: Component: nc.itf.dap.priv.IDapProcessor,Detail Message: Can not find component(both in jndi and ioc)
at nc.bs.framework.server.AbstractContext.lookup(AbstractContext.java:128)
at nc.bs.framework.server.AbstractContext.getComponentMetaVO(AbstractContext.java:319)
at nc.bs.framework.server.BusinessAppServer$BusinessServerRemoteMetaContext.lookup(BusinessAppServer.java:880)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at nc.n.serv.ServiceDispatcher.a(ServiceDispatcher.java:320)
at nc.n.serv.ServiceDispatcher.execCall(ServiceDispatcher.java:129)
at nc.monServletDispatcher.doGet(CommonServletDispatcher.java:76)
at nc.monServletDispatcher.doPost(CommonServletDispatcher.java:95)
答:没有生成及部署EJB
四十、都有哪些命令可以输出后台日志请教一下都有哪些命令可以输出后台日志啊
Logger的区别是什么
在程序中经常使用哪些啊
最好给个例子
答:如果日志输出不要求在运行时刻发生变化,用Log,它具有更高的效率,中间件组的纯技术代码使用,其它开发不需使用
如果日志输出需要输出到某个发起调用的模块,而不是代码本身所属模块,使用Logger动态日志。如供应链模块的BService调用财务模块的BService,发起端为供应链模块,我们希望在供应链模块能个够跟踪到信息的时候,财务模块的BService采用Logger作为日志API,如果发起方是它自己模块,则输出在自己的模块内,如果未配置模块,则日志在匿名模块内
基础算法的程序(供给所有模块使用),统一采用Logger作为API
后台业务程序和前后台公共程序、全部业务程序采用Logger。
平台类级程序需要进行采用Logger.init/reset设置,放在各自设置的模块中如:(plateform,pa等)
四十一、请问如何在PANEL中启线程显示查询时间现在我所做的查询功能在录入数据过多时,会等待很长时间才会执行完。请问怎么样才可以启动一个线程,显示查询时间。
答:java 线程呀
先定义一个类继承Runable
接口 或者 Thread类
实现run方法
显示时间代码写入run方法,并定时检查数据是否返回
运行的时候
MyThread mt = new MyThread();
mt.start();
为了访问界面数据,可以定义成内部类。
之间的数据同步可以用 synchronized 方法和 synchronized 块
四十二、请教有没有快速的导入EXCEL文件中数据的方法我现在使用的从EXCEL中导入数据的方法如下
wb = Workbook.getWorkbook(file);
Sheet sheet = wb.getSheet(0);
int rowcount = sheet.getRows();
for (int row = 0; row & row++) {
Vector&String& vor = new Vector&String&();
vor.add(sheet.getCell(0, row).getContents());
this.getDefaultTableModel().addRow(vor);
这样在导入的数据过多时花费的时间会比较长,请问有什么别的方法吗?
还有如果将这些数据插入数据库表时,有没有快速插入的方法,即减少插入消耗时间
答:Java读取Excel的两种方式方式介绍
Java读取Excel方式对比
在Java中读写MS Excel文件主要有两种典型的方法
Java-To-Com的方式:
直接Excel文件读写
方法1中,是利用Java-Com桥的方式来读写Excel文件,需要后台有Com组件的支持,不能脱离Windows平台使用。
方法2是直接使用纯Ref="tag-524-1.html"&Java API存取Excel文件,可以直接从磁盘文件或者Java的输入输出流中读写Excel文件。相比之下方法2要更为直接一些,不必依赖于Windows平台以及Com组件。jExcel与POI都是开源的java项目,jExcel是sourceforge的开源项目(),POI是Apache的开源项目(Jakarta.apache.org/poi/"&http://jakarta.apache.org/poi/)。jExcel现在最近的版本是2.5.9版,于日发布。POI的最近版本是3.0
2.POI功能介绍
POI是Apache下Jakata项目的子项目,其目标是处理OLE2对象。目前比较成熟的包有HSSF,主要用来处理Ms Excel文件。HWPF包,正在完善当中,主要用于处理Ms Word文件。HSLF包,主要用于处理Ms PowerPoint文档。POI组件除了可以供Java使用外,还提供了Ruby接口,可以直接供Ruby使用。
POI的部分代码是来自于OpenOffice,对于处理Excel文档而言,POI是目前最成熟与稳定的Java开源项目
可分析下时间主要耗在哪里,
是sheet.getCell(0, row).getContents())
this.getDefaultTableModel().addRow(vor)
如果是读取慢可考虑其他操作excel方式
四十三、NC审批流开发,求半数通过的解决思路二次开发项目,客户要求在审批流定义中增加半数通过的审批方式,即在一个组(角色)中,如果有半数以上的人审批通过,则不论剩下的人是否审批或者审批意见如何,都通过进入下一审批人
答:[UAP-NC]需要修改后台的 TaskManagerDMO.isTaskComplete(String taskPK) 方法.但要改的话,所有流程都这样了.
更好的方法是把这个"完成策略"定义到审批流的活动上,但这个改动较大.
四十四、getColValue问题
如果需要取出的字段为year该怎么处理,
getColValue(***,year,***,***)
[AWT-EventQueue-0] ERROR - 公式不正确,发现错误:
公式格式不正确,请检查!
答:A-&getColValue(table,B,C,D)
A :待负值的字段,对应BillItem的key
B :需要取出赋给A的数据库对应的字段
C :数据库table中需要关联的字段
D :关联参数字段
最后相当于执行: select B into A from table where C=D
四十五、网银对账单类型是何意义?
网银对账单表styleflag字段 值为 A 或者 B 请问各自代表什么意思?
答:A - 新下载的,有效的
B - 以前下载的,已经无效的
&&&&推荐文章:
【上篇】【下篇】