$PBExportHeader$w_wfjg_py.srw forward global type w_wfjg_py from w_publ_1ton_share_detail end type type ddlb_status from dropdownlistbox within w_wfjg_py end type type st_2 from statictext within w_wfjg_py end type type st_3 from statictext within w_wfjg_py end type type ddlb_scid from uo_ddlb_scid within w_wfjg_py end type type cbx_1 from checkbox within w_wfjg_py end type type cbx_cmpl from checkbox within w_wfjg_py end type type cb_cmpl from commandbutton within w_wfjg_py end type end forward global type w_wfjg_py from w_publ_1ton_share_detail string title = "外协商盘盈单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_cmp_uqty ( ) event ue_cmp_qty ( ) ddlb_status ddlb_status st_2 st_2 st_3 st_3 ddlb_scid ddlb_scid cbx_1 cbx_1 cbx_cmpl cbx_cmpl cb_cmpl cb_cmpl end type global w_wfjg_py w_wfjg_py type variables uo_outware_wfjg uo_ware long cur_flag= -1 //-1:全部,0未审 long cur_scid //分店ID string ol_cdw_str='' uo_spt_price uo_sptprice Int cur_editfocus = 0 //1:新建2:修改 end variables forward prototypes public function integer wf_flagstatus_rf () public function integer wf_refresh_curuc (long arg_scid, long arg_outwareid) public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg) public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg) end prototypes event insert_childrow();long li_row li_row=dw_child.insertrow(0) dw_child.scrolltorow(li_row) dw_child.object.ow_wfjgmx_out_ifrel[li_row] = sys_option_autoyes dw_child.SetColumn ('ow_wfjgmx_out_ifrel') end event event ue_cmp_uqty();IF NOT dw_edit_mode THEN RETURN Long ll_i dw_child.accepttext() dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF dw_child.Object.ow_wfjgmx_out_qty[ll_i] > 0 AND dw_child.Object.ow_wfjgmx_out_rate[ll_i] > 0 THEN dw_child.Object.ow_wfjgmx_out_uqty[ll_i] = dw_child.Object.ow_wfjgmx_out_qty[ll_i] / dw_child.Object.ow_wfjgmx_out_rate[ll_i] END IF NEXT dw_child.SetRedraw(TRUE) end event event ue_cmp_qty();IF NOT dw_edit_mode THEN RETURN Long ll_i dw_child.accepttext() dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF dw_child.Object.ow_wfjgmx_out_uqty[ll_i] > 0 AND dw_child.Object.ow_wfjgmx_out_rate[ll_i] > 0 THEN dw_child.Object.ow_wfjgmx_out_qty[ll_i] = dw_child.Object.ow_wfjgmx_out_uqty[ll_i] * dw_child.Object.ow_wfjgmx_out_rate[ll_i] END IF NEXT dw_child.SetRedraw(TRUE) end event public function integer wf_flagstatus_rf ();//==================================================================== // Function: wf_flagstatus_rf() //-------------------------------------------------------------------- // Description: //-------------------------------------------------------------------- // Arguments:(None) //-------------------------------------------------------------------- // Returns: integer //-------------------------------------------------------------------- // Author: yyx Date: 2003.12.26 //-------------------------------------------------------------------- // Modify History: // //==================================================================== Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Enabled = FALSE GOTO ext END IF IF dw_edit_mode THEN cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = FALSE ELSE IF dw_pageretr.Object.ow_wfjg_out_flag[pagerert_row] = 0 THEN cb_auditing.Enabled = TRUE cb_auditing_cancel.Enabled = FALSE ELSEIF dw_pageretr.Object.ow_wfjg_out_flag[pagerert_row] = 1 THEN cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = TRUE END IF END IF ext: RETURN 0 end function public function integer wf_refresh_curuc (long arg_scid, long arg_outwareid);//wf_refresh_curuc IF arg_outwareid <= 0 OR IsNull(arg_outwareid) THEN RETURN 0 Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN RETURN 0 DateTime outdate String outrep String cusname String part String dscrp String outwarecode DateTime opdate String opemp DateTime auditingdate Int flag String auditingrep String storagename String Modemp DateTime moddate String sptcode String sptname Long thflag Long ll_printnum Long balcflag Long balcdateint Long ctmint long sptid SELECT ow_wfjg_out.outdate, ow_wfjg_out.outrep, ow_wfjg_out.part, ow_wfjg_out.dscrp, ow_wfjg_out.outwarecode, ow_wfjg_out.opdate, ow_wfjg_out.opemp, ow_wfjg_out.auditingdate, ow_wfjg_out.flag, ow_wfjg_out.auditingemp, ow_wfjg_out.Modemp, ow_wfjg_out.moddate, u_spt.sptcode, u_spt.name, ow_wfjg_out.thflag, ow_wfjg_out.printnum, ow_wfjg_out.balcflag, ow_wfjg_out.balcdateint, ow_wfjg_out.ctmint, ow_wfjg_out.sptid INTO :outdate, :outrep, :part, :dscrp, :outwarecode, :opdate, :opemp, :auditingdate, :flag, :auditingrep, :Modemp, :moddate, :sptcode, :sptname, :thflag, :ll_printnum , :balcflag, :balcdateint , :ctmint, :sptid FROM ow_wfjg_out INNER JOIN u_spt ON ow_wfjg_out.sptid = u_spt.sptid WHERE ( ow_wfjg_out.outwareid = :arg_outwareid ) And ( ow_wfjg_out.scid = :arg_scid ); IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示',"查询操作失败(错误单据唯一码)") RETURN 0 END IF dw_pageretr.Object.ow_wfjg_out_scid[uc_row] = arg_scid dw_pageretr.Object.ow_wfjg_out_outwareid[uc_row] = arg_outwareid dw_pageretr.Object.ow_wfjg_out_outdate[uc_row] = outdate dw_pageretr.Object.ow_wfjg_out_outrep[uc_row] = outrep dw_pageretr.Object.ow_wfjg_out_part[uc_row] = part dw_pageretr.Object.ow_wfjg_out_dscrp[uc_row] = dscrp dw_pageretr.Object.ow_wfjg_out_outwarecode[uc_row] = outwarecode dw_pageretr.Object.ow_wfjg_out_opdate[uc_row] = opdate dw_pageretr.Object.ow_wfjg_out_opemp[uc_row] = opemp dw_pageretr.Object.ow_wfjg_out_Auditingdate[uc_row] = auditingdate dw_pageretr.Object.ow_wfjg_out_flag[uc_row] = flag dw_pageretr.Object.ow_wfjg_out_Auditingemp[uc_row] = auditingrep dw_pageretr.Object.ow_wfjg_out_moddate[uc_row] = moddate dw_pageretr.Object.ow_wfjg_out_modemp[uc_row] = Modemp dw_pageretr.Object.u_spt_code[uc_row] = sptcode dw_pageretr.Object.u_spt_name[uc_row] = sptname dw_pageretr.Object.ow_wfjg_out_thflag[uc_row] = thflag dw_pageretr.Object.ow_wfjg_out_printnum [uc_row] = ll_printnum dw_pageretr.Object.ow_wfjg_out_balcflag [uc_row] = balcflag dw_pageretr.Object.ow_wfjg_out_balcdateint [uc_row] = balcdateint dw_pageretr.Object.ow_wfjg_out_ctmint [uc_row] = ctmint dw_pageretr.Object.ow_wfjg_out_sptid[uc_row] = sptid dw_uc.Reset() dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!) dw_uc.ResetUpdate() dw_uc.SetRedraw(TRUE) wf_flagstatus_rf() RETURN 1 end function public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//============================================================================== // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata() //------------------------------------------------------------------------------ // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可 //------------------------------------------------------------------------------ Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 ll_id = dw_pageretr.Object.#1[LS_ROW] ll_scid = dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW] ////可选设置/// arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码 if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码 boolean xls_locked xls_locked = not (sys_option_xls_lock = 1) /// Excel 的可选设置 if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then return 0 end if for i = 1 to arg_str_billlist.count ////可选操作/// arg_str_billlist.bill[i].ds_data = create datastore // arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow // arg_str_billlist.bill[i].ds_data.settransobject(sqlca) //修改点:注意retrieve 参数与上文对应 arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id) next return 1 end function public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg);Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 ll_id = dw_pageretr.Object.#1[LS_ROW] ll_scid = dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW] Long ll_i,ll_j Long ll_mtrlid Long ll_fileid Blob ls_filedata SetNull(ls_filedata) String Pathname,ls_filename,ls_filetype String errmsg uo_fj_mng_billtype ls_uo_fjbt ls_uo_fjbt = CREATE uo_fj_mng_billtype Long ll_classid SELECT classid INTO :ll_classid FROM u_billpic_fileclass Where (billtype = 102); IF sqlca.SQLCode <> 0 THEN ll_classid = 0 END IF IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息. FOR ll_i = 1 TO dw_child.RowCount() ll_mtrlid = dw_child.Object.ow_wfjgmx_out_mtrlid[ll_i] arg_s_pic.mtrlid[ll_i] = ll_mtrlid //取该附件类型中的第一个附件. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype FROM u_file WHERE relid = :ll_mtrlid AND classid = :ll_classid AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf' OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg') USING sys_fileDB_sqlca; IF sys_fileDB_sqlca.SQLCode <> 0 THEN ll_fileid = 0 END IF IF ll_fileid > 0 THEN Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype IF Trim(Pathname) <> '' THEN IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN RETURN 0 END IF IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN RETURN 0 ELSE arg_s_pic.path[ll_i] = Pathname //记录临时文件位置,本窗口退出后删除 wf_addlog_tempfilepathname(Pathname) END IF ELSE arg_s_pic.path[ll_i] = '' END IF ELSE arg_s_pic.path[ll_i] = '' END IF NEXT END IF RETURN 1 end function on w_wfjg_py.create int iCurrent call super::create this.ddlb_status=create ddlb_status this.st_2=create st_2 this.st_3=create st_3 this.ddlb_scid=create ddlb_scid this.cbx_1=create cbx_1 this.cbx_cmpl=create cbx_cmpl this.cb_cmpl=create cb_cmpl iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_status this.Control[iCurrent+2]=this.st_2 this.Control[iCurrent+3]=this.st_3 this.Control[iCurrent+4]=this.ddlb_scid this.Control[iCurrent+5]=this.cbx_1 this.Control[iCurrent+6]=this.cbx_cmpl this.Control[iCurrent+7]=this.cb_cmpl end on on w_wfjg_py.destroy call super::destroy destroy(this.ddlb_status) destroy(this.st_2) destroy(this.st_3) destroy(this.ddlb_scid) destroy(this.cbx_1) destroy(this.cbx_cmpl) destroy(this.cb_cmpl) end on event open;THIS.TriggerEvent('ue_before_open') wf_movetocenter() OLD_TITLE = THIS.Title s_tran = Message.PowerObjectParm IF NOT IsNull(s_tran) THEN retrieve_all = s_tran.if_retrieve_all mode = s_tran.work_mode arg_pkid = s_tran.arg_pkid arg_string_code = s_tran.arg_string_code if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效 ds_share = s_tran.ds_share END IF dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关 dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关 dw_pageretr.SetTransObject (sqlca) pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字 ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select") ls_newselect = ori_oldselect ds_curquery = CREATE DATASTORE ds_curquery.DataObject = 'd_extr_find' ds_curquery.SetTransObject (sqlca) wf_editindex_lockf() IF s_tran.d_long = 2 THEN cur_scid = s_tran.c_long Int li_item li_item = ddlb_scid.FindItem(s_tran.d_string,0) IF li_item > 0 THEN ddlb_scid.SelectItem(li_item) END IF END IF sle_usual_query.Text = Trim(arg_string_code) IF NOT retrieve_all THEN THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve ELSE IF if_sharedata THEN ds_share.ShareData(dw_pageretr) ELSE wf_retrieveuc(dw_pageretr,ls_newselect,1) THIS.TriggerEvent('RETRIEVE_pageretr') END IF END IF IF retrieve_all THEN THIS.TriggerEvent("ue_usual_query_filt") END IF uc_column_int = 8 //uc dw前5列可以编辑 child_column_int =14 //子dw前5列可以编辑 uo_ware = CREATE uo_outware_wfjg uo_ware.commit_transaction = sqlca uo_sptprice = CREATE uo_spt_price s_hide_col s_col s_col.col_1 = 'u_outwaremx_fprice' s_col.col_2 = 'amt' s_col.col_3 = 'u_outwaremx_uprice' f_hide_col(1473,dw_child,s_col) end event event close;call super::close;int li_auto if cbx_1.checked then li_auto = 1 else li_auto = 0 end if SetProfileString(SYS_INIFILENAME, "outware_wfjg", "auto_add", string(li_auto)) destroy uo_ware destroy uo_sptprice end event event refresh_interface;call super::refresh_interface;wf_flagstatus_rf() ddlb_status.enabled=not dw_edit_mode ddlb_scid.enabled=not dw_edit_mode cbx_cmpl.Enabled = dw_edit_mode cb_cmpl.Enabled = dw_edit_mode end event event retrieve_childdw;call super::retrieve_childdw;long row,uc_relid,ll_scid row=dw_pageretr.getrow() if row>0 then uc_relid=dw_pageretr.object.ow_wfjg_out_outwareid[row] ll_scid = dw_pageretr.object.ow_wfjg_out_scid[row] dw_child.SetRedraw (false) dw_child.retrieve(ll_scid,uc_relid) dw_child.SetRedraw (true) else dw_child.reset() end if end event event retrieve_pageretr;boolean cb_nextpage_enabled,cb_retrieveall_enabled boolean cb_func_enabled,cb_retrieve_enabled cb_nextpage_enabled=cb_nextpage.enabled cb_retrieveall_enabled=cb_retrieveall.enabled cb_func_enabled=cb_func.enabled cb_nextpage.enabled=false cb_retrieveall.enabled=false cb_func.enabled=false dw_uc.retrieve() dw_pageretr.retrieve(cur_scid,cur_flag) if dw_pageretr.rowcount()>0 and dw_pageretr.getrow()=0 then dw_pageretr.setrow(1) wf_flagstatus_rf() this.triggerevent('retrieve_childdw') cb_nextpage.enabled=cb_nextpage_enabled cb_retrieveall.enabled=cb_retrieveall_enabled cb_func.enabled=cb_func_enabled end event event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr='' if trim(sle_usual_query.text)<>'' then IF POS(trim(sle_usual_query.text),'%')=0 THEN obj_expr=obj_expr+'( u_outware_outwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( u_outware_outwarecode LIKE "'+trim(sle_usual_query.text)+'" )' END IF end if dw_pageretr.setfilter(obj_expr) dw_pageretr.SetRedraw(False) dw_pageretr.filter() if dw_pageretr.rowcount()>=1 then dw_pageretr.selectrow(0,false) dw_pageretr.selectrow(1,true) end if dw_pageretr.SetRedraw(TRUE) end event event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart='' ls_newselect=lower(ori_oldselect) if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then ls_querystrpart="(ow_wfjg_out.outwarecode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(ow_wfjg_out.outwarecode like '"+trim(sle_usual_query.text)+"')" end if if Pos(ls_newselect," where ") <> 0 then ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')' else ls_newselect=ls_newselect+" where ("+ls_querystrpart+')' end if end if wf_retrieveuc(dw_pageretr,ls_newselect,1) this.triggerevent('retrieve_pageretr') end event event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row,ls_j,ls_sptid dw_child.AcceptText() child_row = dw_child.GetRow() ls_sptid = dw_uc.Object.ow_wfjg_out_sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.TriggerEvent("ue_f9") END IF IF NOT IsValid(w_mtrldef_edit) THEN s_edit_index_tran s_ch_tran s_ch_tran.if_retrieve_all = FALSE s_ch_tran.work_mode = 1 s_ch_tran.arg_pkid = 0 s_ch_tran.arg_string_code = '' s_ch_tran.b_long = 3 s_ch_tran.c_long = - 1 s_ch_tran.f_long = -1 s_ch_tran.if_select_all = TRUE dw_child.AcceptText() IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]) OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用 s_mtrldef_array s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid) IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.ow_wfjgmx_out_mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.ow_wfjgmx_out_mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] dw_child.Object.ow_wfjgmx_out_uunit[child_row] = s_inscust.unit[ls_j] // dw_child.Object.ow_wfjgmx_out_uqty[child_row] = 0 dw_child.Object.ow_wfjgmx_out_rate[child_row] = 1 dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j] dw_child.Object.ow_wfjgmx_out_fprice[child_row] = s_inscust.planprice[ls_j] END IF NEXT dw_child.SetColumn('ow_wfjgmx_out_uqty') END IF dw_child.SetRedraw(TRUE) dw_child.SetFocus() end event event ue_viewprint;call super::ue_viewprint; IF NOT f_power_ind(1422) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('NO','没有打印目标单据!') RETURN END IF S_print_MSG LS_PRMSG IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.ow_wfjg_out_flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE IF Not f_power_ind(1422) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_wfjg_py_edit' END IF IF LS_PRMSG.obj_dwNAME = '' THEN RETURN LS_PRMSG.printrow = ll_prownum LS_PRMSG.TAG_TEXT = '外协商盘盈单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.ow_wfjg_out_outwareid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() IF ifpic = 1 THEN String ls_msg IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN MessageBox('提示','下载图片失败!',information!,OK!) RETURN END IF END IF OpenWithParm(w_publ_preview,LS_PRMSG) IF ifpic = 1 THEN Long li FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path) IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN FileDelete(LS_PRMSG.s_pic.path[li]) END IF NEXT END IF //更新打印次数 String arg_msg printnum = Message.DoubleParm f_update_printnum('ow_wfjg_out',printnum,dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW],dw_pageretr.Object.ow_wfjg_out_outwareid[LS_ROW],'','',arg_msg,TRUE) end event event ue_print;call super::ue_print;//--直接打印 IF NOT f_power_ind(1422) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF uo_print_preview uo_print IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN S_print_MSG LS_PRMSG Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('NO','没有打印目标单据!') RETURN END IF IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.ow_wfjg_out_flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE IF Not f_power_ind(1422) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_wfjg_py_edit' END IF IF LS_PRMSG.obj_dwNAME = '' THEN RETURN LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.printrow = ll_prownum LS_PRMSG.TAG_TEXT = '外协商盘盈单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.ow_wfjg_out_outwareid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() IF ifpic = 1 THEN String ls_msg IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN MessageBox('提示','下载图片失败!',information!,OK!) RETURN END IF END IF uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("系统提示",arg_msg) RETURN END IF uo_print.ds_print() IF ifpic = 1 THEN Long li FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path) IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN FileDelete(LS_PRMSG.s_pic.path[li]) END IF NEXT END IF //更新打印次数 printnum = 1 f_update_printnum('ow_wfjg_out',printnum,dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW],dw_pageretr.Object.ow_wfjg_out_outwareid[LS_ROW],'','',arg_msg,TRUE) end event event ue_f9;call super::ue_f9;//用于选择明细内容,被F10[默认] if not dw_edit_mode then return long uc_row uc_row=dw_uc.getrow() if uc_row=0 then messagebox('系统提示','请选定出仓单!') return end if dw_uc.accepttext() if not isvalid(W_spt_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=upper(trim(dw_uc.object.u_spt_code[dw_uc.getrow()])) OPENwithparm(W_spt_edit,s_ch_tran) //调用 S_spt S_INSCUST S_INSCUST=Message.PowerObjectParm //接受返回结构 IF S_INSCUST.sptid>0 THEN //正常返回值则可以取以下值 dw_uc.setredraw(false) dw_uc.object.ow_wfjg_out_sptid[uc_row]=S_INSCUST.sptid dw_uc.object.u_spt_name[uc_row]=S_INSCUST.name dw_uc.object.u_spt_code[uc_row]=S_INSCUST.sptcode dw_uc.setredraw(true) dw_uc.setcolumn("ow_wfjg_out_outdate") END IF end if end event event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1421) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '',LS_STR Long uc_row s_inputbox S_SREU uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF S_SREU.Title = '请输入要补充到备注的内容' S_SREU.OLD_TEXT = '' OpenWithParm(w_inputbox,S_SREU) LS_STR = Message.StringParm IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN IF uo_ware.add_dscrp(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.Object.ow_wfjg_out_outwareid[uc_row],LS_STR,arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN ELSE MessageBox(publ_operator,'添加备注操作成功!') wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.Object.ow_wfjg_out_outwareid[uc_row]) END IF end event event ue_rpt_viewprint;call super::ue_rpt_viewprint; Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.ow_wfjg_out_flag[row] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF s_rpt_print_msg s_print s_print.retr_pram_falg = 15 s_print.rpid = ls_msgprintid_rpt s_print.retr_flag = TRUE s_print.tag_text = THIS.Title s_print.rpname = ls_rpname s_print.retr_scid = dw_pageretr.Object.ow_wfjg_out_scid[row] s_print.retr_pramnmb = dw_pageretr.Object.ow_wfjg_out_outwareid[row] s_print.rowcnt = dw_child.RowCount() OpenWithParm(w_rpt_preview,s_print) //**更新打印次料 String arg_msg printnum = Message.DoubleParm String ls_code ll_scid = dw_pageretr.Object.ow_wfjg_out_scid[row] ls_code = dw_pageretr.Object.ow_wfjg_out_outwarecode[row] //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE) end event event ue_rpt_print;call super::ue_rpt_print;Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN uo_rpt_print_preview uo_print S_rpt_print_MSG LS_PRMSG IF dw_pageretr.RowCount() = 0 THEN MessageBox('系统信息','没有可打印的单据!') RETURN END IF IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.ow_wfjg_out_flag[row] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.TAG_TEXT = THIS.Title LS_PRMSG.rpname = ls_rpname LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.rpid = ls_msgprintid_rpt LS_PRMSG.retr_scid = dw_pageretr.Object.ow_wfjg_out_scid[row] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.ow_wfjg_out_outwareid[row] LS_PRMSG.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("系统提示",arg_msg) RETURN END IF uo_print.ds_print() //**更新打印次料 printnum = Message.DoubleParm String ls_code ll_scid = dw_pageretr.Object.ow_wfjg_out_scid[row] ls_code = dw_pageretr.Object.ow_wfjg_out_outwarecode[row] //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE) end event event ue_f6;call super::ue_f6;IF NOT dw_edit_mode THEN RETURN IF dw_child.GetRow() < 1 THEN RETURN IF dw_child.Object.u_mtrldef_ifunit[dw_child.GetRow()] = 0 THEN RETURN Long ls_mtrlid s_unit s_inscust s_edit_index_tran s_tran_unit IF sys_option_2unit_ch = 1 THEN IF NOT IsValid(w_unit_ch) THEN ls_mtrlid = dw_child.Object.ow_wfjgmx_out_mtrlid[dw_child.GetRow()] s_tran_unit.c_long = ls_mtrlid s_tran_unit.d_long = 1 //是否可选方向 s_tran_unit.e_long = -1 //不可选方向的情况下,强行设定方向. 0 - 计价->库存; 1 - 库存->计价 OpenWithParm(w_unit_ch,s_tran_unit) s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_child.Object.ow_wfjgmx_out_uunit[dw_child.GetRow()] = s_inscust.unit dw_child.Object.ow_wfjgmx_out_rate[dw_child.GetRow()] = s_inscust.rate IF s_inscust.ReturnType = 0 THEN IF dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] > 0 THEN dw_child.Object.ow_wfjgmx_out_qty[dw_child.GetRow()] = Round(s_inscust.rate * dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()],sys_option_unit_dec) END IF dw_child.SetColumn( 'ow_wfjgmx_out_qty') ELSE IF dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] > 0 THEN dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] = Round(dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] / s_inscust.rate ,sys_option_unit_dec) END IF dw_child.SetColumn( 'ow_wfjgmx_out_uqty') END IF END IF END IF ELSE IF NOT IsValid(w_unit_def_ch) THEN IF dw_child.GetRow() < 1 THEN RETURN Open(w_unit_def_ch) s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_child.Object.ow_wfjgmx_out_uunit[dw_child.GetRow()] = s_inscust.unit dw_child.SetColumn( 'ow_wfjgmx_out_qty') END IF END IF END IF end event type cb_func from w_publ_1ton_share_detail`cb_func within w_wfjg_py end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_wfjg_py end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_wfjg_py integer width = 549 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_wfjg_py integer x = 3017 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_wfjg_py integer x = 2715 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_wfjg_py integer x = 2043 integer width = 1504 integer height = 872 string dataobject = "dw_wfjg_py_index" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf() end event type st_1 from w_publ_1ton_share_detail`st_1 within w_wfjg_py integer x = 14 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_wfjg_py integer x = 3168 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_wfjg_py integer width = 2039 integer height = 872 string dataobject = "dw_wfjg_py_edit" end type event dw_uc::dwnkey;PARENT.TriggerEvent('user_key') IF Key = KeyDownArrow! THEN RETURN 1 IF dw_edit_mode THEN IF dw_uc.GetColumnName ( ) = 'ow_wfjg_out_dscrp' AND Key = KeyEnter! THEN dw_child.SetFocus() dw_child.ScrollToRow(1) dw_child.SetColumn ('ow_wfjgmx_out_ifrel') RETURN 1 ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_code' AND Key = KeyEnter! THEN String ls_code dw_uc.AcceptText() ls_code = Trim(dw_uc.Object.u_spt_code[dw_uc.GetRow()]) s_spt arg_s_spt IF f_find_spt(ls_code,arg_s_spt) = 0 THEN PARENT.TriggerEvent('ue_f9') RETURN 1 ELSE dw_uc.SetRedraw(FALSE) dw_uc.Object.ow_wfjg_out_sptid[dw_uc.GetRow()] = arg_s_spt.sptid dw_uc.Object.u_spt_code[dw_uc.GetRow()] = arg_s_spt.sptcode dw_uc.Object.u_spt_name[dw_uc.GetRow()] = arg_s_spt.Name dw_uc.SetRedraw(TRUE) dw_uc.SetColumn("ow_wfjg_out_outdate") RETURN 1 END IF ELSE IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF end event event dw_uc::buttonclicked;call super::buttonclicked;IF NOT dw_edit_mode THEN RETURN if dwo.Name = 'b_spt' then PARENT.TriggerEvent("ue_f9") END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_wfjg_py integer x = 219 integer y = 416 integer width = 238 integer height = 264 end type type dw_child from w_publ_1ton_share_detail`dw_child within w_wfjg_py integer y = 1168 integer width = 3552 integer height = 1004 string dataobject = "dw_wfjgmx_py_edit" end type event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode String ls_plancode,ls_status,ls_woodcode,ls_pcode Long ls_mtrlid,ls_orderid Dec ls_planprice String ls_mtrlsectype,ls_zxmtrlmode s_mtrldef_array arg_s_mtrldef Long child_row Long ls_sptid IF dw_edit_mode THEN dw_uc.AcceptText() dw_child.AcceptText() child_row = dw_child.GetRow() ls_orderid = dw_child.Object.ow_wfjgmx_out_relid[child_row] ls_sptid = dw_uc.Object.ow_wfjg_out_sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.TriggerEvent("ue_f10") END IF IF KeyDown(Keydownarrow!) THEN Long li_row IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") END IF ELSE IF KeyDown(KeyEnter!) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN IF dw_child.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN dw_child.AcceptText() child_row = dw_child.GetRow() IF dw_child.Object.ow_wfjgmx_out_ifrel[child_row] = 1 THEN PARENT.TriggerEvent('ue_f8') RETURN 1 END IF ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row] IF f_find_mtrl(ls_mtrlcode, -1,arg_s_mtrldef) = 0 THEN PARENT.TriggerEvent('ue_f8') RETURN 1 ELSE ls_mtrlid = arg_s_mtrldef.mtrlid[1] ls_mtrlcode = arg_s_mtrldef.mtrlcode[1] ls_mtrlname = arg_s_mtrldef.mtrlname[1] ls_unit = arg_s_mtrldef.unit[1] ls_mtrlmode = arg_s_mtrldef.mtrlmode[1] ls_planprice = arg_s_mtrldef.planprice[1] ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1] ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1] END IF dw_child.Object.ow_wfjgmx_out_mtrlid[child_row] = ls_mtrlid dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode dw_child.Object.u_mtrldef_unit[child_row] = ls_unit dw_child.Object.ow_wfjgmx_out_qty[child_row] = 0 dw_child.Object.ow_wfjgmx_out_fprice[child_row] = ls_planprice dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode IF dw_child.Object.ow_wfjgmx_out_uunit[child_row] = '' THEN dw_child.Object.ow_wfjgmx_out_uunit[child_row] = ls_unit dw_child.Object.ow_wfjgmx_out_uqty[child_row] = 0 dw_child.Object.ow_wfjgmx_out_rate[child_row] = 1 END IF IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF dw_child.GetColumnName( ) = 'ow_wfjgmx_out_rate' THEN dw_child.AcceptText() child_row = dw_child.GetRow() dw_child.Object.ow_wfjgmx_out_qty[child_row] = dw_child.Object.ow_wfjgmx_out_uqty[child_row] * dw_child.Object.ow_wfjgmx_out_rate[child_row] IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF dw_child.GetColumnName( ) = 'ow_wfjgmx_out_uqty' THEN dw_child.AcceptText() child_row = dw_child.GetRow() dw_child.Object.ow_wfjgmx_out_qty[child_row] = dw_child.Object.ow_wfjgmx_out_uqty[child_row] * dw_child.Object.ow_wfjgmx_out_rate[child_row] IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF dw_child.GetColumnName( ) = 'ow_wfjgmx_out_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") RETURN 1 ELSE IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF END IF END IF end event event dw_child::itemchanged;call super::itemchanged;if not dw_edit_mode then return this.accepttext() if dwo.name = 'ow_wfjgmx_out_ifrel' then if this.object.ow_wfjgmx_out_ifrel[row] = 1 then this.object.ow_wfjgmx_out_relid[row] = 0 this.object.ow_wfjgmx_out_relcode[row] = '' end if end if end event event dw_child::doubleclicked;IF dw_edit_mode THEN IF dwo.Name = 'ow_wfjgmx_out_uunit' THEN PARENT.TriggerEvent('ue_f6') ELSE PARENT.TriggerEvent('ue_f8') END IF END IF end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_wfjg_py end type type cb_print from w_publ_1ton_share_detail`cb_print within w_wfjg_py end type type cb_add from w_publ_1ton_share_detail`cb_add within w_wfjg_py end type event cb_add::clicked;IF NOT f_power_ind(1417) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row,i,j IF dw_edit_mode THEN dw_uc.AcceptText() dw_child.AcceptText() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF NOT dw_uc.Object.ow_wfjg_out_outdate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('系统提示','不合理发生时间') dw_uc.SetFocus() dw_uc.SetColumn('u_outware_outdate') RETURN END IF IF NOT Len(String(dw_uc.Object.ow_wfjg_out_outrep[uc_row])) > 0 THEN MessageBox('系统提示','请填写经手人') dw_uc.SetFocus() dw_uc.SetColumn('ow_wfjg_out_outrep') RETURN END IF FOR j = 1 TO dw_child.RowCount() IF dw_child.Object.ow_wfjgmx_out_qty[j] = 0 THEN CONTINUE IF dw_child.Object.ow_wfjgmx_out_mtrlwareid[j] > 0 AND dw_child.Object.ow_wfjgmx_out_qty[j] < 0 THEN MessageBox(publ_operator,'出仓单的数量一定要为正数') RETURN END IF // IF dw_child.Object.u_mtrldef_ifunit[j] = 1 THEN // IF dw_child.Object.ow_wfjgmx_out_mtrlwareid[j] > 0 AND dw_child.Object.ow_wfjgmx_out_uqty[j] < 0 THEN // MessageBox(publ_operator,'出仓单的计价单位数量一定要为正数') // RETURN // END IF // END IF NEXT IF cbx_cmpl.Checked THEN cb_cmpl.TriggerEvent(Clicked!) uo_ware.outdate = dw_uc.Object.ow_wfjg_out_outdate[uc_row] uo_ware.outrep = dw_uc.Object.ow_wfjg_out_outrep[uc_row] uo_ware.dscrp = dw_uc.Object.ow_wfjg_out_dscrp[uc_row] uo_ware.sptid = dw_uc.Object.ow_wfjg_out_sptid[uc_row] uo_ware.part = dw_uc.Object.ow_wfjg_out_part[uc_row] FOR i = 1 TO dw_child.RowCount() IF dw_child.Object.ow_wfjgmx_out_mtrlid[i] > 0 THEN dw_child.Object.ow_wfjgmx_out_qty[i] = dw_child.Object.ow_wfjgmx_out_uqty[i] * dw_child.Object.ow_wfjgmx_out_rate[i] IF uo_ware.acceptmx(0,& dw_child.Object.ow_wfjgmx_out_uqty[i],& dw_child.Object.ow_wfjgmx_out_uunit[i],& dw_child.Object.ow_wfjgmx_out_qty[i],& dw_child.Object.ow_wfjgmx_out_mxdscrp[i],& dw_child.Object.printid[i],& arg_msg,& 0,& 0,& 0,& dw_child.Object.ow_wfjgmx_out_mtrlid[i],& 0,& 0,& dw_child.Object.ow_wfjgmx_out_plancode[i],& dw_child.Object.u_mtrldef_mtrlcode[i],& dw_child.Object.ow_wfjgmx_out_status[i],& dw_child.Object.ow_wfjgmx_out_woodcode[i],& dw_child.Object.ow_wfjgmx_out_pcode[i],& dw_child.Object.ow_wfjgmx_out_fprice[i],& dw_child.Object.ow_wfjgmx_out_rebate[i],& dw_child.Object.ow_wfjgmx_out_olmtrlid[i],& dw_child.Object.ow_wfjgmx_out_rate[i],'','') = 0 THEN MessageBox('error!',arg_msg) RETURN END IF END IF NEXT IF uo_ware.Save(TRUE,arg_msg) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF MessageBox(publ_operator,'保存操作成功!') Long ll_row ll_row = dw_pageretr.GetRow() dw_pageretr.SelectRow(0,FALSE) dw_pageretr.SelectRow(ll_row,TRUE) wf_refresh_curuc(cur_scid,uo_ware.outwareid) ELSE IF uo_ware.newbegin(cur_scid,9,arg_msg) = 0 THEN MessageBox('error!',arg_msg) RETURN END IF END IF CALL SUPER::Clicked //read ini IF dw_edit_mode THEN PARENT.TriggerEvent("insert_childrow") dw_uc.SetRedraw(FALSE) dw_uc.SetColumn("u_spt_code") dw_uc.SetRedraw(TRUE) cur_editfocus = 1 ELSE PARENT.TriggerEvent("retrieve_childdw") cur_editfocus = 0 IF cbx_1.Checked THEN cb_add.TriggerEvent(Clicked!) END IF // end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_wfjg_py end type event cb_edit::clicked;IF NOT f_power_ind(1417) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF NOT dw_edit_mode THEN IF uo_ware.updatebegin(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.Object.ow_wfjg_out_outwareid[uc_row],9,arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.Object.ow_wfjg_out_outwareid[uc_row]) PARENT.TriggerEvent("retrieve_childdw") END IF CALL SUPER::Clicked IF dw_edit_mode THEN cur_editfocus = 2 ELSE cur_editfocus = 0 END IF end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_wfjg_py end type event cb_delet::clicked;IF NOT f_power_ind(1418) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("IF","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_ware.del(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.Object.ow_wfjg_out_outwareid[uc_row],arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.ow_wfjg_out_outwareid[uc_row] ls_code = dw_pageretr.Object.ow_wfjg_out_outwarecode[uc_row] f_setsysoplog('外协商盘盈单','外协商盘盈单删除,ID:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.ow_wfjg_out_outwarecode[uc_row])+'成功!') dw_pageretr.DeleteRow(uc_row) dw_pageretr.TriggerEvent(RowFocusChanged!) END IF end event type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_wfjg_py end type event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu string menustr menustr="Text=增加备注~tEvent=ue_addzy" 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 cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_wfjg_py end type event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1419) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("IF","是否确定要审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_ware.getinfo(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.Object.ow_wfjg_out_outwareid[pagerert_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'审核成功!') wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.Object.ow_wfjg_out_outwareid[pagerert_row]) END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_wfjg_py end type event cb_xm::clicked;is_mx_menustr = '' is_mx_menustr = is_mx_menustr + "|" + "Text=按转换率计算库存数量~tEvent=ue_cmp_qty" is_mx_menustr = is_mx_menustr + "|" + "Text=按转换率计算计价数量~tEvent=ue_cmp_uqty" call super::clicked end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_wfjg_py end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_wfjg_py end type type cb_help from w_publ_1ton_share_detail`cb_help within w_wfjg_py end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_wfjg_py end type event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(1420) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("IF","是否确定要撤消审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_ware.getinfo(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.Object.ow_wfjg_out_outwareid[pagerert_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'撤消审核成功!') //日志 String ls_code,ls_opemp,ls_outpart ls_code = dw_pageretr.Object.ow_wfjg_out_outwarecode[pagerert_row] ls_opemp = dw_pageretr.Object.ow_wfjg_out_opemp[pagerert_row] ls_outpart = dw_pageretr.Object.ow_wfjg_out_part[pagerert_row] f_setsysoplog('外协商盘盈单','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE) //-- wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.Object.ow_wfjg_out_outwareid[pagerert_row]) END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_wfjg_py end type type p_help from w_publ_1ton_share_detail`p_help within w_wfjg_py end type type p_encl from w_publ_1ton_share_detail`p_encl within w_wfjg_py end type type p_other from w_publ_1ton_share_detail`p_other within w_wfjg_py end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_wfjg_py end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_wfjg_py end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_wfjg_py end type type r_bar from w_publ_1ton_share_detail`r_bar within w_wfjg_py end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_wfjg_py end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_wfjg_py end type type ddlb_status from dropdownlistbox within w_wfjg_py integer x = 1600 integer y = 188 integer width = 320 integer height = 300 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;if index=1 then cur_flag=-1 elseif index=2 then cur_flag= 0 elseif index=3 then cur_flag= 1 end if parent.triggerevent("retrieve_pageretr") end event type st_2 from statictext within w_wfjg_py integer x = 1449 integer y = 204 integer width = 137 integer height = 48 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "状态" alignment alignment = right! boolean focusrectangle = false end type type st_3 from statictext within w_wfjg_py integer x = 754 integer y = 204 integer width = 137 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 = "分部" alignment alignment = right! boolean focusrectangle = false end type type ddlb_scid from uo_ddlb_scid within w_wfjg_py integer x = 905 integer y = 188 integer width = 549 integer height = 1120 boolean bringtotop = true end type event constructor;call super::constructor;cur_scid=this.uo_scid end event event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid parent.triggerevent("retrieve_pageretr") end event type cbx_1 from checkbox within w_wfjg_py integer x = 1952 integer y = 204 integer width = 457 integer height = 52 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 = "保存自动新建" end type event constructor;int li_auto li_auto =long(ProfileString(SYS_INIFILENAME, "outware_wfjg", "auto_add", string(0))) if li_auto = 1 then cbx_1.checked = true else cbx_1.checked = false end if end event type cbx_cmpl from checkbox within w_wfjg_py integer x = 2514 integer y = 204 integer width = 576 integer height = 52 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 boolean enabled = false string text = "外协件自动计成本价" end type event clicked;Int use_cmpl IF THIS.Checked THEN use_cmpl = 1 ELSE use_cmpl = 0 END IF SetProfileString (sys_inifilename,dw_pageretr.DataObject, "use_cmpl", String(use_cmpl)) end event event constructor;Int use_cmpl use_cmpl = Integer(ProfileString (sys_inifilename,dw_pageretr.DataObject, "use_cmpl", '0')) IF use_cmpl = 0 THEN THIS.Checked = FALSE ELSE THIS.Checked = TRUE END IF end event type cb_cmpl from commandbutton within w_wfjg_py integer x = 3118 integer y = 192 integer width = 206 integer height = 72 integer taborder = 70 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" boolean enabled = false string text = "计算" end type event clicked;Long ll_i,ll_mtrlid,ll_scid String ls_mtrlcode,ls_pfcode,arg_msg Decimal ld_price,ld_mprice,ld_outcost,ld_wagecost dw_uc.AcceptText() Long ll_row ll_row = dw_uc.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选择单据') RETURN END IF IF dw_uc.Object.ow_wfjg_out_outwareid[ll_row] = 0 THEN ll_scid = cur_scid ELSE ll_scid = dw_uc.Object.ow_wfjg_out_scid[ll_row] END IF uo_cmplcost uo_cmpl uo_cmpl = CREATE uo_cmplcost dw_child.AcceptText() FOR ll_i = 1 TO dw_child.RowCount() ld_price = 0 ld_mprice = 0 ld_outcost = 0 uo_cmpl.deep = 0 ll_mtrlid = dw_child.Object.ow_wfjgmx_out_mtrlid[ll_i] ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[ll_i] ls_pfcode = f_get_dft_pf(ll_mtrlid) IF ls_pfcode = '' THEN MessageBox('提示','查询物料:'+ls_mtrlcode+'默认BOM失败,'+arg_msg) RETURN END IF IF uo_cmpl.uof_get_cost(ll_scid,ll_mtrlid,ls_mtrlcode,ls_pfcode,1,1,ld_price,ld_mprice,ld_outcost,ld_wagecost,arg_msg) = 0 THEN MessageBox('提示','取物料:'+ls_mtrlcode+'单价失败'+arg_msg) RETURN END IF dw_child.Object.ow_wfjgmx_out_fprice[ll_i] = ld_price + ld_mprice + ld_outcost NEXT DESTROY uo_cmpl end event