$PBExportHeader$w_mtrlware_pzcode_trans.srw forward global type w_mtrlware_pzcode_trans from w_publ_1ton_share_detail end type type ddlb_scid from uo_ddlb_scid within w_mtrlware_pzcode_trans end type type ddlb_status from dropdownlistbox within w_mtrlware_pzcode_trans end type type st_2 from statictext within w_mtrlware_pzcode_trans end type type st_4 from statictext within w_mtrlware_pzcode_trans end type end forward global type w_mtrlware_pzcode_trans from w_publ_1ton_share_detail string title = "库存配置调整单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_p_print ( ) event ue_p_location ( ) event ue_cmpl_status_qty ( ) event ue_p_status ( ) event ue_p_woodcode ( ) event ue_p_pcode ( ) event ue_p_plancode ( ) event ue_p_sptid ( ) ddlb_scid ddlb_scid ddlb_status ddlb_status st_2 st_2 st_4 st_4 end type global w_mtrlware_pzcode_trans w_mtrlware_pzcode_trans type variables Long cur_scid //分店ID Int cur_flag = -1 Long cur_scid_arr[] //uo_checkback uo_check String ol_cdw_str = '' Int li_ifdd uo_mtrlware_pzcode_trans uo_trans end variables forward prototypes public function integer wf_flagstatus_rf () 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_refresh_curuc (long arg_billid) public function integer wf_title_change (datawindow arg_dw) public subroutine wf_face_child (long arg_storageid) end prototypes event insert_childrow();Long li_row li_row = dw_child.InsertRow(0) dw_child.ScrollToRow(li_row) dw_child.SetColumn ('u_mtrldef_mtrlcode') end event event ue_p_location();IF Not dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用') RETURN END IF IF MessageBox('询问','确认要按首行新仓位进行批设置吗?',question!,yesno!) = 2 THEN RETURN Long ll_i dw_child.AcceptText() IF dw_child.RowCount() = 0 THEN RETURN FOR ll_i = 1 To dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_mtrlware_pzcode_transmx_location_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_location_new[1] NEXT end event event ue_cmpl_status_qty();Int ll_flag Decimal ll_value Long ll_num Long i,j,k String ls_mtrlmode String ls_status Decimal ld_qty Decimal ld_addqty String ls_msg Long ll_type s_cmpl_addqty s_cmpl dw_child.AcceptText() IF dw_edit_mode THEN Open(w_cmpl_status_qty_ch) s_cmpl = Message.PowerObjectParm ll_flag = s_cmpl.flag ll_value = s_cmpl.addvalue ll_num = s_cmpl.num ll_type = s_cmpl.cmptype IF ll_value <= 0 THEN RETURN IF dw_child.RowCount() <= 0 THEN RETURN FOR i = 1 TO dw_child.RowCount() ld_addqty = dw_child.Object.u_mtrlware_pzcode_transmx_addqty[i] CHOOSE CASE ll_type CASE 0 ls_status = dw_child.Object.u_mtrlware_pzcode_transmx_status_new[i] CASE 1 ls_status = dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[i] CASE 2 ls_status = dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[i] CASE 3 ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i] CASE 4 ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i] END CHOOSE IF ld_addqty = 0 OR ls_status = '' THEN ELSE ld_qty = 0 IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN MessageBox('错误',ls_msg,stopsign!,OK!) GOTO ext END IF IF ll_flag = 0 THEN dw_child.Object.u_mtrlware_pzcode_transmx_qty[i] = Round(ld_qty * ll_value,ll_num) ELSE dw_child.Object.u_mtrlware_pzcode_transmx_qty[i] = Round(ld_qty / ll_value,ll_num) END IF END IF NEXT END IF ext: end event event ue_p_status();IF Not dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用') RETURN END IF IF MessageBox('询问','确认要按首行新'+sys_option_change_status+'进行批设置吗?',question!,yesno!) = 2 THEN RETURN Long ll_i dw_child.AcceptText() IF dw_child.RowCount() = 0 THEN RETURN FOR ll_i = 1 To dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_mtrlware_pzcode_transmx_status_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_status_new[1] NEXT end event event ue_p_woodcode();IF Not dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用') RETURN END IF IF MessageBox('询问','确认要按首行新'+sys_option_change_woodcode+'进行批设置吗?',question!,yesno!) = 2 THEN RETURN Long ll_i dw_child.AcceptText() IF dw_child.RowCount() = 0 THEN RETURN FOR ll_i = 1 To dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[1] NEXT end event event ue_p_pcode();IF Not dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用') RETURN END IF IF MessageBox('询问','确认要按首行新'+sys_option_change_pcode+'进行批设置吗?',question!,yesno!) = 2 THEN RETURN Long ll_i dw_child.AcceptText() IF dw_child.RowCount() = 0 THEN RETURN FOR ll_i = 1 To dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[1] NEXT end event event ue_p_plancode();IF Not dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用') RETURN END IF IF MessageBox('询问','确认要按首行新批号进行批设置吗?',question!,yesno!) = 2 THEN RETURN Long ll_i dw_child.AcceptText() IF dw_child.RowCount() = 0 THEN RETURN FOR ll_i = 1 To dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_mtrlware_pzcode_transmx_plancode_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_plancode_new[1] NEXT end event event ue_p_sptid();IF Not dw_edit_mode THEN MessageBox('提示','非编辑状态下不可用') RETURN END IF IF MessageBox('询问','确认要按首行新客户进行批设置吗?',question!,yesno!) = 2 THEN RETURN Long ll_i dw_child.AcceptText() IF dw_child.RowCount() = 0 THEN RETURN FOR ll_i = 1 To dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.ifcust[ll_i] = dw_child.Object.ifcust[1] dw_child.Object.u_cust_name_new[ll_i] = dw_child.Object.u_cust_name_new[1] dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[ll_i] = dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[1] NEXT end event public function integer wf_flagstatus_rf ();//wf_flagstatus_rf Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Enabled = FALSE cb_auditing_cancel.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.flag[pagerert_row] = 0 THEN cb_auditing.Enabled = TRUE cb_auditing_cancel.Enabled = FALSE ELSEIF dw_pageretr.Object.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_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.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_refresh_curuc (long arg_billid);IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0 Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN RETURN 0 Long billid DateTime billdate Long storageid String rep String relcode String dscrp String billcode Long scid Int flag String opemp DateTime opdate String modemp DateTime moddate String auditemp DateTime auditdate SELECT u_mtrlware_pzcode_trans.billid, u_mtrlware_pzcode_trans.billdate, u_mtrlware_pzcode_trans.storageid, u_mtrlware_pzcode_trans.rep, u_mtrlware_pzcode_trans.relcode, u_mtrlware_pzcode_trans.dscrp, u_mtrlware_pzcode_trans.billcode, u_mtrlware_pzcode_trans.scid, u_mtrlware_pzcode_trans.flag, u_mtrlware_pzcode_trans.opemp, u_mtrlware_pzcode_trans.opdate, u_mtrlware_pzcode_trans.modemp, u_mtrlware_pzcode_trans.moddate, u_mtrlware_pzcode_trans.auditemp, u_mtrlware_pzcode_trans.auditdate INTO :billid, :billdate, :storageid, :rep, :relcode, :dscrp, :billcode, :scid, :flag, :opemp, :opdate, :modemp, :moddate, :auditemp, :auditdate FROM u_mtrlware_pzcode_trans Where ( u_mtrlware_pzcode_trans .billid = :arg_billid ); IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示',"查询操作失败(错误单据唯一码)") RETURN 0 END IF dw_pageretr.Object.billid[uc_row] = billid dw_pageretr.Object.billdate[uc_row] = billdate dw_pageretr.Object.storageid[uc_row] = storageid dw_pageretr.Object.rep[uc_row] = rep dw_pageretr.Object.relcode[uc_row] = relcode dw_pageretr.Object.dscrp[uc_row] = dscrp dw_pageretr.Object.billcode[uc_row] = billcode dw_pageretr.Object.scid[uc_row] = scid dw_pageretr.Object.flag[uc_row] = flag dw_pageretr.Object.opemp[uc_row] = opemp dw_pageretr.Object.opdate[uc_row] = opdate dw_pageretr.Object.modemp[uc_row] = modemp dw_pageretr.Object.moddate[uc_row] = moddate dw_pageretr.Object.auditemp[uc_row] = auditemp dw_pageretr.Object.auditdate[uc_row] = auditdate 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_title_change (datawindow arg_dw);String ls_modify_str Int i Long Columns Columns = Long(arg_dw.Describe("DataWindow.Column.Count")) FOR i = 1 TO Columns ls_modify_str = arg_dw.Describe("#" + String(i) + ".name") ls_modify_str = Lower(ls_modify_str) IF Pos(ls_modify_str,'old_s') > 0 AND sys_option_change_status <> '' THEN IF Len(ls_modify_str) = Len('old_s') OR Pos(ls_modify_str,'_old_s') > 0 THEN arg_dw.Modify(ls_modify_str+'_t'+ ".text='原"+sys_option_change_status+"'") END IF END IF IF Pos(ls_modify_str,'old_w') > 0 AND sys_option_change_woodcode <> '' THEN IF Len(ls_modify_str) = Len('old_w') OR Pos(ls_modify_str,'_old_w') > 0 THEN arg_dw.Modify(ls_modify_str+'_t'+ ".text='原"+sys_option_change_woodcode+"'") END IF END IF IF Pos(ls_modify_str,'old_p') > 0 AND sys_option_change_pcode <> '' THEN IF Len(ls_modify_str) = Len('old_p') OR Pos(ls_modify_str,'_old_p') > 0 THEN arg_dw.Modify(ls_modify_str+'_t'+ ".text='原"+sys_option_change_pcode+"'") END IF END IF IF Pos(ls_modify_str,'_status_new') > 0 AND sys_option_change_status <> '' THEN IF Len(ls_modify_str) = Len('_status_new') OR Pos(ls_modify_str,'_status_new') > 0 THEN arg_dw.Modify(ls_modify_str+'_t'+ ".text='新"+sys_option_change_status+"'") END IF END IF IF Pos(ls_modify_str,'_woodcode_new') > 0 AND sys_option_change_woodcode <> '' THEN IF Len(ls_modify_str) = Len('_woodcode_new') OR Pos(ls_modify_str,'_woodcode_new') > 0 THEN arg_dw.Modify(ls_modify_str+'_t'+ ".text='新"+sys_option_change_woodcode+"'") END IF END IF IF Pos(ls_modify_str,'_pcode_new') > 0 AND sys_option_change_pcode <> '' THEN IF Len(ls_modify_str) = Len('_pcode_new') OR Pos(ls_modify_str,'_pcode_new') > 0 THEN arg_dw.Modify(ls_modify_str+'_t'+ ".text='新"+sys_option_change_pcode+"'") END IF END IF NEXT RETURN 1 end function public subroutine wf_face_child (long arg_storageid);Int iflocation //iflocation = f_find_iflocation(arg_storageid) // //IF iflocation = 0 THEN // dw_child.SetTabOrder('u_mtrlware_pzcode_transmx_location_new',0) //ELSE // dw_child.SetTabOrder('u_mtrlware_pzcode_transmx_location_new',80) // // IF iflocation = 1 THEN // dw_child.Modify("u_mtrlware_pzcode_transmx_location_new.dddw.allowedit = yes") // ELSE // dw_child.Modify("u_mtrlware_pzcode_transmx_location_new.dddw.allowedit = no") // END IF //END IF //ins_storageid = arg_storageid end subroutine on w_mtrlware_pzcode_trans.create int iCurrent call super::create this.ddlb_scid=create ddlb_scid this.ddlb_status=create ddlb_status this.st_2=create st_2 this.st_4=create st_4 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_scid this.Control[iCurrent+2]=this.ddlb_status this.Control[iCurrent+3]=this.st_2 this.Control[iCurrent+4]=this.st_4 end on on w_mtrlware_pzcode_trans.destroy call super::destroy destroy(this.ddlb_scid) destroy(this.ddlb_status) destroy(this.st_2) destroy(this.st_4) end on 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 //只显示自已管的仓库 datawindowchild childdw dw_uc.SetTransObject (sqlca) dw_uc.GetChild("storageid",childdw) childdw.SetTransObject (sqlca) IF childdw.Retrieve(cur_scid,sys_user_storageid) = 0 THEN childdw.InsertRow(0) END IF dw_uc.Retrieve() dw_pageretr.Retrieve(cur_scid_arr,cur_flag) IF dw_pageretr.RowCount() > 0 THEN dw_pageretr.SetRow(1) dw_pageretr.TriggerEvent(RowFocusChanged!) END IF 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+'( billcode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( billcode 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="(u_mtrlware_pzcode_trans.billcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(u_mtrlware_pzcode_trans.billcode 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 refresh_interface;call super::refresh_interface;wf_flagstatus_rf() ddlb_status.enabled=not dw_edit_mode ddlb_scid.enabled=not dw_edit_mode end event event close;call super::close;DESTROY uo_trans end event event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用 IF Not dw_edit_mode THEN RETURN Long child_row,ll_storageid = 0 Int li_statusflag,li_woodcodeflag,li_pcodeflag Long ll_statustype,ll_woodcodetype,ll_pcodetype Int li_ifmtrlcuscode Int li_ifcust s_mtrldef_array arg_s_mtrldef ll_storageid = dw_uc.Object.storageid[dw_uc.GetRow()] IF ll_storageid = 0 Or IsNull(ll_storageid) THEN MessageBox(publ_operator,'请先选择仓库') RETURN END IF child_row = dw_child.GetRow() IF Not IsValid(w_mtrlware_storageid_ch) THEN s_edit_index_tran s_tranf8 //传递参数使用 s_tranf8.if_retrieve_all = False //是否一次RETRIEVE所有行 s_tranf8.arg_pkid = 0 //目标定位PKID (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.b_long = - 1 //选择原料或产品 s_tranf8.d_long = ll_storageid s_tranf8.c_long = -1 Long chc = 1,ls_j dw_child.AcceptText() IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]) This.Enabled = False OpenWithParm(w_mtrlware_storageid_ch,s_tranf8) //调用 This.Enabled = True s_mtrlware_noalloc_array S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlwareid) IF S_INSCUST.mtrlwareid[ls_j] > 0 THEN IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_mtrlware_pzcode_transmx_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 IF S_INSCUST.sptid[ls_j] > 0 THEN li_ifcust = 1 ELSE li_ifcust = 0 END IF dw_child.Object.u_mtrlware_pzcode_transmx_mtrlwareid[child_row] = S_INSCUST.mtrlwareid[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.u_mtrldef_mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.u_mtrldef_zxmtrlmode[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_qty[child_row] = S_INSCUST.noallocqty[ls_j] - S_INSCUST.noauditingqty[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_cost[child_row] = S_INSCUST.cost[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_cost_hide[child_row] = S_INSCUST.cost[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_plancode[child_row] = S_INSCUST.plancode[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_old_s[child_row] = S_INSCUST.status[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_old_w[child_row] = S_INSCUST.woodcode[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_old_p[child_row] = S_INSCUST.pcode[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_sptid[child_row] = S_INSCUST.sptid[ls_j] // dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode[child_row] = S_INSCUST.mtrlcuscode[ls_j] // dw_child.Object.u_mtrlware_pzcode_transmx_location[child_row] = S_INSCUST.Location[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_sptid[child_row] = S_INSCUST.sptid[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_status_new[child_row] = S_INSCUST.status[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[child_row] = S_INSCUST.woodcode[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[child_row] = S_INSCUST.pcode[ls_j] // dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode_new[child_row] = S_INSCUST.mtrlcuscode[ls_j] // dw_child.Object.u_mtrlware_pzcode_transmx_location_new[child_row] = S_INSCUST.Location[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_plancode_new[child_row] = S_INSCUST.plancode[ls_j] dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[child_row] = S_INSCUST.sptid[ls_j] dw_child.Object.ifcust[child_row] = li_ifcust dw_child.Object.u_cust_name[child_row] = S_INSCUST.sptname[ls_j] dw_child.Object.u_cust_name_new[child_row] = S_INSCUST.sptname[ls_j] IF f_find_mtrl(S_INSCUST.u_mtrldef_mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 ll_statustype = 0 ll_woodcodetype = 0 ll_pcodetype = 0 // li_ifmtrlcuscode = 0 ELSE li_statusflag = arg_s_mtrldef.statusflag[1] ll_statustype = arg_s_mtrldef.statustype[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] ll_woodcodetype = arg_s_mtrldef.woodcodetype[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] ll_pcodetype = arg_s_mtrldef.pcodetype[1] // li_ifmtrlcuscode = arg_s_mtrldef.ifmtrlcuscode[1] END IF dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_statustype[child_row] = ll_statustype dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_woodcodetype[child_row] = ll_woodcodetype dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag dw_child.Object.u_mtrldef_pcodetype[child_row] = ll_pcodetype // dw_child.Object.u_mtrldef_ifmtrlcuscode[child_row] = li_ifmtrlcuscode dw_child.SetColumn('u_mtrlware_pzcode_transmx_qty') END IF NEXT This.TriggerEvent('ue_allowedit') dw_child.SetFocus() END IF end event event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid row = dw_pageretr.GetRow() IF row > 0 THEN uc_relid = dw_pageretr.Object.billid[row] dw_child.SetRedraw (FALSE) dw_child.Retrieve(uc_relid) dw_child.SetRedraw (TRUE) ELSE dw_child.Reset() END IF end event 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 = 6 //uc dw前7列可以编辑 child_column_int = 13 //子dw前8列可以编辑 uo_trans = CREATE uo_mtrlware_pzcode_trans s_hide_col s_col s_col.col_1 = 'u_mtrlware_pzcode_transmx_cost' s_col.col_2 = 'amt' f_hide_col(123,dw_child,s_col) end event event ue_viewprint;call super::ue_viewprint;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_powerid = 0 then ls_powerid = 1645 IF ls_newname <> '' THEN IF Not f_power_ind(ls_powerid,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF li_auditprint = 1 THEN IF dw_pageretr.Object.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(1645,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_mtrlware_pzcode_trans_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 = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() OpenWithParm(w_publ_preview,LS_PRMSG) end event event ue_print;call super::ue_print;//--直接打印 uo_print_preview uo_print IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN S_print_MSG LS_PRMSG IF dw_pageretr.GetRow() = 0 THEN MessageBox('系统信息','没有可打印的单据!') RETURN END IF if ls_powerid = 0 then ls_powerid = 1645 IF ls_newname <> '' THEN IF NOT f_power_ind(ls_powerid,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF li_auditprint = 1 THEN IF dw_pageretr.Object.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(1645,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_mtrlware_pzcode_trans_edit' END IF IF LS_PRMSG.obj_dwNAME = '' THEN RETURN LS_PRMSG.printrow = ll_prownum LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.TAG_TEXT = '库存配置调整单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[dw_pageretr.GetRow()] LS_PRMSG.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG end event event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1644,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' String 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_trans.add_dscrp(dw_pageretr.Object.billid[uc_row],ls_str,arg_msg) = 0 THEN MessageBox('error!',arg_msg) RETURN ELSE MessageBox(publ_operator,'添加备注操作成功!') wf_refresh_curuc(dw_pageretr.Object.billid[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.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.scid[row] s_print.retr_pramnmb = dw_pageretr.Object.billid[row] s_print.rowcnt = dw_child.RowCount() OpenWithParm(w_rpt_preview,s_print) 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.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.scid[row] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[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() end event event ue_f9;call super::ue_f9;IF NOT dw_edit_mode THEN RETURN Long child_row dw_child.AcceptText() child_row = dw_child.GetRow() IF child_row <= 0 THEN RETURN IF NOT IsValid(W_cust_ch) THEN THIS.Enabled = FALSE OpenWithParm(W_cust_ch,'') //调用 THIS.Enabled = TRUE s_custom S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值 dw_child.SetRedraw(FALSE) dw_child.Object.ifcust[child_row] = 1 dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[child_row] = S_INSCUST.cusid dw_child.Object.u_cust_name_new[child_row] = S_INSCUST.Name dw_child.SetRedraw(TRUE) END IF END IF end event type cb_func from w_publ_1ton_share_detail`cb_func within w_mtrlware_pzcode_trans end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_mtrlware_pzcode_trans end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_mtrlware_pzcode_trans integer x = 197 integer width = 549 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_mtrlware_pzcode_trans end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_mtrlware_pzcode_trans end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_mtrlware_pzcode_trans integer x = 1806 integer width = 1733 integer height = 712 string dataobject = "dw_mtrlware_pzcode_trans_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_mtrlware_pzcode_trans integer x = 27 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_mtrlware_pzcode_trans end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_mtrlware_pzcode_trans integer width = 1801 integer height = 712 string dataobject = "dw_mtrlware_pzcode_trans_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 ( ) = 'dscrp' AND Key = KeyEnter! THEN dw_child.SetFocus() dw_child.ScrollToRow(1) dw_child.SetColumn ('u_mtrldef_mtrlcode') 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 event event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN Long ll_storageid IF dwo.Name = 'storageid' THEN dw_uc.AcceptText() dw_child.Reset() PARENT.TriggerEvent("insert_childrow") ll_storageid = dw_uc.Object.storageid[row] wf_face_child(ll_storageid) END IF end event event dw_uc::doubleclicked;// end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_mtrlware_pzcode_trans integer x = 914 integer y = 712 integer width = 855 integer height = 132 end type type dw_child from w_publ_1ton_share_detail`dw_child within w_mtrlware_pzcode_trans integer y = 1012 integer width = 3543 integer height = 1156 string dataobject = "dw_mtrlware_pzcode_trans_mx_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_mtrlsectype,ls_zxmtrlmode,ls_usermtrlmode Long ls_mtrlid,ls_mtrlwareid String ls_plancode,ls_status,ls_woodcode,ls_pcode Int li_statusflag,li_woodcodeflag,li_pcodeflag Long ll_statustype,ll_woodcodetype,ll_pcodetype Decimal ls_cost,ls_noallocqty String ls_mtrlcuscode,ls_location Long ls_storageid,ll_sptid String ls_cusname Int li_ifcust Int li_ifmtrlcuscode Long child_row s_mtrldef_array arg_s_mtrldef s_mtrlware_noalloc_array arg_s_mtrlware IF dw_edit_mode THEN dw_uc.AcceptText() dw_uc.AcceptText() ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()] IF ls_storageid = 0 Or IsNull(ls_storageid) THEN MessageBox(publ_operator,'请先选择仓库') RETURN 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() ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row] IF f_find_mtrlware(ls_mtrlcode,ls_storageid,-1,arg_s_mtrlware) = 0 THEN Parent.TriggerEvent('ue_f8') RETURN 1 ELSE ls_mtrlwareid = arg_s_mtrlware.mtrlwareid[1] ls_mtrlid = arg_s_mtrlware.mtrlid[1] ls_mtrlcode = arg_s_mtrlware.u_mtrldef_mtrlcode[1] ls_mtrlname = arg_s_mtrlware.u_mtrldef_mtrlname[1] ls_unit = arg_s_mtrlware.u_mtrldef_unit[1] ls_mtrlmode = arg_s_mtrlware.u_mtrldef_mtrlmode[1] ls_plancode = arg_s_mtrlware.plancode[1] ls_cost = arg_s_mtrlware.cost[1] ls_noallocqty = arg_s_mtrlware.noallocqty[1] ls_status = arg_s_mtrlware.status[1] ls_woodcode = arg_s_mtrlware.woodcode[1] ls_pcode = arg_s_mtrlware.pcode[1] ls_mtrlsectype = arg_s_mtrlware.u_mtrldef_mtrlsectype[1] ls_zxmtrlmode = arg_s_mtrlware.u_mtrldef_zxmtrlmode[1] // ls_usermtrlmode = arg_s_mtrlware.usermtrlmode[1] // ls_mtrlcuscode = arg_s_mtrlware.mtrlcuscode[1] // ls_location = arg_s_mtrlware.Location[1] ll_sptid = arg_s_mtrlware.sptid[1] END IF IF ll_sptid > 0 THEN li_ifcust = 1 SELECT Name Into :ls_cusname From u_cust Where cusid = :ll_sptid; IF sqlca.SQLCode <> 0 THEN ls_cusname = '' ELSE li_ifcust = 0 ls_cusname = '' END IF dw_child.Object.u_mtrlware_pzcode_transmx_mtrlwareid[child_row] = ls_mtrlwareid dw_child.Object.u_mtrlware_pzcode_transmx_mtrlid[child_row] = ls_mtrlid dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode 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.u_mtrlware_pzcode_transmx_qty[child_row] = ls_noallocqty dw_child.Object.u_mtrlware_pzcode_transmx_cost[child_row] = ls_cost dw_child.Object.u_mtrlware_pzcode_transmx_cost_hide[child_row] = ls_cost dw_child.Object.u_mtrlware_pzcode_transmx_status_new[child_row] = ls_status dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[child_row] = ls_woodcode dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[child_row] = ls_pcode // dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode_new[child_row] = ls_mtrlcuscode // dw_child.Object.u_mtrlware_pzcode_transmx_location_new[child_row] = ls_location dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[child_row] = ll_sptid dw_child.Object.u_mtrlware_pzcode_transmx_plancode_new[child_row] = ls_plancode dw_child.Object.ifcust[child_row] = 1 dw_child.Object.u_cust_name_new[child_row] = ls_cusname dw_child.Object.u_cust_name[child_row] = ls_cusname dw_child.Object.u_mtrlware_pzcode_transmx_old_s[child_row] = ls_status dw_child.Object.u_mtrlware_pzcode_transmx_old_w[child_row] = ls_woodcode dw_child.Object.u_mtrlware_pzcode_transmx_old_p[child_row] = ls_pcode // dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode[child_row] = ls_mtrlcuscode // dw_child.Object.u_mtrlware_pzcode_transmx_location[child_row] = ls_location dw_child.Object.u_mtrlware_pzcode_transmx_sptid[child_row] = ll_sptid dw_child.Object.u_mtrlware_pzcode_transmx_plancode[child_row] = ls_plancode IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 ll_statustype = 0 ll_woodcodetype = 0 ll_pcodetype = 0 // li_ifmtrlcuscode = 0 ELSE li_statusflag = arg_s_mtrldef.statusflag[1] ll_statustype = arg_s_mtrldef.statustype[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] ll_woodcodetype = arg_s_mtrldef.woodcodetype[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] ll_pcodetype = arg_s_mtrldef.pcodetype[1] // li_ifmtrlcuscode = arg_s_mtrldef.ifmtrlcuscode[1] END IF dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_statustype[child_row] = ll_statustype dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_woodcodetype[child_row] = ll_woodcodetype dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag dw_child.Object.u_mtrldef_pcodetype[child_row] = ll_pcodetype // dw_child.Object.u_mtrldef_ifmtrlcuscode[child_row] = li_ifmtrlcuscode Parent.TriggerEvent('ue_allowedit') 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( ) = 'u_mtrlware_pzcode_transmx_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::doubleclicked;dw_child.AcceptText() IF dw_edit_mode THEN IF row > 0 THEN IF dwo.Name = 'u_cust_name_new' THEN Parent.TriggerEvent('ue_f9') ELSE Parent.TriggerEvent('ue_f8') END IF END IF END IF end event event dw_child::constructor;call super::constructor;wf_title_change(this) end event event dw_child::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN This.AcceptText() IF dwo.Name = 'ifcust' THEN IF This.Object.ifcust[row] = 1 THEN dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[row] = 0 dw_child.Object.u_cust_name_new[row] = '' END IF END IF end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_mtrlware_pzcode_trans end type type cb_print from w_publ_1ton_share_detail`cb_print within w_mtrlware_pzcode_trans end type type cb_add from w_publ_1ton_share_detail`cb_add within w_mtrlware_pzcode_trans end type event cb_add::clicked;IF NOT f_power_ind(1640,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF String arg_msg = '' Long uc_row,i,j,count s_mtrlware_pzcode_trans arg_s_trans 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.billdate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('系统提示','不合理的单据日期!') dw_uc.SetFocus() dw_uc.SetColumn("billdate") RETURN END IF IF dw_uc.object.storageid[uc_row] = 0 THEN MessageBox('系统提示','请选择仓库!') dw_uc.SetFocus() dw_uc.SetColumn("storageid") RETURN END IF IF NOT Len(String(dw_uc.Object.rep[uc_row])) > 0 THEN MessageBox('系统提示','请填写经手人!') dw_uc.SetFocus() dw_uc.SetColumn("rep") RETURN END IF FOR j = 1 TO dw_child.RowCount() IF dw_child.Object.u_mtrlware_pzcode_transmx_mtrlwareid[j] = 0 THEN CONTINUE IF dw_child.Object.u_mtrlware_pzcode_transmx_qty[j] <= 0 THEN MessageBox('系统提示','第'+String(j)+'行,不合理的转换数') RETURN END IF NEXT IF dw_uc.Object.billid[uc_row] = 0 THEN arg_s_trans.scid = cur_scid ELSE arg_s_trans.scid = dw_uc.Object.scid[uc_row] END IF arg_s_trans.billid = dw_uc.Object.billid[uc_row] arg_s_trans.rep = dw_uc.Object.rep[uc_row] arg_s_trans.relcode = dw_uc.Object.relcode[uc_row] arg_s_trans.dscrp = dw_uc.Object.dscrp[uc_row] arg_s_trans.storageid = dw_uc.Object.storageid[uc_row] arg_s_trans.billdate = dw_uc.Object.billdate[uc_row] FOR i = 1 TO dw_child.RowCount() IF dw_child.Object.u_mtrlware_pzcode_transmx_mtrlwareid[i] > 0 THEN count++ arg_s_trans.arg_s_mx[count].printid = count arg_s_trans.arg_s_mx[count].mtrlid = dw_child.Object.u_mtrlware_pzcode_transmx_mtrlid[i] arg_s_trans.arg_s_mx[count].mtrlwareid = dw_child.Object.u_mtrlware_pzcode_transmx_mtrlwareid[i] arg_s_trans.arg_s_mx[count].status = dw_child.Object.u_mtrlware_pzcode_transmx_old_s[i] arg_s_trans.arg_s_mx[count].woodcode = dw_child.Object.u_mtrlware_pzcode_transmx_old_w[i] arg_s_trans.arg_s_mx[count].pcode = dw_child.Object.u_mtrlware_pzcode_transmx_old_p[i] arg_s_trans.arg_s_mx[count].plancode = dw_child.Object.u_mtrlware_pzcode_transmx_plancode[i] // arg_s_trans.arg_s_mx[count].mtrlcuscode = dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode[i] // arg_s_trans.arg_s_mx[count].location = dw_child.Object.u_mtrlware_pzcode_transmx_location[i] arg_s_trans.arg_s_mx[count].sptid = dw_child.Object.u_mtrlware_pzcode_transmx_sptid[i] arg_s_trans.arg_s_mx[count].qty = dw_child.Object.u_mtrlware_pzcode_transmx_qty[i] arg_s_trans.arg_s_mx[count].cost = dw_child.Object.u_mtrlware_pzcode_transmx_cost_hide[i] arg_s_trans.arg_s_mx[count].status_new = dw_child.Object.u_mtrlware_pzcode_transmx_status_new[i] arg_s_trans.arg_s_mx[count].woodcode_new = dw_child.Object.u_mtrlware_pzcode_transmx_woodcode_new[i] arg_s_trans.arg_s_mx[count].pcode_new = dw_child.Object.u_mtrlware_pzcode_transmx_pcode_new[i] arg_s_trans.arg_s_mx[count].plancode_new = dw_child.Object.u_mtrlware_pzcode_transmx_plancode_new[i] // arg_s_trans.arg_s_mx[count].mtrlcuscode_new = dw_child.Object.u_mtrlware_pzcode_transmx_mtrlcuscode_new[i] // arg_s_trans.arg_s_mx[count].location_new = dw_child.Object.u_mtrlware_pzcode_transmx_location_new[i] arg_s_trans.arg_s_mx[count].sptid_new = dw_child.Object.u_mtrlware_pzcode_transmx_sptid_new[i] arg_s_trans.arg_s_mx[count].mxdscrp = dw_child.Object.u_mtrlware_pzcode_transmx_mxdscrp[i] arg_s_trans.arg_s_mx[count].addqty = dw_child.Object.u_mtrlware_pzcode_transmx_addqty[i] END IF NEXT IF uo_trans.Save(arg_s_trans,publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF MessageBox('提示','保存操作成功!') Long ll_row ll_row = dw_pageretr.GetRow() dw_pageretr.SelectRow(0,FALSE) dw_pageretr.SelectRow(ll_row,TRUE) wf_refresh_curuc(uo_trans.uo_billid) //刷新uc ELSE IF cur_scid < 0 THEN MessageBox('提示','请选择分部!') RETURN END IF END IF CALL SUPER::Clicked IF dw_edit_mode THEN PARENT.TriggerEvent("insert_childrow") dw_uc.SetRedraw(FALSE) dw_uc.Object.rep[1] =publ_operator dw_uc.SetColumn("billdate") dw_uc.SetRedraw(TRUE) ELSE PARENT.TriggerEvent("retrieve_childdw") END IF end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_mtrlware_pzcode_trans end type event cb_edit::clicked;IF NOT f_power_ind(1640,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) 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_trans.updatebegin(dw_pageretr.Object.billid[uc_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF wf_refresh_curuc(dw_pageretr.Object.billid[uc_row]) PARENT.TriggerEvent("retrieve_childdw") PARENT.TriggerEvent('ue_allowedit') END IF CALL SUPER::Clicked end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_mtrlware_pzcode_trans end type event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1641,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF String arg_msg = '' IF dw_edit_mode THEN RETURN 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_trans.del(dw_pageretr.Object.billid[uc_row],1,arg_msg,TRUE) = 0 THEN MessageBox('error!',arg_msg) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.billid[uc_row] ls_code = dw_pageretr.Object.billcode[uc_row] f_setsysoplog('库存配置调整单','库存配置调整单删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.billcode[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_mtrlware_pzcode_trans end type event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr IF NOT dw_edit_mode THEN menustr = "Text=增加备注~tEvent=ue_addzy" 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 cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_mtrlware_pzcode_trans string tag = "按Ctrl再点击可实现批审核" end type event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1642,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' IF NOT KeyDown(KeyControl!) THEN 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_trans.audit(dw_pageretr.Object.billid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('error!',arg_msg) ELSE MessageBox(publ_operator,'审核成功!') wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row]) END IF ELSE IF MessageBox ("if","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN Long ll_i,ll_billid Int li_flag Long ll_suc,ll_fail dw_pageretr.AcceptText() Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount()) FOR ll_i = 1 TO dw_pageretr.RowCount() w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.billid[ll_i] + " 正在审核..." //进度信息 li_flag = dw_pageretr.Object.flag[ll_i] IF li_flag = 1 THEN CONTINUE ll_billid = dw_pageretr.Object.billid[ll_i] IF uo_trans.audit(ll_billid,publ_operator,arg_msg,TRUE) = 0 THEN ll_fail++ CONTINUE END IF ll_suc++ w_sys_wait_jdt.wf_inc(ll_i) //进度 NEXT Close(w_sys_wait_jdt) MessageBox(publ_operator,'批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail)) PARENT.TriggerEvent('retrieve_pageretr') END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_mtrlware_pzcode_trans end type event cb_xm::clicked; is_mx_menustr = '' IF dw_edit_mode THEN // is_mx_menustr += "|" + "Text=批设置新仓库~tEvent=ue_p_location" is_mx_menustr += "|" + "Text=批设置"+sys_option_change_status+"~tEvent=ue_p_status" is_mx_menustr += "|" + "Text=批设置"+sys_option_change_woodcode+"~tEvent=ue_p_woodcode" is_mx_menustr += "|" + "Text=批设置"+sys_option_change_pcode+"~tEvent=ue_p_pcode" is_mx_menustr += "|" + "Text=批设置批号~tEvent=ue_p_plancode" is_mx_menustr += "|" + "Text=批设置客户~tEvent=ue_p_sptid" is_mx_menustr += "|" + "Text=批按辅数和配置计算数量~tEvent=ue_cmpl_status_qty" END IF CALL SUPER::Clicked end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_mtrlware_pzcode_trans end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_mtrlware_pzcode_trans end type type cb_help from w_publ_1ton_share_detail`cb_help within w_mtrlware_pzcode_trans end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_mtrlware_pzcode_trans end type event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(1643,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) 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_trans.caudit(dw_pageretr.object.billid[pagerert_row],arg_msg,true) = 0 THEN MessageBox('error!',arg_msg) ELSE MessageBox(publ_operator,'撤销审核成功!') wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row]) //日志 String ls_code ls_code = dw_pageretr.Object.billcode[pagerert_row] f_setsysoplog('库存配置调整单','库存配置调整单撤审'+',code:'+ls_code,arg_msg,TRUE) //-- END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_mtrlware_pzcode_trans end type type p_help from w_publ_1ton_share_detail`p_help within w_mtrlware_pzcode_trans end type type p_encl from w_publ_1ton_share_detail`p_encl within w_mtrlware_pzcode_trans end type type p_other from w_publ_1ton_share_detail`p_other within w_mtrlware_pzcode_trans end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_mtrlware_pzcode_trans end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_mtrlware_pzcode_trans end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_mtrlware_pzcode_trans end type type r_bar from w_publ_1ton_share_detail`r_bar within w_mtrlware_pzcode_trans end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_mtrlware_pzcode_trans end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_mtrlware_pzcode_trans end type type ddlb_scid from uo_ddlb_scid within w_mtrlware_pzcode_trans integer x = 891 integer y = 192 integer width = 549 integer height = 604 integer taborder = 20 boolean bringtotop = true end type event constructor;call super::constructor;cur_scid=this.uo_scid cur_scid_arr = THIS.uo_scid_arr end event event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid cur_scid_arr = THIS.uo_scid_arr parent.triggerevent("retrieve_pageretr") end event type ddlb_status from dropdownlistbox within w_mtrlware_pzcode_trans integer x = 1582 integer y = 192 integer width = 297 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_mtrlware_pzcode_trans integer x = 1408 integer y = 204 integer width = 155 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_4 from statictext within w_mtrlware_pzcode_trans integer x = 718 integer y = 204 integer width = 155 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