$PBExportHeader$w_outware_sale_wareaudit.srw forward global type w_outware_sale_wareaudit from w_publ_1ton_share_detail end type type ddlb_scid from uo_ddlb_scid within w_outware_sale_wareaudit end type type ddlb_status from dropdownlistbox within w_outware_sale_wareaudit end type type st_3 from statictext within w_outware_sale_wareaudit end type type st_2 from statictext within w_outware_sale_wareaudit end type type st_msg from statictext within w_outware_sale_wareaudit end type end forward global type w_outware_sale_wareaudit from w_publ_1ton_share_detail integer height = 2300 string title = "销售发货单仓审" boolean maxbox = true windowstate windowstate = maximized! long ls_powerid = 24665208 event insert_childrow ( ) event ue_priceaudit ( ) event ue_cpriceaudit ( ) event ue_importseleprice ( ) event ue_cmpdi ( ) event ue_di ( ) event ue_copy ( ) event ue_paste ( ) event ue_importcusseleprice_his ( ) event ue_importcusseleprice ( ) event ue_update_outdate ( ) event ue_fj_view ( ) event ue_fj_edit ( ) ddlb_scid ddlb_scid ddlb_status ddlb_status st_3 st_3 st_2 st_2 st_msg st_msg end type global w_outware_sale_wareaudit w_outware_sale_wareaudit type variables uo_outware_sale uo_ware long cur_scid //分店ID long cur_scid_arr[] int cur_editfocus=0 //1:新建2:修改 string cur_outrepcode='' //当前供销编号 long cur_flag= -1 //-1:全部,0仓库未审,1仓库已审核 long cur_secflag= -1 //-1:全部,0财务未审 long flag= 0 long secflag= 0 string ol_cdw_str = '' end variables forward prototypes public function integer wf_flagstatus_rf () public function integer wf_refresh_curuc (long arg_scid, long arg_wareid) public function integer wf_saletaskmtrltoarr (long arg_scid, long arg_taskid, ref s_saletask_mtrl arg_s_rqmtrl, ref long arg_p_rqmtrl, ref string arg_msg) public function integer wf_autoaddmx (long arg_scid, long arg_saletaskid, string arg_taskcode, long arg_storageid, long arg_cusid, ref string arg_msg) public function integer wf_copy (ref string arg_msg) public function integer wf_paste (ref string arg_msg) 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) public subroutine wf_check_billfj () end prototypes event insert_childrow();long li_row li_row=dw_child.insertrow(0) dw_child.scrolltorow(li_row) dw_child.SetColumn ('u_mtrldef_mtrlcode') end event event ue_priceaudit();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) return END IF IF NOT f_power_ind(491) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF uo_ware.priceaudit(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row],TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF MessageBox('提示','确认成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row]) end event event ue_cpriceaudit();IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,OK!) return END IF IF NOT f_power_ind(491) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF IF uo_ware.c_priceaudit(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row],TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.u_outware_outwareid[pagerert_row] ls_code = dw_pageretr.Object.u_outware_outwarecode[pagerert_row] f_setsysoplog('销售发货单','反确认,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox('提示','反确认成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row]) end event event ue_importseleprice();//IF NOT dw_edit_mode THEN // MessageBox('提示',"非编辑状态下不可以使用!",information!,OK!) // RETURN //END IF // //Long ls_row,ls_cusid,ls_mtrlid //String ls_cuscode,ls_cusname,arg_msg //Long uc_row //Decimal obj_price ,obj_rebate //String err_str = '' //Boolean if_exist_price = TRUE //Long ls_pricelistid,ll_moneyid //String ls_status,ls_pcode,ls_woodcode //s_pricelist_ch s_pricelist // //ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] //IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN // MessageBox('提示','请先选择币种',information!,OK!) // RETURN //END IF // ////直接查询价格表 //// IF MessageBox (publ_operator,"是否直接选择价格表?",Question!,YesNo! ) = 2 THEN RETURN //Open(w_sale_price_list_ch) //s_pricelist = Message.PowerObjectParm //IF s_pricelist.pricelistid <= 0 THEN RETURN //FOR ls_row = 1 TO dw_child.RowCount() // ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ls_row] // ls_status = dw_child.Object.u_outwaremx_status[ls_row] // ls_pcode = dw_child.Object.u_outwaremx_pcode[ls_row] // ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ls_row] // // IF sys_option_price_if_status = 0 THEN // ls_status = '' // ls_pcode = '' // ls_woodcode = '' // END IF // // // SELECT u_sale_price_mx.price // INTO :obj_price // FROM u_sale_price_mx // WHERE (u_sale_price_mx.pricelistid = :s_pricelist.pricelistid) AND // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND // ( u_sale_price_mx.status = :ls_status ) AND // ( u_sale_price_mx.pcode = :ls_pcode ) AND // ( u_sale_price_mx.woodcode = :ls_woodcode ); // IF sqlca.SQLCode <> 0 THEN // err_str = err_str + "当前价格表的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的计划售价尚未设定! ~n" // ELSE // dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price // END IF //NEXT // // //IF err_str <> '' THEN // MessageBox('错误',err_str,stopsign!,OK!) //END IF // // // // // // // // // // end event event ue_cmpdi(); Long ll_SonMtrlid[],ll_mtrlid,ll_storageid String ls_pf_status[],ls_status_uc,ls_status_find Decimal ld_Sonscale[] Long it_mxt = 1 Long uc_row,child_row decimal ld_qty Long ll_i,ll_row dw_uc.AcceptText() uc_row = dw_pageretr.GetRow() child_row = dw_child.GetRow() if uc_row <= 0 then return if child_row <= 0 then return ll_mtrlid = dw_child.Object.u_outwaremx_mtrlid[child_row] ll_storageid = dw_pageretr.Object.u_outware_storageid[uc_row] ls_status_uc = dw_child.Object.u_outwaremx_status[child_row] IF ll_storageid <= 0 THEN MessageBox('提示','请选择仓库',information!,OK!) RETURN END IF DECLARE cur_pf CURSOR FOR SELECT u_PrdPF.SonMtrlid, u_PrdPF.Sonscale, u_PrdPF.status FROM u_PrdPF Where u_PrdPF.mtrlid = :ll_mtrlid; OPEN cur_pf; FETCH cur_pf INTO :ll_SonMtrlid[it_mxt],:ld_Sonscale[it_mxt],:ls_pf_status[it_mxt]; DO WHILE sqlca.SQLCode = 0 it_mxt++ FETCH cur_pf INTO :ll_SonMtrlid[it_mxt],:ld_Sonscale[it_mxt],:ls_pf_status[it_mxt]; LOOP it_mxt = it_mxt - 1 CLOSE cur_pf; IF it_mxt = 0 THEN MessageBox('提示','该产品没有建立组装结构,不能计算',information!,OK!) RETURN END IF String ls_mtrlcode,ls_mtrlname Decimal ld_noallocqty,ld_allqty,ld_maxqty ld_maxqty = 1000000 FOR ll_i = 1 TO it_mxt SELECT mtrlcode, mtrlname INTO :ls_mtrlcode, :ls_mtrlname FROM u_mtrldef Where mtrlid = :ll_SonMtrlid[ll_i]; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询产品资料失败',stopsign!,OK!) RETURN END IF if sys_option_if_color = 1 then ls_status_find = ls_status_uc else ls_status_find = ls_pf_status[ll_i] end if ld_noallocqty = 0 ld_allqty = 0 SELECT sum(noallocqty) INTO :ld_noallocqty FROM u_mtrlware WHERE storageid = :ll_storageid AND mtrlid = :ll_SonMtrlid[ll_i] and status = :ls_status_find; IF sqlca.SQLCode <> 0 THEN MessageBox('错误','查询该产品组装材料'+ls_mtrlname+'的库存资料失败',stopsign!,OK!) RETURN END IF ld_allqty = ld_noallocqty/ld_Sonscale[ll_i] ld_maxqty = min(ld_maxqty,ld_allqty) if isnull(ld_maxqty) then ld_maxqty = 0 NEXT ld_qty = Truncate ( ld_maxqty, 0 ) messagebox('提示','可装货数量:'+string(ld_qty,'#,##0.####'),information!,OK!) end event event ue_di();long ll_row long ll_mtrlwareid if not f_power_ind(288) then messagebox('提示','你没有使用权限!',information!,OK!) return end if ll_row = dw_child.getrow() if ll_row <= 0 then messagebox('提示','请选择资料',information!,OK!) return end if ll_mtrlwareid= dw_child.object.u_outwaremx_mtrlwareid[ll_row] s_edit_index_tran s_tran_open //翻页功能窗口 传递参数使用 s_tran_open.if_retrieve_all = local_retrieve_all //是否一次RETRIEVE所有行 s_tran_open.work_mode = 0 //0-单纯编辑模式, 1-选择模式 s_tran_open.arg_pkid = 0 //目标定位PKID (备用) s_tran_open.arg_string_code = '' //查询列部分内容,用于初步筛选 s_tran_open.d_long = 1 s_tran_open.e_long = 0 s_tran_open.e_string = '装' s_tran_open.f_long = ll_mtrlwareid openwithparm(w_dismantle_install,s_tran_open) end event event ue_copy();string arg_msg='' if wf_copy(arg_msg) = 1 then messagebox('提示','复制成功',information!,OK!) else messagebox('错误',arg_msg,stopsign!,OK!) end if end event event ue_paste();string arg_msg='' if wf_paste(arg_msg) = 1 then else messagebox('错误',arg_msg,stopsign!,OK!) end if end event event ue_importcusseleprice_his();//// //导入客户历史售价 //Long ls_row,ls_cusid,ls_mtrlid //String ls_cuscode,ls_cusname,arg_msg //Long uc_row //Decimal obj_price ,obj_rebate,obj_rate //String err_str = '' //Boolean if_exist_price = TRUE //Long ls_pricelistid,ll_moneyid //String ls_status,ls_pcode,ls_woodcode,ls_unit //s_pricelist_ch s_pricelist //uc_row = dw_uc.GetRow() // //ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] //IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN // MessageBox('提示','请先选择币种',information!,OK!) // RETURN //END IF // //IF dw_uc.Object.u_outware_cusid[uc_row] = 0 OR IsNull(dw_uc.Object.u_outware_cusid[uc_row]) THEN // MessageBox('提示',"请选择销售客户!",information!,OK!) // RETURN //END IF //ls_cusid = dw_uc.Object.u_outware_cusid[uc_row] //ls_cuscode = dw_uc.Object.u_cust_cuscode[uc_row] //ls_cusname = dw_uc.Object.u_cust_name[uc_row] // //IF dw_child.RowCount() <= 0 THEN // MessageBox('提示',"请选择产品!",information!,OK!) // RETURN //END IF //FOR ls_row = 1 TO dw_child.RowCount() // ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ls_row] // ls_status = dw_child.Object.u_outwaremx_status[ls_row] // ls_pcode = dw_child.Object.u_outwaremx_pcode[ls_row] // ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ls_row] // ls_unit = dw_child.Object.u_mtrldef_unit[ls_row] // // IF f_getmtrlcusprice(ll_moneyid,ls_mtrlid,ls_cusid,ls_unit,ls_woodcode,ls_status,ls_pcode,0,obj_price,obj_rebate,obj_rate,arg_msg) <> 1 THEN // err_str = err_str + "导入客户["+ls_cuscode+ls_cusname+"]的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的最新售价失败,或没有最新售价! ~n " // ELSE // dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price // dw_child.Object.u_outwaremx_rebate[ls_row] = obj_rebate // END IF //NEXT // // //IF err_str <> '' THEN // MessageBox('错误',err_str,stopsign!,OK!) //END IF // // end event event ue_importcusseleprice();// ////查询客户价格表 ////如果客户无价格表则提示是否直接查询价格表 //Long ls_row,ls_cusid,ls_mtrlid //String ls_cuscode,ls_cusname,arg_msg //Long uc_row //Decimal obj_price ,obj_rebate //String err_str = '' //Boolean if_exist_price = TRUE //Long ls_pricelistid,ll_moneyid //String ls_status,ls_pcode,ls_woodcode //s_pricelist_ch s_pricelist // //uc_row = dw_uc.GetRow() // //ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] // //IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN // MessageBox('提示','请先选择币种',information!,OK!) // RETURN //END IF // //IF dw_uc.Object.u_outware_cusid[uc_row] = 0 OR IsNull(dw_uc.Object.u_outware_cusid[uc_row]) THEN // MessageBox('提示',"请选择销售客户!",information!,OK!) // RETURN //END IF //ls_cusid = dw_uc.Object.u_outware_cusid[uc_row] // //SELECT u_cust.pricelistid INTO :ls_pricelistid FROM u_cust Where u_cust.cusid = :ls_cusid; //IF sqlca.SQLCode <> 0 OR ls_pricelistid <= 0 THEN // if_exist_price = FALSE //END IF // // //IF if_exist_price = FALSE THEN // IF MessageBox('询问',"当前客户的计划售价尚未设定!是否查询价格列表?",Question!,YesNo!) = 2 THEN RETURN // Open(w_sale_price_list_ch) // s_pricelist = Message.PowerObjectParm // IF s_pricelist.pricelistid <= 0 THEN RETURN //END IF // //FOR ls_row = 1 TO dw_child.RowCount() // ls_mtrlid = dw_child.Object.u_outwaremx_mtrlid[ls_row] // ls_status = dw_child.Object.u_outwaremx_status[ls_row] // ls_pcode = dw_child.Object.u_outwaremx_pcode[ls_row] // ls_woodcode = dw_child.Object.u_outwaremx_woodcode[ls_row] // // IF sys_option_price_if_status = 0 THEN // ls_status = '' // ls_pcode = '' // ls_woodcode = '' // END IF // // // IF if_exist_price THEN //查询客户价格表 // IF Not (IsNull(ls_mtrlid) OR ls_mtrlid = 0 ) THEN // SELECT u_sale_price_mx.price // INTO :obj_price // FROM u_sale_price_list ,u_cust,u_sale_price_mx // WHERE (u_sale_price_list.pricelistid = u_cust.pricelistid) AND // (u_sale_price_mx.pricelistid = u_sale_price_list.pricelistid) AND // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND // ( u_cust.cusid = :ls_cusid ) AND // ( u_sale_price_mx.status = :ls_status ) AND // ( u_sale_price_mx.pcode = :ls_pcode ) AND // ( u_sale_price_mx.woodcode = :ls_woodcode ); // IF sqlca.SQLCode <> 0 THEN // err_str = err_str + "当前客户的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的计划售价尚未设定! ~n" // ELSE // dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price // END IF // END IF // ELSE //查询价格列表 // SELECT u_sale_price_mx.price // INTO :obj_price // FROM u_sale_price_mx // WHERE ( u_sale_price_mx.pricelistid = :s_pricelist.pricelistid ) AND // ( u_sale_price_mx.mtrlid = :ls_mtrlid ) AND // ( u_sale_price_mx.status = :ls_status ) AND // ( u_sale_price_mx.pcode = :ls_pcode ) AND // ( u_sale_price_mx.woodcode = :ls_woodcode ); // IF sqlca.SQLCode <> 0 THEN // err_str = err_str + "当前价格表的 "+String(dw_child.Object.u_mtrldef_mtrlname[ls_row])+" 的计划售价尚未设定! ~n" // ELSE // dw_child.Object.u_outwaremx_enprice[ls_row] = obj_price // END IF // END IF //NEXT //IF err_str <> '' THEN // MessageBox('错误',err_str,stopsign!,OK!) //END IF // // end event event ue_update_outdate();IF Not (f_power_ind(65) OR f_power_ind(369)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF String arg_msg = '' Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,OK!) RETURN END IF Long ll_scid Long ll_outwareid Long ll_flag, ll_priceflag DateTime ldt_outdate ll_scid = dw_pageretr.Object.u_outware_scid[pagerert_row] ll_outwareid = dw_pageretr.Object.u_outware_outwareid[pagerert_row] ll_priceflag = dw_pageretr.Object.u_outware_priceflag[pagerert_row] ll_flag = dw_pageretr.Object.flag[pagerert_row] ldt_outdate = dw_pageretr.Object.u_outware_outdate[pagerert_row] IF ll_priceflag = 0 THEN MessageBox('提示','单据未确认,不能使用此功能!',information!,OK!) RETURN END IF IF ll_flag = 1 THEN MessageBox('提示','单据已仓审,不能使用此功能!',information!,OK!) RETURN END IF String ls_str s_inputbox s_sreu s_sreu.Title = '请输入新的销售时间' s_sreu.old_text = string(ldt_outdate,'yyyy-mm-dd') OpenWithParm(w_inputbox_datetime,s_sreu) ls_str = Message.StringParm IF Trim(ls_str) = '' OR Trim(ls_str) = '0000-00-00' OR IsNull(ls_str) THEN RETURN if string(ldt_outdate,'yyyy-mm-dd') = Trim(ls_str) then RETURN ldt_outdate = DateTime(Date(ls_str),Time(0)) IF uo_ware.p_update_outdate(ll_scid,ll_outwareid,ldt_outdate,TRUE,arg_msg) = 0 THEN MessageBox('提示',arg_msg) ELSE MessageBox('提示','更新销售时间成功!') wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row]) END IF RETURN 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 = 104 s_pic.f_string = dw_pageretr.Object.u_outware_outwarecode[ls_row] s_pic.g_long = dw_pageretr.Object.u_outware_outwareid[ls_row] s_pic.e_long = dw_pageretr.Object.u_outware_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) 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,sys_msg_pow) // 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 = 104 s_pic.f_string = dw_pageretr.Object.u_outware_outwarecode[ls_row] s_pic.g_long = dw_pageretr.Object.u_outware_outwareid[ls_row] s_pic.e_long = dw_pageretr.Object.u_outware_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_mng,s_pic) wf_check_billfj() end event public function integer wf_flagstatus_rf ();//wf_flagstatus_rf() Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.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] secflag = dw_pageretr.Object.secflag[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 AND secflag = 0 THEN cb_auditing.Enabled = false 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 = false 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_wareid);//==================================================================== // 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_wareid<=0 or isnull(arg_wareid) then return 0 long uc_row uc_row=dw_pageretr.getrow() if uc_row<=0 then return 0 long outwareid,cusid datetime outdate string part,cusname string outrep string dscrp int planflag int balcflag string outwarecode datetime opdate string operator int li_flag ,li_secflag ,li_priceflag datetime auditingdate ,secauditingdate ,moddate,pricedate string Auditingrep ,secAuditingrep ,modemp,priceemp string storagename int thflag SELECT u_outware.outdate, u_outware.outrep, u_outware.part, u_outware.dscrp, u_outware.outwarecode, u_outware.opdate, u_outware.opemp, u_outware.auditingdate, u_outware.flag, u_outware.auditingrep, u_outware.secauditingdate, u_outware.secflag, u_outware.secauditingrep, u_outware.balcflag, u_outware.cusid, u_cust.name, u_storage.storagename , u_outware.thflag, u_outware.modemp, u_outware.moddate, u_outware.priceflag, u_outware.priceemp, u_outware.pricedate into :outdate, :outrep, :part, :dscrp, :outwarecode, :opdate, :operator, :Auditingdate, :li_flag, :Auditingrep, :secAuditingdate, :li_secflag, :secAuditingrep, :balcflag, :cusid, :cusname, :storagename, :thflag, :modemp, :moddate, :li_priceflag, :priceemp, :pricedate FROM u_outware, u_cust ,u_storage WHERE ( u_outware.cusid = u_cust.cusid ) and ( u_outware.outwareid = :arg_wareid ) and ( u_outware.storageid = u_storage.storageid) and ( u_outware.scid=:arg_scid); if sqlca.sqlcode<>0 then messagebox('错误',"查询操作失败(错误单据唯一码)",stopsign!,OK!) return 0 end if dw_pageretr.object.u_outware_scid[uc_row]=arg_scid dw_pageretr.object.u_outware_outwareid[uc_row]=arg_wareid dw_pageretr.object.u_outware_outdate[uc_row]=outdate dw_pageretr.object.u_outware_part[uc_row]= part dw_pageretr.object.u_outware_outrep[uc_row]= outrep dw_pageretr.object.u_outware_dscrp[uc_row]= dscrp dw_pageretr.object.u_outware_balcflag[uc_row]= balcflag dw_pageretr.object.u_outware_outwarecode[uc_row]=outwarecode dw_pageretr.object.u_outware_opdate[uc_row]= opdate dw_pageretr.object.u_outware_opemp[uc_row]= operator dw_pageretr.object.flag[uc_row]= li_flag dw_pageretr.object.u_outware_Auditingdate[uc_row]= Auditingdate dw_pageretr.object.u_outware_Auditingrep[uc_row]=Auditingrep dw_pageretr.object.u_outware_cusid[uc_row]=cusid dw_pageretr.object.u_cust_name[uc_row]=cusname dw_pageretr.object.u_storage_storagename[uc_row]=storagename dw_pageretr.object.u_outware_thflag[uc_row]=thflag dw_pageretr.object.secflag[uc_row]= li_secflag dw_pageretr.object.u_outware_secAuditingdate[uc_row]= secAuditingdate dw_pageretr.object.u_outware_secAuditingrep[uc_row]=secAuditingrep dw_pageretr.object.u_outware_moddate[uc_row]= moddate dw_pageretr.object.u_outware_modemp[uc_row]=modemp dw_pageretr.object.u_outware_priceflag[uc_row]= li_priceflag dw_pageretr.object.u_outware_pricedate[uc_row]= pricedate dw_pageretr.object.u_outware_priceemp[uc_row]=priceemp 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_saletaskmtrltoarr (long arg_scid, long arg_taskid, ref s_saletask_mtrl arg_s_rqmtrl, ref long arg_p_rqmtrl, 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 ////查询合同物料 //DECLARE pf_cur CURSOR FOR // SELECT u_saletaskmx.mtrlid, // // u_saletaskmx.SaleQty - u_saletaskmx.consignedqty, // u_saletaskmx.enprice, // u_saletaskmx.fprice, // u_saletaskmx.rebate, // u_saletaskmx.mxdscrp, // u_saletaskmx.status, // u_saletaskmx.woodcode, // u_saletaskmx.pcode // FROM u_saletaskmx ,u_mtrldef // WHERE u_saletaskmx.mtrlid= u_mtrldef.mtrlid and // ( u_saletaskmx.taskid = :arg_taskid ) // and ( u_saletaskmx.SaleQty - u_saletaskmx.consignedqty <> 0 ) // and ( u_saletaskmx.scid = :arg_scid ); //open pf_cur; //arg_p_rqmtrl=1 //fetch pf_cur into :arg_s_rqmtrl.mtrlid[arg_p_rqmtrl],:arg_s_rqmtrl.qty[arg_p_rqmtrl], // :arg_s_rqmtrl.enprice[arg_p_rqmtrl],:arg_s_rqmtrl.fprice[arg_p_rqmtrl],:arg_s_rqmtrl.rebate[arg_p_rqmtrl], // :arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl],:arg_s_rqmtrl.status[arg_p_rqmtrl], // :arg_s_rqmtrl.woodcode[arg_p_rqmtrl],:arg_s_rqmtrl.pcode[arg_p_rqmtrl]; //do while sqlca.sqlcode=0 // arg_p_rqmtrl++ // fetch pf_cur into :arg_s_rqmtrl.mtrlid[arg_p_rqmtrl],:arg_s_rqmtrl.qty[arg_p_rqmtrl], // :arg_s_rqmtrl.enprice[arg_p_rqmtrl],:arg_s_rqmtrl.fprice[arg_p_rqmtrl],:arg_s_rqmtrl.rebate[arg_p_rqmtrl], // :arg_s_rqmtrl.mxdscrp[arg_p_rqmtrl],:arg_s_rqmtrl.status[arg_p_rqmtrl], // :arg_s_rqmtrl.woodcode[arg_p_rqmtrl],:arg_s_rqmtrl.pcode[arg_p_rqmtrl]; //loop //arg_p_rqmtrl=arg_p_rqmtrl - 1 //close pf_cur; return rslt end function public function integer wf_autoaddmx (long arg_scid, long arg_saletaskid, string arg_taskcode, long arg_storageid, long arg_cusid, ref string arg_msg);////wf_autoaddmx(arg_saletaskid,arg_storageid,arg_msg) ////查询合同物料于数组中 ////循环数组 ////查询物料库存总额 ////查询库存批/插入明细记录 //IF NOT dw_edit_mode THEN RETURN 0 // //s_saletask_mtrl s_rqmtrlI Long P_rqmtrl,lrow,li,rslt = 1 //Decimal mtrlwaresum_qty,sumqty,i_qty,ins_qty,ins_planprice,ins_price,noallocqty,allocqty //Long ins_storageid,count = 0,ins_mtrlwareid = 0,child_llrow //String ins_prdpackcode,ins_mtrlcode,ins_mtrlname,ins_plancode,ins_unit,ins_mtrlsectype,ins_zxmtrlmode,ins_mtrlmode //Boolean lb_find = TRUE //Date l_rqdate //l_rqdate = Today() // //Int li_if_cus_mtrlware //Long ls_sptid //SELECT balctype INTO :li_if_cus_mtrlware // FROM u_storage // Where storageid = :arg_storageid; //IF sqlca.SQLCode <> 0 THEN // arg_msg = '查询仓库是否使用客户库存失败' // rslt = 0 // GOTO ext //END IF // //IF li_if_cus_mtrlware = 1 THEN // ls_sptid = arg_cusid //ELSE // ls_sptid = -1 //END IF // //rslt = wf_saletaskmtrltoarr(arg_scid,arg_saletaskid,s_rqmtrlI,P_rqmtrl,arg_msg) // //FOR li = 1 TO P_rqmtrl // sumqty = 0 // ins_mtrlcode = '' // ins_mtrlname = '' // lb_find = TRUE // allocqty = 0 // noallocqty = 0 // i_qty = 0 // SELECT u_mtrldef.mtrlcode, // u_mtrldef.mtrlname, // u_mtrldef.unit, // u_mtrldef.mtrlmode, // u_mtrldef.mtrlsectype, // u_mtrldef.zxmtrlmode // INTO :ins_mtrlcode, // :ins_mtrlname, // :ins_unit, // :ins_mtrlmode, // :ins_mtrlsectype, // :ins_zxmtrlmode // FROM u_mtrldef // Where u_mtrldef.mtrlid = :s_rqmtrlI.mtrlid[li]; // IF sqlca.SQLCode <> 0 THEN // arg_msg = '查询物料资料失败[错误物料唯一码]>'+sqlca.SQLErrText // rslt = 0 // GOTO ext // END IF // // SELECT top 1 u_mtrlware.noallocqty // INTO :mtrlwaresum_qty // FROM u_mtrlware // WHERE u_mtrlware.mtrlid = :s_rqmtrlI.mtrlid[li] // AND u_mtrlware.storageid = :arg_storageid // AND u_mtrlware.status = :s_rqmtrlI.status[li] // AND u_mtrlware.pcode = :s_rqmtrlI.pcode[li] // AND u_mtrlware.woodcode = :s_rqmtrlI.woodcode[li] // AND u_mtrlware.scid = :cur_scid // And ( u_mtrlware.sptid = :ls_sptid OR :ls_sptid = -1 ); // // IF sqlca.SQLCode = 0 THEN // // ELSEIF sqlca.SQLCode = 100 THEN // lb_find = FALSE // ELSE // arg_msg = '查询库存量失败>'+sqlca.SQLErrText // MessageBox('错误',String(s_rqmtrlI.mtrlid[li] )+'颜色:'+s_rqmtrlI.status[li]+' '+arg_msg,stopsign!,OK!) // rslt = 0 // GOTO ext // END IF // // IF lb_find = FALSE THEN // child_llrow = dw_child.InsertRow(0) // dw_child.Object.u_outwaremx_ifrel[child_llrow] = 1 // dw_child.Object.u_outwaremx_mtrlwareid[child_llrow] = 0 // dw_child.Object.u_outwaremx_mtrlid[child_llrow] = 0 // dw_child.Object.u_outwaremx_enprice[child_llrow] = s_rqmtrlI.enprice[li] // dw_child.Object.u_outwaremx_fprice[child_llrow] = s_rqmtrlI.fprice[li] // dw_child.Object.u_outwaremx_rebate[child_llrow] = s_rqmtrlI.rebate[li] // dw_child.Object.u_outwaremx_qty[child_llrow] = 0 // dw_child.Object.u_mtrldef_mtrlcode[child_llrow] = ins_mtrlcode // dw_child.Object.u_mtrldef_mtrlname[child_llrow] = ins_mtrlname // dw_child.Object.u_mtrldef_unit[child_llrow] = ins_unit // dw_child.Object.u_outwaremx_mxdscrp[child_llrow] = s_rqmtrlI.mxdscrp[li] // dw_child.Object.u_outwaremx_relid[child_llrow] = arg_saletaskid // dw_child.Object.taskcode[child_llrow] = arg_taskcode // dw_child.Object.u_outwaremx_status[child_llrow] = s_rqmtrlI.status[li] // dw_child.Object.u_outwaremx_woodcode[child_llrow] = s_rqmtrlI.woodcode[li] // dw_child.Object.u_outwaremx_pcode[child_llrow] = s_rqmtrlI.pcode[li] // dw_child.Object.u_mtrldef_mtrlmode[child_llrow] = ins_mtrlmode // dw_child.Object.u_mtrldef_curware_qty[child_llrow] = 0 // dw_child.Object.u_mtrldef_sumneed_qty[child_llrow] = s_rqmtrlI.qty[li] // dw_child.Object.u_mtrldef_sumware_qty[child_llrow] = 0 // dw_child.Object.u_mtrldef_mtrlsectype[child_llrow] = ins_mtrlsectype // dw_child.Object.u_mtrldef_zxmtrlmode[child_llrow] = ins_zxmtrlmode // GOTO nextmtrl // END IF // //s_rqmtrlI[li] // Long plancnt // SELECT count(*) INTO :plancnt FROM u_mtrlware // WHERE ( u_mtrlware.mtrlid = :s_rqmtrlI.mtrlid[li] ) AND // ( u_mtrlware.storageid = :arg_storageid ) AND // ( u_mtrlware.status = :s_rqmtrlI.status[li] ) AND // ( u_mtrlware.pcode = :s_rqmtrlI.pcode[li] ) AND // ( u_mtrlware.woodcode = :s_rqmtrlI.woodcode[li] ) AND // ( u_mtrlware.scid = :cur_scid ) AND // ( u_mtrlware.sptid = :ls_sptid OR :ls_sptid = -1 ); // IF sqlca.SQLCode <> 0 THEN // arg_msg = '查询库存量失败>'+sqlca.SQLErrText // MessageBox('提示',String(s_rqmtrlI.mtrlid[li] )+'颜色:'+s_rqmtrlI.status[li]+' '+arg_msg,information!,OK!) // rslt = 0 // GOTO ext // END IF // // noallocqty = s_rqmtrlI.qty[li] // // DECLARE pf_cur CURSOR FOR // SELECT u_mtrlware.storageid, // u_mtrlware.mtrlwareid, // u_mtrlware.plancode, // u_mtrlware.noallocqty, // u_mtrlware.planprice // FROM u_mtrlware // WHERE ( u_mtrlware.mtrlid = :s_rqmtrlI.mtrlid[li] ) AND // ( u_mtrlware.storageid = :arg_storageid ) AND // ( u_mtrlware.status = :s_rqmtrlI.status[li] ) AND // ( u_mtrlware.pcode = :s_rqmtrlI.pcode[li] ) AND // ( u_mtrlware.woodcode = :s_rqmtrlI.woodcode[li] ) AND // ( u_mtrlware.scid = :cur_scid ) AND // ( u_mtrlware.sptid = :ls_sptid OR :ls_sptid = -1 ) // ORDER BY u_mtrlware.storageid ASC, // u_mtrlware.noallocqty Asc ; // // OPEN pf_cur; // count = 1 // FETCH pf_cur INTO :ins_storageid,:ins_mtrlwareid,:ins_plancode,& // :ins_qty,:ins_planprice ; // DO WHILE sqlca.SQLCode = 0 AND sumqty < s_rqmtrlI.qty[li] // count++ // sumqty = sumqty+ins_qty // IF ins_qty >= noallocqty THEN // // i_qty = noallocqty // allocqty = allocqty+i_qty // noallocqty = 0 //noallocqty - ins_qty // ELSE // IF plancnt > 1 THEN // i_qty = sumqty - allocqty // allocqty = allocqty+i_qty // noallocqty = s_rqmtrlI.qty[li] - allocqty // ELSE // i_qty = s_rqmtrlI.qty[li] // noallocqty = 0 // END IF // END IF // // child_llrow = dw_child.InsertRow(0) // // dw_child.Object.u_outwaremx_ifrel[child_llrow] = 1 // dw_child.Object.u_outwaremx_mtrlwareid[child_llrow] = ins_mtrlwareid // dw_child.Object.u_outwaremx_mtrlid[child_llrow] = s_rqmtrlI.mtrlid[li] // dw_child.Object.u_outwaremx_storageid[child_llrow] = ins_storageid // dw_child.Object.u_outwaremx_plancode[child_llrow] = ins_plancode // dw_child.Object.u_outwaremx_planprice[child_llrow] = ins_planprice // dw_child.Object.u_outwaremx_enprice[child_llrow] = s_rqmtrlI.enprice[li] // dw_child.Object.u_outwaremx_fprice[child_llrow] = s_rqmtrlI.fprice[li] // dw_child.Object.u_outwaremx_rebate[child_llrow] = s_rqmtrlI.rebate[li] // dw_child.Object.u_mtrldef_mtrlcode[child_llrow] = ins_mtrlcode // dw_child.Object.u_mtrldef_mtrlname[child_llrow] = ins_mtrlname // dw_child.Object.u_mtrldef_mtrlmode[child_llrow] = ins_mtrlmode // dw_child.Object.u_mtrldef_unit[child_llrow] = ins_unit // dw_child.Object.u_outwaremx_mxdscrp[child_llrow] = s_rqmtrlI.mxdscrp[li] // dw_child.Object.u_outwaremx_relid[child_llrow] = arg_saletaskid // dw_child.Object.taskcode[child_llrow] = arg_taskcode // dw_child.Object.u_outwaremx_status[child_llrow] = s_rqmtrlI.status[li] // dw_child.Object.u_outwaremx_woodcode[child_llrow] = s_rqmtrlI.woodcode[li] // dw_child.Object.u_outwaremx_pcode[child_llrow] = s_rqmtrlI.pcode[li] // dw_child.Object.u_mtrldef_curware_qty[child_llrow] = ins_qty // dw_child.Object.u_mtrldef_sumneed_qty[child_llrow] = s_rqmtrlI.qty[li] // dw_child.Object.u_mtrldef_sumware_qty[child_llrow] = mtrlwaresum_qty // dw_child.Object.u_mtrldef_mtrlsectype[child_llrow] = ins_mtrlsectype // dw_child.Object.u_mtrldef_zxmtrlmode[child_llrow] = ins_zxmtrlmode // // // FETCH pf_cur INTO :ins_storageid,:ins_mtrlwareid,:ins_plancode,& // :ins_qty,:ins_planprice ; // // IF noallocqty > 0 AND sqlca.SQLCode <> 0 THEN // dw_child.Object.u_outwaremx_qty[child_llrow] = ins_qty // ELSE // dw_child.Object.u_outwaremx_qty[child_llrow] = i_qty // END IF // // LOOP // count = count - 1 // CLOSE pf_cur; //nextmtrl: //NEXT // // // //ext: RETURN rslt end function public function integer wf_copy (ref string arg_msg);long rslt=1 long ll_rowcount ll_rowcount=dw_child.rowcount() if ll_rowcount<=0 then rslt=0 arg_msg='没有可复制的明细内容' goto ext end if //ds_copy.reset() //if dw_child.RowsCopy(1, ll_rowcount, Primary!, ds_copy, 1, Primary!)= - 1 then // rslt=0 // arg_msg='复制明细内容失败!' // goto ext //end if //copy_storageid=dw_uc.object.u_outware_storageid[dw_uc.getrow()] //ds_copy.accepttext() ext: return rslt end function public function integer wf_paste (ref string arg_msg);long rslt=1 if not dw_edit_mode then rslt=0 arg_msg='非编辑状态下不可粘贴' goto ext end if long ll_rowcount //ll_rowcount=ds_copy.rowcount() if ll_rowcount<=0 then rslt=0 arg_msg='没有可粘贴的明细内容' goto ext end if dw_child.reset() long ll_child_rowcount ll_child_rowcount = dw_child.rowcount() //if ds_copy.RowsCopy(1, ll_rowcount, Primary!, dw_child, 1, Primary!)= - 1 then // rslt=0 // arg_msg='粘贴明细内容失败!' // goto ext //end if //dw_child.accepttext() //dw_uc.accepttext() //dw_uc.object.u_outware_storageid[dw_uc.getrow()]=copy_storageid ext: return rslt end function public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//============================================================================== // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata() //------------------------------------------------------------------------------ // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可 //------------------------------------------------------------------------------ Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_uc.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_outware_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 = 340); 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_outwaremx_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.#1[LS_ROW] ll_scid = dw_pageretr.Object.U_outware_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_outwaremx_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 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.u_outware_outwareid[row] ll_scid = dw_pageretr.Object.u_outware_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 = 104 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 on w_outware_sale_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 this.st_msg=create st_msg 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 this.Control[iCurrent+5]=this.st_msg end on on w_outware_sale_wareaudit.destroy call super::destroy destroy(this.ddlb_scid) destroy(this.ddlb_status) destroy(this.st_3) destroy(this.st_2) destroy(this.st_msg) 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 //只显未自已管的仓库 datawindowchild childdw String new_sqlstr,modify_str dw_uc.SetTransObject (sqlca) dw_uc.GetChild("u_outware_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_arr,sys_user_storageid,sys_showsaledata_mindt,cur_flag,cur_secflag,sys_areaid) 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) 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_outware.outwarecode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(u_outware.outwarecode like '"+trim(sle_usual_query.text)+"')" end if if Pos(ls_newselect," where ") <> 0 then ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')' else ls_newselect=ls_newselect+" where ("+ls_querystrpart+')' end if end if wf_retrieveuc(dw_pageretr,ls_newselect,1) this.triggerevent('retrieve_pageretr') end event event 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_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() 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 = 16 //uc dw前7列可以编辑 child_column_int = 10 //子dw前8列可以编辑 uo_ware = CREATE uo_outware_sale uo_ware.commit_transaction = sqlca s_hide_col s_col s_col.col_1 = 'u_outwaremx_enprice' s_col.col_2 = 'u_outwaremx_rebate' s_col.col_3 = 'u_outwaremx_price' s_col.col_4 = 'u_outwaremx_fprice' s_col.col_5 = 'enamt' s_col.col_6 = 'amt' s_col.col_7 = 'u_outwaremx_dftsaleprice' f_hide_col(122,dw_child,s_col) //ds_copy = CREATE datastore //ds_copy.DataObject = dw_child.dataobject //ds_copy.SetTransObject(sqlca) 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() st_msg.Visible = dw_edit_mode ddlb_status.Enabled = NOT dw_edit_mode //编缉状态明细不选择 IF dw_edit_mode THEN dw_child.SelectRow(0,FALSE) END IF IF NOT dw_edit_mode THEN cur_editfocus = 0 Long ls_sit = 0 IF NOT dw_edit_mode THEN dw_child.Modify('u_mtrldef_sumneed_qty.visible=0 ~n u_mtrldef_sumware_qty.visible=0 ~n u_mtrldef_curware_qty.visible=0') ELSE dw_child.Modify('u_mtrldef_sumneed_qty.visible=1 ~n u_mtrldef_sumware_qty.visible=1 ~n u_mtrldef_curware_qty.visible=1') ls_sit = Long(dw_child.Describe('u_outwaremx_mxdscrp.X'))+Long(dw_child.Describe('u_outwaremx_mxdscrp.width')) dw_child.Modify('u_mtrldef_curware_qty.x='+String(ls_sit)) ls_sit = Long(dw_child.Describe('u_mtrldef_curware_qty.X'))+Long(dw_child.Describe('u_mtrldef_curware_qty.width')) dw_child.Modify('u_mtrldef_sumware_qty.x='+String(ls_sit)) ls_sit = Long(dw_child.Describe('u_mtrldef_sumware_qty.X'))+Long(dw_child.Describe('u_mtrldef_sumware_qty.width')) dw_child.Modify('u_mtrldef_sumneed_qty.x='+String(ls_sit)) END IF IF dw_edit_mode THEN IF flag = 1 AND secflag = 0 THEN dw_uc.Modify('u_outware_storageid.protect=1') dw_child.Modify('u_mtrldef_mtrlcode.protect=1 ~n u_outwaremx_qty.protect=1') cb_xm.Enabled = FALSE ELSE dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_outwaremx_qty.protect=0') cb_xm.Enabled = TRUE END IF ELSE dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_outwaremx_qty.protect=0') END IF IF NOT dw_edit_mode THEN st_msg.Text = '' END IF 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 // //IF flag = 1 THEN RETURN //Long child_row,ins_storageid = 0,cnt_childdw //Long ll_moneyid //dw_uc.accepttext() //ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] //IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN // MessageBox('提示','请先选择币种',information!,OK!) // RETURN //END IF // //ins_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()] //IF ins_storageid = 0 OR IsNull(ins_storageid) THEN // MessageBox('提示','请先选择仓库',information!,OK!) // RETURN //END IF // //Int li_if_cus_mtrlware //SELECT balctype INTO :li_if_cus_mtrlware // FROM u_storage // Where storageid = :ins_storageid; //IF sqlca.SQLCode <> 0 THEN // MessageBox('错误','查询仓库是否使用客户库存失败',stopsign!,OK!) // RETURN //END IF // //Long ls_null //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 = 0 //Long chc = 1,ls_j,ls_custid //SetNull(ls_null) // //ls_custid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] //IF IsNull(ls_custid) OR ls_custid = 0 THEN // THIS.TriggerEvent("ue_f9") //END IF // //child_row = dw_child.GetRow() //cnt_childdw = dw_child.RowCount() // // //dw_uc.accepttext() //ls_custid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] // //IF li_if_cus_mtrlware = 1 THEN // s_tranf8.c_long = ls_custid //ELSE // s_tranf8.c_long = -1 //END IF // //IF NOT IsValid(w_mtrlware_storageid_ch) THEN // s_tranf8.if_retrieve_all = FALSE //是否一次RETRIEVE所有行 // s_tranf8.arg_pkid = 0 //目标定位PKID (备用) // s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 // s_tranf8.d_long = ins_storageid // // dw_child.AcceptText() // IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]) // OpenWithParm(w_mtrlware_storageid_ch,s_tranf8) // // s_mtrlware_noalloc_array S_INSCUST // S_INSCUST = Message.PowerObjectParm // // FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlwareid) // IF S_INSCUST.mtrlwareid[ls_j] > 0 THEN // // // IF dw_child.GetRow() > 0 THEN // IF dw_child.Object.u_outwaremx_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_outwaremx_mtrlwareid[child_row] = S_INSCUST.mtrlwareid[ls_j] // dw_child.Object.u_outwaremx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] // dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.u_mtrldef_mtrlcode[ls_j] // dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.u_mtrldef_mtrlname[ls_j] // dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.u_mtrldef_mtrlmode[ls_j] // dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.u_mtrldef_unit[ls_j] // dw_child.Object.u_outwaremx_qty[child_row] = 0 //S_INSCUST.noallocqty[ls_j] - S_INSCUST.noauditingqty[ls_j] // dw_child.Object.u_outwaremx_planprice[child_row] = S_INSCUST.planprice[ls_j] // dw_child.Object.u_outwaremx_storageid[child_row] = S_INSCUST.storageid[ls_j] // dw_child.Object.u_outwaremx_plancode[child_row] = S_INSCUST.plancode[ls_j] // dw_child.Object.u_outwaremx_dxflag[child_row] = S_INSCUST.dxflag[ls_j] // // dw_child.Object.u_outwaremx_status[child_row] = S_INSCUST.status[ls_j] // dw_child.Object.u_outwaremx_woodcode[child_row] = S_INSCUST.woodcode[ls_j] // dw_child.Object.u_outwaremx_pcode[child_row] = S_INSCUST.pcode[ls_j] // dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.u_mtrldef_zxmtrlmode[ls_j] // dw_child.Object.u_mtrldef_mtrlsectype[child_row] =S_INSCUST.u_mtrldef_mtrlsectype[ls_j] // // Decimal ls_1stnewprice,ls_1stzqrate,ls_1strate // String arg_msg // IF cur_editfocus = 1 THEN // IF f_getmtrlcusprice(ll_moneyid,S_INSCUST.mtrlid[ls_j],ls_custid,S_INSCUST.u_mtrldef_unit[ls_j],S_INSCUST.woodcode[ls_j],S_INSCUST.status[ls_j],S_INSCUST.pcode[ls_j],0,ls_1stnewprice,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN // dw_child.Object.u_outwaremx_enprice[child_row] = 0 // dw_child.Object.u_outwaremx_rebate[child_row] = 1 // ELSE // dw_child.Object.u_outwaremx_enprice[child_row] = ls_1stnewprice // dw_child.Object.u_outwaremx_rebate[child_row] = ls_1stzqrate // END IF // END IF // // // dw_child.Object.u_mtrldef_curware_qty[child_row] = S_INSCUST.noallocqty[ls_j] // dw_child.Object.u_mtrldef_sumneed_qty[child_row] = ls_null // dw_child.Object.u_mtrldef_sumware_qty[child_row] = ls_null // // dw_child.SetColumn('u_outwaremx_qty') // END IF // NEXT //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_outware_scid[row] uc_relid=dw_pageretr.object.u_outware_outwareid[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_f7;call super::ue_f7;IF NOT dw_edit_mode THEN RETURN Long ls_storageid Long ls_taskid String ls_taskcode ls_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()] IF ls_storageid = 0 OR IsNull(ls_storageid) THEN MessageBox('提示','请先选择仓库',information!,OK!) RETURN END IF //THIS.Enabled = FALSE IF NOT IsValid(w_saletask_ch) THEN s_saletask_ch s_saletask OpenWithParm(w_saletask_ch,cur_scid) s_saletask = Message.PowerObjectParm IF s_saletask.taskid > 0 THEN dw_uc.SetRedraw(FALSE) dw_uc.Object.u_outware_outrep[dw_uc.GetRow()] = s_saletask.assign_emp dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] = s_saletask.cusid dw_uc.Object.u_cust_name[dw_uc.GetRow()] = s_saletask.cusname dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = s_saletask.cuscode dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] = s_saletask.moneyid dw_uc.Object.u_outware_relstr_1[dw_uc.GetRow()] = s_saletask.freight dw_uc.Object.u_outware_relstr_2[dw_uc.GetRow()] = s_saletask.freight_tele dw_uc.Object.u_outware_rel_address[dw_uc.GetRow()] = s_saletask.Address dw_uc.Object.u_outware_rel_tele[dw_uc.GetRow()] = s_saletask.tele dw_uc.Object.u_outware_rel_fax[dw_uc.GetRow()] = s_saletask.fax dw_uc.Object.u_outware_mrate[dw_uc.GetRow()] = f_get_mrate(s_saletask.moneyid) ls_taskid = s_saletask.taskid ls_taskcode = s_saletask.taskcode String errmsg = '' wf_autoaddmx(cur_scid,ls_taskid,ls_taskcode,ls_storageid,s_saletask.cusid,errmsg) dw_uc.SetColumn("u_outware_rel_address") dw_uc.SetRedraw(TRUE) END IF END IF //THIS.Enabled = TRUE end event event ue_viewprint;call super::ue_viewprint;//IF Not (f_power_ind(18) or f_power_ind(472)) THEN IF Not (f_power_ind(472) ) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF s_print_msg ls_prmsg ls_prmsg.retr_pram_falg = 15 IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN END IF IF sys_option_confirmprint_sale = 1 THEN IF dw_pageretr.Object.u_outware_priceflag[dw_pageretr.GetRow()] <> 1 THEN MessageBox('提示','单据还未确认,不能打印!',information!,OK!) RETURN END IF END IF IF sys_option_auditprint_sale = 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('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF ls_prmsg.obj_dwNAME = ls_newname ELSE ls_prmsg.obj_dwNAME = 'dw_rp_outware_sale_audit_edit' END IF ls_prmsg.tag_text = '销售发货单' ls_prmsg.filter_string = '' ls_prmsg.pagech_flag = 0 ls_prmsg.retr_scid = dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()] ls_prmsg.retr_pramnmb = dw_pageretr.Object.u_outware_outwareid[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_outware',printnum,dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event ue_print;call super::ue_print;//--直接打印 //IF Not (f_power_ind(18) or f_power_ind(472)) THEN IF Not (f_power_ind(472) ) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF uo_print_preview uo_print S_print_MSG LS_PRMSG IF dw_uc.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF sys_option_confirmprint_sale = 1 THEN IF dw_pageretr.Object.u_outware_priceflag[dw_pageretr.GetRow()] <> 1 THEN MessageBox('提示','单据还未确认,不能打印!',information!,OK!) RETURN END IF END IF IF sys_option_auditprint_sale = 1 THEN IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] <> 1 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF LS_PRMSG.retr_pram_falg = 15 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_outware_sale_audit_edit' END IF LS_PRMSG.TAG_TEXT = '销售单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_outware_outwareid[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,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 //**更新打印次料 printnum = Message.DoubleParm f_update_printnum('u_outware',printnum,dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event ue_addzy;call super::ue_addzy;IF Not (f_power_ind(699) OR f_power_ind(766)) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' String ls_str Long uc_row s_inputbox s_sreu uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',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_outware_scid[uc_row],dw_pageretr.Object.u_outware_outwareid[uc_row],ls_str,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN ELSE MessageBox('提示','添加备注操作成功!',information!,OK!) wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[uc_row],dw_pageretr.Object.u_outware_outwareid[uc_row]) END IF end event event resize;call super::resize;st_msg.width = this.width - (3600 - 1170) end event event ue_rpt_print;call super::ue_rpt_print;IF Not (f_power_ind(472) ) 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 = THIS.Title LS_PRMSG.rpname = ls_rpname LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.rpid = ls_msgprintid_rpt LS_PRMSG.retr_scid = dw_pageretr.Object.u_outware_scid[row] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_outware_outwareid[row] LS_PRMSG.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("错误",arg_msg,stopsign!,OK!) RETURN END IF uo_print.ds_print() //**更新打印次料 printnum = Message.DoubleParm f_update_printnum('u_outware',printnum,dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF Not (f_power_ind(472) ) 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('提示','目标单据还未审核,不能打印!',information!,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_outware_scid[row] s_print.retr_pramnmb = dw_pageretr.Object.u_outware_outwareid[row] s_print.rowcnt = dw_child.RowCount() OpenWithParm(w_rpt_preview,s_print) //**更新打印次料 String arg_msg printnum = Message.DoubleParm f_update_printnum('u_outware',printnum,dw_pageretr.Object.u_outware_scid[dw_pageretr.GetRow()],dw_pageretr.Object.u_outware_outwareid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event type cb_func from w_publ_1ton_share_detail`cb_func within w_outware_sale_wareaudit end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_outware_sale_wareaudit integer x = 1733 integer taborder = 230 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_outware_sale_wareaudit integer x = 187 integer width = 549 boolean autohscroll = true end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_outware_sale_wareaudit integer x = 2139 integer taborder = 190 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_outware_sale_wareaudit integer x = 1883 integer y = 40 integer width = 261 integer taborder = 180 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_outware_sale_wareaudit integer x = 2377 integer width = 448 integer height = 808 integer taborder = 90 string dataobject = "dw_outware_sale_wareaudit_index" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf() 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_outware_sale_wareaudit integer x = 14 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_outware_sale_wareaudit integer x = 2290 integer taborder = 220 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_outware_sale_wareaudit integer y = 296 integer width = 2377 integer height = 804 integer taborder = 170 string dataobject = "dw_outware_sale_wareaudit_edit" end type event dw_uc::dwnkey;PARENT.TriggerEvent('user_key') IF Key = KeyDownArrow! THEN RETURN 1 end event event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN IF dwo.Name = 'u_outware_storageid' THEN dw_child.Reset() PARENT.TriggerEvent("insert_childrow") ELSEIF dwo.Name = 'u_outware_relint_2' THEN Long ll_moneyid dw_uc.accepttext() ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] dw_uc.SetRedraw(FALSE) dw_uc.Object.u_outware_mrate[dw_uc.GetRow()] = f_get_mrate(ll_moneyid) dw_uc.SetRedraw(TRUE) 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 dw_uc.object.u_outware_thflag[row]=1 then return if dwo.name='p_b' or dwo.name='t_choicesaletask_t' then parent.TRIGGEREVENT('ue_f7') elseif 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_outware_sale_wareaudit end type type dw_child from w_publ_1ton_share_detail`dw_child within w_outware_sale_wareaudit integer y = 1088 integer width = 3543 integer height = 1096 integer taborder = 40 string dataobject = "dw_outwaremx_sale_wareaudit_edit" end type event dw_child::dwnkey;call super::dwnkey;//PARENT.TriggerEvent('user_key') //THIS.TriggerEvent('user_key') //IF NOT dw_edit_mode THEN RETURN //IF flag = 1 THEN RETURN // //String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_mtrlsectype,ls_zxmtrlmode //String ls_plancode,ls_status,ls_woodcode,ls_pcode //Long ls_mtrlwareid,ls_mtrlid,ls_storageid,ll_moneyid //Dec ls_noallocqty,ls_noauditingqty,ls_planprice,ls_cost,ls_lmsaleprice // //s_mtrlware_noalloc_array arg_s_mtrlware // //Long child_row //Long ls_null //String arg_msg //Long ls_custid,ls_sptid //Decimal ls_1stnewprice,ls_1stzqrate,ls_1strate // //SetNull(ls_null) // //IF dw_edit_mode THEN // dw_uc.AcceptText() // // ll_moneyid = dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] // IF ll_moneyid = 0 OR IsNull(ll_moneyid) THEN // MessageBox('提示','请先选择币种',information!,OK!) // RETURN // END IF // // ls_storageid = dw_uc.Object.u_outware_storageid[dw_uc.GetRow()] // IF ls_storageid = 0 OR IsNull(ls_storageid) THEN // MessageBox('提示','请先选择仓库',information!,OK!) // RETURN // END IF // // Int li_if_cus_mtrlware // SELECT balctype INTO :li_if_cus_mtrlware // FROM u_storage // Where storageid = :ls_storageid; // IF sqlca.SQLCode <> 0 THEN // MessageBox('错误','查询仓库是否使用客户库存失败',stopsign!,OK!) // RETURN // END IF // // ls_custid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] // IF IsNull(ls_custid) OR ls_custid = 0 THEN // THIS.TriggerEvent("ue_f9") // ls_custid = dw_uc.Object.u_outware_cusid[dw_uc.GetRow()] // END IF // // IF KeyDown(Keydownarrow!) THEN // Long li_row // IF dw_child.GetRow() = dw_child.RowCount() THEN // PARENT.TriggerEvent("insert_childrow") // END IF // ELSE // IF KeyDown(KeyEnter!) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN // IF dw_child.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN // // dw_child.AcceptText() // child_row = dw_child.GetRow() // // ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row] // IF li_if_cus_mtrlware = 1 THEN // ls_sptid = ls_custid // ELSE // ls_sptid = -1 // END IF // // IF f_find_mtrlware(ls_mtrlcode,ls_storageid,ls_sptid,arg_s_mtrlware) = 0 THEN // PARENT.TriggerEvent('ue_f8') // RETURN 1 // ELSE // ls_mtrlwareid = arg_s_mtrlware.mtrlwareid[1] // ls_mtrlid = arg_s_mtrlware.mtrlid[1] // ls_mtrlcode = arg_s_mtrlware.u_mtrldef_mtrlcode[1] // ls_mtrlname = arg_s_mtrlware.u_mtrldef_mtrlname[1] // ls_unit = arg_s_mtrlware.u_mtrldef_unit[1] // ls_mtrlmode = arg_s_mtrlware.u_mtrldef_mtrlmode[1] // ls_planprice = arg_s_mtrlware.planprice[1] // ls_noallocqty = arg_s_mtrlware.noallocqty[1] // ls_storageid = arg_s_mtrlware.storageid[1] // ls_plancode = arg_s_mtrlware.plancode[1] // ls_noauditingqty = arg_s_mtrlware.noauditingqty[1] // ls_lmsaleprice = arg_s_mtrlware.lmsaleprice[1] // ls_status = arg_s_mtrlware.status[1] // ls_woodcode = arg_s_mtrlware.woodcode[1] // ls_pcode = arg_s_mtrlware.pcode[1] // ls_mtrlsectype = arg_s_mtrlware.u_mtrldef_mtrlsectype[][1] // ls_zxmtrlmode = arg_s_mtrlware.u_mtrldef_zxmtrlmode[][1] // END IF // // dw_child.Object.u_outwaremx_mtrlwareid[child_row] = ls_mtrlwareid // dw_child.Object.u_outwaremx_mtrlid[child_row] = ls_mtrlid // dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname // dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode // dw_child.Object.u_mtrldef_unit[child_row] = ls_unit // dw_child.Object.u_outwaremx_qty[child_row] = 0 // dw_child.Object.u_outwaremx_planprice[child_row] = ls_planprice // dw_child.Object.u_outwaremx_storageid[child_row] = ls_storageid // dw_child.Object.u_outwaremx_plancode[child_row] = ls_plancode // dw_child.Object.u_outwaremx_status[child_row] = ls_status // dw_child.Object.u_outwaremx_woodcode[child_row] = ls_woodcode // dw_child.Object.u_outwaremx_pcode[child_row] = ls_pcode // 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 // // // IF cur_editfocus = 1 THEN // IF f_getmtrlcusprice(ll_moneyid,ls_mtrlid,ls_custid,ls_unit,ls_woodcode,ls_status,ls_pcode,0,ls_1stnewprice,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN // dw_child.Object.u_outwaremx_enprice[child_row] = 0 // dw_child.Object.u_outwaremx_rebate[child_row] = 1 // ELSE // dw_child.Object.u_outwaremx_enprice[child_row] = ls_1stnewprice // dw_child.Object.u_outwaremx_rebate[child_row] = ls_1stzqrate // END IF // END IF // // // dw_child.Object.u_mtrldef_curware_qty[child_row] = ls_noallocqty // dw_child.Object.u_mtrldef_sumneed_qty[child_row] = ls_null // dw_child.Object.u_mtrldef_sumware_qty[child_row] = ls_null // // 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_outwaremx_rebate' AND dw_child.GetRow() = dw_child.RowCount() THEN // Long i_mtrlid // String i_mtrlcode // Decimal i_price,i_zqrate // Int i_thflag = 0 // dw_child.AcceptText() // // i_mtrlid = dw_child.Object.u_outwaremx_mtrlid[dw_child.GetRow()] // i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()] // i_price = dw_child.Object.u_outwaremx_fprice[dw_child.GetRow()] // i_zqrate = dw_child.Object.u_outwaremx_rebate[dw_child.GetRow()] // // 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_outwaremx_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN // PARENT.TriggerEvent("insert_childrow") // RETURN 1 // // ELSE // IF Key = KeyEnter! THEN // // keybd_event ( 9, 0, 0 , 0 ) // 按下tab // keybd_event ( 9, 0, 2, 0 ) // 释放tab // RETURN 1 // END IF // END IF // END IF // END IF //END IF // // // // // // // // // end event event dw_child::itemchanged;call super::itemchanged;if not dw_edit_mode then return this.accepttext() if dwo.name = 'u_outwaremx_ifrel' then if this.object.u_outwaremx_ifrel[row] = 0 then dw_child.object.u_outwaremx_relid[row] = 0 dw_child.object.taskcode[row] = '' end if end if end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_outware_sale_wareaudit integer x = 1088 integer taborder = 60 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_outware_sale_wareaudit integer x = 896 integer taborder = 70 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_outware_sale_wareaudit boolean visible = false integer x = 1897 integer taborder = 240 end type event cb_add::clicked;//IF Not (f_power_ind(11) OR f_power_ind(371)) THEN // MessageBox(publ_operator,'你没有使用权限!') // RETURN //END IF // //String arg_msg = '' //Long uc_row,pagerert_row //Long relid_pageretr,reld_uc,j,i //Long ll_printid,ll_outwareid,ll_scid //Int li_flag,li_secflag,li_priceflag // //IF dw_edit_mode THEN // dw_uc.AcceptText() // dw_child.AcceptText() // uc_row = dw_uc.GetRow() // IF uc_row <= 0 THEN // MessageBox('系统提示','请选定当前目标单据!') // RETURN // END IF // // IF NOT dw_uc.Object.u_outware_outdate[uc_row] > DateTime(2000-01-01,Now()) THEN // MessageBox('系统提示','不合理发生时间') // dw_uc.SetFocus() // dw_uc.SetColumn("u_outware_outrep") // RETURN // END IF // IF NOT Len(String(dw_uc.Object.u_outware_outrep[uc_row])) > 0 THEN // MessageBox('系统提示','请填写业务员') // dw_uc.SetFocus() // dw_uc.SetColumn("u_outware_outrep") // RETURN // END IF // IF dw_uc.Object.u_outware_relint_1[uc_row] = 0 THEN // MessageBox('系统提示','请选择结算方式') // dw_uc.SetFocus() // dw_uc.SetColumn("u_outware_relint_1") // RETURN // END IF // IF dw_uc.Object.u_outware_relint_2[uc_row] = 0 THEN // MessageBox('系统提示','请选择币种') // dw_uc.SetFocus() // dw_uc.SetColumn("u_outware_relint_2") // RETURN // END IF // // // // FOR j = 1 TO dw_child.RowCount() // IF dw_child.Object.u_outwaremx_qty[j] = 0 THEN CONTINUE // // IF NOT f_power_ind(520) & // AND dw_child.Object.u_outwaremx_ifrel[j] = 1 & // AND dw_child.Object.u_outwaremx_relid[j] = 0 & // AND dw_child.Object.u_outwaremx_outtype[j] = 0 THEN // MessageBox(publ_operator,'请先选择订单,第'+string(j)+'行') // RETURN // END IF // // IF NOT f_power_ind(520) & // AND dw_child.Object.u_outwaremx_ifrel[j] = 0 & // AND dw_child.Object.u_outwaremx_qty[j] > 0 & // AND dw_child.Object.u_outwaremx_outtype[j] = 0 THEN // MessageBox(publ_operator,'请先选择订单,第'+string(j)+'行') // RETURN // END IF // // IF dw_child.Object.u_outwaremx_mtrlwareid[j] > 0 AND dw_child.Object.u_outwaremx_qty[j] < 0 THEN // MessageBox(publ_operator,'销售单的数量一定要为正数') // RETURN // END IF // NEXT // // // uo_ware.outdate = dw_uc.Object.u_outware_outdate[uc_row] // 发生时间 // uo_ware.outrep = dw_uc.Object.u_outware_outrep[uc_row] // 经手人 // uo_ware.part = dw_uc.Object.u_outware_part[uc_row] //相关部门 // uo_ware.dscrp = dw_uc.Object.u_outware_dscrp[uc_row] //备注 // uo_ware.cusid = dw_uc.Object.u_outware_cusid[uc_row] // uo_ware.storageid = dw_uc.Object.u_outware_storageid[uc_row] // uo_ware.relid = dw_uc.Object.u_outware_relid[uc_row] // uo_ware.relint_1 = dw_uc.Object.u_outware_relint_1[uc_row] // uo_ware.relint_2 = dw_uc.Object.u_outware_relint_2[uc_row] // uo_ware.relstr_1 = dw_uc.Object.u_outware_relstr_1[uc_row] // uo_ware.relstr_2 = dw_uc.Object.u_outware_relstr_2[uc_row] // uo_ware.mrate = dw_uc.Object.u_outware_mrate[uc_row] // uo_ware.thflag = 0 // // // uo_ware.rel_address = dw_uc.Object.u_outware_rel_address[uc_row] // uo_ware.rel_tele = dw_uc.Object.u_outware_rel_tele[uc_row] // uo_ware.rel_fax = dw_uc.Object.u_outware_rel_fax[uc_row] // uo_ware.rel_rep = dw_uc.Object.u_outware_rel_rep[uc_row] // // // ll_scid = dw_uc.Object.u_outware_scid[uc_row] // ll_outwareid = dw_uc.Object.u_outware_outwareid[uc_row] // // IF ll_outwareid > 0 THEN // SELECT flag,secflag,priceflag // INTO :li_flag,:li_secflag,:li_priceflag // FROM u_outware // WHERE scid = :ll_scid // AND outwareid = :ll_outwareid; // IF sqlca.SQLCode <> 0 THEN // MessageBox(publ_operator,'查询销售单审核标记失败') // RETURN // END IF // END IF // // FOR i = 1 TO dw_child.RowCount() // IF dw_child.Object.u_outwaremx_mtrlwareid[i] > 0 THEN // IF li_priceflag = 0 AND li_flag = 0 THEN // ll_printid = i // ELSE // ll_printid = dw_child.Object.u_outwaremx_printid[i] // END IF // // IF uo_ware.acceptmx(dw_child.Object.u_outwaremx_mtrlwareid[i],& // dw_child.Object.u_outwaremx_qty[i],& // dw_child.Object.u_outwaremx_addqty[i],& // dw_child.Object.u_outwaremx_enprice[i],& // dw_child.Object.u_outwaremx_rebate[i],& // dw_child.Object.u_outwaremx_mxdscrp[i],& // ll_printid,& // arg_msg,& // dw_child.Object.u_outwaremx_ifrel[i],& // dw_child.Object.u_outwaremx_relid[i],0,0,& // dw_child.Object.u_outwaremx_outtype[i]) = 0 THEN // MessageBox('Error!',arg_msg) // RETURN // END IF // END IF // NEXT // // IF uo_ware.Save(TRUE,arg_msg) = 0 THEN // MessageBox('Error!',arg_msg) // RETURN // END IF //// MessageBox(publ_operator,'保存操作成功!') // //write ini // SetProfileString (sys_inifilename,publ_userid+'_'+dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.u_outware_storageid[dw_uc.GetRow()])) // SetProfileString (sys_inifilename,publ_userid+'_'+dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()])) // // // // dw_pageretr.SelectRow(0,FALSE) // dw_pageretr.SelectRow(uc_row,TRUE) // wf_refresh_curuc(cur_scid,uo_ware.outwareid) //刷新uc //ELSE // IF uo_ware.newbegin(cur_scid,1,arg_msg) = 0 THEN // MessageBox('Error!',arg_msg) // RETURN // END IF // cur_editfocus = 1 // flag = -1 // secflag = -1 //END IF // //CALL SUPER::Clicked ////read ini //IF dw_edit_mode THEN // PARENT.TriggerEvent("insert_childrow") // String ls_storageid,ls_moneyid // ls_storageid = ProfileString(sys_inifilename,publ_userid+'_'+dw_uc.DataObject, "ddlb_storageid",'0') // IF f_find_storageid(ls_storageid) = '' THEN // ls_storageid = '0' // END IF // ls_moneyid = ProfileString(sys_inifilename,publ_userid+'_'+dw_uc.DataObject, "moneyid",'0') // dw_uc.SetRedraw(FALSE) // dw_uc.Object.u_outware_storageid[dw_uc.GetRow()] = Long(ls_storageid) // dw_uc.Object.u_outware_relint_2[dw_uc.GetRow()] = Long(ls_moneyid) // dw_uc.Object.u_outware_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid)) // dw_uc.SetColumn("u_outware_storageid") // dw_uc.SetRedraw(TRUE) //ELSE // PARENT.TriggerEvent("retrieve_childdw") //END IF //// // // // // end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_outware_sale_wareaudit boolean visible = false integer x = 2089 integer taborder = 100 end type event cb_edit::clicked;//if not (f_power_ind(11) or f_power_ind(371)) then // messagebox(publ_operator,'你没有使用权限!') // return //end if // //string arg_msg='' //long uc_row // //uc_row=dw_uc.getrow() //if uc_row<=0 then // messagebox('系统提示','请选定当前目标单据!') // return //end if // //if not dw_edit_mode then // if uo_ware.updatebegin(dw_uc.object.u_outware_scid[uc_row],dw_uc.object.u_outware_outwareid[uc_row],1,arg_msg)=0 then // messagebox('Error!',arg_msg) // return // end if // cur_editfocus=2 //else // cur_editfocus=0 //end if // //call super::clicked //this.triggerevent('refresh_interface') end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_outware_sale_wareaudit boolean visible = false integer x = 2281 integer taborder = 110 end type event cb_delet::clicked;call super::clicked;//if not (f_power_ind(580) or f_power_ind(583)) then // messagebox(publ_operator,'你没有使用权限!') // return //end if // // //string arg_msg='' // //if dw_edit_mode then return // //long uc_row //uc_row=dw_pageretr.getrow() //if uc_row<=0 then // messagebox('系统提示','请选定当前目标单据!') // return //end if // //if messagebox ("if","是否确定要删除当前单据?",question!,yesno! ) = 2 then return // //if uo_ware.del(dw_uc.object.u_outware_scid[uc_row],dw_uc.object.u_outware_outwareid[uc_row],arg_msg,true)=0 then // messagebox('error!',arg_msg) //else // //日志 // long ls_id // string ls_code // ls_id=dw_uc.object.u_outware_outwareid[uc_row] // ls_code=dw_uc.object.u_outware_outwarecode[uc_row] // f_setsysoplog('销售发货单','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true) // //-- // messagebox(publ_operator,'删除单据'+string(dw_uc.object.u_outware_outwarecode[uc_row])+'成功!') // // // 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_outware_sale_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_priceaudit" menustr=menustr + "|" + "Text=反确认~tEvent=ue_cpriceaudit" //menustr=menustr + "|" + "Text=-" //menustr=menustr + "|" + "Text=导入单价~tEvent=ue_importseleprice" //menustr=menustr + "|" + "Text=导入客户历史售价~tEvent=ue_importcusseleprice_his" //menustr=menustr + "|" + "Text=导入客户单价~tEvent=ue_importcusseleprice" // menustr=menustr + "|" + "Text=-" menustr=menustr + "|" + "Text=计算可装数~tEvent=ue_cmpdi" menustr=menustr + "|" + "Text=调拆装单~tEvent=ue_di" //menustr=menustr + "|" + "Text=-" //menustr=menustr + "|" + "Text=复制单据~tEvent=ue_copy" //menustr=menustr + "|" + "Text=粘贴单据~tEvent=ue_paste" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=修改销售时间~tEvent=ue_update_outdate" menustr += "|" + "Text=-" menustr += "|" + "Text=查看附件~tEvent=ue_fj_view" menustr += "|" + "Text=添加附件~tEvent=ue_fj_edit" menustr += "|" + "Text=-" 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_outware_sale_wareaudit integer x = 302 integer taborder = 120 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 = '',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.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[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(65) OR f_power_ind(369)) 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_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row]) END IF END IF ELSE IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",Question!,YesNo! ) = 2 THEN RETURN Long ll_i,ll_billid Int li_flag Long ll_suc,ll_fail dw_pageretr.AcceptText() OPEN(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount()) FOR ll_i = 1 TO dw_pageretr.RowCount() w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.u_outware_outwarecode[ll_i] + " 正在审核..." //进度信息 li_flag = dw_pageretr.Object.flag[ll_i] IF li_flag = 1 THEN CONTINUE ll_billid = dw_pageretr.Object.u_outware_outwareid[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_outware_sale_wareaudit boolean visible = false integer x = 2295 integer taborder = 140 end type type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_outware_sale_wareaudit integer taborder = 50 end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_outware_sale_wareaudit integer x = 1280 end type type cb_help from w_publ_1ton_share_detail`cb_help within w_outware_sale_wareaudit integer x = 1582 integer taborder = 160 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_outware_sale_wareaudit integer x = 494 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 MessageBox ("询问","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_ware.getinfo(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,OK!) RETURN END IF //两级审 IF dw_pageretr.Object.flag[pagerert_row] = 1 AND dw_pageretr.Object.secflag[pagerert_row] = 0 THEN IF Not (f_power_ind(65) OR f_power_ind(369)) 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.u_outware_outwarecode[pagerert_row] ls_opemp = dw_pageretr.Object.u_outware_opemp[pagerert_row] ls_outpart = dw_pageretr.Object.u_outware_part[pagerert_row] f_setsysoplog('销售发货单','仓库撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE) //-- wf_refresh_curuc(dw_pageretr.Object.u_outware_scid[pagerert_row],dw_pageretr.Object.u_outware_outwareid[pagerert_row]) END IF END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_outware_sale_wareaudit end type type p_help from w_publ_1ton_share_detail`p_help within w_outware_sale_wareaudit end type type p_encl from w_publ_1ton_share_detail`p_encl within w_outware_sale_wareaudit end type type p_other from w_publ_1ton_share_detail`p_other within w_outware_sale_wareaudit end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_outware_sale_wareaudit end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_outware_sale_wareaudit end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_outware_sale_wareaudit end type type r_bar from w_publ_1ton_share_detail`r_bar within w_outware_sale_wareaudit end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_outware_sale_wareaudit end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_outware_sale_wareaudit end type type ddlb_scid from uo_ddlb_scid within w_outware_sale_wareaudit integer x = 1760 integer y = 192 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_outware_sale_wareaudit integer x = 965 integer y = 188 integer width = 549 integer height = 552 integer taborder = 80 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= -1 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_outware_sale_wareaudit integer x = 782 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_outware_sale_wareaudit integer x = 1586 integer y = 208 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_msg from statictext within w_outware_sale_wareaudit boolean visible = false integer x = 2377 integer y = 432 integer width = 1170 integer height = 612 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long backcolor = 15793151 boolean border = true borderstyle borderstyle = styleraised! boolean focusrectangle = false end type