$PBExportHeader$f_qjl_dsr_barcode_chaifen.srf global type f_qjl_dsr_barcode_chaifen from function_object end type forward prototypes global function string f_qjl_dsr_barcode_chaifen (long arg_scid, string arg_taskcode, long arg_printrow, long arg_top) global function string f_qjl_dsr_barcode_chaifen (long arg_scid, long arg_getbarid) end prototypes global function string f_qjl_dsr_barcode_chaifen (long arg_scid, string arg_taskcode, long arg_printrow, long arg_top);String createsql_string = '' string ls_handtype='' createsql_string = '' createsql_string = createsql_string + "Create table u_temp(scid int,TaskID int,printid int ,username varchar(500))" EXECUTE IMMEDIATE :createsql_string; COMMIT; //messagebox('',pos(arg_taskcode,"'" + ' ' + "'")) //arg_taskcode=of_globalreplace(arg_taskcode,"'" + ' ' + "'", ',' ) //arg_taskcode=of_globalreplace(arg_taskcode,"'" , ' ') //messagebox('',string(arg_taskcode)) long ll_cnt,i,j,ll_scid,ll_taskid,ll_printid,ll_orderqty //select count(*) into :ll_cnt from u_saletask inner join u_saletaskmx on u_saletaskmx.scid=u_saletask.scid and u_saletaskmx.taskid=u_saletask.taskid //where // :arg_taskcode like '%' + LTRIM(RTRIM(u_SaleTask.TaskCode)) + LTRIM(RTRIM(u_SaleTaskMx.printid)) + '%'; datastore ds ds = Create datastore ds.DataObject = "dw_rp_saletask_sc_mx_edit_xmy_temp" ds.SetTransObject(sqlca) ll_cnt = ds.Retrieve(arg_scid,arg_taskcode,arg_printrow,arg_top) delete u_temp where username=:publ_operator; for i=1 to ds.rowcount() ll_orderqty=0 ll_scid=ds.object.u_saletaskmx_scid[i] ll_taskid=ds.object.u_saletaskmx_taskid[i] ll_printid=ds.object.u_saletaskmx_printid[i] ls_handtype=ds.object.u_mtrldef_handtype[i] if pos(ls_handtype,'自制成品>>床头柜')>0 or pos(ls_handtype,'外购成品>>床头柜')>0 then ll_orderqty=1 else ll_orderqty=int(ds.object.sumorderqty[i]) end if for j=1 to ll_orderqty insert into u_temp(scid,taskid,printid,username) values (:ll_scid,:ll_taskid,:ll_printid,:publ_operator); next next commit; // //messagebox('xx',string(ll_cnt)) return publ_operator // LTRIM(RTRIM(u_SaleTask.TaskCode)) + LTRIM(RTRIM(u_SaleTaskMx.printid)) in (:aaa); // LTRIM(RTRIM(u_SaleTask.TaskCode)) + LTRIM(RTRIM(u_SaleTaskMx.printid)) //'SG1501140031','SG1501140032' end function global function string f_qjl_dsr_barcode_chaifen (long arg_scid, long arg_getbarid);String createsql_string = '' string ls_handtype='' createsql_string = '' createsql_string = createsql_string + "Create table u_temp(barcode varchar(500) ,username varchar(500))" EXECUTE IMMEDIATE :createsql_string; COMMIT; //messagebox('',pos(arg_taskcode,"'" + ' ' + "'")) //arg_taskcode=of_globalreplace(arg_taskcode,"'" + ' ' + "'", ',' ) //arg_taskcode=of_globalreplace(arg_taskcode,"'" , ' ') //messagebox('',string(arg_taskcode)) long ll_cnt,i,j,ll_qty string ls_barcode datastore ds ds = Create datastore ds.DataObject = "dw_getbarmx_edit" ds.SetTransObject(sqlca) ll_cnt = ds.Retrieve(arg_scid,arg_getbarid) delete u_temp where username=:publ_operator; for i=1 to ds.rowcount() ls_barcode=string(ds.Object.u_mtrlware_mx_barcode[i]) ll_qty=ds.Object.u_mtrlware_mx_qty[i] for j=1 to ll_qty insert into u_temp(barcode,username) values (:ls_barcode,:publ_operator); next next commit; return publ_operator end function