通过sql脚本制造单据分录数据原创
金蝶云社区-云社区用户1Pro6278
云社区用户1Pro6278
5人赞赏了该文章 194次浏览 未经作者许可,禁止转载编辑于2022年12月06日 19:06:54

1、进入查询分析器,选择如下SQL,点击运行服务器端脚本 ,(以应付单分录为例),获取对应的插入sql语句 

Geninsert select * from T_AP_OtherBillEntry where FPARENTID  = '应付单分录id'


执行结果如下: insert into t_ap_otherbillentry(FID, FSEQ, FMATERIALID, FMEASUREUNITID, FASSISTPROPERTYID, FEXPENSEITEMID, FACCOUNTID, FRECIEVEPAYAMOUNT, FRECIEVEPAYAMOUNTLOCAL, FVERIFYAMOUNT, FVERIFYAMOUNTLOCAL, FUNVERIFYAMOUNT, FUNVERIFYAMOUNTLOCAL, FLOCKVERIFYAMT, FLOCKVERIFYAMTLOCAL, FLOCKUNVERIFYAMT, FLOCKUNVERIFYAMTLOCAL, FREMARK, FQUANTITY, FPRICE, FTAXPRICE, FACTUALPRICE, FDISCOUNTRATE, FTAXRATE, FTAXAMOUNT, FTAXAMOUNTLOCAL, FAMOUNT, FAMOUNTLOCAL, FPARENTID, FDISCOUNTAMOUNT, FDISCOUNTAMOUNTLOCAL, FSOURCEBILLID, FSOURCEBILLENTRYID, FSOURCEBILLASSTACTID, FHISUNVERIFYAMOUNT, FHISUNVERIFYAMOUNTLOCAL, FCOREBILLTYPEID, FCOREBILLID, FCOREBILLENTRYID, FCOREBILLNUMBER, FCOREBILLENTRYSEQ, FTRACKNUMBER, FAPPRINTBILLID, FAPPRINTBILLENTRYID, FASSISTUNITID, FASSISTQTY, FDISCOUNTTYPE, FOPPACCOUNTID, FWRITTENOFFBASEQTY, FLOCALWRITTENOFFAMOUNT, FUNWRITEOFFBASEQTY, FLOCALUNWRITEOFFAMOUNT, FINVOICEDBASEQTY, FINVOICEDAMT, FBASEUNITID, FBASEQTY, FREALPRICE, FISINVOICED, FISFULLWRITEOFF, FISPRESENT, FINVOICENUMBER, FVERIFYQTY, FLOCKVERIFYQTY, FROWTYPEID, FMATERIALNAME, FAPPORTIONAMTLOCAL, FCONTRACTNUMBER, FCONTRACTENTRYSEQ, FCONTRACTBILLID, FCONTRACTENTRYID, FAPPORTIONAMOUNT, FUNAPPORTIONAMOUNT, FREQUESTEDPAYAMT, FRECSENDORGUNITID, FPROJECTID, FTRACKNUMBERZCID, FREVERSEDBASEQTY, FCOMPANYID, FBILLDATE, FLOT, FPAYABLEDATE, FMATERIALMODEL, FBIZFLOWRELATION, FFUNDFLOWITEMID, FCOSTCENTERID, FISQTYZERO, FINVOICEREQQTY, FINVOICEREQBASEQTY, FUNINVOICEREQQTY, FUNINVOICEREQBASEQTY, FINVOICEREQAMOUNT, FINVOICEREQAMOUNTLOCAL, FUNINVOICEREQAMOUNT, FUNINVOICEREQAMOUNTLOCAL) values ('JC3MHUGXTQmghR+4kX7m3+1NvIE=', 1, N'c6oAAAA71ftECefw', 'gw5fUwEOEADgAAsRwKgSOFuCXFc=', null, null, null, 150, 150, 0, 0, 150, 150, 150, 150, 0, 0, null, 5, 30, 30, 30, 0, 0, 0, 0, 150, 150, 'lkmOtuZRQdOfSRuA4mgQckjaOnE=', 0, 0, null, null, null, 0, 0, null, null, null, null, 0, null, null, null, null, 0, -1, null, 0, 0, 5, 150, 0, 0, 'gw5fUwEOEADgAAsRwKgSOFuCXFc=', 5, 30, 0, 0, 0, null, 0, 0, null, '加权物料A', 0, null, 0, null, null, 0, 150, 0, null, null, null, 0, N'c6oAAAAAMsnM567U', {ts'2020-12-15 00:00:00'}, null, {ts'2020-12-15 00:00:00'}, '小城镇vsd', null, null, null, 0, 0, 0, 5, 5, 0, 0, 150, 150);



2、编写脚本 

var cn = null; 

var st = null; 

