$PBExportHeader$w_import_mtrlname.srw forward global type w_import_mtrlname from w_publ_base end type type cb_reflash from uo_imflatbutton within w_import_mtrlname end type type dw_1 from u_dw_rbtnfilter within w_import_mtrlname end type type cb_edit from uo_imflatbutton within w_import_mtrlname end type type cb_del from uo_imflatbutton within w_import_mtrlname end type type cb_mtrl from uo_imflatbutton within w_import_mtrlname end type type cb_p_edit from uo_imflatbutton within w_import_mtrlname end type type ddlb_im_type from dropdownlistbox within w_import_mtrlname end type type cb_copy from uo_imflatbutton within w_import_mtrlname end type type cb_sync from uo_imflatbutton within w_import_mtrlname end type type cbx_1 from checkbox within w_import_mtrlname end type type cb_mode from uo_imflatbutton within w_import_mtrlname end type type st_2 from statictext within w_import_mtrlname end type type sle_userid from singlelineedit within w_import_mtrlname end type type cb_selectuser from uo_imflatbutton within w_import_mtrlname end type type cb_excel from uo_imflatbutton within w_import_mtrlname end type type dw_2 from u_dw_rbtnfilter within w_import_mtrlname end type type cb_edit_mx from commandbutton within w_import_mtrlname end type type cb_undo_mx from commandbutton within w_import_mtrlname end type type cb_add_mx from commandbutton within w_import_mtrlname end type type cb_del_mx from commandbutton within w_import_mtrlname end type type cb_price_edit from uo_imflatbutton within w_import_mtrlname end type type cb_price_cancel from uo_imflatbutton within w_import_mtrlname end type type cb_requestquote from uo_imflatbutton within w_import_mtrlname end type type cb_getanswer from uo_imflatbutton within w_import_mtrlname end type type ln_bar from line within w_import_mtrlname end type type ln_bar2 from line within w_import_mtrlname end type type r_bar from rectangle within w_import_mtrlname end type type ln_1 from line within w_import_mtrlname end type type ln_2 from line within w_import_mtrlname end type end forward global type w_import_mtrlname from w_publ_base integer width = 3319 integer height = 2064 string title = "网店产品定义" boolean maxbox = true boolean resizable = true windowstate windowstate = maximized! event ue_new_mtrl ( ) event ue_f8 ( ) event ue_p_dscrp ( ) event ue_p_mtrl ( ) event ue_retrieve_mx ( ) event ue_taobao_download ( ) event ue_taobao_upload ( ) event ue_p_mtrl_auto ( ) event ue_select_user ( ) event ue_xls_export ( ) event ue_xls_import_mtrlcode ( ) event ue_f9 ( ) event ue_retrieve_dw_mx ( ) event ue_f10 ( ) event ue_csv_import_mtrlcode ( ) event ue_aifmb_upload ( ) event ue_pricelist_ch ( ) event ue_aifmb_download ( ) cb_reflash cb_reflash dw_1 dw_1 cb_edit cb_edit cb_del cb_del cb_mtrl cb_mtrl cb_p_edit cb_p_edit ddlb_im_type ddlb_im_type cb_copy cb_copy cb_sync cb_sync cbx_1 cbx_1 cb_mode cb_mode st_2 st_2 sle_userid sle_userid cb_selectuser cb_selectuser cb_excel cb_excel dw_2 dw_2 cb_edit_mx cb_edit_mx cb_undo_mx cb_undo_mx cb_add_mx cb_add_mx cb_del_mx cb_del_mx cb_price_edit cb_price_edit cb_price_cancel cb_price_cancel cb_requestquote cb_requestquote cb_getanswer cb_getanswer ln_bar ln_bar ln_bar2 ln_bar2 r_bar r_bar ln_1 ln_1 ln_2 ln_2 end type global w_import_mtrlname w_import_mtrlname type variables long ins_child = 15 long ins_child_min = 2 long ins_mx = 5 uo_import_mtrlname ins_import uo_ljlib_taobao_comapp ins_comapp /////////////////////////////////////////////// oleobject ins_taobao boolean ins_create = false boolean ins_connected = false boolean ins_inited = false s_eb_user ins_user boolean dw_mx_edit = false boolean dw_price_edit = false end variables forward prototypes public function integer wf_save (ref string arg_msg) public subroutine wf_selectall () public subroutine wf_face () public function integer wf_del (ref string arg_msg) public function integer wf_from_ole (ref s_import_mtrlname arg_s_import, oleobject arg_import, ref string arg_msg) public function integer wf_to_ole (s_import_mtrlname arg_s_import, oleobject arg_import, ref string arg_msg) public function integer wf_taobao_haspower (ref string arg_msg) public function integer wf_save_mx (ref string arg_msg) public function integer wf_save_price (ref string arg_msg) end prototypes event ue_new_mtrl();IF dw_edit_mode THEN RETURN s_import_mtrlname arr_import[] s_taobao_mtrldef_ch arr_mtrl[] Int rslt = 1 String arg_msg = '' IF uo_mtrlname_ch_spi.uf_mtrl_ch(Ref arr_mtrl, Ref arg_msg) <> 1 THEN rslt = 0 GOTO ext END IF IF UpperBound(arr_mtrl) <= 0 THEN RETURN Long i FOR i = 1 To UpperBound(arr_mtrl) arr_import[i].im_type = 0 arr_import[i].im_id = '' arr_import[i].mtrlid = arr_mtrl[i].mtrlid arr_import[i].eb_title = arr_mtrl[i].mtrlname + '[' + arr_mtrl[i].mtrlcode + ']' arr_import[i].eb_dscrp = arr_mtrl[i].mtrlname + '[' + arr_mtrl[i].mtrlcode + ']' NEXT FOR i = 1 To UpperBound(arr_import) IF ins_import.uf_save(arr_import[i], arg_msg, False) <> 1 THEN rslt = 0 GOTO ext END IF NEXT ext: IF rslt = 1 THEN COMMIT; MessageBox('OK', '保存成功') cb_reflash.TriggerEvent(Clicked!) ELSE ROLLBACK; MessageBox('ERROR', arg_msg) END IF end event event ue_f8();IF Not dw_edit_mode THEN RETURN Long ll_row ll_row = dw_1.GetRow() IF ll_row <= 0 THEN RETURN s_taobao_mtrldef_ch s_mtrl String arg_msg = '' s_mtrl.mtrlcode = dw_1.Object.mtrlcode[ll_row] IF uo_mtrlname_ch_spi.uf_mtrl_ch(Ref s_mtrl, Ref arg_msg) <> 1 THEN MessageBox('Error', arg_msg) RETURN END IF IF s_mtrl.mtrlid <= 0 THEN RETURN dw_1.Object.mtrlid[ll_row] = s_mtrl.mtrlid dw_1.Object.mtrlcode[ll_row] = s_mtrl.mtrlcode dw_1.Object.mtrlname[ll_row] = s_mtrl.mtrlname dw_1.Object.statusflag[ll_row] = s_mtrl.statusflag dw_1.Object.woodcodeflag[ll_row] = s_mtrl.woodcodeflag dw_1.Object.pcodeflag[ll_row] = s_mtrl.pcodeflag end event event ue_p_dscrp();IF dw_edit_mode THEN RETURN Long i s_import_mtrlname arr_import[] Long j = 0 FOR i = 1 To dw_1.RowCount() IF dw_1.Object.ch[i] <> 1 THEN CONTINUE j++ arr_import[j].im_type = dw_1.Object.im_type[i] arr_import[j].im_id = dw_1.Object.im_id[i] NEXT IF UpperBound(arr_import) <= 0 THEN MessageBox('提示', '请勾选要批修改描述的记录') RETURN END IF Long ll_row ll_row = dw_1.GetRow() String ls_html = '' String arg_msg IF ll_row > 0 THEN IF ins_import.uf_getinfo_dscrp(dw_1.Object.im_type[ll_row], dw_1.Object.im_id[ll_row], Ref ls_html, Ref arg_msg) <> 1 THEN MessageBox('ERROR', arg_msg) RETURN END IF END IF OpenWithParm(w_html_editor, ls_html) s_html_editor s_rslt s_rslt = Message.PowerObjectParm IF s_rslt.ifok <> 1 THEN RETURN FOR i = 1 To UpperBound(arr_import) arr_import[i].eb_dscrp = s_rslt.html NEXT Int rslt = 1 FOR i = 1 To UpperBound(arr_import) IF ins_import.uf_save_dscrp(arr_import[i], arg_msg, False) <> 1 THEN rslt = 0 GOTO ext END IF NEXT ext: IF rslt = 1 THEN COMMIT; MessageBox('OK', '批改成功') cb_reflash.TriggerEvent(Clicked!) ELSE ROLLBACK; MessageBox('ERROR', arg_msg) END IF end event event ue_p_mtrl();IF Not dw_edit_mode THEN RETURN s_taobao_mtrldef_ch s_mtrl String arg_msg = '' IF uo_mtrlname_ch_spi.uf_mtrl_ch(Ref s_mtrl, Ref arg_msg) <> 1 THEN MessageBox('Error', arg_msg) RETURN END IF IF s_mtrl.mtrlid <= 0 THEN RETURN Long ll_row FOR ll_row = 1 To dw_1.RowCount() IF dw_1.Object.ch[ll_row] = 1 THEN dw_1.Object.mtrlid[ll_row] = s_mtrl.mtrlid dw_1.Object.mtrlcode[ll_row] = s_mtrl.mtrlcode dw_1.Object.mtrlname[ll_row] = s_mtrl.mtrlname dw_1.Object.statusflag[ll_row] = s_mtrl.statusflag dw_1.Object.woodcodeflag[ll_row] = s_mtrl.woodcodeflag dw_1.Object.pcodeflag[ll_row] = s_mtrl.pcodeflag END IF NEXT end event event ue_retrieve_mx();IF IsValid(w_import_mtrlname_dscrp) THEN Long ll_row ll_row = dw_1.GetRow() IF ll_row <= 0 THEN w_import_mtrlname_dscrp.wf_sethtml('') RETURN END IF String ls_html String arg_msg IF ins_import.uf_getinfo_dscrp(dw_1.Object.im_type[ll_row], dw_1.Object.im_id[ll_row], ls_html, arg_msg) <> 1 THEN w_import_mtrlname_dscrp.wf_sethtml('') MessageBox('ERROR', arg_msg) RETURN END IF w_import_mtrlname_dscrp.wf_sethtml(ls_html) END IF end event event ue_taobao_download();IF dw_edit_mode THEN RETURN oleobject s_import_arr String arg_msg Int rslt = 1 IF wf_taobao_haspower(arg_msg) <> 1 THEN MessageBox('提示', arg_msg) RETURN END IF Open(w_import_mtrlname_taobao_moddate_ch) s_saletask_import_taobao_option s_tran s_tran = Message.PowerObjectParm IF s_tran.ifok <> 1 THEN RETURN END IF IF Not ins_taobao.GetItemsOnsaleByDate(s_tran.begindate, s_tran.enddate, Ref s_import_arr, Ref arg_msg) THEN MessageBox('提示', arg_msg) RETURN END IF Long cnt cnt = s_import_arr.GetCount() Long i s_import_mtrlname arr_import[] Long j = 0 FOR i = 0 To cnt - 1 j++ IF wf_from_ole(arr_import[j], s_import_arr.GetItem(i), arg_msg) <> 1 THEN Destroy s_import_arr MessageBox('提示', arg_msg) RETURN END IF NEXT Destroy s_import_arr FOR i = 1 To UpperBound(arr_import) IF ins_import.uf_save_from_web(arr_import[i], arg_msg, False) <> 1 THEN rslt = 0 GOTO ext END IF NEXT GOTO ext ext: IF rslt = 1 THEN COMMIT; MessageBox('OK', '下载成功, 日期范围内有' + string(cnt) + '个产品,同步了' + string(UpperBound(arr_import)) + '个产品') cb_reflash.TriggerEvent(Clicked!) ELSE ROLLBACK; MessageBox('ERROR', arg_msg) END IF end event event ue_taobao_upload();Int rslt = 1 String arg_msg = '' IF wf_taobao_haspower(arg_msg) <> 1 THEN MessageBox('提示', arg_msg) RETURN END IF s_import_mtrlname arr_import[] Long j = 0 Long ll_cnt s_import_mtrlname ls_import, s_empty oleobject s_import_arr oleobject s_import Long i FOR i = 1 To dw_1.RowCount() IF dw_1.Object.ch[i] <> 1 THEN CONTINUE j++ IF ins_import.uf_getinfo(dw_1.Object.im_type[i], dw_1.Object.im_id[i], arr_import[j], arg_msg) <> 1 THEN MessageBox('提示', arg_msg) RETURN END IF NEXT IF UpperBound(arr_import) <= 0 THEN RETURN s_import_arr = ins_taobao.News_import_mtrlname_arr() FOR i = 1 To UpperBound(arr_import) s_import = ins_taobao.News_import_mtrlname() IF wf_to_ole(arr_import[i], s_import, arg_msg) <> 1 THEN Destroy s_import rslt = 0 GOTO ext END IF s_import_arr.Add(s_import) NEXT IF Not ins_taobao.Upload(s_import_arr, Ref arg_msg) THEN rslt = 0 GOTO ext END IF ll_cnt = s_import_arr.GetCount() FOR i = 0 To ll_cnt - 1 IF s_import_arr.GetItem(i).im_type <> 5 THEN ls_import = s_empty IF wf_from_ole(ls_import, s_import_arr.GetItem(i), arg_msg) <> 1 THEN rslt = 0 GOTO ext END IF ls_import.im_type = 5 ls_import.im_id = ls_import.numIid IF ins_import.uf_save(ls_import, arg_msg, False) <> 1 THEN rslt = 0 GOTO ext END IF END IF NEXT GOTO ext ext: ll_cnt = s_import_arr.GetCount() FOR i = 0 To ll_cnt - 1 s_import = s_import_arr.GetItem(i) Destroy s_import NEXT Destroy s_import_arr IF rslt = 1 THEN COMMIT; MessageBox('OK', '上传成功') cb_reflash.TriggerEvent(Clicked!) ELSE ROLLBACK; MessageBox('ERROR', arg_msg) END IF end event event ue_p_mtrl_auto();IF Not dw_edit_mode THEN RETURN uo_strhelper uo_str uo_str = Create uo_strhelper // 物料编码 = dw_1.AcceptText() String props[] String parms[], parm[] Long i,j,k FOR i = 1 To dw_1.RowCount() IF dw_1.Object.ch[i] = 1 THEN uo_str.split(dw_1.Object.props[i], ";", parms) FOR j = 1 To UpperBound(parms) uo_str.split(parms[j], ":", parm) IF parm[1] <> '' THEN FOR k = 1 To UpperBound(props) IF props[k] = parm[1] THEN EXIT END IF NEXT IF k > UpperBound(props) THEN props[k] = parm[1] END IF END IF NEXT END IF NEXT s_import_mtrlname_map s_map s_map.outer_name = props OpenWithParm(w_import_mtrlname_map, s_map) s_map = Message.PowerObjectParm IF s_map.ifok <> 1 THEN RETURN Long ll_mtrlid String ls_mtrlcode, ls_mtrlname, ls_value, ls_sql Long ll_statusflag, ll_woodcodeflag, ll_pcodeflag FOR i = 1 To dw_1.RowCount() FOR j = 1 To UpperBound(s_map.inner_name) ll_mtrlid = 0 ls_mtrlcode = '' ls_mtrlname = '' ls_value = '' uo_str.split(dw_1.Object.props[i], ";", parms) FOR k = 1 To UpperBound(parms) uo_str.split(parms[k], ":", parm) IF parm[1] = s_map.outer_name[j] THEN ls_value = Trim(parm[2]) EXIT END IF NEXT IF ls_value <> '' THEN ls_sql = "SELECT mtrlid, mtrlcode, mtrlname FROM u_mtrldef WHERE " + s_map.inner_name[j] + " = ?" DECLARE cur1 Dynamic Cursor FOR SQLSA; PREPARE SQLSA From :ls_sql; OPEN Dynamic cur1 Using :ls_value; FETCH cur1 Into :ll_mtrlid, :ls_mtrlcode, :ls_mtrlname; CLOSE cur1; IF ll_mtrlid > 0 THEN dw_1.Object.mtrlid[i] = ll_mtrlid dw_1.Object.mtrlcode[i] = ls_mtrlcode dw_1.Object.mtrlname[i] = ls_mtrlname SELECT statusflag, woodcodeflag, pcodeflag INTO :ll_statusflag, :ll_woodcodeflag, :ll_pcodeflag FROM u_mtrldef Where mtrlid = :ll_mtrlid; IF sqlca.SQLCode <> 0 THEN ll_statusflag = 3 ll_woodcodeflag = 3 ll_pcodeflag = 3 END IF dw_1.Object.statusflag[i] = ll_statusflag dw_1.Object.woodcodeflag[i] = ll_woodcodeflag dw_1.Object.pcodeflag[i] = ll_pcodeflag EXIT END IF END IF NEXT NEXT Destroy uo_str end event event ue_select_user();Long ins_im_type IF ddlb_im_type.Text = '模板' THEN ins_im_type = 0 ELSEIF ddlb_im_type.Text = '亚洲国际电商' THEN ins_im_type = 1 ELSEIF ddlb_im_type.Text = '淘宝' THEN ins_im_type = 5 ELSEIF ddlb_im_type.Text = '京东' THEN ins_im_type = 6 ELSE ins_im_type = -1 END IF s_eb_user s_ch OpenWithParm(w_eb_user_define_ch, ins_im_type) s_ch = Message.PowerObjectParm IF s_ch.UserID > 0 THEN ins_user = s_ch END IF IF ins_user.im_type = 0 THEN ddlb_im_type.Text = '模板' ELSEIF ins_user.im_type = 1 THEN ddlb_im_type.Text = '亚洲国际电商' ELSEIF ins_user.im_type = 5 THEN ddlb_im_type.Text = '淘宝' ELSEIF ins_user.im_type = 6 THEN ddlb_im_type.Text = '京东' ELSE ddlb_im_type.Text = '全部' END IF sle_userid.Text = ins_user.im_userid cb_reflash.triggerevent(clicked!) end event event ue_xls_export();Integer i String Pathname,Filename String arg_filename,arg_msg Blob arg_blob IF GetFileSaveName("选择备份文件",Pathname,Filename,'xls',"Excel,*.xls") <> 1 THEN RETURN arg_filename = Trim(Pathname) IF arg_filename = '' THEN MessageBox('提示','请输入文件名称', Information!, OK! ) RETURN END IF IF FileExists(arg_filename) THEN IF MessageBox("询问","指定文件已经存在,是否覆盖该文件?",question!,yesno!,2) = 2 THEN RETURN END IF END IF dw_1.SaveAsAscii(arg_filename) MessageBox('OK', '导出成功!') end event event ue_xls_import_mtrlcode();Int rslt = 1 String arg_msg = '' String ls_path, ls_filename IF GetFileOpenName("请选择要导入的Excel文件", ls_path, ls_filename, "XLS","Excel文件(*.XLS),*.XLS") <> 1 THEN RETURN END IF IF ins_import.uf_xls_to_import_mtrlcode(ls_path, arg_msg, false, true) <> 1 THEN rslt = 0 GOTO ext END IF ext: IF rslt = 1 THEN COMMIT; MessageBox('OK', '导入成功') cb_reflash.TriggerEvent(Clicked!) ELSE ROLLBACK; MessageBox('ERROR', arg_msg) END IF end event event ue_f9();IF Not dw_mx_edit THEN RETURN Long ll_row ll_row = dw_2.GetRow() IF ll_row <= 0 THEN RETURN s_taobao_mtrldef_ch s_mtrl String arg_msg = '' s_mtrl.mtrlcode = dw_2.Object.mtrlcode[ll_row] IF uo_mtrlname_ch_spi.uf_mtrl_ch(Ref s_mtrl, Ref arg_msg) <> 1 THEN MessageBox('Error', arg_msg) RETURN END IF IF s_mtrl.mtrlid <= 0 THEN RETURN dw_2.Object.mtrlid[ll_row] = s_mtrl.mtrlid dw_2.Object.mtrlcode[ll_row] = s_mtrl.mtrlcode dw_2.Object.mtrlname[ll_row] = s_mtrl.mtrlname dw_2.Object.statusflag[ll_row] = s_mtrl.statusflag dw_2.Object.woodcodeflag[ll_row] = s_mtrl.woodcodeflag dw_2.Object.pcodeflag[ll_row] = s_mtrl.pcodeflag end event event ue_retrieve_dw_mx();Long ll_row ll_row = dw_1.GetRow() IF ll_row > 0 THEN dw_2.Retrieve(dw_1.Object.im_type[ll_row], dw_1.Object.im_id[ll_row]) ELSE dw_2.Reset() END IF end event event ue_f10();IF Not dw_mx_edit THEN RETURN Long ll_row, ll_dw1_row ll_row = dw_2.GetRow() IF ll_row <= 0 THEN RETURN ll_dw1_row = dw_1.GetRow() IF ll_dw1_row <= 0 THEN RETURN s_key_value_parm s_win s_win.allprops = dw_1.Object.props[ll_dw1_row] s_win.curprops = dw_2.Object.pros[ll_row] OpenWithParm(w_key_value_edit, s_win) String ls_rtn ls_rtn = Message.StringParm IF IsNull(ls_rtn) THEN RETURN dw_2.Object.pros[ll_row] = ls_rtn end event event ue_csv_import_mtrlcode();Int rslt = 1 String arg_msg = '' String ls_path, ls_filename IF GetFileOpenName("请选择要导入的csv文件", ls_path, ls_filename, "csv","csv文件(*.csv),*.csv") <> 1 THEN RETURN END IF Long i s_import_mtrlname arr_import[] IF ins_import.uf_csv_to_import_mtrlcode(ls_path, arr_import, arg_msg) <> 1 THEN rslt = 0 GOTO ext END IF FOR i = 1 To UpperBound(arr_import) IF ins_import.uf_save(arr_import[i], arg_msg, False) <> 1 THEN rslt = 0 GOTO ext END IF NEXT ext: IF rslt = 1 THEN COMMIT; MessageBox('OK', '导入成功,' + string(UpperBound(arr_import)) + '条记录') cb_reflash.TriggerEvent(Clicked!) ELSE ROLLBACK; MessageBox('ERROR', arg_msg) END IF end event event ue_aifmb_upload();Int rslt = 1 String arg_msg = '' uo_aifmb = Create uo_aifmb s_aifmb_addmodproductentrelation s_tran s_import_mtrlname s_import String ls_msg = '' String ls_mtrlcode, ls_mtrlmode, ls_dscrp, ls_unit, ls_mtrlengname, ls_mtrlname Decimal ld_net_weight, ld_gross_weight, ld_cubage Long ll_nodeid Long i FOR i = 1 To dw_1.RowCount() IF dw_1.Object.ch[i] <> 1 THEN CONTINUE IF dw_1.Object.im_type[i] <> 0 THEN CONTINUE IF ins_import.uf_getinfo(dw_1.Object.im_type[i], dw_1.Object.im_id[i], s_import, arg_msg) <> 1 THEN ls_msg += '第'+String(i)+'行,查询模板失败,' + arg_msg + '~r~n' CONTINUE END IF IF s_import.mtrlid <= 0 THEN ls_msg += '第'+String(i)+'行,未对应物料资料不能上传~r~n' CONTINUE END IF SELECT mtrlcode, mtrlmode, dscrp, unit, net_weight, gross_weight, cubage, mtrlengname, mtrlname, nodeid INTO :ls_mtrlcode, :ls_mtrlmode, :ls_dscrp, :ls_unit, :ld_net_weight, :ld_gross_weight, :ld_cubage, :ls_mtrlengname, :ls_mtrlname, :ll_nodeid FROM u_mtrldef Where (mtrlid = :s_import.mtrlid); IF sqlca.SQLCode <> 0 THEN ls_msg += '第'+String(i)+'行,查询物料资料失败mtrlid:'+String(s_import.mtrlid)+',' + arg_msg + '~r~n' CONTINUE END IF IF ll_nodeid <= 0 THEN ls_msg += '第'+String(i)+'行,物料['+ls_mtrlcode+']未绑定亚洲国际电商网的基类~r~n' CONTINUE END IF s_tran.relationid = 0 s_tran.nodeid = ll_nodeid s_tran.mtrlid = s_import.mtrlid s_tran.mtrlcode = ls_mtrlcode s_tran.mtrlname = ls_mtrlname s_tran.mtrlmode = ls_mtrlmode s_tran.unit = ls_unit s_tran.net_weight = ld_net_weight s_tran.gross_weight = ld_gross_weight s_tran.cubage = ld_cubage s_tran.mtrlengname = ls_mtrlengname s_tran.dscrp = ls_dscrp s_tran.qualitydscrp = '' s_tran.customcode = '' s_tran.mprice = s_import.eb_price s_tran.nprice = 0 s_tran.ispublic = True s_tran.ProductID = 0 IF uo_aifmb.uf_addmodproductentrelation(Ref s_tran, arg_msg) <> 1 THEN ls_msg += '第'+String(i)+'行,上传亚洲国际电商网失败,'+arg_msg+'~r~n' CONTINUE END IF s_import.im_type = 1 s_import.im_id = string(s_tran.relationid) s_import.eb_num = 0 s_import.eb_type = '' s_import.eb_stuffstatus = '' s_import.eb_title = ls_mtrlname s_import.eb_locationstate = '' s_import.eb_locationcity = '' s_import.eb_cid = string(ll_nodeid) s_import.numiid = string(s_tran.ProductID) s_import.props = '' s_import.im_userid = '' IF ins_import.uf_save(s_import, arg_msg, True) <> 1 THEN ls_msg += '第'+String(i)+'行,上传亚洲国际电商网成功但保存数据库失败,'+arg_msg+'~r~n' CONTINUE END IF NEXT IF ls_msg <> '' THEN rslt = 0 arg_msg = ls_msg GOTO ext END IF ext: IF rslt = 0 THEN MessageBox('ERROR', arg_msg) ELSE MessageBox('OK', '上传成功') END IF end event event ue_pricelist_ch();IF Not dw_price_edit THEN RETURN Long row row = dw_1.GetRow() IF row <= 0 THEN RETURN Long ll_mtrlid ll_mtrlid = dw_1.Object.mtrlid[row] Long pricelistid String pricelistname String arg_msg = '' IF uo_saletask_spi.wf_pricelist_ch(ll_mtrlid, pricelistid, pricelistname, arg_msg) <> 1 THEN IF arg_msg <> '' THEN MessageBox('错误', arg_msg) END IF RETURN END IF dw_1.Object.pricelistid[row] = pricelistid dw_1.Object.pricelistname[row] = pricelistname end event event ue_aifmb_download();DataStore ds_productcode ds_productcode = Create DataStore uo_aifmb = Create uo_aifmb Int rslt = 1 String arg_msg DateTime ld_starttime, ld_endtime //IF cbx_begin.Checked THEN // ld_starttime = DateTime(Date(em_3.Text), Time(0)) //ELSE SetNull(ld_starttime) //END IF //IF cbx_end.Checked THEN // ld_endtime = DateTime(Date(em_4.Text), Time(0)) //ELSE SetNull(ld_endtime) //END IF ds_productcode.DataObject = 'ds_aifmb_searchproductentrelation' Long ll_entids[] Long ll_curEntid IF uo_aifmb.uf_getlocaluserid(ll_curEntid, arg_msg) <> 1 THEN rslt = 0 GOTO ext END IF ll_entids[1] = ll_curEntid Long ins_nodeid_arr[] IF uo_aifmb.uf_searchproductentrelationlist(False, ld_starttime, ld_endtime, '', ins_nodeid_arr,ll_entids, 0, 0, ds_productcode, arg_msg) <> 1 THEN rslt = 0 GOTO ext END IF Long i Long ll_cnt s_import_mtrlname s_import String ls_msg = '' FOR i = 1 To ds_productcode.RowCount() s_import.im_type = 1 s_import.im_id = String(ds_productcode.Object.relationid[i]) SELECT count(0) INTO :ll_cnt FROM eb_import_mtrlname WHERE im_type = :s_import.im_type And im_id = :s_import.im_id; IF sqlca.SQLCode <> 0 THEN ls_msg += '查询产品是否已经存在失败,' + sqlca.SQLErrText + '~r~n' CONTINUE END IF IF ll_cnt > 0 THEN CONTINUE END IF s_import.mtrlid = ds_productcode.Object.mtrlid[i] s_import.eb_num = 0 s_import.eb_price = ds_productcode.Object.mprice[i] s_import.eb_type = '' s_import.eb_stuffstatus = '' s_import.eb_title = ds_productcode.Object.mtrlname[i] s_import.eb_locationstate = '' s_import.eb_locationcity = '' s_import.eb_cid = string(ds_productcode.Object.NodeID[i]) s_import.numiid = string(ds_productcode.Object.ProductID[i]) s_import.props = '' s_import.im_userid = '' IF ins_import.uf_save(s_import, arg_msg, True) <> 1 THEN ls_msg += '保存产品失败,' + arg_msg + '~r~n' CONTINUE END IF NEXT IF ls_msg <> '' THEN rslt = 0 arg_msg = ls_msg GOTO ext END IF ext: Destroy ds_productcode Destroy uo_aifmb cb_reflash.TriggerEvent(Clicked!) IF rslt = 0 THEN MessageBox('ERROR', arg_msg) ELSE MessageBox('OK', '保存成功') END IF end event public function integer wf_save (ref string arg_msg);Int rslt = 1 Long i s_import_mtrlname s_import, s_empty FOR i = 1 To dw_1.RowCount() IF dw_1.Object.ch[i] <> 1 THEN CONTINUE s_import = s_empty s_import.im_type = dw_1.Object.im_type[i] s_import.im_id = dw_1.Object.im_id[i] s_import.mtrlid = dw_1.Object.mtrlid[i] s_import.eb_num = dw_1.Object.eb_num[i] s_import.eb_price = dw_1.Object.eb_price[i] s_import.eb_type = dw_1.Object.eb_type[i] s_import.eb_stuffstatus = dw_1.Object.eb_stuffstatus[i] s_import.eb_title = dw_1.Object.eb_title[i] s_import.eb_locationstate = dw_1.Object.eb_locationstate[i] s_import.eb_locationcity = dw_1.Object.eb_locationcity[i] s_import.eb_cid = dw_1.Object.eb_cid[i] s_import.numIid = dw_1.Object.numIid[i] s_import.props = dw_1.Object.props[i] s_import.status_name = dw_1.Object.status_name[i] s_import.woodcode_name = dw_1.Object.woodcode_name[i] s_import.pcode_name = dw_1.Object.pcode_name[i] s_import.mx_flag = dw_1.Object.mx_flag[i] IF ins_import.uf_save(s_import, arg_msg, False) <> 1 THEN rslt = 0 arg_msg = '第' + String(i) + '行' + arg_msg GOTO ext END IF NEXT GOTO ext ext: IF rslt = 1 THEN COMMIT; ELSE ROLLBACK; END IF RETURN rslt end function public subroutine wf_selectall ();Long ll_check IF cbx_1.Checked THEN ll_check = 1 ELSE ll_check = 0 END IF Long i FOR i = 1 To dw_1.RowCount() dw_1.Object.ch[i] = ll_check NEXT end subroutine public subroutine wf_face ();Long i ddlb_im_type.Enabled = Not (dw_edit_mode Or dw_mx_edit Or dw_price_edit) cb_selectuser.Enabled = Not (dw_edit_mode Or dw_mx_edit Or dw_price_edit) cb_excel.Enabled = Not (dw_edit_mode Or dw_mx_edit Or dw_price_edit) cb_reflash.Enabled = Not (dw_edit_mode Or dw_mx_edit Or dw_price_edit) cb_p_edit.Enabled = Not (dw_mx_edit Or dw_price_edit) cb_mtrl.Enabled = Not (dw_edit_mode Or dw_mx_edit Or dw_price_edit) cb_copy.Enabled = Not (dw_edit_mode Or dw_mx_edit Or dw_price_edit) cb_sync.Enabled = Not (dw_edit_mode Or dw_mx_edit Or dw_price_edit) cb_requestquote.Enabled = Not (dw_edit_mode Or dw_mx_edit Or dw_price_edit) cb_getanswer.Enabled = Not (dw_edit_mode Or dw_mx_edit Or dw_price_edit) cb_edit.Enabled = Not(dw_mx_edit Or dw_price_edit) cb_del.Enabled = Not(dw_mx_edit Or dw_price_edit) cb_price_edit.Enabled = Not (dw_edit_mode Or dw_mx_edit) cb_price_cancel.Enabled = Not (dw_edit_mode Or dw_mx_edit) And dw_price_edit Long ll_row ll_row = dw_1.GetRow() Boolean mx_flag = False IF ll_row > 0 THEN mx_flag = (dw_1.Object.mx_flag[ll_row] = 1) END IF cb_edit_mx.Enabled = Not (dw_edit_mode Or dw_price_edit) And mx_flag cb_undo_mx.Enabled = Not (dw_edit_mode Or dw_price_edit) And mx_flag And dw_mx_edit cb_add_mx.Enabled = Not (dw_edit_mode Or dw_price_edit) And mx_flag And dw_mx_edit cb_del_mx.Enabled = Not (dw_edit_mode Or dw_price_edit) And mx_flag And dw_mx_edit IF dw_mx_edit THEN FOR i = 1 To ins_mx dw_2.SetTabOrder(i, i * 10) NEXT cb_edit_mx.Text = '保存' ELSE FOR i = 1 To ins_mx dw_2.SetTabOrder(i, 0) NEXT cb_edit_mx.Text = '修改' END IF IF dw_price_edit THEN FOR i = 27 To 28 dw_1.SetTabOrder(i, i * 10) NEXT cb_price_edit.Text = '保存价格上传策略' cb_price_edit.normalpicname = 'Save.bmp' ELSE FOR i = 27 To 28 dw_1.SetTabOrder(i, 0) NEXT cb_price_edit.Text = '修改价格上传策略' cb_price_edit.normalpicname = 'OPEN.bmp' END IF IF dw_edit_mode THEN FOR i = 1 To ins_child dw_1.SetTabOrder(i, i * 10) NEXT cb_edit.Text = '保存' cb_edit.normalpicname = 'Save.bmp' cb_del.Text = '放弃' cb_del.normalpicname = 'Undo.bmp' ELSE FOR i = 1 To ins_child_min - 1 dw_1.SetTabOrder(i, i * 10) NEXT FOR i = ins_child_min To ins_child dw_1.SetTabOrder(i, 0) NEXT cb_edit.Text = '修改' cb_edit.normalpicname = 'OPEN.bmp' cb_del.Text = '删除' cb_del.normalpicname = 'delete.bmp' END IF cb_price_edit.of_init_draw() cb_price_edit.of_paint() cb_price_edit.TriggerEvent('ue_textchange') cb_edit.of_init_draw() cb_edit.of_paint() cb_edit.TriggerEvent('ue_textchange') cb_del.of_init_draw() cb_del.of_paint() cb_del.TriggerEvent('ue_textchange') end subroutine public function integer wf_del (ref string arg_msg);Int rslt = 1 Long i FOR i = 1 To dw_1.RowCount() IF dw_1.Object.ch[i] <> 1 THEN CONTINUE IF ins_import.uf_del(dw_1.Object.im_type[i], dw_1.Object.im_id[i], arg_msg, False) <> 1 THEN rslt = 0 arg_msg = '第' + String(i) + '行,' + arg_msg GOTO ext END IF NEXT ext: IF rslt = 1 THEN COMMIT; ELSE ROLLBACK; END IF RETURN rslt end function public function integer wf_from_ole (ref s_import_mtrlname arg_s_import, oleobject arg_import, ref string arg_msg);Int rslt = 1 IF IsNull(arg_import) THEN rslt = 0 arg_msg = 'ole对象为空' GOTO ext END IF TRY arg_s_import.im_type = arg_import.im_type arg_s_import.im_id = arg_import.im_id arg_s_import.mtrlid = arg_import.mtrlid arg_s_import.eb_num = arg_import.eb_num arg_s_import.eb_price = arg_import.eb_price arg_s_import.eb_type = arg_import.eb_type arg_s_import.eb_stuffstatus = arg_import.eb_stuffstatus arg_s_import.eb_title = arg_import.eb_title arg_s_import.eb_dscrp = arg_import.eb_dscrp arg_s_import.eb_locationstate = arg_import.eb_locationstate arg_s_import.eb_locationcity = arg_import.eb_locationcity arg_s_import.eb_cid = arg_import.eb_cid arg_s_import.numIid = arg_import.numIid arg_s_import.props = arg_import.props arg_s_import.im_userid = arg_import.im_userid Catch (throwable ex) rslt = 0 arg_msg = ex.Text END TRY ext: RETURN rslt end function public function integer wf_to_ole (s_import_mtrlname arg_s_import, oleobject arg_import, ref string arg_msg);Int rslt = 1 IF IsNull(arg_import) THEN rslt = 0 arg_msg = 'ole对象为空' GOTO ext END IF TRY arg_import.im_type = arg_s_import.im_type arg_import.im_id = arg_s_import.im_id arg_import.mtrlid = arg_s_import.mtrlid arg_import.eb_num = arg_s_import.eb_num arg_import.eb_price = arg_s_import.eb_price arg_import.eb_type = arg_s_import.eb_type arg_import.eb_stuffstatus = arg_s_import.eb_stuffstatus arg_import.eb_title = arg_s_import.eb_title arg_import.eb_dscrp = arg_s_import.eb_dscrp arg_import.eb_locationstate = arg_s_import.eb_locationstate arg_import.eb_locationcity = arg_s_import.eb_locationcity arg_import.eb_cid = arg_s_import.eb_cid arg_import.numIid = arg_s_import.numIid arg_import.props = arg_s_import.props Catch (throwable ex) rslt = 0 arg_msg = ex.Text END TRY ext: RETURN rslt end function public function integer wf_taobao_haspower (ref string arg_msg);Int rslt = 1 IF Not sys_power_issuper And ins_user.im_type <> 5 THEN rslt = 0 arg_msg = '当前选择的不是淘宝帐号' GOTO ext END IF IF Not ins_connected THEN rslt = 0 arg_msg = '连接LJLib.TaoBao.dll失败' GOTO ext END IF IF Not sys_power_issuper And ins_user.im_userid <> ins_taobao.username THEN ins_taobao.Logout() END IF IF Not ins_taobao.HasPower() THEN rslt = 0 arg_msg = '淘宝控件未得到授权' GOTO ext END IF IF Not sys_power_issuper And ins_user.im_userid <> ins_taobao.username THEN ins_taobao.Logout() rslt = 0 arg_msg = '请用指定帐号登录授权:' + ins_user.im_userid GOTO ext END IF ext: RETURN rslt end function public function integer wf_save_mx (ref string arg_msg);Int rslt = 1 Long i Long im_type String im_id im_type = dw_1.Object.im_type[dw_1.GetRow()] im_id = dw_1.Object.im_id[dw_1.GetRow()] s_import_mtrlnamemx mx[] Long cnt = 0 FOR i = 1 To dw_2.RowCount() IF dw_2.Object.pros[i] = '' THEN CONTINUE cnt++ mx[cnt].pros = dw_2.Object.pros[i] mx[cnt].mtrlid = dw_2.Object.mtrlid[i] mx[cnt].status_name = dw_2.Object.status_name[i] mx[cnt].woodcode_name = dw_2.Object.woodcode_name[i] mx[cnt].pcode_name = dw_2.Object.pcode_name[i] NEXT IF ins_import.uf_savemx(im_type, im_id, mx, arg_msg) <> 1 THEN rslt = 0 GOTO ext END IF ext: RETURN rslt end function public function integer wf_save_price (ref string arg_msg);Int rslt = 1 Long i Long ll_im_type String ls_im_id String ls_pricetype, ls_priceparam Long ll_priceneedaudit, ll_pricemode, ll_pricelistid s_import_mtrlname s_import, s_empty FOR i = 1 To dw_1.RowCount() IF dw_1.Object.ch[i] <> 1 THEN CONTINUE ll_im_type = dw_1.Object.im_type[i] ls_im_id = dw_1.Object.im_id[i] ls_pricetype = dw_1.Object.pricetype[i] ls_priceparam = dw_1.Object.priceparam[i] ll_priceneedaudit = dw_1.Object.priceneedaudit[i] ll_pricemode = dw_1.Object.pricemode[i] ll_pricelistid = dw_1.Object.pricelistid[i] UPDATE eb_import_mtrlname SET pricetype = :ls_pricetype, priceparam = :ls_priceparam, priceneedaudit = :ll_priceneedaudit, pricemode = :ll_pricemode, pricelistid = :ll_pricelistid WHERE (im_type = :ll_im_type) And (im_id = :ls_im_id); IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '更新网店产品定义的价格上传策略失败,' + sqlca.SQLErrText GOTO ext END IF NEXT GOTO ext ext: IF rslt = 1 THEN COMMIT; ELSE ROLLBACK; END IF RETURN rslt end function on w_import_mtrlname.create int iCurrent call super::create this.cb_reflash=create cb_reflash this.dw_1=create dw_1 this.cb_edit=create cb_edit this.cb_del=create cb_del this.cb_mtrl=create cb_mtrl this.cb_p_edit=create cb_p_edit this.ddlb_im_type=create ddlb_im_type this.cb_copy=create cb_copy this.cb_sync=create cb_sync this.cbx_1=create cbx_1 this.cb_mode=create cb_mode this.st_2=create st_2 this.sle_userid=create sle_userid this.cb_selectuser=create cb_selectuser this.cb_excel=create cb_excel this.dw_2=create dw_2 this.cb_edit_mx=create cb_edit_mx this.cb_undo_mx=create cb_undo_mx this.cb_add_mx=create cb_add_mx this.cb_del_mx=create cb_del_mx this.cb_price_edit=create cb_price_edit this.cb_price_cancel=create cb_price_cancel this.cb_requestquote=create cb_requestquote this.cb_getanswer=create cb_getanswer this.ln_bar=create ln_bar this.ln_bar2=create ln_bar2 this.r_bar=create r_bar this.ln_1=create ln_1 this.ln_2=create ln_2 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cb_reflash this.Control[iCurrent+2]=this.dw_1 this.Control[iCurrent+3]=this.cb_edit this.Control[iCurrent+4]=this.cb_del this.Control[iCurrent+5]=this.cb_mtrl this.Control[iCurrent+6]=this.cb_p_edit this.Control[iCurrent+7]=this.ddlb_im_type this.Control[iCurrent+8]=this.cb_copy this.Control[iCurrent+9]=this.cb_sync this.Control[iCurrent+10]=this.cbx_1 this.Control[iCurrent+11]=this.cb_mode this.Control[iCurrent+12]=this.st_2 this.Control[iCurrent+13]=this.sle_userid this.Control[iCurrent+14]=this.cb_selectuser this.Control[iCurrent+15]=this.cb_excel this.Control[iCurrent+16]=this.dw_2 this.Control[iCurrent+17]=this.cb_edit_mx this.Control[iCurrent+18]=this.cb_undo_mx this.Control[iCurrent+19]=this.cb_add_mx this.Control[iCurrent+20]=this.cb_del_mx this.Control[iCurrent+21]=this.cb_price_edit this.Control[iCurrent+22]=this.cb_price_cancel this.Control[iCurrent+23]=this.cb_requestquote this.Control[iCurrent+24]=this.cb_getanswer this.Control[iCurrent+25]=this.ln_bar this.Control[iCurrent+26]=this.ln_bar2 this.Control[iCurrent+27]=this.r_bar this.Control[iCurrent+28]=this.ln_1 this.Control[iCurrent+29]=this.ln_2 end on on w_import_mtrlname.destroy call super::destroy destroy(this.cb_reflash) destroy(this.dw_1) destroy(this.cb_edit) destroy(this.cb_del) destroy(this.cb_mtrl) destroy(this.cb_p_edit) destroy(this.ddlb_im_type) destroy(this.cb_copy) destroy(this.cb_sync) destroy(this.cbx_1) destroy(this.cb_mode) destroy(this.st_2) destroy(this.sle_userid) destroy(this.cb_selectuser) destroy(this.cb_excel) destroy(this.dw_2) destroy(this.cb_edit_mx) destroy(this.cb_undo_mx) destroy(this.cb_add_mx) destroy(this.cb_del_mx) destroy(this.cb_price_edit) destroy(this.cb_price_cancel) destroy(this.cb_requestquote) destroy(this.cb_getanswer) destroy(this.ln_bar) destroy(this.ln_bar2) destroy(this.r_bar) destroy(this.ln_1) destroy(this.ln_2) end on event close;call super::close;IF IsValid(w_import_mtrlname_dscrp) THEN Close(w_import_mtrlname_dscrp) END IF Destroy ins_import destroy ins_comapp end event event resize;call super::resize;r_bar.Width = this.width ln_bar.endx = this.width ln_bar2.endx = this.width ln_1.endx = this.width ln_2.endx = this.width dw_1.height = this.WorkSpaceHeight() - dw_1.Y dw_1.Width = this.WorkSpaceWidth() - dw_1.X - dw_2.Width dw_2.height = this.WorkSpaceHeight() - dw_2.Y long deltax deltax = dw_1.X + dw_1.Width - dw_2.X dw_2.X = dw_2.X + deltax cb_edit_mx.X = cb_edit_mx.X + deltax cb_undo_mx.X = cb_undo_mx.X + deltax cb_add_mx.X = cb_add_mx.X + deltax cb_del_mx.X = cb_del_mx.X + deltax end event event open;call super::open;ins_comapp = Create uo_ljlib_taobao_comapp String arg_msg ins_comapp.uf_init(ins_taobao, ins_create, ins_connected, ins_inited, arg_msg) ins_import = Create uo_import_mtrlname dw_1.SetTransObject(sqlca) dw_2.SetTransObject(sqlca) // 选择电商帐号 IF sys_power_issuper THEN ddlb_im_type.AddItem('全部') END IF ins_user.UserID = 0 ins_user.im_type = 0 ins_user.im_userid = '' cb_reflash.TriggerEvent(Clicked!) wf_face() end event type cb_func from w_publ_base`cb_func within w_import_mtrlname boolean visible = false end type type cb_exit from w_publ_base`cb_exit within w_import_mtrlname integer x = 1362 integer width = 151 integer height = 164 integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type cb_reflash from uo_imflatbutton within w_import_mtrlname integer width = 151 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "刷新" string normalpicname = "refresh.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;Long ins_im_type IF ddlb_im_type.Text = '模板' THEN ins_im_type = 0 ELSEIF ddlb_im_type.Text = '亚洲国际电商' THEN ins_im_type = 1 ELSEIF ddlb_im_type.Text = '淘宝' THEN ins_im_type = 5 ELSEIF ddlb_im_type.Text = '京东' THEN ins_im_type = 6 ELSE ins_im_type = -1 END IF Long ll_is_super = 0 IF sys_power_issuper THEN ll_is_super = 1 END IF dw_1.Retrieve(ins_im_type, ins_user.im_userid, ll_is_super) Parent.TriggerEvent('ue_retrieve_mx') Parent.TriggerEvent('ue_retrieve_dw_mx') dw_1.SelectRow(0, False) IF dw_1.GetRow() > 0 THEN dw_1.SelectRow(dw_1.GetRow(), True) END IF wf_face() end event type dw_1 from u_dw_rbtnfilter within w_import_mtrlname event ue_dwndropdown pbm_dwndropdown integer y = 300 integer width = 1056 integer height = 1440 integer taborder = 30 boolean bringtotop = true string dataobject = "dw_import_mtrlname" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true boolean rbutton_filter_use = true boolean rbutton_setposition_use = true boolean titleclick_sort_use = true end type event ue_dwndropdown;IF Not dw_edit_mode THEN RETURN Long row String column s_props_openwin s_win String ls_rtn row = dw_1.GetRow() column = dw_1.GetColumnName() s_win.arg_x = This.X + This.PointerX() + Parent.X s_win.arg_y = This.Y + This.PointerY() + Parent.Y IF row > 0 THEN s_win.props = dw_1.Object.props[row] IF column = 'status_name' THEN OpenWithParm(w_props_ch, s_win) ls_rtn = Message.StringParm IF IsNull(ls_rtn) THEN RETURN 1 dw_1.Object.status_name[row] = ls_rtn RETURN 1 ELSEIF column = 'woodcode_name' THEN OpenWithParm(w_props_ch, s_win) ls_rtn = Message.StringParm IF IsNull(ls_rtn) THEN RETURN 1 dw_1.Object.woodcode_name[row] = ls_rtn RETURN 1 ELSEIF column = 'pcode_name' THEN OpenWithParm(w_props_ch, s_win) ls_rtn = Message.StringParm IF IsNull(ls_rtn) THEN RETURN 1 dw_1.Object.pcode_name[row] = ls_rtn RETURN 1 END IF END IF end event event clicked;call super::clicked;IF row > 0 THEN dw_1.SetRow(row) END IF end event event doubleclicked;call super::doubleclicked; IF dw_1.AcceptText() <> 1 THEN RETURN String ls_name ls_name = dwo.Name IF dw_edit_mode THEN IF ls_name = 'mtrlcode' THEN Parent.TriggerEvent('ue_f8') ELSEIF Pos(ls_name, '_t') = Len(ls_name) - 1 THEN String ls_type ls_type = dwo.Type IF Lower(ls_type) <> 'text' THEN RETURN String ls_colname ls_colname = Mid(ls_name, 1, Len(ls_name) - 2) IF Lower(dw_1.Describe(ls_colname + ".Type")) <> 'column' THEN RETURN Long ll_id ll_id = Long(dw_1.Describe(ls_colname + ".ID")) IF ll_id < ins_child_min Or ll_id > ins_child THEN RETURN IF ls_colname = 'mtrlcode' THEN RETURN ls_type = Lower(dw_1.Describe(ls_colname + ".ColType")) Any ll_value Long ll_firstrow = 0 Long i FOR i = 1 To dw_1.RowCount() IF dw_1.Object.ch[i] <> 1 THEN CONTINUE IF ll_firstrow = 0 THEN ll_firstrow = i IF ls_type = 'date' THEN ll_value = dw_1.GetItemDate(ll_firstrow, ls_colname) ELSEIF ls_type = 'datetime' THEN ll_value = dw_1.GetItemDateTime(ll_firstrow, ls_colname) ELSEIF ls_type = 'time' Or Pos(ls_type, 'time') > 0 THEN ll_value = dw_1.GetItemTime(ll_firstrow, ls_colname) ELSEIF Pos(ls_type, 'dec') > 0 THEN ll_value = dw_1.GetItemDecimal(ll_firstrow, ls_colname) ELSEIF Pos(ls_type, 'char') > 0 THEN ll_value = dw_1.GetItemString(ll_firstrow, ls_colname) ELSE ll_value = dw_1.GetItemNumber(ll_firstrow, ls_colname) END IF ELSE dw_1.SetItem(i, ls_colname, ll_value) END IF NEXT END IF END IF IF dw_price_edit THEN If (ls_name = 'pricetype' Or ls_name = 'priceparam') And row > 0 THEN Open(w_aifmb_datetime_parm_ch) s_aifmb_datetime_parm_ch s_tran s_tran = Message.PowerObjectParm IF s_tran.ifok = 1 THEN dw_1.Object.pricetype[row] = s_tran.pricetype dw_1.Object.priceparam[row] = s_tran.priceparam END IF END IF if (ls_name = 'pricelistid' OR ls_name = 'pricelistname') then parent.triggerevent('ue_pricelist_ch') end if END IF end event event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0, False) IF currentrow > 0 THEN This.SelectRow(currentrow, True) END IF Parent.TriggerEvent('ue_retrieve_mx') Parent.TriggerEvent('ue_retrieve_dw_mx') wf_face() end event event rowfocuschanging;call super::rowfocuschanging;IF dw_mx_edit THEN RETURN 1 end event event itemchanged;call super::itemchanged;String ls_name ls_name = dwo.Name Long ll_mtrlid IF ls_name = 'pricemode' And row > 0 THEN dw_1.AcceptText() IF dw_1.Object.pricemode[row] = 1 THEN Parent.TriggerEvent('ue_pricelist_ch') END IF END IF end event type cb_edit from uo_imflatbutton within w_import_mtrlname integer x = 155 integer width = 151 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;String arg_msg IF dw_edit_mode THEN IF dw_1.AcceptText() <> 1 THEN RETURN IF wf_save(arg_msg) <> 1 THEN MessageBox('错误', arg_msg) RETURN END IF END IF dw_edit_mode = Not dw_edit_mode IF dw_edit_mode THEN cbx_1.Checked = True wf_selectall() ELSE cb_reflash.TriggerEvent(Clicked!) END IF wf_face() end event type cb_del from uo_imflatbutton within w_import_mtrlname integer x = 311 integer width = 151 integer height = 164 integer taborder = 40 boolean bringtotop = true string text = "删除" string normalpicname = "delete.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;String ls_msg IF dw_edit_mode THEN dw_edit_mode = Not dw_edit_mode cb_reflash.TriggerEvent(Clicked!) wf_face() ELSE IF MessageBox('提问', '是否要删除选中的记录?', Question!, YesNo!) <> 1 THEN RETURN END IF IF wf_del(ls_msg) <> 1 THEN MessageBox('错误', ls_msg) RETURN END IF cb_reflash.TriggerEvent(Clicked!) END IF end event type cb_mtrl from uo_imflatbutton within w_import_mtrlname integer x = 745 integer width = 274 integer height = 164 integer taborder = 50 boolean bringtotop = true string text = "选物料" string normalpicname = "new.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;parent.triggerevent('ue_new_mtrl') end event type cb_p_edit from uo_imflatbutton within w_import_mtrlname integer x = 466 integer width = 274 integer height = 164 integer taborder = 60 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 IF dw_edit_mode THEN menustr = "Text=批选物料~tEvent=ue_p_mtrl" menustr += "|Text=自动配对物料~tEvent=ue_p_mtrl_auto" ELSE menustr = "Text=批设描述~tEvent=ue_p_dscrp" END IF 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 ddlb_im_type from dropdownlistbox within w_import_mtrlname integer x = 334 integer y = 184 integer width = 480 integer height = 636 integer taborder = 30 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "模板" boolean sorted = false string item[] = {"模板","亚洲国际电商","淘宝","京东"} borderstyle borderstyle = stylelowered! end type event selectionchanged;Long ins_im_type IF ddlb_im_type.Text = '模板' THEN ins_im_type = 0 ELSEIF ddlb_im_type.Text = '亚洲国际电商' THEN ins_im_type = 1 ELSEIF ddlb_im_type.Text = '淘宝' THEN ins_im_type = 5 ELSEIF ddlb_im_type.Text = '京东' THEN ins_im_type = 6 ELSE ins_im_type = -1 END IF IF ins_im_type <> ins_user.im_type THEN IF ins_im_type = 1 Or ins_im_type = 5 Or ins_im_type = 6 THEN Parent.TriggerEvent('ue_select_user') RETURN END IF END IF IF ins_im_type = 0 THEN ins_user.UserID = 0 ins_user.im_type = 0 ins_user.im_userid = '' sle_userid.Text = '' END IF cb_reflash.triggerevent(clicked!) end event type cb_copy from uo_imflatbutton within w_import_mtrlname boolean visible = false integer x = 2231 integer y = 4 integer width = 151 integer height = 164 integer taborder = 40 boolean bringtotop = true string text = "复制" string normalpicname = "copy.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;//String ls_msg //IF dw_edit_mode THEN // dw_edit_mode = Not dw_edit_mode // cb_reflash.TriggerEvent(Clicked!) // wf_face() //ELSE // // IF MessageBox('提问', '是否要删除选中的记录?', Question!, YesNo!) <> 1 THEN // RETURN // END IF // // IF wf_del(ls_msg) <> 1 THEN // MessageBox('错误', ls_msg) // RETURN // END IF // // cb_reflash.TriggerEvent(Clicked!) // //END IF end event type cb_sync from uo_imflatbutton within w_import_mtrlname integer x = 1024 integer width = 151 integer height = 164 integer taborder = 70 boolean bringtotop = true string text = "同步" string normalpicname = "copy.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_taobao_download" menustr = menustr + "|Text=亚洲下载~tEvent=ue_aifmb_download" menustr = menustr + "|Text=-" menustr = menustr + "|Text=淘宝上传~tEvent=ue_taobao_upload" menustr = menustr + "|Text=亚洲上传~tEvent=ue_aifmb_upload" 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 cbx_1 from checkbox within w_import_mtrlname integer x = 32 integer y = 196 integer width = 274 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 = 67108864 string text = "全选" end type event clicked;wf_selectall() end event event constructor;this.backcolor = 14215660 end event type cb_mode from uo_imflatbutton within w_import_mtrlname integer x = 1518 integer width = 82 integer height = 164 integer taborder = 50 boolean bringtotop = true string text = ">>" toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF IsValid(w_import_mtrlname_dscrp) THEN Close(w_import_mtrlname_dscrp) This.Text = '>>' ELSE Open(w_import_mtrlname_dscrp) This.Text = '<<' Parent.TriggerEvent('ue_retrieve_mx') END IF end event type st_2 from statictext within w_import_mtrlname integer x = 841 integer y = 200 integer width = 274 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 = 67108864 string text = "当前用户:" boolean focusrectangle = false end type event constructor;this.backcolor = 14215660 end event type sle_userid from singlelineedit within w_import_mtrlname integer x = 1125 integer y = 184 integer width = 494 integer height = 84 integer taborder = 70 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean displayonly = true borderstyle borderstyle = stylelowered! end type type cb_selectuser from uo_imflatbutton within w_import_mtrlname integer x = 1632 integer y = 180 integer width = 256 integer height = 88 integer taborder = 50 boolean bringtotop = true string text = "选择" string normalpicname = "FIND.BMP" integer picsize = 16 end type event clicked;call super::clicked;parent.triggerevent('ue_select_user') end event type cb_excel from uo_imflatbutton within w_import_mtrlname integer x = 1179 integer width = 178 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "Excel" string normalpicname = "excel.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=导出Excel~tEvent=ue_xls_export" menustr = menustr + "|" + "Text=导入产品编码~tEvent=ue_xls_import_mtrlcode" menustr = menustr + "|" + "Text=导入淘宝分销csv~tEvent=ue_csv_import_mtrlcode" 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_2 from u_dw_rbtnfilter within w_import_mtrlname event ue_dwndropdown pbm_dwndropdown integer x = 1074 integer y = 388 integer width = 1742 integer height = 1116 integer taborder = 40 boolean bringtotop = true string dataobject = "dw_import_mtrlnamemx" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true boolean rbutton_filter_use = true boolean rbutton_setposition_use = true boolean titleclick_sort_use = true end type event ue_dwndropdown;IF Not dw_mx_edit THEN RETURN Long row, ll_prow String column s_props_openwin s_win String ls_rtn ll_prow = dw_1.GetRow() row = dw_2.GetRow() column = dw_2.GetColumnName() s_win.arg_x = This.X + This.PointerX() + Parent.X s_win.arg_y = This.Y + This.PointerY() + Parent.Y IF row > 0 AND ll_prow > 0 THEN s_win.props = dw_1.Object.props[ll_prow] IF column = 'status_name' THEN OpenWithParm(w_props_ch, s_win) ls_rtn = Message.StringParm IF IsNull(ls_rtn) THEN RETURN 1 dw_2.Object.status_name[row] = ls_rtn RETURN 1 ELSEIF column = 'woodcode_name' THEN OpenWithParm(w_props_ch, s_win) ls_rtn = Message.StringParm IF IsNull(ls_rtn) THEN RETURN 1 dw_2.Object.woodcode_name[row] = ls_rtn RETURN 1 ELSEIF column = 'pcode_name' THEN OpenWithParm(w_props_ch, s_win) ls_rtn = Message.StringParm IF IsNull(ls_rtn) THEN RETURN 1 dw_2.Object.pcode_name[row] = ls_rtn RETURN 1 END IF END IF end event event clicked;call super::clicked;IF row > 0 THEN dw_2.SetRow(row) END IF end event event doubleclicked;call super::doubleclicked;IF Not dw_mx_edit THEN RETURN IF dw_2.AcceptText() <> 1 THEN RETURN String ls_name ls_name = dwo.Name IF ls_name = 'mtrlcode' THEN Parent.TriggerEvent('ue_f9') elseif ls_name = 'pros' then Parent.TriggerEvent('ue_f10') END IF end event event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0, False) IF currentrow > 0 THEN This.SelectRow(currentrow, True) END IF end event type cb_edit_mx from commandbutton within w_import_mtrlname integer x = 1097 integer y = 296 integer width = 206 integer height = 84 integer taborder = 40 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "修改" end type event clicked;String arg_msg IF dw_mx_edit THEN dw_2.AcceptText() IF wf_save_mx(arg_msg) <> 1 THEN MessageBox('ERROR', arg_msg) RETURN END IF END IF dw_mx_edit = Not dw_mx_edit IF dw_mx_edit THEN IF dw_2.RowCount() = 0 THEN dw_2.InsertRow(0) END IF END IF IF Not dw_mx_edit THEN Parent.TriggerEvent('ue_retrieve_dw_mx') wf_face() end event type cb_undo_mx from commandbutton within w_import_mtrlname integer x = 1312 integer y = 296 integer width = 206 integer height = 84 integer taborder = 50 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "放弃" end type event clicked; dw_mx_edit = not dw_mx_edit Parent.TriggerEvent('ue_retrieve_dw_mx') wf_face() end event type cb_add_mx from commandbutton within w_import_mtrlname integer x = 1527 integer y = 296 integer width = 206 integer height = 84 integer taborder = 50 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "增行" end type event clicked;dw_2.InsertRow(0) end event type cb_del_mx from commandbutton within w_import_mtrlname integer x = 1742 integer y = 296 integer width = 206 integer height = 84 integer taborder = 50 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "删行" end type event clicked;Long ll_row ll_row = dw_2.GetRow() IF ll_row > 0 THEN dw_2.DeleteRow(ll_row) END IF end event type cb_price_edit from uo_imflatbutton within w_import_mtrlname integer x = 1806 integer width = 494 integer height = 164 integer taborder = 40 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;String arg_msg IF dw_price_edit THEN IF dw_1.AcceptText() <> 1 THEN RETURN IF wf_save_price(arg_msg) <> 1 THEN MessageBox('错误', arg_msg) RETURN END IF END IF dw_price_edit = Not dw_price_edit IF dw_price_edit THEN cbx_1.Checked = True wf_selectall() ELSE cb_reflash.TriggerEvent(Clicked!) END IF wf_face() end event type cb_price_cancel from uo_imflatbutton within w_import_mtrlname integer x = 2299 integer width = 165 integer height = 164 integer taborder = 50 boolean bringtotop = true boolean enabled = false string text = "放弃" string normalpicname = "delete.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;String ls_msg IF dw_price_edit THEN dw_price_edit = Not dw_price_edit cb_reflash.TriggerEvent(Clicked!) wf_face() END IF end event type cb_requestquote from uo_imflatbutton within w_import_mtrlname integer x = 2464 integer width = 274 integer height = 164 integer taborder = 50 boolean bringtotop = true string text = "请求报价" string normalpicname = "update.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;Long i s_eb_aifmb_requestquote_parm s_tran Long j = 0 FOR i = 1 To dw_1.RowCount() IF dw_1.Object.ch[i] <> 1 THEN CONTINUE IF dw_1.Object.im_type[i] <> 1 THEN CONTINUE j++ s_tran.im_type[j] = dw_1.Object.im_type[i] s_tran.im_id[j] = dw_1.Object.im_id[i] s_tran.mtrlcode[j] = dw_1.Object.mtrlcode[i] s_tran.mtrlname[j] = dw_1.Object.mtrlname[i] s_tran.numiid[j] = dw_1.Object.numiid[i] NEXT IF j <= 0 THEN RETURN OpenWithParm(w_eb_aifmb_requestquote, s_tran) Long rslt rslt = Message.DoubleParm IF rslt = 1 THEN cb_reflash.TriggerEvent(Clicked!) END IF end event type cb_getanswer from uo_imflatbutton within w_import_mtrlname integer x = 2743 integer width = 274 integer height = 164 integer taborder = 60 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;Int rslt = 1 String arg_msg uo_aifmb = Create uo_aifmb s_aifmb_getrequestquoteanswerdata s_data[] IF uo_aifmb.uf_getrequestquoteanswer(s_data, arg_msg) <> 1 THEN rslt = 0 GOTO ext END IF Long i Long ll_AcceptFlag String ls_numiid FOR i = 1 To UpperBound(s_data) IF s_data[i].AcceptFlag THEN ll_AcceptFlag = 1 ELSE ll_AcceptFlag = 0 END IF ls_numiid = String(s_data[i].ProductID) UPDATE eb_import_mtrlname SET acceptflag = :ll_AcceptFlag, rejectreason = :s_data[i].rejectreason Where im_type = 1 And numiid = :ls_numiid; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '更新拒绝原因失败,' + sqlca.SQLErrText GOTO ext END IF NEXT ext: Destroy uo_aifmb IF rslt = 1 THEN COMMIT; cb_reflash.TriggerEvent(Clicked!) MessageBox('OK', '更新成功') ELSE ROLLBACK; MessageBox('ERROR', arg_msg) END IF end event type ln_bar from line within w_import_mtrlname long linecolor = 268435456 integer linethickness = 4 integer beginy = 280 integer endx = 2007 integer endy = 280 end type type ln_bar2 from line within w_import_mtrlname long linecolor = 16777215 integer linethickness = 4 integer beginy = 284 integer endx = 2039 integer endy = 284 end type type r_bar from rectangle within w_import_mtrlname long linecolor = 16777215 integer linethickness = 4 long fillcolor = 1073741824 integer x = 1422 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 type ln_1 from line within w_import_mtrlname long linecolor = 268435456 integer linethickness = 4 integer beginy = 168 integer endx = 2007 integer endy = 168 end type type ln_2 from line within w_import_mtrlname long linecolor = 16777215 integer linethickness = 4 integer beginy = 172 integer endx = 2039 integer endy = 172 end type