$PBExportHeader$f_ljfieb_fillmtrl.srf global type f_ljfieb_fillmtrl from function_object end type forward prototypes global function integer f_ljfieb_fillmtrl (string arg_mtrlcode, long arg_ifsend, ref s_mtrldef_array s_post_mtrl, ref string arg_msg) end prototypes global function integer f_ljfieb_fillmtrl (string arg_mtrlcode, long arg_ifsend, ref s_mtrldef_array s_post_mtrl, ref string arg_msg);// 获取当前物料与其下级到当前列表 Int rslt = 1 s_mtrldef_array arg_s_mtrldef,s_empty Long ll_k,ll_j Long ll_itmx,ll_itmx_parent String ls_pfcode,ls_pf_str,ls_mtrlcode_pf datastore ds_prdpf ds_prdpf = Create datastore ds_prdpf.DataObject = 'ds_prdpf_send_ljfieb' ds_prdpf.SetTransObject(sqlca) arg_s_mtrldef = s_empty IF f_find_mtrl_ljfieb(arg_mtrlcode,arg_s_mtrldef) = 0 THEN rslt = 0 arg_msg = '查询编码:'+arg_mtrlcode+'信息失败' GOTO ext END IF ll_itmx = UpperBound(s_post_mtrl.mtrlid) FOR ll_k = 1 To ll_itmx IF arg_s_mtrldef.mtrlid[1] = s_post_mtrl.mtrlid[ll_k] And arg_s_mtrldef.mtrlcode[1] = s_post_mtrl.mtrlcode[ll_k] THEN GOTO ext END IF NEXT ll_itmx++ s_post_mtrl.mtrlid[ll_itmx] = arg_s_mtrldef.mtrlid[1] s_post_mtrl.mtrlcode[ll_itmx] = arg_s_mtrldef.mtrlcode[1] s_post_mtrl.mtrlname[ll_itmx] = arg_s_mtrldef.mtrlname[1] s_post_mtrl.mtrltype[ll_itmx] = arg_s_mtrldef.mtrltype[1] s_post_mtrl.mtrlsectype[ll_itmx] = arg_s_mtrldef.mtrlsectype[1] s_post_mtrl.mtrlmode[ll_itmx] = arg_s_mtrldef.mtrlmode[1] s_post_mtrl.Mtrlorigin[ll_itmx] = arg_s_mtrldef.Mtrlorigin[1] s_post_mtrl.unit[ll_itmx] = arg_s_mtrldef.unit[1] s_post_mtrl.dscrp[ll_itmx] = arg_s_mtrldef.dscrp[1] s_post_mtrl.isuse[ll_itmx] = 1 s_post_mtrl.packqty[ll_itmx] = arg_s_mtrldef.packqty[1] s_post_mtrl.prdpackcode[ll_itmx] = arg_s_mtrldef.prdpackcode[1] s_post_mtrl.net_weight[ll_itmx] = arg_s_mtrldef.net_weight[1] s_post_mtrl.gross_weight[ll_itmx] = arg_s_mtrldef.gross_weight[1] s_post_mtrl.cubage[ll_itmx] = arg_s_mtrldef.cubage[1] s_post_mtrl.mtrlengname[ll_itmx] = arg_s_mtrldef.mtrlengname[1] s_post_mtrl.zxmtrlmode[ll_itmx] = arg_s_mtrldef.zxmtrlmode[1] s_post_mtrl.unit_scll[ll_itmx] = arg_s_mtrldef.unit_scll[1] s_post_mtrl.unit_buy[ll_itmx] = arg_s_mtrldef.unit_buy[1] s_post_mtrl.rate_buy[ll_itmx] = arg_s_mtrldef.rate_buy[1] s_post_mtrl.rate_scll[ll_itmx] = arg_s_mtrldef.rate_scll[1] s_post_mtrl.rate_sale[ll_itmx] = arg_s_mtrldef.rate_sale[1] s_post_mtrl.unit_sale[ll_itmx] = arg_s_mtrldef.unit_sale[1] s_post_mtrl.statusflag[ll_itmx] = arg_s_mtrldef.statusflag[1] s_post_mtrl.statustype[ll_itmx] = arg_s_mtrldef.statustype[1] s_post_mtrl.woodcodeflag[ll_itmx] = arg_s_mtrldef.woodcodeflag[1] s_post_mtrl.woodcodetype[ll_itmx] = arg_s_mtrldef.woodcodetype[1] s_post_mtrl.pcodeflag[ll_itmx] = arg_s_mtrldef.pcodeflag[1] s_post_mtrl.pcodetype[ll_itmx] = arg_s_mtrldef.pcodetype[1] s_post_mtrl.usermtrlmode[ll_itmx] = arg_s_mtrldef.usermtrlmode[1] s_post_mtrl.ifcustom[ll_itmx] = arg_s_mtrldef.ifcustom[1] s_post_mtrl.buyunit[ll_itmx] = arg_s_mtrldef.buyunit[1] s_post_mtrl.wfjgunit[ll_itmx] = arg_s_mtrldef.wfjgunit[1] s_post_mtrl.scllunit[ll_itmx] = arg_s_mtrldef.scllunit[1] s_post_mtrl.saleunit[ll_itmx] = arg_s_mtrldef.saleunit[1] s_post_mtrl.buydec[ll_itmx] = arg_s_mtrldef.buydec[1] s_post_mtrl.wfjgdec[ll_itmx] = arg_s_mtrldef.wfjgdec[1] s_post_mtrl.sclldec[ll_itmx] = arg_s_mtrldef.sclldec[1] s_post_mtrl.saledec[ll_itmx] = arg_s_mtrldef.saledec[1] s_post_mtrl.status_check[ll_itmx] = arg_s_mtrldef.status_check[1] s_post_mtrl.woodcode_check[ll_itmx] = arg_s_mtrldef.woodcode_check[1] s_post_mtrl.pcode_check[ll_itmx] = arg_s_mtrldef.pcode_check[1] s_post_mtrl.status_config[ll_itmx] = arg_s_mtrldef.status_config[1] s_post_mtrl.woodcode_config[ll_itmx] = arg_s_mtrldef.woodcode_config[1] s_post_mtrl.pcode_config[ll_itmx] = arg_s_mtrldef.pcode_config[1] s_post_mtrl.configcodetype[ll_itmx] = arg_s_mtrldef.configcodetype[1] s_post_mtrl.configcode[ll_itmx] = arg_s_mtrldef.configcode[1] s_post_mtrl.configname[ll_itmx] = arg_s_mtrldef.configname[1] s_post_mtrl.mtrlcolor[ll_itmx] = arg_s_mtrldef.mtrlcolor[1] s_post_mtrl.handtype[ll_itmx] = arg_s_mtrldef.handtype[1] s_post_mtrl.ifpack[ll_itmx] = arg_s_mtrldef.ifpack[1] s_post_mtrl.ifpackpro[ll_itmx] = arg_s_mtrldef.ifpackpro [1] s_post_mtrl.ifpackpz[ll_itmx] = arg_s_mtrldef.ifpackpz [1] s_post_mtrl.ifpackpro2[ll_itmx] = arg_s_mtrldef.ifpackpro2[1] s_post_mtrl.ifpacktype[ll_itmx] = arg_s_mtrldef.ifpacktype[1] s_post_mtrl.mtrlprp[ll_itmx] = arg_s_mtrldef.mtrlprp[1] // s_post_mtrl.pfstr[ll_itmx] = '' // s_post_mtrl.scid[ll_itmx] = arg_s_mtrldef.scid[1] s_post_mtrl.mtrltypeid[ll_itmx] = arg_s_mtrldef.mtrltypeid[1] IF arg_s_mtrldef.ifpackpro[1] <> 0 THEN ll_itmx_parent = ll_itmx //如果是包件产品,则把下级包件一同推送 ls_pfcode = f_get_dft_pf(arg_s_mtrldef.mtrlid[1]) ds_prdpf.Retrieve(arg_s_mtrldef.mtrlid[1],ls_pfcode) ls_pf_str = '' FOR ll_j = 1 To ds_prdpf.RowCount() ls_mtrlcode_pf = ds_prdpf.Object.u_mtrldef_mtrlcode[ll_j] arg_s_mtrldef = s_empty IF f_find_mtrl_ljfieb(ls_mtrlcode_pf,arg_s_mtrldef) = 0 THEN rslt = 0 arg_msg = '查询包件编码:'+ls_mtrlcode_pf+'信息失败' goto ext END IF FOR ll_k = 1 To ll_itmx IF arg_s_mtrldef.mtrlid[1] = s_post_mtrl.mtrlid[ll_k] And arg_s_mtrldef.mtrlcode[1] = s_post_mtrl.mtrlcode[ll_k] THEN GOTO ext END IF NEXT IF arg_s_mtrldef.ifpack[1] = 0 THEN CONTINUE ll_itmx++ s_post_mtrl.mtrlid[ll_itmx] = arg_s_mtrldef.mtrlid[1] s_post_mtrl.mtrlcode[ll_itmx] = arg_s_mtrldef.mtrlcode[1] s_post_mtrl.mtrlname[ll_itmx] = arg_s_mtrldef.mtrlname[1] s_post_mtrl.mtrltype[ll_itmx] = arg_s_mtrldef.mtrltype[1] s_post_mtrl.mtrlsectype[ll_itmx] = arg_s_mtrldef.mtrlsectype[1] s_post_mtrl.mtrlmode[ll_itmx] = arg_s_mtrldef.mtrlmode[1] s_post_mtrl.Mtrlorigin[ll_itmx] = arg_s_mtrldef.Mtrlorigin[1] s_post_mtrl.unit[ll_itmx] = arg_s_mtrldef.unit[1] s_post_mtrl.dscrp[ll_itmx] = arg_s_mtrldef.dscrp[1] s_post_mtrl.isuse[ll_itmx] = 1 s_post_mtrl.packqty[ll_itmx] = arg_s_mtrldef.packqty[1] s_post_mtrl.prdpackcode[ll_itmx] = arg_s_mtrldef.prdpackcode[1] s_post_mtrl.net_weight[ll_itmx] = arg_s_mtrldef.net_weight[1] s_post_mtrl.gross_weight[ll_itmx] = arg_s_mtrldef.gross_weight[1] s_post_mtrl.cubage[ll_itmx] = arg_s_mtrldef.cubage[1] s_post_mtrl.mtrlengname[ll_itmx] = arg_s_mtrldef.mtrlengname[1] s_post_mtrl.zxmtrlmode[ll_itmx] = arg_s_mtrldef.zxmtrlmode[1] s_post_mtrl.unit_scll[ll_itmx] = arg_s_mtrldef.unit_scll[1] s_post_mtrl.unit_buy[ll_itmx] = arg_s_mtrldef.unit_buy[1] s_post_mtrl.rate_buy[ll_itmx] = arg_s_mtrldef.rate_buy[1] s_post_mtrl.rate_scll[ll_itmx] = arg_s_mtrldef.rate_scll[1] s_post_mtrl.rate_sale[ll_itmx] = arg_s_mtrldef.rate_sale[1] s_post_mtrl.unit_sale[ll_itmx] = arg_s_mtrldef.unit_sale[1] s_post_mtrl.statusflag[ll_itmx] = arg_s_mtrldef.statusflag[1] s_post_mtrl.statustype[ll_itmx] = arg_s_mtrldef.statustype[1] s_post_mtrl.woodcodeflag[ll_itmx] = arg_s_mtrldef.woodcodeflag[1] s_post_mtrl.woodcodetype[ll_itmx] = arg_s_mtrldef.woodcodetype[1] s_post_mtrl.pcodeflag[ll_itmx] = arg_s_mtrldef.pcodeflag[1] s_post_mtrl.pcodetype[ll_itmx] = arg_s_mtrldef.pcodetype[1] s_post_mtrl.usermtrlmode[ll_itmx] = arg_s_mtrldef.usermtrlmode[1] s_post_mtrl.ifcustom[ll_itmx] = arg_s_mtrldef.ifcustom[1] s_post_mtrl.buyunit[ll_itmx] = arg_s_mtrldef.buyunit[1] s_post_mtrl.wfjgunit[ll_itmx] = arg_s_mtrldef.wfjgunit[1] s_post_mtrl.scllunit[ll_itmx] = arg_s_mtrldef.scllunit[1] s_post_mtrl.saleunit[ll_itmx] = arg_s_mtrldef.saleunit[1] s_post_mtrl.buydec[ll_itmx] = arg_s_mtrldef.buydec[1] s_post_mtrl.wfjgdec[ll_itmx] = arg_s_mtrldef.wfjgdec[1] s_post_mtrl.sclldec[ll_itmx] = arg_s_mtrldef.sclldec[1] s_post_mtrl.saledec[ll_itmx] = arg_s_mtrldef.saledec[1] s_post_mtrl.status_check[ll_itmx] = arg_s_mtrldef.status_check[1] s_post_mtrl.woodcode_check[ll_itmx] = arg_s_mtrldef.woodcode_check[1] s_post_mtrl.pcode_check[ll_itmx] = arg_s_mtrldef.pcode_check[1] s_post_mtrl.status_config[ll_itmx] = arg_s_mtrldef.status_config[1] s_post_mtrl.woodcode_config[ll_itmx] = arg_s_mtrldef.woodcode_config[1] s_post_mtrl.pcode_config[ll_itmx] = arg_s_mtrldef.pcode_config[1] s_post_mtrl.configcodetype[ll_itmx] = arg_s_mtrldef.configcodetype[1] s_post_mtrl.configcode[ll_itmx] = arg_s_mtrldef.configcode[1] s_post_mtrl.configname[ll_itmx] = arg_s_mtrldef.configname[1] s_post_mtrl.mtrlcolor[ll_itmx] = arg_s_mtrldef.mtrlcolor[1] s_post_mtrl.handtype[ll_itmx] = arg_s_mtrldef.handtype[1] s_post_mtrl.ifpack[ll_itmx] = arg_s_mtrldef.ifpack[1] s_post_mtrl.ifpackpro[ll_itmx] = arg_s_mtrldef.ifpackpro [1] s_post_mtrl.ifpackpz[ll_itmx] = arg_s_mtrldef.ifpackpz [1] s_post_mtrl.ifpackpro2[ll_itmx] = arg_s_mtrldef.ifpackpro2[1] s_post_mtrl.ifpacktype[ll_itmx] = arg_s_mtrldef.ifpacktype[1] s_post_mtrl.mtrlprp[ll_itmx] = arg_s_mtrldef.mtrlprp[1] // s_post_mtrl.pfstr[ll_itmx] = '' // s_post_mtrl.scid[ll_itmx] = arg_s_mtrldef.scid[1] s_post_mtrl.mtrltypeid[ll_itmx] = arg_s_mtrldef.mtrltypeid[1] ls_pf_str = ls_pf_str + arg_s_mtrldef.mtrlcode[1]+','+String(ds_prdpf.Object.u_prdpf_sonscale[ll_j],'###0.##########')+';' NEXT // s_post_mtrl.pfstr[ll_itmx_parent] = ls_pf_str END IF ext: destroy ds_prdpf RETURN rslt end function