$PBExportHeader$w_invoice.srw forward global type w_invoice from w_publ_1ton_share_detail end type type ddlb_scid from uo_ddlb_scid within w_invoice end type type ddlb_status from dropdownlistbox within w_invoice end type type st_3 from statictext within w_invoice end type type st_2 from statictext within w_invoice end type end forward global type w_invoice from w_publ_1ton_share_detail integer width = 3621 string title = "发票单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_fj_edit ( ) event ue_fj_view ( ) ddlb_scid ddlb_scid ddlb_status ddlb_status st_3 st_3 st_2 st_2 end type global w_invoice w_invoice type variables uo_invoice uo_ware uo_cusprice uo_cus_price long cur_scid //分店ID long cur_scid_arr[] int cur_editfocus=0 //1:新建2:修改 long cur_flag= -1 //-1:全部,0仓库未审,1仓库已审核 long cur_secflag= -1 end variables forward prototypes public function integer wf_flagstatus_rf () public function integer wf_refresh_curuc (long arg_scid, long arg_invoiceid) public function integer wf_addmx (long arg_scid, long arg_outwareid, ref string arg_msg) public function integer wf_adduc (long arg_scid, long arg_outwareid, 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_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.SetColumn ('mtrlcode') 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 = 131 //销售订单的mainID s_pic.f_string = dw_pageretr.Object.invoicecode[ls_row] s_pic.g_long = dw_pageretr.Object.invoiceid[ls_row] s_pic.e_long = dw_pageretr.Object.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 = 131 //销售订单的mainID s_pic.f_string = dw_pageretr.Object.invoicecode[ls_row] s_pic.g_long = dw_pageretr.Object.invoiceid[ls_row] s_pic.e_long = dw_pageretr.Object.scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event public function integer 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 cur_flag = -1 cur_secflag = -1 GOTO ext END IF cur_flag = dw_pageretr.Object.flag[pagerert_row] cur_secflag = dw_pageretr.Object.secflag[pagerert_row] IF dw_edit_mode THEN cb_auditing.Text = '初审&F' cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = FALSE ELSE IF cur_flag = 0 THEN cb_auditing.Enabled = TRUE cb_auditing.Text = '初审&F' cb_auditing_cancel.Enabled = FALSE ELSEIF cur_flag = 1 AND cur_secflag = 0 THEN cb_auditing.Enabled = TRUE cb_auditing.Text = '终审&F' cb_auditing_cancel.Enabled = TRUE cb_auditing_cancel.Text = '初撤' ELSE cb_auditing.Text = '初审&F' cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = TRUE cb_auditing_cancel.Text = '终撤' END IF END IF cb_auditing.TriggerEvent('ue_textchange') cb_auditing_cancel.TriggerEvent('ue_textchange') ext: RETURN 0 end function public function integer wf_refresh_curuc (long arg_scid, long arg_invoiceid);//==================================================================== // Function: wf_refresh_curuc(arg_scid,arg_inwareid) //-------------------------------------------------------------------- // Description: 刷新dw_uc //-------------------------------------------------------------------- // Arguments: // value long arg_scid // value long arg_inwareid //-------------------------------------------------------------------- // Returns: integer //-------------------------------------------------------------------- // Author: yyx Date: 2003.11.14 //-------------------------------------------------------------------- // Modify History: // //==================================================================== //wf_refresh_curuc if arg_invoiceid<=0 or isnull(arg_invoiceid) then return 0 long uc_row uc_row=dw_pageretr.getrow() if uc_row<=0 then return 0 long cusid datetime invoicedate string cuscode,cusname string dscrp string invoicecode datetime opdate string operator int li_flag datetime auditingdate ,moddate string Auditingrep ,modemp string currencyname,bankname,relcode long relid long secflag string secemp datetime secdate SELECT u_invoice.invoicecode, u_invoice.cusid, u_invoice.cuscode, u_invoice.cusname, u_invoice.invoicedate, u_invoice.currencyname, u_invoice.bankname, u_invoice.relid, u_invoice.relcode, u_invoice.dscrp, u_invoice.opemp, u_invoice.opdate, u_invoice.modemp, u_invoice.moddate, u_invoice.auditingrep, u_invoice.auditingdate, u_invoice.flag , u_invoice.secflag, u_invoice.secemp, u_invoice.secdate into :invoicecode, :cusid, :cuscode, :cusname, :invoicedate, :currencyname, :bankname, :relid, :relcode, :dscrp, :operator, :opdate, :modemp, :moddate, :Auditingrep, :Auditingdate, :li_flag, :secflag, :secemp, :secdate FROM u_invoice WHERE ( u_invoice.invoiceid = :arg_invoiceid ) and ( u_invoice.scid=:arg_scid); if sqlca.sqlcode<>0 then messagebox('错误',"查询操作失败(错误单据唯一码)",stopsign!,OK!) return 0 end if dw_pageretr.object.scid[uc_row]=arg_scid dw_pageretr.object.invoiceid[uc_row]=arg_invoiceid dw_pageretr.object.invoicedate[uc_row]=invoicedate dw_pageretr.object.currencyname[uc_row]= currencyname dw_pageretr.object.bankname[uc_row]= bankname dw_pageretr.object.dscrp[uc_row]= dscrp dw_pageretr.object.invoicecode[uc_row]=invoicecode dw_pageretr.object.opdate[uc_row]= opdate dw_pageretr.object.opemp[uc_row]= operator dw_pageretr.object.flag[uc_row]= li_flag dw_pageretr.object.relid[uc_row]=relid dw_pageretr.object.relcode[uc_row]=relcode dw_pageretr.object.Auditingdate[uc_row]= Auditingdate dw_pageretr.object.Auditingrep[uc_row]=Auditingrep dw_pageretr.object.cusid[uc_row]=cusid dw_pageretr.object.cuscode[uc_row]=cuscode dw_pageretr.object.cusname[uc_row]=cusname dw_pageretr.object.moddate[uc_row]= moddate dw_pageretr.object.modemp[uc_row]=modemp dw_pageretr.object.secflag[uc_row]=secflag dw_pageretr.object.secemp[uc_row]=secemp dw_pageretr.object.secdate[uc_row]=secdate dw_pageretr.resetupdate() dw_pageretr.setredraw(true) 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_addmx (long arg_scid, long arg_outwareid, ref string arg_msg);//wf_saletaskmtrltoarr(long arg_taskid,ref s_saletask_mtrl arg_s_rqmtrl[],ref long arg_p_rqmtrl,ref string arg_msg) //查询合同物料资料 //把物料资料写入数组 long rslt=1 long ls_mtrlid string ls_mtrlcode,ls_mtrlname,ls_mtrlmode dec ls_qty , ls_fprice , ls_rebate Long child_row child_row = dw_child.GetRow() //查询合同物料 DECLARE pf_cur CURSOR FOR SELECT u_mtrldef.mtrlid AS mtrlid, u_mtrldef.mtrlcode AS mtrlcode, u_mtrldef.mtrlname AS mtrlname,u_outwaremx.qty,u_outwaremx.fprice, u_outwaremx.rebate,u_mtrldef.mtrlmode AS mtrlmode FROM u_outwaremx INNER JOIN u_mtrldef ON u_outwaremx.mtrlid = u_mtrldef.mtrlid WHERE ( u_outwaremx.outwareid = :arg_outwareid ) and ( u_outwaremx.scid = :arg_scid ); open pf_cur; fetch pf_cur into :ls_mtrlid,:ls_mtrlcode,:ls_mtrlname,:ls_fprice,:ls_rebate,:ls_qty,:ls_mtrlmode; do while sqlca.sqlcode=0 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.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.mtrlid[child_row]=ls_mtrlid dw_child.object.mtrlcode[child_row]=ls_mtrlcode dw_child.object.mtrlmode[child_row]=ls_mtrlmode dw_child.object.mtrlname[child_row]=ls_mtrlname dw_child.object.qty[child_row]=ls_qty dw_child.object.amt[child_row] = ls_fprice * ls_rebate * ls_qty fetch pf_cur into :ls_mtrlid,:ls_mtrlcode,:ls_mtrlname,:ls_fprice,:ls_rebate,:ls_qty,:ls_mtrlmode; loop close pf_cur; dw_child.accepttext() return rslt end function public function integer wf_adduc (long arg_scid, long arg_outwareid, ref string arg_msg);//wf_saletaskmtrltoarr(long arg_taskid,ref s_saletask_mtrl arg_s_rqmtrl[],ref long arg_p_rqmtrl,ref string arg_msg) //查询合同物料资料 //把物料资料写入数组 Long rslt = 1 Long ls_cusid String ls_cuscode,ls_cusname,ls_relcode Long li_row SELECT u_cust.cusid, u_cust.cuscode, u_cust.name,u_outware.outwarecode INTO :ls_cusid,:ls_cuscode,:ls_cusname,:ls_relcode FROM u_outware INNER JOIN u_cust ON u_outware.cusid = u_cust.cusid WHERE u_outware.outwareid = :arg_outwareid AND u_outware.scid = :arg_scid USING sqlca; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = "查询操作失败,销售单客户" GOTO ext END IF dw_uc.Object.cusid[dw_uc.GetRow()] = ls_cusid dw_uc.Object.cuscode[dw_uc.GetRow()] = ls_cuscode dw_uc.Object.cusname[dw_uc.GetRow()] = ls_cusname dw_uc.Object.relid[dw_uc.GetRow()] = arg_outwareid dw_uc.Object.relcode[dw_uc.GetRow()] = ls_relcode dw_uc.AcceptText() wf_addmx(arg_scid,arg_outwareid,arg_msg) 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.invoiceid[row] ll_scid = dw_pageretr.Object.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 = 131 //客户投拆单的 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.invoiceid[LS_ROW] ll_scid = dw_uc.Object.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 = 131); 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.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_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.invoiceid[LS_ROW] ll_scid = dw_pageretr.Object.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.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_invoice.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_invoice.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_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled cb_nextpage_enabled = cb_nextpage.Enabled cb_retrieveall_enabled = cb_retrieveall.Enabled cb_func_enabled = cb_func.Enabled cb_nextpage.Enabled = FALSE cb_retrieveall.Enabled = FALSE cb_func.Enabled = FALSE dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数 dw_pageretr.Retrieve(cur_scid_arr,cur_flag,cur_secflag) IF dw_pageretr.RowCount() > 0 THEN dw_pageretr.SetRow(1) dw_pageretr.triggerevent(rowfocuschanged!) end if 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+'( invoicecode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( invoicecode 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_invoice.invoicecode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(u_invoice.invoicecode 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() ds_copy_bill = CREATE datastore ds_copy_bill.DataObject = dw_child.dataobject ds_copy_bill.SetTransObject(sqlca) 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_outware_sale 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() 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 = 11 //uc dw前7列可以编辑 child_column_int = 13 //子dw前8列可以编辑 uo_ware = CREATE uo_invoice uo_ware.commit_transaction = sqlca uo_cus_price=create uo_cusprice 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;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 end event event close;call super::close;destroy uo_ware 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 long ls_cusid child_row = dw_child.GetRow() dw_uc.AcceptText() ls_cusid = dw_uc.object.cusid[dw_uc.getrow()] if isnull(ls_cusid) or ls_cusid = 0 then this.triggerevent("ue_f9") ls_cusid = dw_uc.object.cusid[dw_uc.getrow()] end if this.enabled = false IF NOT IsValid(W_mtrldef_edit) THEN s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位PKID (备用) s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_ch_tran.if_select_all = TRUE s_ch_tran.b_long = -1 Long chc = 1,ls_j dw_child.AcceptText() IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.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.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.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child.Object.mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j] dw_child.Object.mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] end if NEXT dw_child.SetFocus() END IF this.enabled = true 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.invoiceid[row] dw_child.SetRedraw (false) dw_child.retrieve(cur_scid,uc_relid) dw_child.SetRedraw (true) else dw_child.reset() end if end event event ue_f9;call super::ue_f9;if not dw_edit_mode then return long child_row child_row=dw_uc.getrow() if child_row=0 then messagebox('提示','请选定发票单!',information!,OK!) return end if this.enabled = false if not isvalid(W_cust_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 (备用) //查询列(物料编码)部分内容,用于初步筛选 dw_uc.accepttext() s_ch_tran.arg_string_code=upper(trim(dw_uc.object.cuscode[dw_uc.getrow()])) OPENwithparm(W_cust_edit,s_ch_tran) //调用 s_custom S_INSCUST S_INSCUST=Message.PowerObjectParm //接受返回结构 IF S_INSCUST.cusid>0 THEN //正常返回值则可以取以下值 dw_uc.setredraw(false) dw_uc.object.cusid[child_row]=S_INSCUST.cusid dw_uc.object.cusname[child_row]=S_INSCUST.name dw_uc.object.cuscode[child_row]=S_INSCUST.cuscode dw_uc.setredraw(true) dw_uc.setcolumn("invoicedate") END IF end if this.enabled = true end event event ue_viewprint;call super::ue_viewprint; IF NOT f_power_ind(608) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF s_print_msg ls_prmsg ls_prmsg.retr_pram_falg = 15 IF dw_uc.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN END IF IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF ls_prmsg.obj_dwNAME = ls_newname ELSE ls_prmsg.obj_dwNAME = 'dw_rp_invoice_edit' END IF ls_prmsg.tag_text = '发票单' ls_prmsg.filter_string = '' ls_prmsg.pagech_flag = 0 ls_prmsg.retr_scid = dw_pageretr.Object.scid[dw_pageretr.GetRow()] ls_prmsg.retr_pramnmb = dw_pageretr.Object.invoiceid[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 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_invoice',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_uc.Object.invoiceid[dw_uc.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 - 3557) //dw_child.height=this.height - (w_height - 932) // //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) // end event event ue_print;call super::ue_print;//--直接打印 IF NOT f_power_ind(608) 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 ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_rp_invoice_edit' END IF LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.TAG_TEXT = '发票单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.invoiceid[dw_pageretr.GetRow()] 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,stopsign!,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 end event event ue_f7;IF NOT dw_edit_mode THEN RETURN Long ls_outwareid String ls_outwarecode Long ls_j THIS.Enabled = FALSE IF NOT IsValid(w_outware_sale_ch) THEN s_outware_tsale_array s_outware 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 = cur_scid s_tranf8.if_select_all = TRUE //多选 OpenWithParm(w_outware_sale_invoice_ch,s_tranf8) s_outware = Message.PowerObjectParm FOR ls_j = 1 TO UpperBound(s_outware.outwareid) IF s_outware.outwareid[ls_j] > 0 THEN dw_uc.SetRedraw(FALSE) ls_outwareid = s_outware.outwareid[ls_j] ls_outwarecode = s_outware.outwarecode[ls_j] String errmsg = '' IF wf_adduc(cur_scid,ls_outwareid,errmsg) = 0 THEN MessageBox('错误',errmsg,stopsign!,OK!) CONTINUE END IF dw_uc.SetRedraw(TRUE) END IF dw_uc.SetColumn("dscrp") NEXT END IF THIS.Enabled = TRUE 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(768) 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.scid[uc_row],dw_pageretr.Object.invoiceid[uc_row],ls_str,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN ELSE MessageBox('提示','添加备注操作成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.object.scid[uc_row],dw_pageretr.Object.invoiceid[uc_row]) END IF end event type cb_func from w_publ_1ton_share_detail`cb_func within w_invoice integer x = 165 end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_invoice integer x = 2533 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_invoice integer x = 192 integer y = 180 integer width = 549 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_invoice integer x = 2935 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_invoice integer x = 2683 integer y = 36 integer width = 256 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_invoice integer x = 1637 integer y = 280 integer width = 1906 integer height = 860 string dataobject = "dw_invoice_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_invoice integer x = 14 integer y = 200 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_invoice integer x = 3086 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_invoice integer width = 1632 integer height = 848 string dataobject = "dw_invoice_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 ('mtrlcode') return 1 elseif dw_uc.GetColumnName ( )='cuscode' and key = KeyEnter! then String ls_code,ls_name,ls_custype,ls_find_code Long ls_cusid Long cnt = 0 Boolean if_find = FALSE dw_uc.AcceptText() ls_code = Trim(dw_uc.Object.cuscode[dw_uc.GetRow()]) SELECT u_cust.cusid, u_cust.name, u_cust.custype, u_cust.cuscode INTO :ls_cusid,:ls_name,:ls_custype,:ls_code FROM u_cust Where (cuscode = :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_cust Where ( cuscode 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_cust.cusid, u_cust.cuscode, u_cust.name INTO :ls_cusid,:ls_code,:ls_name FROM u_cust Where ( cuscode 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.cusid[dw_uc.getrow()]=ls_cusid dw_uc.object.cuscode[dw_uc.getrow()]=ls_code dw_uc.object.cusname[dw_uc.getrow()]=ls_name dw_uc.setredraw(true) dw_uc.setcolumn("invoicedate") 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 parent.triggerevent('ue_f9') END IF end event event dw_uc::clicked;call super::clicked;if not dw_edit_mode then return if row <= 0 then return if dwo.name='p_p' then parent.TRIGGEREVENT('ue_f9') elseif dwo.name='p_b' Or dwo.Name = 'outware_sale_t' THEN parent.TRIGGEREVENT('ue_f7') end if end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_invoice end type type dw_child from w_publ_1ton_share_detail`dw_child within w_invoice integer y = 1128 integer height = 1112 string dataobject = "dw_invoicemx_index" end type event dw_child::dwnkey;call super::dwnkey;parent.triggerevent('user_key') string ls_mtrlcode,ls_mtrlname,ls_mtrlmode long ls_mtrlid long child_row long ls_null setnull(ls_null) s_mtrldef_array arg_s_mtrldef if dw_edit_mode then 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!) or keydown(KeyTab!)) and not keydown(KeyControl!) and not keydown(KeyShift!) then if dw_child.getcolumnname()='mtrlcode' then dw_child.accepttext() child_row=dw_child.getrow() ls_mtrlcode=dw_child.object.mtrlcode[child_row] IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN PARENT.TriggerEvent('ue_f8') RETURN 1 else ls_mtrlid = arg_s_mtrldef.mtrlid[1] ls_mtrlcode = arg_s_mtrldef.mtrlcode[1] ls_mtrlname = arg_s_mtrldef.mtrlname[1] ls_mtrlmode = arg_s_mtrldef.mtrlmode[1] end if dw_child.object.mtrlid[child_row] =ls_mtrlid dw_child.object.mtrlname[child_row] =ls_mtrlname dw_child.object.mtrlmode[child_row] =ls_mtrlmode 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( ) = 'dscrp' 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 type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_invoice integer x = 2039 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_invoice integer x = 1847 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_invoice integer x = 315 end type event cb_add::clicked;IF NOT f_power_ind(525) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg = '' Long uc_row,pagerert_row Long relid_pageretr,reld_uc,j 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.invoicedate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('提示','不合理发生时间',information!,OK!) dw_uc.SetFocus() dw_uc.SetColumn("invoicedate") RETURN END IF uo_ware.invoicedate = dw_uc.Object.invoicedate[uc_row] // 发生时间 uo_ware.bankname = dw_uc.Object.bankname[uc_row] // 经手人 uo_ware.currencyname = dw_uc.Object.currencyname[uc_row] //相关部门 uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注 uo_ware.cusid = dw_uc.Object.cusid[uc_row] uo_ware.cuscode = dw_uc.Object.cuscode[uc_row] uo_ware.cusname = dw_uc.Object.cusname[uc_row] uo_ware.relcode = dw_uc.Object.relcode[uc_row] IF IsNull(dw_uc.Object.relid[uc_row]) THEN dw_uc.Object.relid[uc_row] = 0 uo_ware.relid = dw_uc.Object.relid[uc_row] Long obj_mtrlid,i Dec obj_qty,obj_price String obj_mtrlcode FOR i = 1 TO dw_child.RowCount() IF uo_ware.acceptmx( dw_child.Object.qty[i],& dw_child.Object.price[i],& dw_child.Object.amt[i],& dw_child.Object.dscrp[i],& i,& arg_msg,& dw_child.Object.mtrlid[i],& dw_child.Object.mtrlcode[i],& dw_child.Object.mtrlname[i],& dw_child.Object.mtrlmode[i],& dw_child.Object.saledate[i],& dw_child.Object.btype[i],& dw_child.Object.bqty[i],& dw_child.Object.bcode[i]) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF NEXT IF uo_ware.Save(TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF // messagebox(publ_operator,'保存操作成功!') long ll_row ll_row = dw_pageretr.getrow() dw_pageretr.SelectRow(0,FALSE) dw_pageretr.SelectRow(ll_row,TRUE) wf_refresh_curuc(cur_scid,uo_ware.invoiceid) //刷新uc ELSE IF uo_ware.newbegin(cur_scid,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF cur_editfocus = 1 END IF CALL SUPER::Clicked //read ini IF dw_edit_mode THEN PARENT.TriggerEvent("insert_childrow") dw_uc.SetColumn("cuscode") ELSE PARENT.TriggerEvent("retrieve_childdw") END IF // end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_invoice integer x = 507 end type event cb_edit::clicked;if not f_power_ind(525) then messagebox('提示','你没有使用权限!',information!,OK!) return end if string arg_msg='' long uc_row uc_row=dw_pageretr.getrow() if uc_row<=0 then messagebox('提示','请选定当前目标单据!',information!,OK!) return end if if not dw_edit_mode then if uo_ware.updatebegin(dw_pageretr.object.scid[uc_row],dw_pageretr.object.invoiceid[uc_row],arg_msg)=0 then messagebox('错误',arg_msg,stopsign!,OK!) return end if cur_editfocus=2 else cur_editfocus=0 end if call super::clicked PARENT.triggerevent('refresh_interface') end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_invoice integer x = 699 end type event cb_delet::clicked;call super::clicked;if not f_power_ind(607) then messagebox('提示','你没有使用权限!',information!,OK!) return end if if dw_edit_mode then return string arg_msg='' long uc_row uc_row=dw_pageretr.getrow() if uc_row<=0 then messagebox('提示','请选定当前目标单据!',information!,OK!) return end if if messagebox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 then return if uo_ware.del(dw_pageretr.object.scid[uc_row],dw_pageretr.object.invoiceid[uc_row],arg_msg,true)=0 then messagebox('错误',arg_msg,stopsign!,OK!) else //日志 long ls_id string ls_code ls_id=dw_pageretr.object.invoiceid[uc_row] ls_code=dw_pageretr.object.invoicecode[uc_row] f_setsysoplog('发票','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true) //-- messagebox('提示','删除单据'+string(dw_pageretr.object.invoicecode[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_invoice integer x = 1193 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_fj_view" menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit" 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_invoice integer x = 850 end type event cb_auditing::clicked;call super::clicked; IF dw_edit_mode THEN RETURN String arg_msg = '',ls_code Long pagerert_row,ls_id pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_ware.getinfo(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN IF NOT f_power_ind(526) 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.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row]) END IF ELSE IF NOT f_power_ind(1001) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF IF uo_ware.secauditing(TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) ELSE MessageBox('提示','审核成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row]) END IF END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_invoice integer x = 1445 end type type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_invoice integer width = 165 end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_invoice integer x = 2231 end type type cb_help from w_publ_1ton_share_detail`cb_help within w_invoice integer x = 1696 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_invoice integer x = 1042 end type event cb_auditing_cancel::clicked;call super::clicked; IF dw_edit_mode THEN RETURN String arg_msg = '',ls_code,ls_opemp,ls_outpart Long pagerert_row,ls_id pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF NOT KeyDown(KeyControl!) THEN IF MessageBox ("询问","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN END IF IF uo_ware.getinfo(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF IF dw_pageretr.Object.secflag[pagerert_row] = 0 THEN IF NOT f_power_ind(875) 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.invoicecode[pagerert_row] ls_opemp = dw_pageretr.Object.opemp[pagerert_row] ls_outpart = dw_pageretr.Object.relcode[pagerert_row] f_setsysoplog('发票','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE) //-- wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row]) END IF ELSE IF NOT f_power_ind(1002) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF IF uo_ware.c_secauditing(TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) ELSE MessageBox('提示','撤审成功!',information!,OK!) //日志 ls_code = dw_pageretr.Object.invoicecode[pagerert_row] ls_opemp = dw_pageretr.Object.opemp[pagerert_row] ls_outpart = dw_pageretr.Object.relcode[pagerert_row] f_setsysoplog('发票','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE) //-- wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row]) END IF END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_invoice end type type p_help from w_publ_1ton_share_detail`p_help within w_invoice end type type p_encl from w_publ_1ton_share_detail`p_encl within w_invoice end type type p_other from w_publ_1ton_share_detail`p_other within w_invoice end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_invoice end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_invoice end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_invoice end type type r_bar from w_publ_1ton_share_detail`r_bar within w_invoice end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_invoice end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_invoice end type type ddlb_scid from uo_ddlb_scid within w_invoice integer x = 969 integer y = 184 integer width = 549 integer height = 468 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_invoice integer x = 1755 integer y = 184 integer width = 549 integer height = 508 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 cur_secflag = -1 ELSEIF Index = 2 THEN cur_flag = 0 cur_secflag = 0 ELSEIF Index = 3 THEN cur_flag = 1 cur_secflag = 0 ELSEIF Index = 4 THEN cur_flag = 1 cur_secflag = 1 END IF PARENT.TriggerEvent('retrieve_pageretr') end event type st_3 from statictext within w_invoice integer x = 1577 integer y = 200 integer width = 219 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_invoice integer x = 791 integer y = 200 integer width = 219 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