1/5用友股份-LE支持服务业务本部产品方案--《NC55凭证导入现金流量出错》建立日期:2013-07-01修改日期:xxxx-xx-xx文档属性:客户文控编号:LE-DY-CP-2013-02972/5文档控制创建记录适用范围审阅人日期审阅签字所属部门发布范围发布人姓名所属部门发布时间内部员工伙伴客户日期作者所属部门邮件地址版本2013-07-01张晨技术支持部V1.0版本领域模块备注NC56总账凭证管理3/5目录目录......................................................................................................................3NC55凭证导入现金流量出错..............................................................................4一、问题描述:...................................................................................................4二、解决方法:...................................................................................................54/5NC55凭证导入现金流量出错一、问题描述:当参数GL089设置为凭证保存时检查现金流量,那么当从外部交换平台导入的凭证或者制单节点填制的凭证,当凭证的分录行数超过1000条就会报错,原因是因为当凭证保存的时候检查现金流量的SQL语句有问题:如果超过一千条分录,则上面sql语句的pk_detailin()条件就会有大于1000个字段,这个时候执行该sql就会报错:selectsum(moneymain*(casewhenbd_cashflow.cftype=1then1else-1end))fromgl_cashflowcase,bd_cashflow,gl_detailwherebd_cashflow.pk_cashflow=gl_cashflowcase.pk_cashflowandgl_detail.pk_detail=gl_cashflowcase.pk_detailandgl_cashflowcase.pk_glorgbook=''andgl_cashflowcase.pk_detailin();5/5二、解决方法:修改相应方法当字段过多时,用临时表:修改类:nc.bs.gl.cashflowcase.CashFlowCaseOpDMO具体修改可在cq查找问题:201004161136028722StringtempTable=null;Stringstr=null;if(conVO.getPk_voucherDetail()!=null&&conVO.getPk_voucherDetail().length>0){if(conVO.getPk_voucherDetail().length>200){tempTable=createTempDetailTable(conVO.getPk_voucherDetail());}else{str="(";for(inti=0;i