var sql = "insert into t_ap_otherbillentry(FID, FSEQ, FMATERIALID, FMEASUREUNITID, FASSISTPROPERTYID, FEXPENSEITEMID, FACCOUNTID, FRECIEVEPAYAMOUNT, FRECIEVEPAYAMOUNTLOCAL, FVERIFYAMOUNT, FVERIFYAMOUNTLOCAL, FUNVERIFYAMOUNT, FUNVERIFYAMOUNTLOCAL, FLOCKVERIFYAMT, FLOCKVERIFYAMTLOCAL, FLOCKUNVERIFYAMT, FLOCKUNVERIFYAMTLOCAL, FREMARK, FQUANTITY, FPRICE, FTAXPRICE, FACTUALPRICE, FDISCOUNTRATE, FTAXRATE, FTAXAMOUNT, FTAXAMOUNTLOCAL, FAMOUNT, FAMOUNTLOCAL, FPARENTID, FDISCOUNTAMOUNT, FDISCOUNTAMOUNTLOCAL, FSOURCEBILLID, FSOURCEBILLENTRYID, FSOURCEBILLASSTACTID, FHISUNVERIFYAMOUNT, FHISUNVERIFYAMOUNTLOCAL, FCOREBILLTYPEID, FCOREBILLID, FCOREBILLENTRYID, FCOREBILLNUMBER, FCOREBILLENTRYSEQ, FTRACKNUMBER, FAPPRINTBILLID, FAPPRINTBILLENTRYID, FASSISTUNITID, FASSISTQTY, FDISCOUNTTYPE, FOPPACCOUNTID, FWRITTENOFFBASEQTY, FLOCALWRITTENOFFAMOUNT, FUNWRITEOFFBASEQTY, FLOCALUNWRITEOFFAMOUNT, FINVOICEDBASEQTY, FINVOICEDAMT, FBASEUNITID, FBASEQTY, FREALPRICE, FISINVOICED, FISFULLWRITEOFF, FISPRESENT, FINVOICENUMBER, FVERIFYQTY, FLOCKVERIFYQTY, FROWTYPEID, FMATERIALNAME, FAPPORTIONAMTLOCAL, FCONTRACTNUMBER, FCONTRACTENTRYSEQ, FCONTRACTBILLID, FCONTRACTENTRYID, FAPPORTIONAMOUNT, FUNAPPORTIONAMOUNT, FREQUESTEDPAYAMT, FRECSENDORGUNITID, FPROJECTID, FTRACKNUMBERZCID, FREVERSEDBASEQTY, FCOMPANYID, FBILLDATE, FLOT, FPAYABLEDATE, FMATERIALMODEL, FBIZFLOWRELATION, FFUNDFLOWITEMID, FCOSTCENTERID, FISQTYZERO, FINVOICEREQQTY, FINVOICEREQBASEQTY, FUNINVOICEREQQTY, FUNINVOICEREQBASEQTY, FINVOICEREQAMOUNT, FINVOICEREQAMOUNTLOCAL, FUNINVOICEREQAMOUNT, FUNINVOICEREQAMOUNTLOCAL) values ((select newbosid('ED4DBC81')), ?, N'c6oAAAA71ftECefw', 'gw5fUwEOEADgAAsRwKgSOFuCXFc=', null, null, null, 150, 150, 0, 0, 150, 150, 150, 150, 0, 0, null, 5, 30, 30, 30, 0, 0, 0, 0, 150, 150, 'lkmOtuZRQdOfSRuA4mgQckjaOnE=', 0, 0, null, null, null, 0, 0, null, null, null, null, 0, null, null, null, null, 0, -1, null, 0, 0, 5, 150, 0, 0, 'gw5fUwEOEADgAAsRwKgSOFuCXFc=', 5, 30, 0, 0, 0, null, 0, 0, null, '加权物料A', 0, null, 0, null, null, 0, 150, 0, null, null, null, 0, N'c6oAAAAAMsnM567U', {ts'2020-12-15 00:00:00'}, null, {ts'2020-12-15 00:00:00'}, '小城镇vsd', null, null, null, 0, 0, 0, 5, 5, 0, 0, 150, 150)"; 

try{ 

   cn = com.kingdee.bos.framework.ejb.EJBFactory.getConnection(ctx); 

   st = cn.prepareStatement(sql); 

   var count = 100000;    //需要插入的条数,这里为十万条

   for(var i=1;i<count;i++){  

        st.setInt(1,i+1); 

        st.addBatch();  

       if(i%5000==0||i==(count-1)){   

          st.executeBatch();  

       } 

    } 

    st.executeBatch(); 

} finally {  

   com.kingdee.util.db.SQLUtils.cleanup(st, cn); 

}


注释需要修改FID, FSEQ的值,一个设置为(select newbosid('对应的bosType')),另外一个为?,(bosType 可以通过分录的fid 获取 如果分录编号FSEQ为0 或者 没有记录,则i需要设置从0开始,为1 则i需要从1开始,以此类推,最后选择需要运行的脚本,点击运行服务器端脚本即可)



赞 5