$PBExportHeader$w_inware_buy_wareaudit.srw forward global type w_inware_buy_wareaudit from w_publ_1ton_share_detail end type type ddlb_scid from uo_ddlb_scid within w_inware_buy_wareaudit end type type ddlb_status from dropdownlistbox within w_inware_buy_wareaudit end type type st_3 from statictext within w_inware_buy_wareaudit end type type st_2 from statictext within w_inware_buy_wareaudit end type end forward global type w_inware_buy_wareaudit from w_publ_1ton_share_detail string title = "采购收货单仓审/仓撤" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_secauditing ( ) event ue_csecauditing ( ) event ue_fj_edit ( ) event ue_fj_view ( ) event ue_cpml_qty ( ) event ue_cmpl_addqty ( ) event ue_mod_banktype ( ) event ue_mod_price ( ) event ue_cmpl_status_qty ( ) event ue_cmpl_qty ( ) event ue_p_cmpl_qty ( ) event ue_p_formula_set ( ) ddlb_scid ddlb_scid ddlb_status ddlb_status st_3 st_3 st_2 st_2 end type global w_inware_buy_wareaudit w_inware_buy_wareaudit type variables Long cur_scid Int cur_flag = -1 Int cur_secflag = -1 uo_inware_buy uo_ware uo_spt_price uo_sptprice Long cur_id = 0 Int cur_editfocus = 0 Long aflag = 0 String ol_cdw_str = '' Long flag = 0 Long secflag = 0 end variables forward prototypes public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid) public function integer wf_flagstatus_rf () public function integer wf_check_print (ref string arg_msg) public function integer wf_check_over (ref string arg_msg) public subroutine wf_check_billfj () 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_get_wareqty (long arg_mtrlid, string arg_mtrlcode, ref decimal arg_wareqty, 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.u_inwaremx_ifrel[li_row] = sys_option_autoyes dw_child.SetColumn ('u_mtrldef_mtrlcode') end event event ue_secauditing();//IF dw_edit_mode THEN // MessageBox('系统提示',"编辑状态下不可以使用!") // return //END IF // //IF NOT f_power_ind(813) THEN // MessageBox(publ_operator,'你没有使用权限!') // RETURN //END IF // //string arg_msg='' // //if messagebox ("if","是否确定要审核当前单据?",question!,yesno! ) = 2 then return //long pagerert_row // //pagerert_row=dw_uc.getrow() //if pagerert_row<=0 then // messagebox('系统提示','请选定当前目标单据!') // return //end if // ////==================================================================== //if uo_ware.getinfo(cur_scid,dw_uc.object.inwareid[pagerert_row],arg_msg)=0 then // messagebox('error!',arg_msg) // return //end if // //if uo_ware.secauditing(true,arg_msg)=0 then // messagebox('error!',arg_msg) //else // messagebox(publ_operator,'审核成功!') // wf_refresh_curuc(cur_scid,dw_uc.object.inwareid[pagerert_row]) // sle_usual_query.setfocus() // sle_usual_query.selecttext(1,len(sle_usual_query.text)) // //end if end event event ue_csecauditing();//IF dw_edit_mode THEN // MessageBox('系统提示',"编辑状态下不可以使用!") // return //END IF // //IF NOT f_power_ind(814) THEN // MessageBox(publ_operator,'你没有使用权限!') // RETURN //END IF // //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(cur_scid,dw_pageretr.object.inwareid [pagerert_row],arg_msg)=0 then // messagebox('Error!',arg_msg) // return //end if // //if dw_pageretr.object.u_inware_secflag[pagerert_row]=1 then // if uo_ware.c_secauditing(true,arg_msg)=0 then // messagebox('Error!',arg_msg) // else // //日志 // long ls_id // string ls_code // ls_id=dw_uc.object.inwareid[pagerert_row] // ls_code=dw_uc.object.inwarecode[pagerert_row] // f_setsysoplog('采购收货单','财务撤审,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true) // //-- // messagebox(publ_operator,'撤审成功!') // wf_refresh_curuc(cur_scid,dw_pageretr.object.inwareid[pagerert_row]) // end if //end if end event event ue_fj_edit();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用', Information!, OK! ) RETURN END IF //IF NOT f_power_ind(1098) THEN // MessageBox(publ_operator,'你没有使用权限!') // RETURN //END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row ls_row = dw_pageretr.GetRow() IF ls_row <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! ) RETURN END IF s_pic.f_long = 403 //销售订单的mainID s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row] s_pic.g_long = dw_pageretr.Object.inwareid[ls_row] s_pic.e_long = dw_pageretr.Object.u_inware_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_mng,s_pic) wf_check_billfj() end event event ue_fj_view();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用', Information!, OK! ) RETURN END IF s_edit_index_tran s_pic Long ll_ConnectionID String arg_msg Long ls_row ls_row = dw_pageretr.GetRow() IF ls_row <= 0 THEN RETURN END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! ) RETURN END IF s_pic.f_long = 403 //销售订单的mainID s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row] s_pic.g_long = dw_pageretr.Object.inwareid[ls_row] s_pic.e_long = dw_pageretr.Object.u_inware_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event event ue_cpml_qty();//ue_cpml_qty string ls_rate,ls_status,ls_qty[] decimal ll_rate,ll_qty[],ld_qty = 1 long i,j,k long ll_cmp1,ll_cmp2 s_changerate s_rate dw_child.accepttext() if dw_edit_mode then open(w_changerate_ch) s_rate = message.powerobjectparm ll_rate = dec(s_rate.rate) ll_cmp1 = s_rate.cmp1 ll_cmp2 = s_rate.cmp2 if ll_rate <= 0 then return if dw_child.rowcount() <= 0 then return for i= 1 to dw_child.rowcount() if ll_cmp1 = 1 then if isnull(dw_child.object.u_inwaremx_status[i]) then continue else ls_status = dw_child.object.u_inwaremx_status[i] end if elseif ll_cmp1 = 2 then if isnull(dw_child.object.u_inwaremx_woodcode[i]) then continue else ls_status = dw_child.object.u_inwaremx_woodcode[i] end if else if isnull(dw_child.object.u_inwaremx_pcode[i]) then continue else ls_status = dw_child.object.u_inwaremx_pcode[i] end if end if if ll_cmp2 = 1 then if dw_child.object.u_inwaremx_addqty[i] = 0 then else ls_status = ls_status + '*' + string(dw_child.object.u_inwaremx_addqty[i]) end if end if if isnull(ls_status) then continue else // ls_status = dw_child.object.u_inwaremx_status[i] if pos(ls_status,'*') = 0 then continue else j = 0 do while pos(ls_status,'*') > 0 j++ ls_qty[j] = mid(ls_status,1,pos(ls_status,'*') - 1) ls_status = mid(ls_status,pos(ls_status,'*') + 1) loop j++ ls_qty[j] = ls_status end if ld_qty = 1 for k =1 to j ld_qty = ld_qty * dec(ls_qty[k]) next dw_child.object.u_inwaremx_uqty[i] = round(ld_qty / ll_rate,10) end if next end if end event event ue_cmpl_addqty();Int ll_flag Decimal ll_value long ll_num String ls_qty[] Decimal ld_qty Long i,j,k String ls_mtrlmode s_cmpl_addqty s_cmpl dw_child.AcceptText() IF dw_edit_mode THEN Open(w_cmpl_addqty_ch) s_cmpl = Message.PowerObjectParm ll_flag = s_cmpl.flag ll_value = s_cmpl.addvalue ll_num = s_cmpl.num IF ll_value <= 0 THEN RETURN IF dw_child.RowCount() <= 0 THEN RETURN FOR i = 1 TO dw_child.RowCount() IF IsNull(ls_mtrlmode) THEN CONTINUE ELSE ls_mtrlmode = dw_child.Object.u_mtrldef_mtrlmode[i] IF Pos(ls_mtrlmode,'*') = 0 THEN CONTINUE ELSE j = 0 DO WHILE Pos(ls_mtrlmode,'*') > 0 j++ ls_qty[j] = Mid(ls_mtrlmode,1,Pos(ls_mtrlmode,'*') - 1) ls_mtrlmode = Mid(ls_mtrlmode,Pos(ls_mtrlmode,'*') + 1) LOOP j++ ls_qty[j] = ls_mtrlmode END IF ld_qty = 1 FOR k = 1 TO j ld_qty = ld_qty * Dec(ls_qty[k]) NEXT IF ll_flag = 0 THEN dw_child.Object.u_inwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_inwaremx_uqty[i] * ll_value,ll_num) ELSE dw_child.Object.u_inwaremx_addqty[i] = Round(ld_qty * dw_child.Object.u_inwaremx_uqty[i] / ll_value,ll_num) END IF END IF NEXT END IF end event event ue_mod_banktype();//更新结算方式 IF Not f_power_ind(974) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF IF dw_edit_mode THEN RETURN dw_pageretr.AcceptText() Long ll_row ll_row = dw_pageretr.GetRow() IF dw_pageretr.Object.flag[ll_row] = 1 AND dw_pageretr.Object.u_inware_secflag[ll_row] = 0 THEN s_inware_banktype s_banktype s_banktype.scid = dw_pageretr.Object.u_inware_scid[ll_row] s_banktype.inwareid = dw_pageretr.Object.inwareid[ll_row] s_banktype.banktypeid = dw_pageretr.Object.u_inware_relint_1[ll_row] openwithparm(w_inware_buy_mod_banktype,s_banktype) wf_refresh_curuc(s_banktype.scid,s_banktype.inwareid) //刷新uc ELSE MessageBox('提示','结算方式在仓审后才能修改', Information!, OK! ) END IF end event event ue_mod_price();IF NOT f_power_ind(979) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可使用', Information!, OK! ) RETURN END IF Long uc_row,child_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选择单据', Information!, OK! ) RETURN END IF child_row = dw_child.GetRow() IF child_row <= 0 THEN MessageBox('提示','请选择明细内容', Information!, OK! ) RETURN END IF Long ll_flag ,ll_secflag,ll_balcflag Long ll_scid,ll_inwareid,ll_printid ll_flag = dw_pageretr.Object.flag[uc_row] ll_secflag = dw_pageretr.Object.u_inware_secflag[uc_row] ll_balcflag = dw_pageretr.Object.balcflag[uc_row] ll_scid = dw_pageretr.Object.u_inware_scid[uc_row] ll_inwareid = dw_pageretr.Object.inwareid[uc_row] ll_printid = dw_child.Object.u_inwaremx_printid[child_row] IF ll_flag = 0 THEN MessageBox('提示','进仓单待审核状态下不能执行修改单价功能', Information!, OK! ) RETURN END IF IF ll_secflag = 1 THEN MessageBox('提示','单据已财审,不能执行修改单价功能', Information!, OK! ) RETURN END IF IF ll_balcflag = 1 THEN MessageBox('提示','单据已结存,不能执行修改单价功能', Information!, OK! ) RETURN END IF s_edit_index_tran s_tran_mod s_tran_mod.b_long = ll_scid s_tran_mod.c_long = ll_inwareid s_tran_mod.d_long = ll_printid OpenWithParm(w_inwaremx_buy_mod_price,s_tran_mod) THIS.TriggerEvent('retrieve_childdw') 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() dw_uc.SetRedraw(FALSE) 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_inwaremx_addqty[i] CHOOSE CASE ll_type CASE 0 ls_status = dw_child.Object.u_inwaremx_status[i] CASE 1 ls_status = dw_child.Object.u_inwaremx_woodcode[i] CASE 2 ls_status = dw_child.Object.u_inwaremx_pcode[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, Information!, OK! ) GOTO ext END IF IF ll_flag = 0 THEN dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty * ll_value,ll_num) ELSE dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty / ll_value,ll_num) END IF END IF NEXT END IF ext: dw_uc.SetRedraw(TRUE) end event event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN Long child_row dw_child.AcceptText() child_row = dw_child.GetRow() s_cmpl_qty s_cmpl,s_return s_cmpl.qty = dw_child.Object.u_inwaremx_uqty[child_row] s_cmpl.formula = dw_child.Object.u_inwaremx_formula[child_row] s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[child_row] s_cmpl.price = dw_child.Object.u_inwaremx_uprice[child_row] s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[child_row] s_cmpl.status = dw_child.Object.u_inwaremx_status[child_row] s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[child_row] s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[child_row] s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row] s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row] IF NOT IsValid(w_cmpl_qty_ch) THEN OpenWithParm(w_cmpl_qty_ch,s_cmpl) s_return = Message.PowerObjectParm IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN dw_child.Object.u_inwaremx_uqty[child_row] = s_return.qty dw_child.Object.u_inwaremx_formula[child_row] = s_return.formula END IF END IF end event event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN Long i String ls_formula String ls_msg String ls_rs String ls_num Decimal ld_addqty Decimal ld_price Decimal ld_rebate Decimal ld_qty dw_child.AcceptText() s_cmpl_qty s_cmpl Open(w_cmpl_qty_ch_son) s_cmpl = Message.PowerObjectParm dw_uc.SetRedraw(FALSE) FOR i = 1 TO dw_child.RowCount() ld_qty = 0 IF dw_child.Object.u_inwaremx_formula[i] <> '' THEN s_cmpl.formula = dw_child.Object.u_inwaremx_formula[i] s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[i] s_cmpl.price = dw_child.Object.u_inwaremx_uprice[i] s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[i] s_cmpl.status = dw_child.Object.u_inwaremx_status[i] s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[i] s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[i] s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i] s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i] IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN MessageBox('提示','第' + String(i) + '行,' + ls_msg, Information!, OK! ) GOTO ext END IF dw_child.Object.u_inwaremx_uqty[i] = ld_qty END IF NEXT ext: dw_child.SetColumn('u_inwaremx_uqty') dw_uc.SetRedraw(TRUE) end event event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定公式', question!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_inwaremx_formula[ll_i] = dw_child.Object.u_inwaremx_formula[1] NEXT dw_child.SetRedraw(TRUE) end event public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid);//==================================================================== // Function: wf_refresh_curuc(arg_scid,arg_inwareid) //-------------------------------------------------------------------- // Description: 刷新dw_pageretr //-------------------------------------------------------------------- // Arguments: // value long arg_scid // value long arg_inwareid //-------------------------------------------------------------------- // Returns: integer //-------------------------------------------------------------------- // Author: yyx Date: 2003.11.14 //-------------------------------------------------------------------- // Modify History: // //==================================================================== if arg_inwareid<=0 or isnull(arg_inwareid) then return 0 long uc_row uc_row=dw_pageretr.getrow() if uc_row<=0 then return 0 long storageid datetime indate string inrep string part string dscrp int balcflag string inwarecode string sptname datetime opdate string opemp string modemp datetime moddate int li_flag datetime Auditingdate string Auditingrep int li_secflag datetime secAuditingdate string secAuditingrep string storagename int thflag int relint_1 string sptcode long sptid dec otheramt SELECT u_inware.storageid, u_inware.indate, u_inware.inrep, u_inware.part, u_inware.dscrp, u_inware.opdate, u_inware.opemp, u_inware.flag, u_inware.auditingdate, u_inware.auditingrep, u_inware.secflag, u_inware.secauditingdate, u_inware.secauditingrep, u_inware.inwarecode, u_inware.balcflag, u_inware.sptname, u_storage.storagename, u_inware.modemp, u_inware.moddate, u_inware.thflag, u_inware.relint_1, u_spt.sptcode, u_spt.name, u_inware.otheramt, u_inware.sptid into :storageid, :indate, :inrep, :part, :dscrp, :opdate, :opemp, :li_flag, :Auditingdate, :Auditingrep, :li_secflag, :secAuditingdate, :secAuditingrep, :inwarecode, :balcflag, :sptname, :storagename, :modemp, :moddate, :thflag, :relint_1, :sptcode, :sptname, :otheramt, :sptid FROM u_inware ,u_storage ,u_spt WHERE ( u_inware.inwareid = :arg_inwareid ) and ( u_inware.sptid = u_spt.sptid ) and ( u_inware.storageid = u_storage.storageid ) and ( u_inware.scid=:arg_scid ); if sqlca.sqlcode<>0 then messagebox('提示',"查询操作失败(错误单据唯一码)", Information!, OK! ) return 0 end if dw_pageretr.object.u_inware_scid[uc_row]=arg_scid dw_pageretr.object.inwareid[uc_row]=arg_inwareid dw_pageretr.object.indate[uc_row]=indate dw_pageretr.object.part[uc_row]= part dw_pageretr.object.inrep[uc_row]= inrep dw_pageretr.object.storageid[uc_row]=storageid dw_pageretr.object.u_spt_name[uc_row]=sptname dw_pageretr.object.dscrp[uc_row]= dscrp dw_pageretr.object.balcflag[uc_row]= balcflag dw_pageretr.object.inwarecode[uc_row]=inwarecode dw_pageretr.object.opdate[uc_row]= opdate dw_pageretr.object.u_inware_opemp[uc_row]= opemp dw_pageretr.object.u_inware_moddate[uc_row]= moddate dw_pageretr.object.u_inware_modemp[uc_row]= modemp dw_pageretr.object.flag[uc_row]= li_flag dw_pageretr.object.Auditingdate[uc_row]= Auditingdate dw_pageretr.object.Auditingrep[uc_row]=Auditingrep dw_pageretr.object.u_inware_secflag[uc_row]= li_secflag dw_pageretr.object.u_inware_secAuditingdate[uc_row]= secAuditingdate dw_pageretr.object.u_inware_secAuditingrep[uc_row]=secAuditingrep dw_pageretr.object.u_storage_storagename[uc_row]=storagename dw_pageretr.object.u_inware_thflag[uc_row]=thflag dw_pageretr.object.u_inware_relint_1[uc_row]=relint_1 dw_pageretr.object.u_spt_sptcode[uc_row]=sptcode dw_pageretr.object.u_spt_name[uc_row]=sptname dw_pageretr.object.u_inware_otheramt[uc_row]=otheramt dw_pageretr.object.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_flagstatus_rf ();//wf_flagstatus_rf() Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Text = '审核&F' cb_auditing.Enabled = FALSE cb_auditing_cancel.Text = '撤审' cb_auditing_cancel.Enabled = FALSE flag = -1 secflag = -1 GOTO ext END IF flag = dw_pageretr.Object.flag[pagerert_row] IF dw_edit_mode THEN cb_auditing.Text = '仓审&F' cb_auditing.Enabled = FALSE IF cur_editfocus = 1 THEN flag = -1 secflag = -1 END IF cb_auditing_cancel.Enabled = FALSE ELSE IF flag = 0 THEN cb_auditing.Enabled = TRUE cb_auditing.Text = '仓审&F' cb_auditing_cancel.Enabled = FALSE ELSEIF flag = 1 THEN cb_auditing_cancel.Enabled = TRUE cb_auditing_cancel.Text = '仓撤' cb_auditing.Enabled = FALSE END IF END IF cb_auditing.TriggerEvent('ue_textchange') cb_auditing_cancel.TriggerEvent('ue_textchange') ext: RETURN 0 end function public function integer wf_check_print (ref string arg_msg);long cnt int rslt = 1 string ls_msg string str_dwSQl,str_SyntaxFromSQL datastore ds_maxid datetime ld_cur_dt ld_cur_dt = datetime(today(),time(0)) if sys_option_mustprint = 0 then rslt = 1 goto ext end if string ls_storagestr,tmp_str ls_storagestr = sys_user_storagestr if ls_storagestr <> '0' and ls_storagestr <> '-1' then ls_storagestr = mid(ls_storagestr,2) ls_storagestr = left(ls_storagestr,len(ls_storagestr) - 1 ) end if ds_maxid= create datastore str_dwSQl="select count(*) as countnum from u_inware where indate < '" +string(ld_cur_dt,'yyyy-mm-dd hh:mm:ss')+ "' and billtype = 1 and flag = 0 and " if pos(ls_storagestr,',') > 0 or long(ls_storagestr) > 0 then tmp_str = '(' + 'storageid in (' + ls_storagestr + '))' else tmp_str = '(' + ls_storagestr + ' = 0 or storageid in (' + ls_storagestr + '))' end if str_dwSQl=str_dwSQl + tmp_str //messagebox("",str_dwSQl) str_SyntaxFromSQL =sqlca.SyntaxFromSQL(str_dwSQl,"style(type=grid)",ls_msg) if ls_msg>'' then arg_msg="dw语法生成失败" rslt = 0 goto ext end if ds_maxid.Create(str_SyntaxFromSQL,ls_msg) if ls_msg>'' then arg_msg="建立相关DW失败" rslt=0 goto ext end if ds_maxid.settransobject(sqlca) ds_maxid.retrieve() cnt=ds_maxid.GetItemNumber(1,1) if isnull(cnt) then cnt = 0 destroy ds_maxid if cnt > 0 then arg_msg = '仓库还有收货单未打印,不能新建' rslt = 0 goto ext end if ext: return rslt end function public function integer wf_check_over (ref string arg_msg);Int rslt = 1 Long ll_i long ll_taskid,ll_mtrlid,ll_orderid,ll_scid string ls_status,ls_unit,ls_mtrlcode decimal ld_addqty,ld_buyqty,ld_consignedqty string ls_msg IF sys_option_ifovertask = 0 THEN rslt = 1 GOTO ext END IF dw_child.accepttext() FOR ll_i = 1 TO dw_child.RowCount() ll_scid = cur_scid ll_taskid = dw_child.object.u_inwaremx_relid[ll_i] ll_mtrlid = dw_child.object.u_inwaremx_mtrlid[ll_i] ll_orderid = dw_child.object.u_inwaremx_sptid_cusid[ll_i] ls_status = dw_child.object.u_inwaremx_status[ll_i] ls_unit = dw_child.object.u_inwaremx_unit[ll_i] ls_mtrlcode = dw_child.object.u_mtrldef_mtrlcode[ll_i] ld_addqty = dw_child.object.u_inwaremx_uqty[ll_i] if ld_addqty = 0 then continue if ll_mtrlid = 0 then continue SELECT sum(u_buytaskmx.uqty), sum(u_buytaskmx.consignedqty) INTO :ld_buyqty, :ld_consignedqty FROM u_buytaskmx WHERE ( u_buytaskmx.taskid = :ll_taskid ) AND ( u_buytaskmx.mtrlid = :ll_mtrlid ) AND ( u_buytaskmx.orderid = :ll_orderid ) AND ( u_buytaskmx.status = :ls_status ) AND ( u_buytaskmx.unit = :ls_unit ) AND ( u_buytaskmx.scid = :ll_scid); IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = "因网络或错误物料编码["+ls_mtrlcode+"]导致查询采购订单已完成数量操作失败"+"~n"+sqlca.SQLErrText GOTO ext END IF IF ld_buyqty < ld_consignedqty + ld_addqty THEN ls_msg = "物料["+ls_mtrlcode+"]的未完成数量只有"+String(ld_buyqty - ld_consignedqty,'#,##0.0###')+',本次进:'+String(ld_addqty,'#,##0.0#')+",已超订货数,是否要继续入库?" if messagebox ("询问",ls_msg,question!,yesno! ) = 2 then arg_msg = '超订货数进仓,操作取消' rslt = 0 goto ext end if END IF NEXT ext: RETURN rslt end function public subroutine wf_check_billfj ();String arg_msg Long ll_ConnectionID Long cur_billtype long ll_relid,ll_relid_mx,ll_scid Long ls_filecount = 0 Int rslt = 1 uo_fj_mng_billtype ls_uo_fjbt ls_uo_fjbt = CREATE uo_fj_mng_billtype Long row,uc_relid row = dw_pageretr.GetRow() IF row > 0 THEN ll_relid = dw_pageretr.Object.inwareid[row] ll_scid = dw_pageretr.Object.u_inware_scid[row] ll_relid_mx = 0 ELSE rslt = 0 GOTO ext END IF IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN rslt = 0 GOTO ext END IF cur_billtype = 403 //客户投拆单的 mainiD ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount) IF ls_filecount > 0 THEN rslt = 1 GOTO ext ELSE rslt = 0 GOTO ext END IF ext: wf_encl(rslt) DESTROY ls_uo_fjbt end subroutine 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_uc.GetRow() IF LS_ROW <= 0 THEN arg_msg = '没有目标单据!' RETURN 0 END IF //修改点:获取 指定retriev参数 ll_id = dw_uc.Object.#1[LS_ROW] ll_scid = dw_uc.Object.u_inware_scid[LS_ROW] //查询所选模版是否含有图片信息 Long ll_ifpic Long ll_classid SELECT ifpic INTO :ll_ifpic FROM U_XLS_Templates Where id = :ll_xls_Templatesid; IF sqlca.SQLCode <> 0 THEN ll_ifpic = 0 END IF 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 s_xls_pic_list s_pic //结构数组-用于保存图片路径 IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件 SELECT classid INTO :ll_classid FROM u_billpic_fileclass Where (billtype = 403); 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.u_inwaremx_mtrlid[ll_i] //取该附件类型中的第一个附件. 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 s_pic.path[ll_i] = Pathname //记录临时文件位置,本窗口退出后删除 wf_addlog_tempfilepathname(Pathname) END IF ELSE s_pic.path[ll_i] = '' END IF ELSE s_pic.path[ll_i] = '' END IF NEXT END IF // END IF ////可选设置/// 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_get_wareqty (long arg_mtrlid, string arg_mtrlcode, ref decimal arg_wareqty, string arg_msg);Long cur_storageid Decimal ld_wareqty IF dw_uc.GetRow() = 0 THEN RETURN 1 dw_uc.AcceptText() cur_storageid = dw_uc.Object.storageid[dw_uc.GetRow()] IF cur_storageid = 0 THEN RETURN 1 ld_wareqty = 0 SELECT sum(u_mtrlware.noallocqty) INTO :ld_wareqty FROM u_mtrlware WHERE mtrlid = :arg_mtrlid AND storageid = :cur_storageid; IF sqlca.SQLCode = -1 THEN arg_msg = arg_mtrlcode + ',查询库存数量失败!' RETURN 0 ELSEIF IsNull(ld_wareqty) THEN ld_wareqty = 0 END IF arg_wareqty = ld_wareqty 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.u_inware_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.u_inwaremx_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_inware_buy_wareaudit.create int iCurrent call super::create this.ddlb_scid=create ddlb_scid this.ddlb_status=create ddlb_status this.st_3=create st_3 this.st_2=create st_2 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_scid this.Control[iCurrent+2]=this.ddlb_status this.Control[iCurrent+3]=this.st_3 this.Control[iCurrent+4]=this.st_2 end on on w_inware_buy_wareaudit.destroy call super::destroy destroy(this.ddlb_scid) destroy(this.ddlb_status) destroy(this.st_3) destroy(this.st_2) 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 String new_sqlstr,modify_str dw_uc.SetTransObject (sqlca) dw_uc.GetChild("storageid",childdw) childdw.SetTransObject (sqlca) new_sqlstr = childdw.Describe("DataWindow.Table.Select") IF Len(ol_cdw_str) = 0 THEN ol_cdw_str = new_sqlstr new_sqlstr = f_modify_selectstr(ol_cdw_str) modify_str = "DataWindow.Table.Select='" + new_sqlstr +"'" childdw.Modify ( modify_str ) IF childdw.Retrieve(cur_scid) = 0 THEN childdw.InsertRow(0) END IF //childdw.retrieve() dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数 dw_pageretr.Retrieve(cur_scid,cur_flag,sys_user_spttype) 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+'( inwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( inwarecode 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) dw_pageretr.SetRow(1) dw_pageretr.triggerevent(rowfocuschanged!) 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_inware.inwarecode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(u_inware.inwarecode 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 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") //==================================================================== // Script - w_inware_buy inherited from w_publ_1ton_share_detail for open // Reason: //-------------------------------------------------------------------- // Modified By: yyx Date: 2003.12.01 //-------------------------------------------------------------------- ori_oldselect=f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据 //==================================================================== 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=9 //uc dw前7列可以编辑 child_column_int=19 //子dw前8列可以编辑 uo_ware=create uo_inware_buy uo_ware.commit_transaction=sqlca uo_sptprice = create uo_spt_price if sys_option_buy_rateedit=1 then dw_child.Modify ("u_inwaremx_rate_t.color=16711680") dw_child.Modify ("u_inwaremx_rate.color=16711680") dw_child.Modify ("u_inwaremx_rate.protect=0") else dw_child.Modify ("u_inwaremx_rate.protect=1") end if s_hide_col s_col s_col.col_1 = 'u_inwaremx_fprice' s_col.col_2 = 'u_inwaremx_rebate' s_col.col_3 = 'u_inwaremx_price' s_col.col_4 = 'amt' s_col.col_5 = 'u_inwaremx_uprice' f_hide_col(121,dw_child,s_col) s_hide_col s_col_mtrlsectype s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype' f_hide_col(1308,dw_child,s_col_mtrlsectype) s_hide_col s_col_zxmtrlmode s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode' f_hide_col(1309,dw_child,s_col_zxmtrlmode) end event event refresh_interface;call super::refresh_interface;wf_flagstatus_rf() ddlb_status.Enabled = NOT dw_edit_mode IF dw_edit_mode THEN ddlb_scid.Enabled = FALSE ELSE IF sys_scid > 0 THEN ddlb_scid.Enabled = FALSE ELSE ddlb_scid.Enabled = TRUE END IF END IF IF dw_edit_mode THEN IF flag = 1 AND secflag = 0 THEN dw_uc.Modify('storageid.protect=1 ~n u_spt_sptcode.protect=1') dw_child.Modify('u_inwaremx_ifrel.protect=1 ~n u_inwaremx_relcode.protect=1 ~n u_mtrldef_mtrlcode.protect=1 ~n u_inwaremx_uqty.protect=1 ~n u_inwaremx_status.protect=1 ~n u_inwaremx_woodcode.protect=1 ~n u_inwaremx_pcode.protect=1 ~n u_inwaremx_addqty.protect=1 ~n u_inwaremx_unit.protect=1 ~n u_inwaremx_plancode.protect=1') cb_xm.Enabled = FALSE ELSE dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0') // dw_child.Modify('u_inwaremx_ifrel.protect=0 ~n u_inwaremx_relcode.protect=0 ~n u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ~n u_inwaremx_plancode.protect=0') dw_child.Modify('u_inwaremx_ifrel.protect=0 ~n u_inwaremx_relcode.protect=0 ~n u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ') cb_xm.Enabled = TRUE END IF ELSE dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0') dw_child.Modify('u_inwaremx_ifrel.protect=0 ~n u_inwaremx_relcode.protect=0 ~n u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ~n u_inwaremx_plancode.protect=0') END IF end event event close;call super::close;destroy uo_ware destroy uo_sptprice wf_del_tempfilepathname() end event event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row,ls_null Long ins_storageid = 0 Long ls_sptid Dec ls_lastprice,ls_rebate Long chc = 1,ls_j SetNull(ls_null) dw_uc.accepttext() dw_child.accepttext() s_edit_index_tran s_tranf8 s_tranf8.if_retrieve_all = FALSE s_tranf8.arg_pkid = 0 s_tranf8.arg_string_code = '' s_tranf8.b_long = 2 ins_storageid = dw_uc.Object.storageid[dw_uc.GetRow()] IF ins_storageid = 0 OR IsNull(ins_storageid) THEN MessageBox('提示','请先选择仓库', Information!, OK! ) RETURN END IF child_row = dw_child.GetRow() ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.TriggerEvent("ue_f9") END IF dw_uc.AcceptText() ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] 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 = 2 s_ch_tran.c_long = ins_storageid 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.u_inwaremx_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.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j] dw_child.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j] dw_child.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j] Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String arg_msg,ls_status,ls_woodcode,ls_pcode String ls_1stunit ls_status = dw_child.Object.u_inwaremx_status[child_row] ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row] ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row] ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row] IF cur_editfocus = 1 THEN IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,s_inscust.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN IF s_inscust.planprice[ls_j] = 0 THEN dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.lmbuyprice[ls_j] ELSE dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.planprice[ls_j] END IF dw_child.Object.u_inwaremx_rebate[child_row] = 1 IF s_inscust.unit_buy[ls_j] = '' THEN dw_child.Object.u_inwaremx_rate[child_row] = 1 dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j] ELSE dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j] dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j] END IF ELSE dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost IF ls_1stzqrate = 0 THEN dw_child.Object.u_inwaremx_rebate[child_row] = 1 ELSE dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate END IF dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit END IF ELSE IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN IF s_inscust.unit_buy[ls_j] = '' THEN dw_child.Object.u_inwaremx_rate[child_row] = 1 dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j] ELSE dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j] dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j] END IF END IF END IF Decimal ld_wareqty String ls_msg ld_wareqty = 0 IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN MessageBox('提示',ls_msg, Information!, OK! ) END IF dw_child.Object.wareqty[child_row] = ld_wareqty dw_child.AcceptText( ) String ls_sptmtrlname IF uo_sptprice.uf_getmtrlname(ls_sptid,s_inscust.mtrlid[ls_j],ls_sptmtrlname,arg_msg) = 1 THEN dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname END IF 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] keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab END IF NEXT THIS.TriggerEvent('ue_allowedit') END IF dw_child.SetRedraw(TRUE) dw_child.SetFocus() end event event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row > 0 THEN ll_scid=dw_pageretr.Object.u_inware_scid[row] uc_relid = dw_pageretr.Object.inwareid[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 ue_f9;call super::ue_f9;//用于选择明细内容,被F9[默认] if not dw_edit_mode then return long uc_row uc_row=dw_uc.getrow() if uc_row=0 then messagebox('提示','请选定进仓单!', Information!, OK! ) 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_sptcode[dw_uc.getrow()])) IF sys_spt_hideinfo = 0 THEN OPENwithparm(W_spt_edit,s_ch_tran) //调用 ELSE OPENwithparm(W_spt_ch,s_ch_tran) //调用 END IF S_spt S_INSCUST S_INSCUST=Message.PowerObjectParm //接受返回结构 IF S_INSCUST.sptid>0 THEN //正常返回值则可以取以下值 dw_uc.setredraw(false) dw_uc.object.sptid[uc_row]=S_INSCUST.sptid dw_uc.object.u_spt_name[uc_row]=S_INSCUST.name dw_uc.object.u_spt_sptcode[uc_row]=S_INSCUST.sptcode dw_uc.setredraw(true) dw_uc.setcolumn("indate") END IF end if end event event ue_viewprint;call super::ue_viewprint;IF NOT (f_power_ind(107) or f_power_ind(455) or f_power_ind(1313)) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF LONG LS_ROW LS_ROW=dw_pageretr.getrow() IF LS_ROW<=0 THEN MESSAGEBOX('错误','没有打印目标单据!', StopSign!, OK! ) RETURN END IF if sys_option_auditprint = 1 then if dw_pageretr.object.flag[ls_row] <> 1 then MESSAGEBOX('错误','目标单据还未审核,不能打印!', StopSign!, OK! ) RETURN END IF end if S_print_MSG LS_PRMSG IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! ) RETURN END IF END IF ls_prmsg.obj_dwNAME = ls_newname ELSE ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit_audit' END IF LS_PRMSG.TAG_TEXT='采购收货单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg=15 LS_PRMSG.PAGECH_FLAG=0 LS_PRMSG.retr_scid=cur_scid LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[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('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[LS_ROW],'','',arg_msg,true) end event event ue_f7;call super::ue_f7;IF NOT dw_edit_mode THEN RETURN Long childrow,ls_sptid,ls_j childrow = dw_child.GetRow() Int li_statusflag,li_woodcodeflag,li_pcodeflag s_mtrldef_array arg_s_mtrldef dw_uc.AcceptText() dw_child.AcceptText() ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF ls_sptid <= 0 THEN MessageBox("提示","请先选择供应商", Information!, OK! ) RETURN END IF s_edit_index_tran s_tranf8 s_tranf8.if_retrieve_all = FALSE s_tranf8.arg_pkid = 0 s_tranf8.arg_string_code = '' s_tranf8.b_long = 2 s_tranf8.d_long = ls_sptid IF NOT IsValid(w_inware_buytask_ch) THEN OpenWithParm(w_inware_buytask_ch,s_tranf8) s_mtrldef_buytask_array s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 dw_child.SetRedraw(FALSE) FOR ls_j = 1 TO UpperBound(s_inscust.buytaskid) IF s_inscust.buytaskid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_inwaremx_relid[childrow] <> 0 THEN childrow = dw_child.InsertRow (0) ELSE childrow = dw_child.GetRow() END IF ELSE childrow = dw_child.InsertRow (0) END IF dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = s_inscust.banktypeid[ls_j] dw_child.Object.u_inwaremx_ifrel[childrow] = 1 dw_child.Object.u_inwaremx_relid[childrow] = s_inscust.buytaskid[ls_j] dw_child.Object.u_inwaremx_mtrlid[childrow] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode[childrow] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_buytask_taskcode[childrow] = s_inscust.buytaskcode[ls_j] dw_child.Object.u_inwaremx_relcode[childrow] = s_inscust.buytaskcode[ls_j] dw_child.Object.u_inwaremx_status[childrow] = s_inscust.status[ls_j] dw_child.Object.u_inwaremx_woodcode[childrow] = s_inscust.woodcode[ls_j] dw_child.Object.u_inwaremx_pcode[childrow] = s_inscust.pcode[ls_j] dw_child.Object.u_inwaremx_uprice[childrow] = s_inscust.uprice[ls_j] dw_child.Object.u_inwaremx_rebate[childrow] = s_inscust.rebate[ls_j] dw_child.Object.u_mtrldef_mtrlname[childrow] = s_inscust.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[childrow] = s_inscust.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[childrow] = s_inscust.unit[ls_j] dw_child.Object.u_inwaremx_unit[childrow] = s_inscust.mxunit[ls_j] dw_child.Object.u_inwaremx_rate[childrow] = s_inscust.rate[ls_j] dw_child.Object.u_inwaremx_mxdscrp[childrow] = s_inscust.dscrp[ls_j] dw_child.Object.u_inwaremx_bootqty[childrow] = s_inscust.qty[ls_j] dw_child.Object.u_inwaremx_uqty[childrow] = s_inscust.uqty[ls_j] dw_child.Object.u_inwaremx_addqty[childrow] = s_inscust.addqty[ls_j] dw_child.Object.u_inwaremx_sptid_cusid[childrow] = s_inscust.orderid[ls_j] dw_child.Object.u_buytask_relcode[childrow] = s_inscust.relcode[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[childrow] = s_inscust.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[childrow] = s_inscust.mtrlsectype[ls_j] IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN li_statusflag = 0 li_woodcodeflag = 0 li_pcodeflag = 0 ELSE li_statusflag = arg_s_mtrldef.statusflag[1] li_pcodeflag = arg_s_mtrldef.pcodeflag[1] li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] END IF dw_child.Object.u_mtrldef_statusflag[childrow] = li_statusflag dw_child.Object.u_mtrldef_woodcodeflag[childrow] = li_woodcodeflag dw_child.Object.u_mtrldef_pcodeflag[childrow] = li_pcodeflag //获取当前库存 Decimal ld_wareqty String ls_msg ld_wareqty = 0 IF wf_get_wareqty(s_inscust.mtrlid[ls_j],s_inscust.mtrlcode[ls_j],ld_wareqty,ls_msg) = 0 THEN MessageBox('提示',ls_msg, Information!, OK! ) END IF dw_child.Object.wareqty[childrow] = ld_wareqty dw_child.SetColumn('u_inwaremx_uqty') END IF NEXT dw_child.SetRedraw(TRUE) THIS.TriggerEvent('ue_allowedit') END IF end event event ue_print;call super::ue_print;IF NOT (f_power_ind(107) or f_power_ind(455) or f_power_ind(1313)) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF //--直接打印 uo_print_preview uo_print S_print_MSG LS_PRMSG if dw_pageretr.rowcount()=0 then Messagebox('提示','没有可打印的单据!', Information!, OK! ) return end if IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN if sys_option_auditprint = 1 then if dw_pageretr.object.flag[dw_pageretr.getrow()] <> 1 then MESSAGEBOX('错误','目标单据还未审核,不能打印!', Information!, OK! ) RETURN END IF end if IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! ) RETURN END IF END IF ls_prmsg.obj_dwNAME = ls_newname ELSE ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit_audit' END IF LS_PRMSG.retr_pram_falg=15 LS_PRMSG.TAG_TEXT='采购收货单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG=0 LS_PRMSG.retr_scid=cur_scid LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[dw_pageretr.getrow()] 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, Information!, OK! ) 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 //**更新打印次料 f_update_printnum('u_inware',1,cur_scid,dw_pageretr.object.inwareid[dw_pageretr.getrow()],'','',arg_msg,true) end event event resize;call super::resize;long w_width,w_height //w_width = 3600 //w_height = 2300 // // //if newwidth < w_width then this.width = w_width //if newheight < w_height then this.height = w_height // // //dw_child.width=this.width - (w_width - 3547) //dw_child.height=this.height - (w_height - 880) // //cb_add.y=this.height - (w_height - 2030) //cb_edit.y=this.height - (w_height - 2030) //cb_delet.y=this.height - (w_height - 2030) //cb_addzy.y=this.height - (w_height - 2030) //cb_add_xm.y=this.height - (w_height - 2030) //cb_dele_xm.y=this.height - (w_height - 2030) //cb_exit.y=this.height - (w_height - 2030) //cb_auditing.y=this.height - (w_height - 2030) //cb_cancelauditing.y=this.height - (w_height - 2030) //cb_copy.y=this.height - (w_height - 2030) //cb_paste.y=this.height - (w_height - 2030) //cb_csecauditing.y=this.height - (w_height - 2030) //cb_secauditing.y=this.height - (w_height - 2030) // //cbx_1.y=this.height - (w_height - 2144) // // end event event ue_f10;call super::ue_f10;String ls_1stunit,arg_msg,ls_status,ls_woodcode,ls_pcode Decimal rtn_price,rtn_zqrate,rtn_rate Long ls_mtrlid,ls_sptid IF NOT IsValid(w_unit_ch) THEN IF dw_child.GetRow() < 1 THEN RETURN dw_uc.AcceptText() ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] IF IsNull(ls_sptid) OR ls_sptid = 0 THEN THIS.TriggerEvent("ue_f9") END IF dw_child.AcceptText() ls_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()] OpenWithParm(w_unit_ch,ls_mtrlid) s_unit s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] = s_inscust.unit dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = s_inscust.rate ls_1stunit = s_inscust.unit ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] ls_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()] ls_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()] ls_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()] IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,rtn_price,rtn_zqrate,rtn_rate,arg_msg) = 1 THEN dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = rtn_price dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = rtn_zqrate END IF dw_child.SetColumn( 'u_inwaremx_uqty') END IF END IF end event event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! ) return END IF IF NOT (f_power_ind(778) or f_power_ind(781) or f_power_ind(1314)) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF string arg_msg='' string ls_str long uc_row s_inputbox s_sreu uc_row=dw_pageretr.getrow() if uc_row<=0 then messagebox('提示','请选定当前目标单据!', Information!, OK! ) 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.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],ls_str,arg_msg)=0 then messagebox('error!',arg_msg) return else messagebox('提示','添加备注操作成功!', Information!, OK! ) wf_refresh_curuc(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row]) end if end event event ue_f11;call super::ue_f11;IF NOT dw_edit_mode THEN RETURN Long child_row Int if_addmxdscrp String ls_mxdscrp s_addqty_input s_input dw_child.AcceptText( ) child_row = dw_child.GetRow() IF child_row <= 0 THEN RETURN IF dw_child.Object.u_inwaremx_mtrlid[child_row] <= 0 THEN RETURN ls_mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[child_row] IF NOT IsValid(w_addqty_input) THEN OpenWithParm(w_addqty_input,ls_mxdscrp) s_input = Message.PowerObjectParm IF s_input.addqty = -1 THEN RETURN dw_child.Object.u_inwaremx_addqty[child_row] = s_input.addqty IF s_input.addqtystr <> '' THEN dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_input.addqtystr END IF IF s_input.formula <> '' THEN dw_child.Object.u_inwaremx_formula[child_row] = s_input.formula END IF IF s_input.flag = 1 THEN dw_child.Object.u_inwaremx_uqty[child_row] = s_input.qty END IF END IF end event event ue_addmx;Long uc_row,ll_flag uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请先选择单据', Information!, OK! ) RETURN END IF ll_flag = dw_uc.Object.flag[uc_row] IF ll_flag = 1 THEN MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! ) RETURN END IF this.triggerevent('ue_f8') dw_child.SetFocus() end event event ue_deletemx;Long uc_row,ll_flag uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请先选择单据', Information!, OK! ) RETURN END IF ll_flag = dw_uc.Object.flag[uc_row] IF ll_flag = 1 THEN MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! ) RETURN END IF IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN IF dw_child.GETROW()=0 THEN MESSAGEBOX('提示','请选择删除的行对象!', Information!, OK! ) RETURN END IF dw_child.DeleteRow (0) dw_child.TriggerEvent (rowfocuschanged!) end event event ue_copyrow;Long uc_row,ll_flag uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请先选择单据', Information!, OK! ) RETURN END IF ll_flag = dw_uc.Object.flag[uc_row] IF ll_flag = 1 THEN MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! ) RETURN END IF long ll_childrow ll_childrow = dw_child.GETROW() IF ll_childrow=0 THEN MESSAGEBOX('提示','请选择复制对象!', Information!, OK! ) RETURN END IF dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!) ds_copypaste.RowsCopy (1,1,Primary!,dw_child,dw_child.rowcount() + 1,Primary!) ds_copypaste.reset() dw_child.selectrow(0,false) dw_child.setrow(dw_child.rowcount()) dw_child.scrolltorow(dw_child.rowcount()) dw_child.selectrow(dw_child.rowcount(),true) end event event ue_insertmx;Long uc_row,ll_flag uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请先选择单据', Information!, OK! ) RETURN END IF ll_flag = dw_uc.Object.flag[uc_row] IF ll_flag = 1 THEN MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! ) RETURN END IF long ll_childrow,li_row ll_childrow = dw_child.getrow() li_row = dw_child.insertrow(ll_childrow) dw_child.selectrow(0,false) dw_child.setrow(li_row) dw_child.scrolltorow(li_row) dw_child.selectrow(li_row,true) end event event ue_rpt_print;call super::ue_rpt_print;IF NOT (f_power_ind(107) or f_power_ind(455)) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF 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('提示','没有可打印的单据!', Information!, OK! ) RETURN END IF IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[row] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!', Information!, OK! ) RETURN END IF END IF IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.TAG_TEXT = '采购收货单' 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.u_inware_scid[row] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[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, Information!, OK! ) RETURN END IF uo_print.ds_print() //**更新打印次料 printnum = message.doubleparm f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true) end event event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT (f_power_ind(107) or f_power_ind(455)) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF 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('错误','目标单据还未审核,不能打印!', StopSign!, OK! ) 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.u_inware_scid[row] s_print.retr_pramnmb = dw_pageretr.Object.inwareid[row] s_print.rowcnt = dw_child.RowCount() OpenWithParm(w_rpt_preview,s_print) //**更新打印次料 string arg_msg printnum = message.doubleparm f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true) end event event ue_f6;call super::ue_f6;s_view_dscrp s_view,s_return String ls_dscrp dw_uc.AcceptText() ls_dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()] s_view.Title = '采购收货单备注' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_uc.Object.dscrp[dw_uc.GetRow()] = s_return.dscrp END IF end event type cb_func from w_publ_1ton_share_detail`cb_func within w_inware_buy_wareaudit end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_inware_buy_wareaudit integer x = 1733 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_inware_buy_wareaudit integer x = 187 integer y = 188 integer width = 549 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_inware_buy_wareaudit integer x = 2199 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_inware_buy_wareaudit integer x = 1883 integer width = 320 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_inware_buy_wareaudit integer x = 2053 integer y = 296 integer width = 1490 integer height = 860 string dataobject = "dw_inware_buy_audit_index" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf() wf_check_billfj() if dw_edit_mode then return if currentrow <=0 then dw_child.reset() return end if this.selectrow(0,false) this.selectrow(currentrow,true) dw_uc.setrow(currentrow) dw_uc.scrolltorow (currentrow) if not dw_edit_mode then parent.triggerevent('retrieve_childdw') end event type st_1 from w_publ_1ton_share_detail`st_1 within w_inware_buy_wareaudit integer y = 208 string text = "编号含" end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_inware_buy_wareaudit integer x = 2350 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_inware_buy_wareaudit integer y = 296 integer width = 2048 integer height = 860 string dataobject = "dw_inware_buy_audit_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(dw_child.RowCount()) dw_child.SetColumn ('u_inwaremx_ifrel') RETURN 1 ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_sptcode' AND Key = KeyEnter! THEN String ls_code,ls_name,ls_find_code Long ls_sptid Long cnt = 0 Boolean if_find = FALSE dw_uc.AcceptText() ls_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()])) SELECT u_spt.sptid, u_spt.name, u_spt.sptcode INTO :ls_sptid,:ls_name,:ls_code FROM u_spt Where ( sptcode = :ls_code OR Name = :ls_code ); IF sqlca.SQLCode <> 0 THEN IF Pos(Trim(ls_code),'%') = 0 THEN ls_find_code = '%'+ Trim(ls_code) + '%' ELSE ls_find_code = Trim(ls_code) END IF SELECT count(*) INTO :cnt FROM u_spt Where ( sptcode Like :ls_find_code OR Name Like :ls_find_code ); IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f9') RETURN 1 END IF IF cnt <> 1 THEN PARENT.TriggerEvent('ue_f9') RETURN 1 ELSE SELECT u_spt.sptid, u_spt.sptcode, u_spt.name INTO :ls_sptid,:ls_code,:ls_name FROM u_spt Where ( sptcode Like :ls_find_code OR Name Like :ls_find_code ); IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f9') RETURN 1 ELSE if_find = TRUE END IF END IF ELSE if_find = TRUE END IF IF if_find THEN dw_uc.SetRedraw(FALSE) dw_uc.Object.sptid[dw_uc.GetRow()] = ls_sptid dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = ls_code dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name dw_uc.SetRedraw(TRUE) dw_uc.SetColumn("indate") 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::doubleclicked;IF dw_edit_mode and row >0 THEN if dwo.name='u_spt_sptcode' then parent.triggerevent('ue_f9') END IF end event event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN IF dwo.Name = 'storageid' THEN // wf_lock_plancode(long(data)) dw_child.Reset() PARENT.TriggerEvent("insert_childrow") END IF //long ll_storageid,ll_if_plancode //string st // //IF pos(dwo.Name , 'storageid') > 0 THEN // // ll_storageid = long(data) // select if_plancode // into :ll_if_plancode // from u_storage // where storageid = :ll_storageid; // // if ll_if_plancode = 0 then // dw_child.modify('u_inwaremx_plancode.protect = 1') // end if // // dw_child.Reset() // PARENT.TriggerEvent("insert_childrow") //END IF end event event dw_uc::clicked;call super::clicked; IF row <= 0 THEN RETURN IF dwo.Name = 'p_dview' THEN PARENT.TriggerEvent('ue_f6') END IF IF NOT dw_edit_mode THEN RETURN IF dwo.Name = 'p_p' THEN PARENT.TriggerEvent('ue_f9') END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_inware_buy_wareaudit end type type dw_child from w_publ_1ton_share_detail`dw_child within w_inware_buy_wareaudit integer y = 1160 integer width = 3543 integer height = 932 string dataobject = "dw_inwaremx_buy_audit_edit" end type event dw_child::dwnkey;call super::dwnkey;//PARENT.TriggerEvent('user_key') // //String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_unit_buy,ls_mtrlsectype,ls_zxmtrlmode //Long ls_mtrlid,ls_sptid,ls_taskid,ls_orderid,ls_storageid //Dec ls_lmbuyprice,ls_planprice //Dec ls_lastprice,ls_rebate,ld_rate_buy //String ls_buytaskcode //String ls_prdpackcode //Decimal ls_packqty,ls_nofinishqty //Long i_mtrlid,i_sptid //String i_mtrlcode,i_status,i_woodcode,i_pcode //Decimal i_price,i_zqrate //s_mtrldef_array arg_s_mtrldef //String ls_sptmtrlname //Long child_row //Long ls_null //Int li_statusflag,li_woodcodeflag,li_pcodeflag // //SetNull(ls_null) // //IF dw_edit_mode THEN // dw_uc.AcceptText() // ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()] // IF ls_storageid = 0 OR IsNull(ls_storageid) THEN // MessageBox('提示','请先选择仓库', Information!, OK! ) // RETURN // END IF // // ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] // IF IsNull(ls_sptid) OR ls_sptid = 0 THEN // parent.TriggerEvent("ue_f9") // 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 sys_option_pos_jsbarcode <> '' THEN // ls_mtrlcode = sys_option_pos_jsbarcode // GOTO find_mtrl // END IF // // 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] // ls_buytaskcode = dw_child.Object.u_inwaremx_relcode[child_row] // // IF dw_child.Object.u_inwaremx_ifrel[child_row] = 1 THEN // SELECT u_mtrldef.mtrlid, // u_mtrldef.mtrlname, // u_mtrldef.unit, // u_mtrldef.unit_buy, // u_mtrldef.rate_buy, // u_mtrldef.planprice, // u_mtrldef.mtrlmode, // u_mtrldef.prdpackcode, // u_mtrldef.packqty , // u_buytask.taskid , // u_buytaskmx.qty - u_buytaskmx.consignedqty, // u_buytaskmx.orderid, // u_mtrldef.statusflag, // u_mtrldef.woodcodeflag, // u_mtrldef.pcodeflag // INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_unit_buy, // :ld_rate_buy,:ls_planprice, // :ls_mtrlmode,:ls_prdpackcode,:ls_packqty,:ls_taskid, // :ls_nofinishqty,:ls_orderid, // :li_statusflag,:li_woodcodeflag,:li_pcodeflag // FROM u_mtrldef,u_buytaskmx,u_buytask // WHERE ( u_mtrldef.mtrlid = u_buytaskmx.mtrlid ) // AND ( u_buytask.taskcode = :ls_buytaskcode ) // AND ( u_mtrldef.mtrlcode = :ls_mtrlcode ) // AND ( u_buytask.taskid = u_buytaskmx.taskid ) // AND ( u_buytask.scid = u_buytaskmx.scid ) // And ( u_buytask.status = 1 ); // IF sqlca.SQLCode = 100 THEN // dw_child.Object.u_inwaremx_relid[child_row] = 0 // PARENT.TriggerEvent('ue_f7') // RETURN 1 // END IF // ELSE // find_mtrl: // 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_lmbuyprice = arg_s_mtrldef.lmbuyprice[1] // ls_unit_buy = arg_s_mtrldef.unit_buy[1] // ld_rate_buy = arg_s_mtrldef.rate_buy[1] // ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1] // ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1] // li_statusflag = arg_s_mtrldef.statusflag[1] // li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] // li_pcodeflag = arg_s_mtrldef.pcodeflag[1] // END IF // END IF // // dw_child.Object.u_inwaremx_sptid_cusid[child_row] = ls_orderid // dw_child.Object.u_inwaremx_relid[child_row] = ls_taskid // dw_child.Object.u_inwaremx_mtrlid[child_row] = ls_mtrlid // dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname // dw_child.Object.u_mtrldef_unit[child_row] = ls_unit // dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode // dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode // dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode // dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype // dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag // dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag // dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag // // // Decimal ld_wareqty // String ls_msg // ld_wareqty = 0 // IF wf_get_wareqty(ls_mtrlid,ls_mtrlmode,ld_wareqty,ls_msg) = 0 THEN // MessageBox('提示',ls_msg, Information!, OK! ) // END IF // dw_child.Object.wareqty[child_row] = ld_wareqty // // // // sys_option_pos_jsbarcode = '' // // Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate // String arg_msg // String ls_1stunit,ls_status,ls_woodcode,ls_pcode // ls_status = dw_child.Object.u_inwaremx_status[child_row] // ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row] // ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row] // // ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row] // // IF cur_editfocus = 1 THEN // IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN // IF ls_planprice = 0 THEN // dw_child.Object.u_inwaremx_uprice[child_row] = ls_lmbuyprice // ELSE // dw_child.Object.u_inwaremx_uprice[child_row] = ls_planprice // END IF // dw_child.Object.u_inwaremx_rebate[child_row] = 1 // // IF ls_unit_buy = '' THEN // dw_child.Object.u_inwaremx_rate[child_row] = 1 // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit // ELSE // dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy // END IF // ELSE // dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost // IF ls_1stzqrate = 0 THEN // dw_child.Object.u_inwaremx_rebate[child_row] = 1 // ELSE // // dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate // END IF // dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate // dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit // END IF // // // ELSE // IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN // IF ls_unit_buy = '' THEN // dw_child.Object.u_inwaremx_rate[child_row] = 1 // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit // ELSE // dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy // END IF // END IF // END IF // // THIS.AcceptText( ) // // IF uo_sptprice.uf_getmtrlname(ls_sptid,ls_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN // dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname // END IF // 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_inwaremx_rebate' THEN // // dw_child.AcceptText() // dw_uc.AcceptText() // // i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] // i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()] // i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()] // i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] // i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] // i_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()] // i_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()] // i_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()] // ls_unit = dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] // IF uo_sptprice.uf_check_price(0,i_sptid,i_mtrlid,i_mtrlcode,ls_unit,i_status,i_woodcode,i_pcode,i_price * i_zqrate,arg_msg) = 0 THEN // MessageBox("提示",arg_msg, Information!, OK! ) // dw_child.SetFocus() // dw_child.SetColumn("u_inwaremx_uprice") // // RETURN 1 // ELSE // dw_child.SetFocus() // dw_child.SetColumn("u_inwaremx_plancode") // // keybd_event ( 9, 0, 0 , 0 ) // 按下tab // // keybd_event ( 9, 0, 2, 0 ) // 释放tab // RETURN 1 // END IF // ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_plancode' AND dw_child.GetRow() = dw_child.RowCount() THEN // PARENT.TriggerEvent("insert_childrow") // RETURN 1 // ELSEIF dw_child.GetColumnName() = "u_inwaremx_status" OR dw_child.GetColumnName() = "u_inwaremx_woodcode" OR dw_child.GetColumnName() = "u_inwaremx_pcode" THEN // dw_child.AcceptText() // dw_uc.AcceptText() // // i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()] // i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()] // i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()] // i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] // i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] // i_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()] // i_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()] // i_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()] // ls_1stunit = dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] // ls_unit = dw_child.Object.u_mtrldef_unit[dw_child.GetRow()] // // dw_child.Object.u_inwaremx_unit[child_row] // // IF uo_sptprice.uf_getmtrlsptprice(i_sptid,i_mtrlid,ls_1stunit,i_status,i_woodcode,i_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) = 1 THEN // // dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = ls_1stnewcost // IF ls_1stzqrate = 0 THEN // dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = 1 // ELSE // dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = ls_1stzqrate // END IF // dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = ls_1strate // dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] = ls_1stunit // ELSE // dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = 0 // dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = 1 // END IF // // THIS.AcceptText() // // IF uo_sptprice.uf_getmtrlname(i_sptid,i_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN // dw_child.Object.u_inwaremx_sptmtrlname[dw_child.GetRow()] = ls_sptmtrlname // END IF // IF Key = keyenter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab // keybd_event ( 9, 0, 2, 0 ) // 释放tab // 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 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_inwaremx_uqty' OR dwo.Name = 'u_inwaremx_formula' THEN PARENT.TriggerEvent('ue_cmpl_qty') return END IF IF dw_child.Object.u_inwaremx_ifrel[row] = 1 THEN CHOOSE CASE dwo.Name CASE 'u_inwaremx_unit' PARENT.TriggerEvent('ue_f10') CASE 'u_inwaremx_addqty' PARENT.TriggerEvent('ue_f11') CASE ELSE PARENT.TriggerEvent('ue_f7') END CHOOSE ELSE CHOOSE CASE dwo.Name CASE 'u_mtrldef_mtrlcode' PARENT.TriggerEvent('ue_f8') CASE 'u_inwaremx_addqty' PARENT.TriggerEvent('ue_f11') CASE 'u_inwaremx_unit' PARENT.TriggerEvent('ue_f10') END CHOOSE END IF ELSE PARENT.TriggerEvent('ue_f8') 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 = 'u_inwaremx_ifrel' then if this.object.u_inwaremx_ifrel[row] = 0 then dw_child.object.u_inwaremx_relid[row] = 0 dw_child.object.u_buytask_taskcode[row] = '' dw_child.object.u_inwaremx_relcode[row] = '' end if end if end event event dw_child::itemfocuschanged;call super::itemfocuschanged; dw_child.accepttext() dw_child.object.amt[dw_child.getrow()]=dw_child.object.u_inwaremx_uprice[dw_child.getrow()]*dw_child.object.u_inwaremx_rebate[dw_child.getrow()]*dw_child.object.u_inwaremx_uqty[dw_child.getrow()] end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_inware_buy_wareaudit integer x = 1088 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_inware_buy_wareaudit integer x = 896 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_inware_buy_wareaudit boolean visible = false end type event cb_add::clicked;//IF Not (f_power_ind(99) OR f_power_ind(372)) THEN // MessageBox('提示','你没有使用权限!', Information!, OK! ) // RETURN //END IF // //String arg_msg = '' //Long uc_row,pagerert_row //Long relid_pageretr,reld_uc,j // //IF NOT dw_edit_mode THEN // IF wf_check_print(arg_msg) = 0 THEN // MessageBox('提示',arg_msg, Information!, OK! ) // RETURN // END IF //END IF // //IF dw_edit_mode THEN // dw_uc.AcceptText() // dw_child.AcceptText() // uc_row = dw_uc.GetRow() // // IF uc_row <= 0 THEN // MessageBox('提示','请选定当前目标单据!', Information!, OK! ) // RETURN // END IF // IF NOT dw_uc.Object.indate[uc_row] > DateTime(2000-01-01,Now()) THEN // MessageBox('提示','不合理发生时间!', Information!, OK! ) // dw_uc.SetFocus() // dw_uc.SetColumn("indate") // RETURN // END IF // IF NOT Len(String(dw_uc.Object.inrep[uc_row])) > 0 THEN // MessageBox('提示','请填写经手人!', Information!, OK! ) // dw_uc.SetFocus() // dw_uc.SetColumn("inrep") // RETURN // END IF // // IF dw_uc.Object.u_inware_relint_1[uc_row] = 0 THEN // MessageBox('提示','请选择结算方式', Information!, OK! ) // dw_uc.SetFocus() // dw_uc.SetColumn("u_inware_relint_1") // RETURN // END IF // // IF dw_uc.Object.u_inware_otheramt[uc_row] <> 0 AND NOT Len(String(dw_uc.Object.dscrp[uc_row])) > 0 THEN // MessageBox('提示','请在备注栏注明扣减费用!', Information!, OK! ) // dw_uc.SetFocus() // dw_uc.SetColumn("dscrp") // RETURN // END IF // // FOR j = 1 TO dw_child.RowCount() // IF NOT f_power_ind(128) AND dw_child.Object.u_inwaremx_ifrel[j] = 1 AND dw_child.Object.u_inwaremx_relid[j] = 0 THEN // MessageBox('提示','请先选择订单', Information!, OK! ) // RETURN // END IF // // IF NOT f_power_ind(128) AND dw_child.Object.u_inwaremx_ifrel[j] = 0 AND dw_child.Object.u_inwaremx_uqty[j] > 0 THEN // MessageBox('提示','请先选择订单', Information!, OK! ) // RETURN // END IF // // IF dw_child.Object.u_inwaremx_ifrel[j] = 1 AND dw_child.Object.u_inwaremx_uqty[j] < 0 THEN // MessageBox('提示','收货单要输入正数', Information!, OK! ) // RETURN // END IF // // if dw_child.Object.u_inwaremx_unit[j] = '' then // dw_child.Object.u_inwaremx_unit[j] = dw_child.Object.u_mtrldef_unit[j] // dw_child.Object.u_inwaremx_rate[j] = 1 // end if // NEXT // // // uo_ware.indate = dw_uc.Object.indate[uc_row] // 发生时间 // uo_ware.inrep = dw_uc.Object.inrep[uc_row] // 经手人 // uo_ware.part = dw_uc.Object.part[uc_row] //相关部门 // uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注 // uo_ware.storageid = dw_uc.Object.storageid[uc_row] // uo_ware.sptid = dw_uc.Object.sptid[uc_row] // uo_ware.otheramt = dw_uc.Object.u_inware_otheramt[uc_row] // uo_ware.relint_1 = dw_uc.Object.u_inware_relint_1[uc_row] // uo_ware.relid = dw_uc.Object.u_inware_relid[uc_row] // uo_ware.thflag = 0 // // // Long i // FOR i = 1 TO dw_child.RowCount() // IF dw_child.Object.u_inwaremx_mtrlid[i] > 0 THEN // IF uo_ware.acceptmx(dw_child.Object.printid[i],& // dw_child.Object.u_inwaremx_mtrlid[i],& // dw_child.Object.u_mtrldef_mtrlcode[i],& // dw_child.Object.u_inwaremx_plancode[i],& // dw_child.Object.u_inwaremx_status[i],& // dw_child.Object.u_inwaremx_uqty[i],& // dw_child.Object.u_inwaremx_addqty[i],& // dw_child.Object.u_inwaremx_uprice[i],& // dw_child.Object.u_inwaremx_rebate[i],& // dw_child.Object.u_inwaremx_mxdscrp[i],& // arg_msg,0,& // dw_child.Object.u_inwaremx_relid[i],& // dw_child.Object.u_inwaremx_relprintid[i],& // dw_child.Object.u_inwaremx_ifrel[i],& // dw_child.Object.u_inwaremx_woodcode[i],& // dw_child.Object.u_inwaremx_pcode[i],& // '',& // dw_child.Object.u_inwaremx_sptid_cusid[i],& // dw_child.Object.u_inwaremx_unit[i],& // dw_child.Object.u_inwaremx_rate[i],& // dw_child.Object.u_inwaremx_formula[i],& // dw_child.Object.u_inwaremx_waredscrp[i],& // dw_child.Object.u_inwaremx_inworkdate[i]) = 0 THEN // MessageBox('错误',arg_msg, StopSign!, OK! ) // RETURN // END IF // END IF // NEXT // // IF uo_ware.Save(TRUE,arg_msg) = 0 THEN // MessageBox('错误',arg_msg, StopSign!, OK! ) // RETURN // END IF //// MessageBox('提示','保存操作成功!') // //write ini // f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.storageid[dw_uc.GetRow()])) // f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()])) // // // 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.inwareid) //刷新uc // //ELSE // IF uo_ware.newbegin(cur_scid,1,arg_msg) = 0 THEN // MessageBox('错误',arg_msg, StopSign!, OK! ) // RETURN // END IF //END IF // //CALL SUPER::Clicked ////read ini //IF dw_edit_mode THEN // PARENT.TriggerEvent("insert_childrow") // dw_uc.SetRedraw(FALSE) // String ls_storageid,ls_banktype // ls_storageid = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",'0') // ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0') // IF f_find_storageid(ls_storageid) = '' THEN // ls_storageid = '0' // END IF // dw_uc.Object.storageid[dw_uc.GetRow()] = Long(ls_storageid) // dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = Long(ls_banktype) // dw_uc.SetColumn("storageid") // dw_uc.SetRedraw(TRUE) // cur_editfocus = 1 // //// wf_lock_plancode(long(ls_storageid)) //ELSE // PARENT.TriggerEvent("retrieve_childdw") // cur_editfocus = 0 //END IF //// // end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_inware_buy_wareaudit boolean visible = false end type event cb_edit::clicked;IF Not (f_power_ind(99) OR f_power_ind(372)) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF String arg_msg = '' Long uc_row,ll_storageid uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!', Information!, OK! ) RETURN END IF ll_storageid = dw_pageretr.Object.storageid[uc_row] IF NOT dw_edit_mode THEN IF uo_ware.updatebegin(dw_pageretr.Object.u_inware_scid[uc_row],dw_pageretr.Object.inwareid[uc_row],1,arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF this.triggerevent('ue_allowedit') // wf_lock_plancode(ll_storageid) 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_inware_buy_wareaudit boolean visible = false end type event cb_delet::clicked;call super::clicked;IF Not (f_power_ind(592) OR f_power_ind(584)) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) 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('提示','请选定当前目标单据!', Information!, OK! ) RETURN END IF IF MessageBox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_ware.del(dw_pageretr.Object.u_inware_scid[uc_row],dw_pageretr.Object.inwareid[uc_row],arg_msg,TRUE) = 0 THEN MessageBox('error!',arg_msg) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.inwareid[uc_row] ls_code = dw_pageretr.Object.inwarecode[uc_row] f_setsysoplog('采购收货单','删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox('提示','删除单据'+String(dw_pageretr.Object.inwarecode[uc_row])+'成功!', Information!, OK! ) dw_pageretr.DeleteRow(uc_row) dw_pageretr.PostEvent(RowFocusChanged!) END IF end event type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_inware_buy_wareaudit integer x = 645 end type event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=增加备注~tEvent=ue_addzy" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy" menustr = menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view" menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=辅助计算~tEvent=ue_cpml_qty" menustr = menustr + "|" + "Text=辅助计算辅数~tEvent=ue_cmpl_addqty" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=修改结算方式~tEvent=ue_mod_banktype" 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_inware_buy_wareaudit integer x = 302 string text = "仓审&F" end type event cb_auditing::clicked;call super::clicked; IF dw_edit_mode THEN RETURN IF NOT KeyDown(KeyControl!) THEN String arg_msg = '' Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!', Information!, OK! ) RETURN END IF IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN IF wf_check_over(arg_msg) = 0 THEN MessageBox('提示',arg_msg, Information!, OK!) RETURN END IF IF uo_ware.getinfo(cur_scid,dw_pageretr.Object.inwareid[pagerert_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) RETURN END IF IF Not (f_power_ind(66) OR f_power_ind(103) or f_power_ind(1311) ) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) ELSE MessageBox('提示','仓库审核成功!', Information!, OK! ) wf_refresh_curuc(dw_pageretr.Object.u_inware_scid[pagerert_row],dw_pageretr.Object.inwareid[pagerert_row]) END IF ELSE IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN Long ll_i,ll_billid Int li_flag,li_secflag Long ll_suc,ll_fail Int ll_flag,ll_secflag dw_pageretr.AcceptText() ll_flag = dw_pageretr.Object.flag[dw_pageretr.GetRow()] ll_secflag = dw_pageretr.Object.u_inware_secflag[dw_pageretr.GetRow()] Open(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount()) IF Not (f_power_ind(66) OR f_power_ind(103)) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF FOR ll_i = 1 TO dw_pageretr.RowCount() w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息 li_flag = dw_pageretr.Object.flag[ll_i] IF li_flag = 1 THEN CONTINUE ll_billid = dw_pageretr.Object.inwareid[ll_i] IF uo_ware.getinfo(cur_scid,ll_billid,arg_msg) = 0 THEN ll_fail++ CONTINUE END IF IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN ll_fail++ CONTINUE END IF ll_suc++ w_sys_wait_jdt.wf_inc(ll_i) //进度 NEXT Close(w_sys_wait_jdt) MessageBox('提示','仓库批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail), Information!, OK! ) PARENT.TriggerEvent('retrieve_pageretr') END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_inware_buy_wareaudit boolean visible = false end type event cb_xm::clicked;is_mx_menustr = '' is_mx_menustr = is_mx_menustr + "|" + "Text=仓审后修改单价~tEvent=ue_mod_price" is_mx_menustr = is_mx_menustr + "|" + "Text=-" is_mx_menustr = is_mx_menustr + "|" + "Text=批设定公式~tEvent=ue_p_formula_set" is_mx_menustr = is_mx_menustr + "|" + "Text=批由公式计算数量~tEvent=ue_p_cmpl_qty" is_mx_menustr = is_mx_menustr + "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty" call super::clicked end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_inware_buy_wareaudit end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_inware_buy_wareaudit integer x = 1280 end type type cb_help from w_publ_1ton_share_detail`cb_help within w_inware_buy_wareaudit integer x = 1582 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_inware_buy_wareaudit integer x = 494 string text = "仓撤" end type event cb_auditing_cancel::clicked;call super::clicked;IF dw_edit_mode THEN RETURN String ls_code,ls_opemp,ls_outpart String arg_msg = '' Long pagerert_row,ls_id pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!', Information!, OK! ) RETURN END IF IF MessageBox ("询问","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_ware.getinfo(cur_scid,dw_pageretr.Object.inwareid [pagerert_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg) RETURN END IF IF dw_pageretr.Object.flag[pagerert_row] = 1 AND dw_pageretr.Object.u_inware_secflag[pagerert_row] = 0 THEN IF Not (f_power_ind(877) OR f_power_ind(878) or f_power_ind(1312)) THEN MessageBox('提示','你没有使用权限!', Information!, OK! ) RETURN END IF IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg, StopSign!, OK! ) ELSE MessageBox('提示','撤审成功!', Information!, OK! ) //日志 ls_code = dw_pageretr.Object.inwarecode[pagerert_row] ls_opemp = dw_pageretr.Object.u_inware_opemp[pagerert_row] ls_outpart = dw_pageretr.Object.part[pagerert_row] f_setsysoplog('采购收货单','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE) //-- wf_refresh_curuc(cur_scid,dw_pageretr.Object.inwareid[pagerert_row]) END IF END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_inware_buy_wareaudit end type type p_help from w_publ_1ton_share_detail`p_help within w_inware_buy_wareaudit end type type p_encl from w_publ_1ton_share_detail`p_encl within w_inware_buy_wareaudit end type type p_other from w_publ_1ton_share_detail`p_other within w_inware_buy_wareaudit end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_inware_buy_wareaudit end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_inware_buy_wareaudit end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_inware_buy_wareaudit end type type r_bar from w_publ_1ton_share_detail`r_bar within w_inware_buy_wareaudit end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_inware_buy_wareaudit end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_inware_buy_wareaudit end type type ddlb_scid from uo_ddlb_scid within w_inware_buy_wareaudit integer x = 919 integer y = 192 integer width = 549 integer height = 1120 integer taborder = 20 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 ddlb_status from dropdownlistbox within w_inware_buy_wareaudit integer x = 1650 integer y = 192 integer width = 549 integer height = 556 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_3 from statictext within w_inware_buy_wareaudit integer x = 1481 integer y = 212 integer width = 192 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 = "状 态" boolean focusrectangle = false end type type st_2 from statictext within w_inware_buy_wareaudit integer x = 741 integer y = 212 integer width = 192 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 = "分 部" boolean focusrectangle = false end type