$PBExportHeader$w_mtrl_receive_ljfieb.srw forward global type w_mtrl_receive_ljfieb from w_publ_base end type type cb_save from uo_imflatbutton within w_mtrl_receive_ljfieb end type type dw_2 from u_dw_rbtnfilter within w_mtrl_receive_ljfieb end type type st_1 from statictext within w_mtrl_receive_ljfieb end type type cb_ch from uo_imflatbutton within w_mtrl_receive_ljfieb end type type cb_p_set from uo_imflatbutton within w_mtrl_receive_ljfieb end type type dw_1 from datawindow within w_mtrl_receive_ljfieb end type type cb_p from uo_imflatbutton within w_mtrl_receive_ljfieb end type type st_3 from statictext within w_mtrl_receive_ljfieb end type type mle_1 from multilineedit within w_mtrl_receive_ljfieb end type type st_4 from statictext within w_mtrl_receive_ljfieb end type type mle_2 from multilineedit within w_mtrl_receive_ljfieb end type type ln_bar from line within w_mtrl_receive_ljfieb end type type ln_bar2 from line within w_mtrl_receive_ljfieb end type type r_bar from rectangle within w_mtrl_receive_ljfieb end type end forward global type w_mtrl_receive_ljfieb from w_publ_base integer width = 3611 integer height = 2380 string title = "资料同步" boolean minbox = false windowtype windowtype = response! windowstate windowstate = maximized! event ue_mtrl_ch ( ) event ue_p_deal_type_0 ( ) event ue_p_deal_type_1 ( ) event ue_p_mtrltypeid ( ) event ue_p_mtrlorigin ( ) event ue_p_mtrlprp ( ) event ue_p_all ( ) event ue_p_not ( ) event ue_p_not_match ( ) event ue_p_storage ( ) cb_save cb_save dw_2 dw_2 st_1 st_1 cb_ch cb_ch cb_p_set cb_p_set dw_1 dw_1 cb_p cb_p st_3 st_3 mle_1 mle_1 st_4 st_4 mle_2 mle_2 ln_bar ln_bar ln_bar2 ln_bar2 r_bar r_bar end type global w_mtrl_receive_ljfieb w_mtrl_receive_ljfieb type variables Transaction tr_eb_sqlca string ins_sn uo_ljfieb uo_fieb long ins_sendcuscommid string ins_sendsccode end variables forward prototypes public function integer wf_auto (string arg_sn, ref string arg_msg) end prototypes event ue_mtrl_ch();Long uc_row Long ll_storageid = 0 Int li_int String ls_str uc_row = dw_2.GetRow() IF uc_row <= 0 THEN RETURN IF Not IsValid(W_mtrldef_edit) THEN s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位PKID (备用) s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_ch_tran.if_select_all = False s_ch_tran.b_long = 0 s_ch_tran.c_long = -1 s_ch_tran.f_long = 0 Long chc = 1,ls_j dw_2.AcceptText() s_ch_tran.arg_string_code = '' This.Enabled = False OpenWithParm(W_mtrldef_edit,s_ch_tran) This.Enabled = True s_mtrldef_array S_INSCUST S_INSCUST = Message.PowerObjectParm dw_2.SetRedraw(False) IF S_INSCUST.mtrlid[1] > 0 THEN dw_2.Object.mtrlid_local[uc_row] = S_INSCUST.mtrlid[1] dw_2.Object.mtrlcode_local[uc_row] = S_INSCUST.mtrlcode[1] dw_2.Object.mtrlname_local[uc_row] = S_INSCUST.mtrlname[1] dw_2.Object.mtrltypeid_local[uc_row] = S_INSCUST.mtrltypeid[1] dw_2.Object.mtrlprp_local[uc_row] = S_INSCUST.mtrlprp[1] dw_2.Object.mtrlorigin_local[uc_row] = S_INSCUST.mtrlorigin[1] END IF dw_2.SetRedraw(True) dw_2.SetFocus() END IF end event event ue_p_deal_type_0();dw_2.AcceptText() IF MessageBox('询问','是否确定批设置处理方式为自动新建匹配?',question!,yesno!) = 2 THEN RETURN Long ll_i Long ll_deal_type dw_2.SetRedraw(False) FOR ll_i = 1 To dw_2.RowCount() IF dw_2.Object.ifmatch[ll_i] = 1 THEN CONTINUE dw_2.Object.deal_type[ll_i] = 0 dw_2.Object.mtrlid_local[ll_i] = 0 dw_2.Object.mtrlcode_local[ll_i] = '' dw_2.Object.mtrlname_local[ll_i] = '' NEXT dw_2.AcceptText() dw_2.SetRedraw(True) end event event ue_p_deal_type_1();dw_2.AcceptText() IF MessageBox('询问','是否确定批设置处理方式为手动匹配?',question!,yesno!) = 2 THEN RETURN Long ll_i Long ll_deal_type dw_2.SetRedraw(False) FOR ll_i = 1 To dw_2.RowCount() IF dw_2.Object.ifmatch[ll_i] = 1 THEN CONTINUE dw_2.Object.deal_type[ll_i] = 1 NEXT dw_2.AcceptText() dw_2.SetRedraw(True) end event event ue_p_mtrltypeid();IF dw_2.RowCount() <= 0 THEN MessageBox('系统提示','没有可处理的内容') RETURN END IF dw_2.AcceptText() IF MessageBox('询问','是否确定批设置本地类别?',question!,yesno!) = 2 THEN RETURN IF dw_2.Object.mtrltypeid_local[1] = 0 THEN MessageBox('系统提示','请先设定第1行的本地物料类别') RETURN END IF Long ll_i Long ll_deal_type dw_2.SetRedraw(False) FOR ll_i = 1 To dw_2.RowCount() IF dw_2.Object.ifmatch[ll_i] = 1 or dw_2.Object.deal_type[ll_i] = 1 THEN CONTINUE dw_2.Object.mtrltypeid_local[ll_i] = dw_2.Object.mtrltypeid_local[1] NEXT dw_2.AcceptText() dw_2.SetRedraw(True) end event event ue_p_mtrlorigin(); dw_2.AcceptText() IF MessageBox('询问','是否确定批设置本地来源?',question!,yesno!) = 2 THEN RETURN Long ll_i Long ll_deal_type dw_2.SetRedraw(False) FOR ll_i = 1 To dw_2.RowCount() IF dw_2.Object.ifmatch[ll_i] = 1 or dw_2.Object.deal_type[ll_i] = 1 THEN CONTINUE dw_2.Object.mtrlorigin_local[ll_i] = dw_2.Object.mtrlorigin_local[1] NEXT dw_2.AcceptText() dw_2.SetRedraw(True) end event event ue_p_mtrlprp(); dw_2.AcceptText() IF MessageBox('询问','是否确定批设置本地属性?',question!,yesno!) = 2 THEN RETURN Long ll_i Long ll_deal_type dw_2.SetRedraw(False) FOR ll_i = 1 To dw_2.RowCount() IF dw_2.Object.ifmatch[ll_i] = 1 or dw_2.Object.deal_type[ll_i] = 1 THEN CONTINUE dw_2.Object.mtrlprp_local[ll_i] = dw_2.Object.mtrlprp_local[1] NEXT dw_2.AcceptText() dw_2.SetRedraw(True) end event event ue_p_all();Long ll_i dw_2.SetRedraw(False) FOR ll_i = 1 To dw_2.RowCount() dw_2.Object.ifdeal[ll_i] = 1 NEXT dw_2.SetRedraw(True) end event event ue_p_not();Long ll_i dw_2.SetRedraw(False) FOR ll_i = 1 To dw_2.RowCount() dw_2.Object.ifdeal[ll_i] = 0 NEXT dw_2.SetRedraw(True) end event event ue_p_not_match();Long ll_i dw_2.SetRedraw(False) FOR ll_i = 1 To dw_2.RowCount() IF dw_2.Object.ifmatch[ll_i] = 1 THEN dw_2.Object.ifdeal[ll_i] = 0 END IF NEXT dw_2.SetRedraw(True) end event event ue_p_storage(); dw_2.AcceptText() IF MessageBox('询问','是否确定批设置存放仓库?',question!,yesno!) = 2 THEN RETURN Long ll_i Long ll_deal_type dw_2.SetRedraw(False) FOR ll_i = 1 To dw_2.RowCount() IF dw_2.Object.ifmatch[ll_i] = 1 Or dw_2.Object.deal_type[ll_i] = 1 THEN CONTINUE dw_2.Object.storageid[ll_i] = dw_2.Object.storageid[1] NEXT dw_2.AcceptText() dw_2.SetRedraw(True) end event public function integer wf_auto (string arg_sn, ref string arg_msg);Long SendCusCommID String SendSCcode, AddUser,Postscript, Remark, TableName DateTime AddTime Int rslt = 1 String ls_cuscode String ls_sptcode,ls_sptname Long ll_sptid String ls_ccode, ls_cname Long ll_cusid Long ll_row,ll_i,ll_mtrlid String ls_mtrlcode,ls_mtrlcode_local,ls_mtrlname Long ll_mtrltypeid,ll_mtrlorigin,ll_mtrlprp,ll_storageid s_packet_ljfieb INS_RT_STRU SELECT SendCusCommID, SendSCcode, AddUser, AddTime, Postscript, Remark, TableName INTO :SendCusCommID, :SendSCcode, :AddUser, :AddTime, :Postscript, :Remark, :TableName FROM LJFIEB_packet Where SerialNum = :arg_sn Using tr_eb_sqlca; IF tr_eb_sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询通信信息失败,'+tr_eb_sqlca.SQLErrText GOTO ext END IF SELECT CusCode INTO :ls_cuscode FROM LJFIEB_CusComm Where CusCommID = :SendCusCommID Using tr_eb_sqlca; IF tr_eb_sqlca.SQLCode <> 0 THEN ls_cuscode = '' END IF IF Trim(ls_cuscode) <> '' THEN SELECT sptid, name, sptcode INTO :ll_sptid,:ls_sptname,:ls_sptcode FROM u_spt WHERE commcode = :ls_cuscode And commsccode = :SendSCcode; IF sqlca.SQLCode <> 0 THEN ll_sptid = 0 ls_sptname = '' ls_sptcode = '' END IF ELSE ll_sptid = 0 ls_sptname = '' ls_sptcode = '' END IF IF Trim(ls_cuscode) <> '' THEN SELECT cusid, name, cuscode INTO :ll_cusid,:ls_cname,:ls_ccode FROM u_spt WHERE commcode = :ls_cuscode And commsccode = :SendSCcode; IF sqlca.SQLCode <> 0 THEN ll_cusid = 0 ls_cname = '' ls_ccode = '' END IF ELSE ll_cusid = 0 ls_cname = '' ls_ccode = '' END IF IF ll_sptid = 0 And ll_cusid = 0 THEN arg_msg = '当前选中记录中的发送企业不明确' rslt = 0 GOTO ext END IF dw_1.Reset() mle_1.Text = '' mle_2.Text = '' ll_row = dw_1.InsertRow(0) dw_1.Object.SendCusCommID[ll_row] = SendCusCommID dw_1.Object.SendSCcode[ll_row] = SendSCcode dw_1.Object.AddUser[ll_row] = AddUser dw_1.Object.AddTime[ll_row] = AddTime dw_1.Object.Postscript[ll_row] = Postscript dw_1.Object.Remark[ll_row] = Remark dw_1.Object.SerialNum[ll_row] = arg_sn dw_1.Object.TableName[ll_row] = TableName dw_1.Object.CusCode[ll_row] = ls_cuscode mle_1.Text = Postscript mle_2.Text = Remark dw_1.Object.sptcode[ll_row] = ls_sptcode dw_1.Object.sptname[ll_row] = ls_sptname dw_1.Object.sptid[ll_row] = ll_sptid dw_1.Object.ccode[ll_row] = ls_ccode dw_1.Object.cname[ll_row] = ls_cname dw_1.Object.cusid[ll_row] = ll_cusid dw_2.SetRedraw(False) dw_2.Retrieve(arg_sn) FOR ll_i = 1 To dw_2.RowCount() ls_mtrlcode = dw_2.Object.mtrlcode[ll_i] IF ll_sptid > 0 THEN SELECT mtrlid INTO :ll_mtrlid FROM u_sptmtrlname WHERE sptid = :ll_sptid And sptmtrlcode = :ls_mtrlcode Using sqlca; IF sqlca.SQLCode <> 0 THEN ll_mtrlid = 0 END IF END IF IF ll_mtrlid <= 0 And ll_cusid > 0 THEN SELECT mtrlid INTO :ll_mtrlid FROM u_cusmtrlname WHERE cusid = :ll_cusid And cusmtrlcode = :ls_mtrlcode Using sqlca; IF sqlca.SQLCode <> 0 THEN ll_mtrlid = 0 END IF END IF IF ll_mtrlid > 0 THEN SELECT mtrlcode, mtrlname, mtrltypeid, mtrlorigin, mtrlprp INTO :ls_mtrlcode_local, :ls_mtrlname, :ll_mtrltypeid, :ll_mtrlorigin, :ll_mtrlprp FROM u_mtrldef Where mtrlid = :ll_mtrlid Using sqlca; IF sqlca.SQLCode <> 0 THEN ls_mtrlcode_local = '' ls_mtrlname = '' ll_mtrltypeid = 0 ll_mtrlorigin = 0 ll_mtrlprp = 0 END IF SELECT storageid INTO :ll_storageid FROM u_mtrl_storage Where mtrlid = :ll_mtrlid Using sqlca; IF sqlca.SQLCode <> 0 THEN ll_storageid = 0 ELSE ls_mtrlcode_local = '' ls_mtrlname = '' ll_mtrltypeid = 0 ll_mtrlorigin = 0 ll_mtrlprp = 0 SELECT top 1 storageid INTO :ll_storageid FROM u_storage Where inuse = 1 Using sqlca; IF sqlca.SQLCode <> 0 THEN ll_storageid = 0 END IF IF ll_mtrlid > 0 And ls_mtrlcode_local <> '' THEN dw_2.Object.ifmatch[ll_i] = 1 dw_2.Object.mtrltypeid_local[ll_i] = ll_mtrltypeid dw_2.Object.mtrlorigin_local[ll_i] = ll_mtrlorigin dw_2.Object.mtrlprp_local[ll_i] = ll_mtrlprp dw_2.Object.mtrlcode_local[ll_i] = ls_mtrlcode_local dw_2.Object.mtrlname_local[ll_i] = ls_mtrlname dw_2.Object.mtrlid_local[ll_i] = ll_mtrlid dw_2.Object.storageid[ll_i] = ll_storageid END IF // IF ddlb_pack_mode.Text = '非包件模式' THEN // IF dw_2.Object.ifpack[ll_i] = 2 THEN // dw_2.Object.ifdeal[ll_i] = 0 // END IF // END IF NEXT dw_2.SetRedraw(True) ins_sendcuscommid = SendCusCommID ins_sendsccode = SendSCcode ext: RETURN rslt end function on w_mtrl_receive_ljfieb.create int iCurrent call super::create this.cb_save=create cb_save this.dw_2=create dw_2 this.st_1=create st_1 this.cb_ch=create cb_ch this.cb_p_set=create cb_p_set this.dw_1=create dw_1 this.cb_p=create cb_p this.st_3=create st_3 this.mle_1=create mle_1 this.st_4=create st_4 this.mle_2=create mle_2 this.ln_bar=create ln_bar this.ln_bar2=create ln_bar2 this.r_bar=create r_bar iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cb_save this.Control[iCurrent+2]=this.dw_2 this.Control[iCurrent+3]=this.st_1 this.Control[iCurrent+4]=this.cb_ch this.Control[iCurrent+5]=this.cb_p_set this.Control[iCurrent+6]=this.dw_1 this.Control[iCurrent+7]=this.cb_p this.Control[iCurrent+8]=this.st_3 this.Control[iCurrent+9]=this.mle_1 this.Control[iCurrent+10]=this.st_4 this.Control[iCurrent+11]=this.mle_2 this.Control[iCurrent+12]=this.ln_bar this.Control[iCurrent+13]=this.ln_bar2 this.Control[iCurrent+14]=this.r_bar end on on w_mtrl_receive_ljfieb.destroy call super::destroy destroy(this.cb_save) destroy(this.dw_2) destroy(this.st_1) destroy(this.cb_ch) destroy(this.cb_p_set) destroy(this.dw_1) destroy(this.cb_p) destroy(this.st_3) destroy(this.mle_1) destroy(this.st_4) destroy(this.mle_2) destroy(this.ln_bar) destroy(this.ln_bar2) destroy(this.r_bar) end on event resize;call super::resize;ln_bar.endx = this.width ln_bar2.endx = this.width r_bar.width = this.width //dw_1.width = this.WorkSpaceWidth() - 10 dw_2.width = this.WorkSpaceWidth() - 10 dw_2.height = this.workspaceheight() - dw_2.y - 30 mle_1.width = dw_2.width - dw_1.width - 4 mle_2.width = mle_1.width end event event open;call super::open;tr_eb_sqlca = sys_email_sqlca // 电子商务连接 uo_fieb = create uo_ljfieb uo_fieb.commit_transaction = tr_eb_sqlca ins_sn = Message.StringParm dw_1.InsertRow(0) dw_2.SetTransObject(tr_eb_sqlca) datawindowchild childdwmx_s dw_2.GetChild("mtrltypeid_local",childdwmx_s) childdwmx_s.SetTransObject (sqlca) IF childdwmx_s.Retrieve() = 0 THEN childdwmx_s.InsertRow(0) END IF datawindowchild childdwmx_storage dw_2.GetChild("storageid",childdwmx_storage) childdwmx_storage.SetTransObject (sqlca) IF childdwmx_storage.Retrieve() = 0 THEN childdwmx_storage.InsertRow(0) END IF String arg_msg IF Trim(ins_sn) <> '' THEN IF wf_auto(ins_sn,arg_msg) = 0 THEN MessageBox('系统提示',arg_msg) RETURN END IF END IF end event event close;call super::close;destroy uo_fieb end event type cb_func from w_publ_base`cb_func within w_mtrl_receive_ljfieb boolean visible = false end type type cb_exit from w_publ_base`cb_exit within w_mtrl_receive_ljfieb integer x = 809 integer width = 151 integer height = 164 integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type cb_save from uo_imflatbutton within w_mtrl_receive_ljfieb integer x = 571 integer width = 238 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "匹配" string normalpicname = "update2.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;Long ll_i,ll_j,ll_k,ls_i,ll_m Boolean lb_find_match String ls_mtrlcode_cus,ls_mtrlname_cus,ls_mtrlmode_cus Long ll_sptid,ll_cusid Long ll_mtrlid_local Long ll_typeid_arr[],ll_contfigtypeid_arr[] Long ll_ittype,ll_itcon String ls_cuscode,ls_typename,ls_contfigtypename String ls_sn Long ll_typeid_local,ll_typeid_arr_local[] Long ll_contfigtypeid_local,ll_contfigtypeid_arr_local[] Long ll_newid Long ll_contfigtype Long ll_mtrlid,ll_newcid String errmsg,arg_msg String ls_mtrlcode_local,ls_mtrlname_local,ls_mtrlmode_local Long ll_storageid //configure变量 String code,Name,ename Long ll_type,defaultpz,ifzj String dscrp Decimal net_weight,gross_weight,cubage Long ll_color_id String ls_color_name,ls_color_printid s_mtrl_configure_array s_configure,s_empty_con s_mtrl_match_ljfieb s_match_arr[] Long ll_match_cnt ll_match_cnt = 0 Long ll_sendcuscommid uo_mtrldef uo_mtrl uo_mtrl = Create uo_mtrldef uo_mtrl.commit_transaction = sqlca datastore ds_configure ds_configure = Create datastore ds_configure.DataObject = 'ds_mtrl_configure_receive_ljfieb' ds_configure.SetTransObject(tr_eb_sqlca) datastore ds_configure2 ds_configure2 = Create datastore ds_configure2.DataObject = 'ds_mtrl_configure2_receive_ljfieb' ds_configure2.SetTransObject(tr_eb_sqlca) datastore ds_color ds_color = Create datastore ds_color.DataObject = 'ds_ljfieb_color_receive' ds_color.SetTransObject(tr_eb_sqlca) datastore ds_color_pcode ds_color_pcode = Create datastore ds_color_pcode.DataObject = 'ds_ljfieb_color_pcode_receive' ds_color_pcode.SetTransObject(tr_eb_sqlca) datastore ds_color_wood ds_color_wood = Create datastore ds_color_wood.DataObject = 'ds_ljfieb_color_wood_receive' ds_color_wood.SetTransObject(tr_eb_sqlca) s_mtrldef_array arg_s_mtrl dw_1.AcceptText() dw_2.AcceptText() IF dw_1.GetRow() <= 0 THEN MessageBox('系统提示','请先选择推送记录') RETURN END IF ls_cuscode = dw_1.Object.cuscode[dw_1.GetRow()] ls_sn = dw_1.Object.serialnum[dw_1.GetRow()] ll_sptid = dw_1.Object.sptid[dw_1.GetRow()] ll_cusid = dw_1.Object.cusid[dw_1.GetRow()] IF ll_sptid = 0 And ll_cusid = 0 THEN MessageBox('系统提示','发送资料的供应商身份不明确,请检查') RETURN END IF FOR ll_i = 1 To dw_2.RowCount() IF dw_2.Object.ifdeal[ll_i] = 0 THEN CONTINUE IF dw_2.Object.deal_type[ll_i] = 1 And dw_2.Object.ifmatch[ll_i] = 0 And dw_2.Object.mtrlid_local[ll_i] = 0 THEN dw_2.SetRow(ll_i) dw_2.ScrollToRow(ll_i) dw_2.SelectRow(0,False) dw_2.SelectRow(ll_i,True) MessageBox('系统提示','第'+String(ll_i)+'行,物料编码:'+String(dw_2.Object.mtrlcode[ll_i])+'处理方式为手动匹配,请选指定对应的产品资料') RETURN END IF IF dw_2.Object.deal_type[ll_i] = 0 And dw_2.Object.ifmatch[ll_i] = 0 And dw_2.Object.mtrltypeid_local[ll_i] = 0 THEN dw_2.SetRow(ll_i) dw_2.ScrollToRow(ll_i) dw_2.SelectRow(0,False) dw_2.SelectRow(ll_i,True) MessageBox('系统提示','第'+String(ll_i)+'行,物料编码:'+String(dw_2.Object.mtrlcode[ll_i])+',请选指定物料类别') RETURN END IF IF dw_2.Object.deal_type[ll_i] = 0 And dw_2.Object.ifmatch[ll_i] = 0 And dw_2.Object.storageid[ll_i] = 0 THEN dw_2.SetRow(ll_i) dw_2.ScrollToRow(ll_i) dw_2.SelectRow(0,False) dw_2.SelectRow(ll_i,True) MessageBox('系统提示','第'+String(ll_i)+'行,物料编码:'+String(dw_2.Object.mtrlcode[ll_i])+',请指定存放仓库') RETURN END IF IF dw_2.Object.statusflag[ll_i] = 1 THEN FOR ll_j = 1 To ll_ittype IF ll_typeid_arr[ll_j] = dw_2.Object.statustype[ll_i] THEN GOTO _end_type END IF NEXT ll_ittype++ ll_typeid_arr[ll_ittype] = dw_2.Object.statustype[ll_i] _end_type: END IF IF dw_2.Object.woodcodeflag[ll_i] = 1 THEN FOR ll_j = 1 To ll_ittype IF ll_typeid_arr[ll_j] = dw_2.Object.woodcodetype[ll_i] THEN GOTO _end_type_2 END IF NEXT ll_ittype++ ll_typeid_arr[ll_ittype] = dw_2.Object.woodcodetype[ll_i] _end_type_2: END IF IF dw_2.Object.pcodeflag[ll_i] = 1 THEN FOR ll_j = 1 To ll_ittype IF ll_typeid_arr[ll_j] = dw_2.Object.pcodetype[ll_i] THEN GOTO _end_type_3 END IF NEXT ll_ittype++ ll_typeid_arr[ll_ittype] = dw_2.Object.pcodetype[ll_i] _end_type_3: END IF IF dw_2.Object.statusflag[ll_i] = 4 THEN FOR ll_j = 1 To ll_itcon IF ll_contfigtypeid_arr[ll_j] = dw_2.Object.statustype[ll_i] THEN GOTO _end_contype END IF NEXT ll_itcon++ ll_contfigtypeid_arr[ll_itcon] = dw_2.Object.statustype[ll_i] _end_contype: END IF IF dw_2.Object.woodcodeflag[ll_i] = 4 THEN FOR ll_j = 1 To ll_itcon IF ll_contfigtypeid_arr[ll_j] = dw_2.Object.woodcodetype[ll_i] THEN GOTO _end_contype_2 END IF NEXT ll_itcon++ ll_contfigtypeid_arr[ll_itcon] = dw_2.Object.woodcodetype[ll_i] _end_contype_2: END IF IF dw_2.Object.pcodeflag[ll_i] = 4 THEN FOR ll_j = 1 To ll_itcon IF ll_contfigtypeid_arr[ll_j] = dw_2.Object.pcodetype[ll_i] THEN GOTO _end_contype_3 END IF NEXT ll_itcon++ ll_contfigtypeid_arr[ll_itcon] = dw_2.Object.pcodetype[ll_i] _end_contype_3: END IF IF dw_2.Object.configcodetype[ll_i] > 0 THEN FOR ll_j = 1 To ll_itcon IF ll_contfigtypeid_arr[ll_j] = dw_2.Object.configcodetype[ll_i] THEN GOTO _end_configcodetype END IF NEXT ll_itcon++ ll_contfigtypeid_arr[ll_itcon] = dw_2.Object.configcodetype[ll_i] _end_configcodetype: END IF NEXT FOR ll_i = 1 To ll_ittype SELECT typename INTO :ls_typename FROM LJFIEB_pztype_def WHERE serialnum = :ls_sn And typeid = :ll_typeid_arr[ll_i] Using tr_eb_sqlca; //查临时表 IF tr_eb_sqlca.SQLCode <> 0 THEN MessageBox('Error','查询临时配置类别表失败,'+tr_eb_sqlca.SQLErrText) RETURN END IF ls_typename = Trim(ls_cuscode) + '_' + Trim(ls_typename) SELECT typeid INTO :ll_typeid_local FROM u_pztype_def Where typename = :ls_typename; IF sqlca.SQLCode <> 0 THEN ll_typeid_local = 0 END IF IF ll_typeid_local = 0 THEN ll_newid = f_sys_scidentity(0,"u_pztype_def","typeid",errmsg,True,sqlca) IF ll_newid <= 0 THEN MessageBox(publ_operator,errmsg) RETURN ELSE ll_typeid_arr_local[ll_i] = ll_newid END IF INSERT INTO u_pztype_def (typeid, typename) VALUES (:ll_newid, :ls_typename) Using sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','插入配置类别表失败,'+sqlca.SQLErrText) RETURN END IF ELSE ll_typeid_arr_local[ll_i] = ll_typeid_local END IF NEXT FOR ll_i = 1 To ll_itcon IF ll_contfigtypeid_arr[ll_i] = 0 THEN CONTINUE SELECT contfigtypename,contfigtype INTO :ls_contfigtypename,:ll_contfigtype FROM LJFIEB_configure_type WHERE serialnum = :ls_sn And contfigtypeid = :ll_contfigtypeid_arr[ll_i] Using tr_eb_sqlca; //查临时表 IF tr_eb_sqlca.SQLCode <> 0 THEN MessageBox('Error','查询临时部件选配资料表失败,'+tr_eb_sqlca.SQLErrText) RETURN END IF ls_contfigtypename = Trim(ls_cuscode) + '_' + Trim(ls_contfigtypename) SELECT contfigtypeid INTO :ll_contfigtypeid_local FROM u_configure_type Where contfigtypename = :ls_contfigtypename; IF sqlca.SQLCode <> 0 THEN ll_contfigtypeid_local = 0 END IF IF ll_contfigtypeid_local = 0 THEN ll_newid = f_sys_scidentity(0,"u_configure_type","contfigtypeid",errmsg,True,sqlca) IF ll_newid <= 0 THEN MessageBox(publ_operator,errmsg) RETURN ELSE ll_contfigtypeid_arr_local[ll_i] = ll_newid END IF INSERT INTO u_configure_type (contfigtypeid, contfigtypename, contfigtype) VALUES (:ll_newid, :ls_contfigtypename, :ll_contfigtype) Using sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','插入部件选配资料表失败,'+sqlca.SQLErrText) RETURN END IF ELSE ll_contfigtypeid_arr_local[ll_i] = ll_contfigtypeid_local END IF NEXT datastore ds_pztype_mx ds_pztype_mx = Create datastore ds_pztype_mx.DataObject = 'ds_pztype_mx_ljfieb_receive' ds_pztype_mx.SetTransObject(tr_eb_sqlca) //电子商务连接 datastore ds_configure_code ds_configure_code = Create datastore ds_configure_code.DataObject = 'ds_configure_code_ljfieb_receive' ds_configure_code.SetTransObject(tr_eb_sqlca) //电子商务连接 datastore ds_configure_codemx ds_configure_codemx = Create datastore ds_configure_codemx.DataObject = 'ds_configure_codemx_ljfieb_receive' ds_configure_codemx.SetTransObject(tr_eb_sqlca) //电子商务连接 Long ll_pztype String ls_dscrp, ls_tdscrp Long cnt Long ll_pzid String ls_pzcode,ls_name Long ll_inputtype,ll_configtype Long ll_printid String ls_pzcodemx,ls_namemx Long ll_add_pzid, ll_max_pzid, ll_min_pzid, ll_max_pzid_local FOR ll_i = 1 To ll_ittype ds_pztype_mx.Retrieve(ll_typeid_arr[ll_i],ls_sn) FOR ll_j = 1 To ds_pztype_mx.RowCount() ll_pztype = ds_pztype_mx.Object.pztype[ll_j] ls_dscrp = ds_pztype_mx.Object.dscrp[ll_j] ls_tdscrp = ds_pztype_mx.Object.tdscrp[ll_j] SELECT count(*) INTO :cnt FROM u_pztype_mx WHERE typeid = :ll_typeid_arr_local[ll_i] AND pztype = :ll_pztype And dscrp = :ls_dscrp; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','查询临时配置类别明细表失败,'+sqlca.SQLErrText) RETURN END IF IF cnt = 0 THEN INSERT INTO u_pztype_mx (typeid, pztype, dscrp, tdscrp) VALUES (:ll_typeid_arr_local[ll_i], :ll_pztype, :ls_dscrp, :ls_tdscrp); IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','插入临时配置类别明细表失败,'+sqlca.SQLErrText) RETURN END IF END IF NEXT NEXT FOR ll_i = 1 To ll_itcon DELETE FROM u_configure_codemx FROM u_configure_codemx INNER JOIN u_configure_code ON u_configure_codemx.pzid = u_configure_code.pzid Where u_configure_code.typeid = :ll_contfigtypeid_arr_local[ll_i]; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','删除临时部件选配资料明细表2失败,'+sqlca.SQLErrText) RETURN END IF DELETE FROM u_configure_code Where typeid = :ll_contfigtypeid_arr_local[ll_i]; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','删除临时部件选配资料明细表失败,'+sqlca.SQLErrText) RETURN END IF ///////////////////// // ds_configure_code.Retrieve(ll_contfigtypeid_arr[ll_i],ls_sn) ds_configure_codemx.Retrieve(ll_contfigtypeid_arr[ll_i],ls_sn) SELECT max(pzid) INTO :ll_max_pzid_local From u_configure_code; IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','查询部件选配项列表最大pzid失败,'+arg_msg) RETURN END IF SELECT max(pzid) INTO :ll_max_pzid FROM LJFIEB_configure_code WHERE serialnum = :ls_sn Using tr_eb_sqlca; IF tr_eb_sqlca.SQLCode <> 0 THEN arg_msg = tr_eb_sqlca.SQLErrText ROLLBACK; MessageBox('Error','查询部件选配项列表最大pzid失败,'+arg_msg) RETURN END IF IF ll_max_pzid_local > ll_max_pzid THEN ll_max_pzid = ll_max_pzid_local END IF SELECT min(pzid) INTO :ll_min_pzid FROM LJFIEB_configure_code WHERE typeid = :ll_contfigtypeid_arr[ll_i] AND serialnum = :ls_sn Using tr_eb_sqlca; IF tr_eb_sqlca.SQLCode <> 0 THEN arg_msg = tr_eb_sqlca.SQLErrText ROLLBACK; MessageBox('Error','查询部件选配项列表本次另存的最小pzid失败,'+arg_msg) RETURN END IF //ID差值 ll_add_pzid = ll_max_pzid + 1 - ll_min_pzid FOR ll_j = 1 To ds_configure_code.RowCount() ll_pzid = ds_configure_code.Object.pzid[ll_j] ls_pzcode = ds_configure_code.Object.pzcode[ll_j] ls_name = ds_configure_code.Object.Name[ll_j] ll_inputtype = ds_configure_code.Object.inputtype[ll_j] ll_configtype = ds_configure_code.Object.configtype[ll_j] ll_pzid += ll_add_pzid INSERT INTO u_configure_code (typeid, pzid, pzcode, name, inputtype, configtype) VALUES (:ll_contfigtypeid_arr_local[ll_i], :ll_pzid, :ls_pzcode, :ls_name, :ll_inputtype, :ll_configtype); IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','插入临时部件选配资料明细表失败,'+sqlca.SQLErrText) RETURN END IF NEXT FOR ll_j = 1 To ds_configure_codemx.RowCount() ll_pzid = ds_configure_codemx.Object.ljfieb_configure_codemx_pzid[ll_j] ll_printid = ds_configure_codemx.Object.ljfieb_configure_codemx_printid[ll_j] ls_pzcodemx = ds_configure_codemx.Object.ljfieb_configure_codemx_pzcodemx[ll_j] ls_namemx = ds_configure_codemx.Object.ljfieb_configure_codemx_namemx[ll_j] ll_pzid += ll_add_pzid INSERT INTO u_configure_codemx (pzid, printid, pzcodemx, namemx) VALUES (:ll_pzid, :ll_printid, :ls_pzcodemx, :ls_namemx); IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','插入临时部件选配资料明细表2失败,'+sqlca.SQLErrText) RETURN END IF NEXT SELECT max(pzid) INTO :ll_max_pzid From u_configure_code; IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','查询部件选配项列表最大pzid(新)失败,'+arg_msg) RETURN END IF UPDATE Sys_scIdentity SET ScIdentityno = :ll_max_pzid WHERE Sys_scIdentity.Scid = 0 AND lower(Sys_scIdentity.tablename) = 'u_configure_code' AND Lower(Sys_scIdentity.columnname) = 'pzid' ; IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','更新相关唯一码记录操作失败,'+arg_msg) RETURN END IF // ds_configure_code.Retrieve(ll_contfigtypeid_arr[ll_i],ls_sn) // // FOR ll_j = 1 To ds_configure_code.RowCount() // ll_pzid = ds_configure_code.Object.pzid[ll_j] // ls_pzcode = ds_configure_code.Object.pzcode[ll_j] // ls_name = ds_configure_code.Object.Name[ll_j] // ll_inputtype = ds_configure_code.Object.inputtype[ll_j] // ll_configtype = ds_configure_code.Object.configtype[ll_j] // // INSERT INTO u_configure_code // (typeid, // pzid, // pzcode, // name, // inputtype, // configtype) // VALUES (:ll_contfigtypeid_arr_local[ll_i], // :ll_pzid, // :ls_pzcode, // :ls_name, // :ll_inputtype, // :ll_configtype); // IF sqlca.SQLCode <> 0 THEN // ROLLBACK; // MessageBox('Error','插入临时部件选配资料明细表失败,'+sqlca.SQLErrText) // RETURN // END IF // NEXT // // ds_configure_codemx.Retrieve(ll_contfigtypeid_arr[ll_i],ls_sn) // // FOR ll_j = 1 To ds_configure_codemx.RowCount() // ll_pzid = ds_configure_codemx.Object.ljfieb_configure_codemx_pzid[ll_j] // ll_printid = ds_configure_codemx.Object.ljfieb_configure_codemx_printid[ll_j] // ls_pzcodemx = ds_configure_codemx.Object.ljfieb_configure_codemx_pzcodemx[ll_j] // ls_namemx = ds_configure_codemx.Object.ljfieb_configure_codemx_namemx[ll_j] // // INSERT INTO u_configure_codemx // (pzid, // printid, // pzcodemx, // namemx) // VALUES (:ll_pzid, // :ll_printid, // :ls_pzcodemx, // :ls_namemx); // IF sqlca.SQLCode <> 0 THEN // ROLLBACK; // MessageBox('Error','插入临时部件选配资料明细表2失败,'+sqlca.SQLErrText) // RETURN // END IF // NEXT NEXT FOR ll_i = 1 To dw_2.RowCount() IF dw_2.Object.ifdeal[ll_i] = 0 THEN CONTINUE ll_mtrlid_local = dw_2.Object.mtrlid_local[ll_i] ls_mtrlcode_cus = dw_2.Object.mtrlcode[ll_i] ls_mtrlname_cus = dw_2.Object.mtrlname[ll_i] ls_mtrlmode_cus = dw_2.Object.mtrlmode[ll_i] //未匹配&手动匹配 IF dw_2.Object.ifmatch[ll_i] = 0 And dw_2.Object.deal_type[ll_i] = 1 THEN IF ll_sptid > 0 THEN DELETE FROM u_sptmtrlname WHERE sptid = :ll_sptid And mtrlid = :ll_mtrlid_local; IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,删除原有匹配失败,'+arg_msg) RETURN END IF DELETE FROM u_sptmtrlname WHERE sptid = :ll_sptid And sptmtrlcode = :ls_mtrlcode_cus; IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,删除原有匹配失败,'+arg_msg) RETURN END IF INSERT INTO u_sptmtrlname (sptid, mtrlid, sptmtrlname, sptmtrlcode, sptmtrlmode) VALUES (:ll_sptid, :ll_mtrlid_local, :ls_mtrlname_cus, :ls_mtrlcode_cus, :ls_mtrlmode_cus); IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,插入新匹配失败,'+arg_msg) RETURN END IF END IF IF ll_cusid > 0 THEN DELETE FROM u_cusmtrlname WHERE cusid = :ll_cusid And mtrlid = :ll_mtrlid_local; IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,删除原有匹配失败,'+arg_msg) RETURN END IF DELETE FROM u_cusmtrlname WHERE cusid = :ll_cusid And cusmtrlcode = :ls_mtrlcode_cus; IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,删除原有匹配失败,'+arg_msg) RETURN END IF INSERT INTO u_cusmtrlname (cusid, mtrlid, cusmtrlname, cusmtrlcode, cusmtrlmode) VALUES (:ll_cusid, :ll_mtrlid_local, :ls_mtrlname_cus, :ls_mtrlcode_cus, :ls_mtrlmode_cus); IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,插入新匹配失败,'+arg_msg) RETURN END IF END IF SELECT mtrlcode,mtrlname,mtrlmode INTO :ls_mtrlcode_local,:ls_mtrlname_local,:ls_mtrlmode_local FROM u_mtrldef Where mtrlid = :ll_mtrlid_local; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,查询本地资料信息失败,'+sqlca.SQLErrText) RETURN END IF lb_find_match = False FOR ll_m = 1 To ll_match_cnt IF s_match_arr[ll_m].mtrlcode_spt = ls_mtrlcode_cus THEN lb_find_match = True END IF NEXT IF lb_find_match = False THEN ll_match_cnt++ s_match_arr[ll_match_cnt].mtrlcode_spt = ls_mtrlcode_cus s_match_arr[ll_match_cnt].mtrlcode_self = ls_mtrlcode_local s_match_arr[ll_match_cnt].mtrlname_self = ls_mtrlname_local s_match_arr[ll_match_cnt].mtrlmode_self = ls_mtrlmode_local END IF CONTINUE END IF //未匹配&自动建立 or 已匹配(更新) IF dw_2.Object.ifmatch[ll_i] = 0 And dw_2.Object.deal_type[ll_i] = 0 Or dw_2.Object.ifmatch[ll_i] = 1 THEN IF dw_2.Object.ifmatch[ll_i] = 0 THEN arg_s_mtrl.mtrlid[1] = 0 ELSE arg_s_mtrl.mtrlid[1] = dw_2.Object.mtrlid_local[ll_i] END IF arg_s_mtrl.mtrlcode[1] = Trim(ls_cuscode) + '_' + dw_2.Object.mtrlcode[ll_i] arg_s_mtrl.mtrlname[1] = dw_2.Object.mtrlname[ll_i] arg_s_mtrl.mtrlsectype[1] = dw_2.Object.mtrlsectype[ll_i] arg_s_mtrl.mtrlmode[1] = dw_2.Object.mtrlmode[ll_i] arg_s_mtrl.unit[1] = dw_2.Object.unit[ll_i] arg_s_mtrl.dscrp[1] = dw_2.Object.dscrp[ll_i] arg_s_mtrl.lmbuyprice[1] = 0 arg_s_mtrl.lmsaleprice[1] = 0 arg_s_mtrl.prdpackcode[1] = dw_2.Object.prdpackcode[ll_i] arg_s_mtrl.packqty[1] = dw_2.Object.packqty[ll_i] arg_s_mtrl.zxmtrlmode[1] = dw_2.Object.zxmtrlmode[ll_i] arg_s_mtrl.unit_buy[1] = dw_2.Object.unit_buy[ll_i] arg_s_mtrl.rate_buy[1] = dw_2.Object.rate_buy[ll_i] arg_s_mtrl.unit_scll[1] = dw_2.Object.unit_scll[ll_i] arg_s_mtrl.rate_scll[1] = dw_2.Object.rate_scll[ll_i] arg_s_mtrl.unit_sale[1] = dw_2.Object.unit_sale[ll_i] arg_s_mtrl.rate_sale[1] = dw_2.Object.rate_sale[ll_i] // arg_s_mtrl.orderdays[1] = 0 // arg_s_mtrl.buydays[1] = 0 // arg_s_mtrl.wfjgdays[1] = 0 // arg_s_mtrl.minbuyqty[1] = 0 // arg_s_mtrl.aheaddays[1] = 0 // arg_s_mtrl.ifselforder[1] = 0 // arg_s_mtrl.mprice[1] = 0 arg_s_mtrl.mtrlorigin[1] = dw_2.Object.mtrlorigin_local[ll_i] arg_s_mtrl.mtrlkind[1] = 0 arg_s_mtrl.lspacklimit[1] = 0 arg_s_mtrl.maxqty[1] = 9999999 arg_s_mtrl.minqty[1] = 0 arg_s_mtrl.isuse[1] = 1 arg_s_mtrl.mtrltypeid[1] = dw_2.Object.mtrltypeid_local[ll_i] arg_s_mtrl.barcode[1] = '' arg_s_mtrl.net_weight[1] = dw_2.Object.net_weight[ll_i] arg_s_mtrl.gross_weight[1] = dw_2.Object.gross_weight[ll_i] arg_s_mtrl.cubage[1] = dw_2.Object.cubage[ll_i] arg_s_mtrl.mtrlengname[1] = dw_2.Object.mtrlengname[ll_i] arg_s_mtrl.scllflag[1] = 0 // arg_s_mtrl.dftwrkgrpid[1] = 0 arg_s_mtrl.dftsptid[1] = 0 // arg_s_mtrl.scid[1] = 0 // arg_s_mtrl.ifscid[1] = 0 arg_s_mtrl.mtrlprp[1] = dw_2.Object.mtrlprp_local[ll_i] arg_s_mtrl.uprate[1] = 0 arg_s_mtrl.upqty[1] = 0 // arg_s_mtrl.ordertype[1] = 0 arg_s_mtrl.statusflag[1] = dw_2.Object.statusflag[ll_i] arg_s_mtrl.woodcodeflag[1] = dw_2.Object.woodcodeflag[ll_i] arg_s_mtrl.pcodeflag[1] = dw_2.Object.pcodeflag[ll_i] arg_s_mtrl.inprice_mode[1] = 0 //20130730 IF dw_2.Object.statusflag[ll_i] = 1 THEN FOR ll_j = 1 To ll_ittype IF ll_typeid_arr[ll_j] = dw_2.Object.statustype[ll_i] THEN arg_s_mtrl.statustype[1] = ll_typeid_arr_local[ll_j] GOTO _next_wood END IF NEXT arg_s_mtrl.statustype[1] = dw_2.Object.statustype[ll_i] ELSEIF dw_2.Object.statusflag[ll_i] = 4 THEN FOR ll_j = 1 To ll_itcon IF ll_contfigtypeid_arr[ll_j] = dw_2.Object.statustype[ll_i] THEN arg_s_mtrl.statustype[1] = ll_contfigtypeid_arr_local[ll_j] GOTO _next_wood END IF NEXT arg_s_mtrl.statustype[1] = dw_2.Object.statustype[ll_i] ELSE arg_s_mtrl.statustype[1] = dw_2.Object.statustype[ll_i] END IF _next_wood: IF dw_2.Object.woodcodeflag[ll_i] = 1 THEN FOR ll_j = 1 To ll_ittype IF ll_typeid_arr[ll_j] = dw_2.Object.woodcodetype[ll_i] THEN arg_s_mtrl.woodcodetype[1] = ll_typeid_arr_local[ll_j] GOTO _next_pcode END IF NEXT arg_s_mtrl.woodcodetype[1] = dw_2.Object.woodcodetype[ll_i] ELSEIF dw_2.Object.woodcodeflag[ll_i] = 4 THEN FOR ll_j = 1 To ll_itcon IF ll_contfigtypeid_arr[ll_j] = dw_2.Object.woodcodetype[ll_i] THEN arg_s_mtrl.woodcodetype[1] = ll_contfigtypeid_arr_local[ll_j] GOTO _next_pcode END IF NEXT arg_s_mtrl.woodcodetype[1] = dw_2.Object.woodcodetype[ll_i] ELSE arg_s_mtrl.woodcodetype[1] = dw_2.Object.woodcodetype[ll_i] END IF _next_pcode: IF dw_2.Object.pcodeflag[ll_i] = 1 THEN FOR ll_j = 1 To ll_ittype IF ll_typeid_arr[ll_j] = dw_2.Object.pcodetype[ll_i] THEN arg_s_mtrl.pcodetype[1] = ll_typeid_arr_local[ll_j] GOTO _next END IF NEXT arg_s_mtrl.pcodetype[1] = dw_2.Object.pcodetype[ll_i] ELSEIF dw_2.Object.pcodeflag[ll_i] = 4 THEN FOR ll_j = 1 To ll_itcon IF ll_contfigtypeid_arr[ll_j] = dw_2.Object.pcodetype[ll_i] THEN arg_s_mtrl.pcodetype[1] = ll_contfigtypeid_arr_local[ll_j] GOTO _next END IF NEXT arg_s_mtrl.pcodetype[1] = dw_2.Object.pcodetype[ll_i] ELSE arg_s_mtrl.pcodetype[1] = dw_2.Object.pcodetype[ll_i] END IF _next: // arg_s_mtrl.mtrlarea[1] = 0 IF dw_2.Object.mtrlorigin[ll_i] = 2 THEN arg_s_mtrl.dftsptid[1] = ll_sptid ELSE arg_s_mtrl.dftsptid[1] = 0 END IF // arg_s_mtrl.mtrlarea1[1] = 0 // arg_s_mtrl.mtrlarea2[1] = 0 arg_s_mtrl.configcode[1] = dw_2.Object.configcode[ll_i] arg_s_mtrl.configname[1] = dw_2.Object.configname[ll_i] arg_s_mtrl.ifpack[1] = dw_2.Object.ifpack[ll_i] arg_s_mtrl.ifpackpro[1] = dw_2.Object.ifpackpro[ll_i] // arg_s_mtrl.autoinstall[1] = 0 arg_s_mtrl.iflimitprice[1] = 0 arg_s_mtrl.mtrlcolor[1] = dw_2.Object.mtrlcolor[ll_i] IF dw_2.Object.configcodetype[ll_i] > 0 THEN FOR ll_j = 1 To ll_itcon IF ll_contfigtypeid_arr[ll_j] = dw_2.Object.configcodetype[ll_i] THEN arg_s_mtrl.configcodetype[1] = ll_contfigtypeid_arr_local[ll_j] GOTO _next2 END IF NEXT arg_s_mtrl.configcodetype[1] = dw_2.Object.configcodetype[ll_i] ELSE arg_s_mtrl.configcodetype[1] = dw_2.Object.configcodetype[ll_i] END IF _next2: // arg_s_mtrl.ifautodd[1] = 1 // arg_s_mtrl.iflljg[1] = 0 // arg_s_mtrl.ifunit[1] = 0 // arg_s_mtrl.ifpackpz[1] = dw_2.Object.ifpackpz[ll_i] // arg_s_mtrl.ifpacktype[1] = dw_2.Object.ifpacktype[ll_i] // // arg_s_mtrl.scllrate[1] = 0 // // arg_s_mtrl.cmpqty[1] = 1 // // arg_s_mtrl.usermtrlmode[1] = dw_2.Object.usermtrlmode[ll_i] // arg_s_mtrl.storagetype[1] = 0 // arg_s_mtrl.ifmtrlcuscode[1] = 0 // // arg_s_mtrl.mrptype[1] = 0 // arg_s_mtrl.mrparg[1] = 0 // // arg_s_mtrl.updownprice[1] = 0 // arg_s_mtrl.outtype[1] = 0 // // arg_s_mtrl.ifpricepack[1] = 0 // arg_s_mtrl.gydscrp[1] = '' // // arg_s_mtrl.downrate[1] = 0 // arg_s_mtrl.ifcustom[1] = dw_2.Object.ifcustom[ll_i] arg_s_mtrl.buyunit[1] = dw_2.Object.buyunit[ll_i] arg_s_mtrl.wfjgunit[1] = dw_2.Object.wfjgunit[ll_i] arg_s_mtrl.scllunit[1] = dw_2.Object.scllunit[ll_i] arg_s_mtrl.saleunit[1] = dw_2.Object.saleunit[ll_i] arg_s_mtrl.buydec[1] = dw_2.Object.buydec[ll_i] arg_s_mtrl.wfjgdec[1] = dw_2.Object.wfjgdec[ll_i] arg_s_mtrl.sclldec[1] = dw_2.Object.sclldec[ll_i] arg_s_mtrl.saledec[1] = dw_2.Object.saledec[ll_i] // arg_s_mtrl.issuliao[1] = 0 // arg_s_mtrl.period[1] = 0 // arg_s_mtrl.skmtrlid[1] = 0 // // arg_s_mtrl.ifenough[1] = 0 // arg_s_mtrl.capacity[1] = 0 // arg_s_mtrl.expday[1] = 0 // arg_s_mtrl.capaparm[1] = 0 // arg_s_mtrl.sctaskqty[1] = 0 // // arg_s_mtrl.minarg[1] = 0 // arg_s_mtrl.maxarg[1] = 0 // // arg_s_mtrl.mindays[1] = 0 // arg_s_mtrl.maxdays[1] = 0 // arg_s_mtrl.ifmrppackpf[1] = 0 arg_s_mtrl.status_check[1] = dw_2.Object.status_check[ll_i] arg_s_mtrl.woodcode_check[1] = dw_2.Object.woodcode_check[ll_i] arg_s_mtrl.pcode_check[1] = dw_2.Object.pcode_check[ll_i] // arg_s_mtrl.maxzjday[1] = 0 // arg_s_mtrl.eoq[1] = 0 // arg_s_mtrl.splitrate[1] = 0 arg_s_mtrl.mrp_unit[1] = 0 // arg_s_mtrl.rebuytype[1] = 0 // arg_s_mtrl.rebuylot[1] = 0 // arg_s_mtrl.ifsendlot[1] = 0 // // arg_s_mtrl.upddrate[1] = 0 // arg_s_mtrl.upddqty[1] = 0 // // arg_s_mtrl.upsalerate[1] = 0 // arg_s_mtrl.upsaleqty[1] = 0 // // arg_s_mtrl.ifusedeliqty[1] = 0 arg_s_mtrl.status_config[1] = dw_2.Object.status_config[ll_i] arg_s_mtrl.woodcode_config[1] = dw_2.Object.woodcode_config[ll_i] arg_s_mtrl.pcode_config[1] = dw_2.Object.pcode_config[ll_i] // arg_s_mtrl.pricepztype[1] = 0 // // arg_s_mtrl.useday[1] = 0 // arg_s_mtrl.equiptype[1] = 0 arg_s_mtrl.ifpackpro2[1] = dw_2.Object.ifpackpro2[ll_i] // arg_s_mtrl.ifkl[1] = 0 // arg_s_mtrl.ifturn[1] = 0 // arg_s_mtrl.iffp[1] = 0 // // arg_s_mtrl.scllqty[1] = 0 // arg_s_mtrl.piccode[1] = '' // arg_s_mtrl.dftscllwkpid[1] = 0 // // arg_s_mtrl.if_hourpay[1] = 0 // arg_s_mtrl.ifmrp[1] = 1 ll_mtrlid = dw_2.Object.mtrlid[ll_i] ll_storageid = dw_2.Object.storageid[ll_i] IF arg_s_mtrl.mtrlid[1] <= 0 THEN uo_mtrl.newbegin(arg_s_mtrl.mtrlid[1]) ELSE uo_mtrl.newbegin(arg_s_mtrl.mtrlid[1]) END IF IF uo_mtrl.uof_add_mtrl(arg_s_mtrl,publ_operator,arg_msg,False) = 0 THEN MessageBox ("系统提示","第"+String(ll_i)+"行,保存操作失败,"+arg_msg) RETURN END IF IF ll_storageid > 0 THEN DELETE FROM u_mtrl_storage WHERE mtrlid = :uo_mtrl.uo_mtrlid And storageid = :ll_storageid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,删除原有仓库指定信息失败,'+sqlca.SQLErrText) RETURN END IF INSERT INTO u_mtrl_storage (mtrlid, storageid) Values (:uo_mtrl.uo_mtrlid,:ll_storageid); IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,更新仓库指定信息失败,'+sqlca.SQLErrText) RETURN END IF END IF IF ll_sptid > 0 THEN DELETE FROM u_sptmtrlname WHERE sptid = :ll_sptid And sptmtrlcode = :ls_mtrlcode_cus; IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,删除原有匹配失败,'+arg_msg) RETURN END IF END IF IF ll_cusid > 0 THEN DELETE FROM u_cusmtrlname WHERE cusid = :ll_cusid And cusmtrlcode = :ls_mtrlcode_cus; IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,删除原有匹配失败,'+arg_msg) RETURN END IF END IF ds_configure2.Retrieve(ls_sn,ll_mtrlid) s_configure = s_empty_con FOR ls_i = 1 To ds_configure2.RowCount( ) s_configure.pzid[ls_i] = ds_configure2.Object.pzid[ls_i] s_configure.pzcode[ls_i] = ds_configure2.Object.pzcode[ls_i] s_configure.pzname[ls_i] = ds_configure2.Object.pzname[ls_i] s_configure.pzcodemx[ls_i] = "" s_configure.pznamemx[ls_i] = ds_configure2.Object.pznamemx[ls_i] s_configure.printid[ls_i] = 0 NEXT IF uo_mtrl.uof_update_configure2(uo_mtrl.uo_mtrlid,s_configure,False,arg_msg) = 0 THEN MessageBox('Error',arg_msg) RETURN END IF DELETE FROM u_mtrl_configure Where mtrlid = :uo_mtrl.uo_mtrlid ; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,删除原组合配置失败') RETURN END IF ds_configure.Retrieve(ls_sn,ll_mtrlid) FOR ll_k = 1 To ds_configure.RowCount() ll_newcid = f_sys_scidentity(0,"u_mtrl_configure","cid",arg_msg,True,sqlca) code = ds_configure.Object.code[ll_k] Name = ds_configure.Object.Name[ll_k] ename = ds_configure.Object.ename[ll_k] ll_type = ds_configure.Object.Type[ll_k] dscrp = ds_configure.Object.dscrp[ll_k] defaultpz = ds_configure.Object.defaultpz[ll_k] ifzj = ds_configure.Object.ifzj[ll_k] net_weight = ds_configure.Object.net_weight[ll_k] gross_weight = ds_configure.Object.gross_weight[ll_k] cubage = ds_configure.Object.cubage[ll_k] IF ll_newcid <= 0 THEN ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,插入组合配置失败(获取ID)') RETURN END IF INSERT INTO u_mtrl_configure (cid, Mtrlid, code, name, ename, type, dscrp, DefaultPZ, ifzj, net_weight, gross_weight, cubage) VALUES (:ll_newcid, :uo_mtrl.uo_mtrlid, :code, :Name, :ename, :ll_type, :dscrp, :DefaultPZ, :ifzj, :net_weight, :gross_weight, :cubage); IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,插入组合配置失败,'+sqlca.SQLErrText) RETURN END IF NEXT IF ll_sptid > 0 THEN INSERT INTO u_sptmtrlname (sptid, mtrlid, sptmtrlname, sptmtrlcode, sptmtrlmode) VALUES (:ll_sptid, :uo_mtrl.uo_mtrlid, :ls_mtrlname_cus, :ls_mtrlcode_cus, :ls_mtrlmode_cus); IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,插入新匹配失败,'+arg_msg) RETURN END IF END IF IF ll_cusid > 0 THEN INSERT INTO u_cusmtrlname (cusid, mtrlid, cusmtrlname, cusmtrlcode, cusmtrlmode) VALUES (:ll_cusid, :uo_mtrl.uo_mtrlid, :ls_mtrlname_cus, :ls_mtrlcode_cus, :ls_mtrlmode_cus); IF sqlca.SQLCode <> 0 THEN arg_msg = sqlca.SQLErrText ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,插入新匹配失败,'+arg_msg) RETURN END IF END IF lb_find_match = False FOR ll_m = 1 To ll_match_cnt IF s_match_arr[ll_m].mtrlcode_spt = ls_mtrlcode_cus THEN lb_find_match = True END IF NEXT IF lb_find_match = False THEN ll_match_cnt++ s_match_arr[ll_match_cnt].mtrlcode_spt = ls_mtrlcode_cus s_match_arr[ll_match_cnt].mtrlcode_self = Trim(ls_cuscode) + '_' + dw_2.Object.mtrlcode[ll_i] s_match_arr[ll_match_cnt].mtrlname_self = ls_mtrlname_cus s_match_arr[ll_match_cnt].mtrlmode_self = ls_mtrlmode_cus END IF END IF NEXT //插入3配置表 ds_color.Retrieve(ls_sn) IF ds_color.RowCount() > 0 THEN DELETE From u_color Using sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','删除配置表(u_color)原有内容失败,'+sqlca.SQLErrText) RETURN END IF FOR ll_i = 1 To ds_color.RowCount() ll_color_id = ds_color.Object.colorid[ll_i] ls_color_name = ds_color.Object.colorname[ll_i] ls_color_printid = ds_color.Object.printid[ll_i] INSERT INTO u_color (colorid, colorname, printid) VALUES (:ll_color_id, :ls_color_name, :ls_color_printid); IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','插入配置表(u_color)失败,'+sqlca.SQLErrText) RETURN END IF NEXT END IF ds_color_pcode.Retrieve(ls_sn) IF ds_color_pcode.RowCount() > 0 THEN DELETE From u_color_pcode Using sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','删除配置表(u_color_pcode)原有内容失败,'+sqlca.SQLErrText) RETURN END IF FOR ll_i = 1 To ds_color_pcode.RowCount() ll_color_id = ds_color_pcode.Object.pcodeid[ll_i] ls_color_name = ds_color_pcode.Object.pcode[ll_i] ls_color_printid = ds_color_pcode.Object.printid[ll_i] INSERT INTO u_color_pcode (pcodeid, pcode, printid) VALUES (:ll_color_id, :ls_color_name, :ls_color_printid); IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','插入配置表(u_color_pcode)失败,'+sqlca.SQLErrText) RETURN END IF NEXT END IF ds_color_wood.Retrieve(ls_sn) IF ds_color_wood.RowCount() > 0 THEN DELETE From u_color_wood Using sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','删除配置表(u_color_wood)原有内容失败,'+sqlca.SQLErrText) RETURN END IF FOR ll_i = 1 To ds_color_wood.RowCount() ll_color_id = ds_color_wood.Object.woodcodeid[ll_i] ls_color_name = ds_color_wood.Object.woodcode[ll_i] ls_color_printid = ds_color_wood.Object.printid[ll_i] INSERT INTO u_color_wood (woodcodeid, woodcode, printid) VALUES (:ll_color_id, :ls_color_name, :ls_color_printid); IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','插入配置表(u_color_wood)失败,'+sqlca.SQLErrText) RETURN END IF NEXT END IF COMMIT; UPDATE LJFIEB_packet SET Complete = 1, status = 6 Where serialnum = :ls_sn Using tr_eb_sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK Using tr_eb_sqlca; MessageBox('Error','更新推送记录状态失败,'+sqlca.SQLErrText) RETURN END IF COMMIT Using tr_eb_sqlca; //反馈匹配信息 SELECT CusCommID INTO :ll_sendcuscommid FROM LJFIEB_CusComm Where CusType = 0 Using tr_eb_sqlca; IF tr_eb_sqlca.SQLCode <> 0 THEN MessageBox('Error','查询本公司企业编号失败,'+tr_eb_sqlca.SQLErrText) RETURN END IF IF UpperBound(s_match_arr) > 0 THEN IF uo_fieb.send_mtrl_match(ll_sendcuscommid,'',ins_sendcuscommid,ins_sendsccode,s_match_arr,arg_msg,True) = 0 THEN MessageBox('Error','匹配成功,但反馈匹配信息失败,'+arg_msg) ELSE MessageBox('系统提示','匹配成功!') END IF ELSE MessageBox('系统提示','匹配成功!') END IF dw_1.Reset() dw_1.InsertRow(0) dw_2.Reset() end event type dw_2 from u_dw_rbtnfilter within w_mtrl_receive_ljfieb integer y = 712 integer width = 3579 integer height = 1508 integer taborder = 20 boolean bringtotop = true string dataobject = "dw_mtrldef_comm_receive" boolean hscrollbar = true boolean vscrollbar = true end type event rowfocuschanged;call super::rowfocuschanged; IF currentrow <= 0 THEN RETURN THIS.SelectRow(0,FALSE) THIS.SelectRow(currentrow,TRUE) this.setrow(currentrow) end event event doubleclicked;call super::doubleclicked;IF row > 0 THEN IF dw_2.Object.ifmatch[row] = 0 THEN IF dw_2.Object.deal_type[row] = 0 THEN IF dwo.Name = 'mtrltypeid_local' THEN Open(w_mtrltype_ch) s_mtrltype s_type s_type = Message.PowerObjectParm IF s_type.mtrltypeid > 0 THEN //正常返回值则可以取以下值 dw_2.SetRedraw(False) dw_2.Object.mtrltypeid_local[row] = s_type.mtrltypeid dw_2.SetRedraw(True) END IF END IF ELSE IF dwo.Name = 'mtrlcode_local' Or dwo.Name = 'mtrlname_local' THEN Parent.TriggerEvent('ue_mtrl_ch') END IF END IF END IF END IF end event event itemchanged;call super::itemchanged;IF row > 0 THEN IF dwo.Name = 'deal_type' THEN dw_2.Object.mtrlid_local[row] = 0 dw_2.Object.mtrlcode_local[row] = '' dw_2.Object.mtrlname_local[row] = '' END IF END IF end event event clicked;call super::clicked; IF row <= 0 THEN RETURN THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) this.setrow(row) end event type st_1 from statictext within w_mtrl_receive_ljfieb integer x = 37 integer y = 636 integer width = 1111 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "推送产品列表(双击选择物料类别或已有产品)" boolean focusrectangle = false end type type cb_ch from uo_imflatbutton within w_mtrl_receive_ljfieb integer width = 329 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "选推送记录" string normalpicname = "OPEN.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked; IF sys_email_sqlca.DBHandle() = 0 THEN MessageBox('Error','电子商务数据库连接失败,请检查') RETURN END IF Long ls_row,ll_row Long ll_i String ls_mtrlcode Long ll_mtrlid Long ll_mtrltypeid,ll_mtrlorigin,ll_mtrlprp String ls_mtrlcode_local,ls_mtrlname Long ll_storageid IF dw_2.RowCount() > 0 THEN ls_row = dw_2.GetNextModified(0, Primary!) + dw_2.GetNextModified(0, Filter!) IF ls_row > 0 THEN IF MessageBox('询问','明细数据已经改变,重新选择推送记录会导致当前修改丢失,是否继续?',Question!,YesNo!,2 ) = 2 THEN RETURN 1 END IF END IF END IF Open(w_packet_mtrl_receive_ch) s_packet_ljfieb INS_RT_STRU INS_RT_STRU = Message.PowerObjectParm String arg_msg IF wf_auto(INS_RT_STRU.serialnum, arg_msg) <> 1 THEN MessageBox('ERROR', arg_msg) RETURN END IF end event type cb_p_set from uo_imflatbutton within w_mtrl_receive_ljfieb integer x = 329 integer width = 242 integer height = 164 integer taborder = 10 boolean bringtotop = true string text = "批设置" string normalpicname = "p2.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=批设定自动新建匹配~tEvent=ue_p_deal_type_0" menustr = menustr + "|" + "Text=批设定手动匹配~tEvent=ue_p_deal_type_1" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=批设定本地类别~tEvent=ue_p_mtrltypeid" menustr = menustr + "|" + "Text=批设定本地来源~tEvent=ue_p_mtrlorigin" menustr = menustr + "|" + "Text=批设定本地属性~tEvent=ue_p_mtrlprp" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=批设定存放仓库~tEvent=ue_p_storage" IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = Create m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(This, menustr) dmPopupMenu.mf_PopMenu() Destroy dmPopupMenu END IF end event type dw_1 from datawindow within w_mtrl_receive_ljfieb integer y = 180 integer width = 2007 integer height = 448 integer taborder = 30 boolean bringtotop = true string title = "none" string dataobject = "dw_packet_mtrl_receive" boolean livescroll = true borderstyle borderstyle = stylelowered! end type type cb_p from uo_imflatbutton within w_mtrl_receive_ljfieb integer x = 1198 integer y = 624 integer width = 535 integer height = 80 integer taborder = 40 boolean bringtotop = true string text = "批设置处理方式" string normalpicname = "p1.BMP" integer picsize = 16 end type event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=全部处理~tEvent=ue_p_all" menustr = menustr + "|" + "Text=全部不处理~tEvent=ue_p_not" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=已匹配的不处理~tEvent=ue_p_not_match" IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = Create m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(This, menustr) dmPopupMenu.mf_PopMenu() Destroy dmPopupMenu END IF end event type st_3 from statictext within w_mtrl_receive_ljfieb integer x = 2025 integer y = 172 integer width = 142 integer height = 56 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "附言" boolean focusrectangle = false end type type mle_1 from multilineedit within w_mtrl_receive_ljfieb integer x = 2016 integer y = 232 integer width = 1426 integer height = 192 integer taborder = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean vscrollbar = true boolean autovscroll = true boolean displayonly = true borderstyle borderstyle = stylelowered! end type type st_4 from statictext within w_mtrl_receive_ljfieb integer x = 2021 integer y = 436 integer width = 128 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "备注" boolean focusrectangle = false end type type mle_2 from multilineedit within w_mtrl_receive_ljfieb integer x = 2021 integer y = 492 integer width = 1426 integer height = 128 integer taborder = 70 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean vscrollbar = true boolean autovscroll = true boolean displayonly = true borderstyle borderstyle = stylelowered! end type type ln_bar from line within w_mtrl_receive_ljfieb long linecolor = 268435456 integer linethickness = 4 integer beginy = 168 integer endx = 2007 integer endy = 168 end type type ln_bar2 from line within w_mtrl_receive_ljfieb long linecolor = 16777215 integer linethickness = 4 integer beginy = 172 integer endx = 2039 integer endy = 172 end type type r_bar from rectangle within w_mtrl_receive_ljfieb long linecolor = 16777215 integer linethickness = 4 long fillcolor = 1073741824 integer x = 1531 integer width = 146 integer height = 68 end type event constructor;this.fillcolor = 14215660 this.linecolor = 14215660 this.x = -1 this.y = -1 this.height = ln_bar.beginy - 5 end event