$PBExportHeader$w_spt_price_change.srw forward global type w_spt_price_change from w_publ_1ton_share_detail end type type ddlb_status from dropdownlistbox within w_spt_price_change end type type ddlb_billtype from dropdownlistbox within w_spt_price_change end type type st_2 from statictext within w_spt_price_change end type type st_3 from statictext within w_spt_price_change end type end forward global type w_spt_price_change from w_publ_1ton_share_detail integer width = 3602 integer height = 2360 string title = "询价单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_viewprint_2 ( ) event ue_fj_edit ( ) event ue_fj_view ( ) ddlb_status ddlb_status ddlb_billtype ddlb_billtype st_2 st_2 st_3 st_3 end type global w_spt_price_change w_spt_price_change type variables uo_spt_price_change uo_price uo_spt_price uo_sptprice long cur_flag= -1 long cur_billtype = 2 uo_ljfieb uo_fieb end variables forward prototypes public function integer wf_refresh_curuc (long arg_billid) 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_flagstatus_rf () public function integer wf_get_mx (long arg_scid, long arg_inwareid, ref s_inwaremx inwaremx[], ref long it_mxit) public function integer wf_set_mx (long arg_scid, long arg_inwareid) 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_viewprint_2();//IF NOT (f_power_ind(384) or f_power_ind(427)) THEN // MessageBox('提示','你没有使用权限!',information!,ok!) // RETURN //END IF // // //Long LS_ROW //LS_ROW = dw_pageretr.GetRow() //IF LS_ROW <= 0 THEN // MessageBox('提示','没有打印目标单据!',information!,ok!) // RETURN //END IF // //DateTime firstdate,enddate,ld_billdate //ld_billdate = dw_pageretr.Object.u_spt_price_change_billdate[LS_ROW] //firstdate = DateTime(Date(String(ld_billdate,'yyyy-mm-dd')),Time(0)) //enddate = DateTime(Date(String(ld_billdate,'yyyy-mm-dd')),Time('23:59:59')) // //S_print_MSG LS_PRMSG // //LS_PRMSG.obj_dwNAME = 'dw_rp_spt_price_change_edit_hz_1' //LS_PRMSG.TAG_TEXT = '调价单' //LS_PRMSG.FILTER_STRING = '' //LS_PRMSG.retr_pram_falg = 6 //LS_PRMSG.PAGECH_FLAG = 0 //LS_PRMSG.retr_pramfdt = firstdate //LS_PRMSG.retr_pramedt = enddate //OpenWithParm(w_publ_preview,LS_PRMSG) // // //////**更新打印次料 //Long ll_billid[],i_mxt = 1,ll_i //String arg_msg //printnum = Message.DoubleParm // //DECLARE cur_price CURSOR FOR // SELECT u_spt_price_change.billid // FROM u_spt_price_change // WHERE billdate >= :firstdate // AND billdate <= :enddate; //open cur_price; //fetch cur_price into :ll_billid[i_mxt]; //do while sqlca.sqlcode = 0 // i_mxt++ // fetch cur_price into :ll_billid[i_mxt]; //loop //i_mxt = i_mxt - 1 //close cur_price; // // //if i_mxt > 0 then // for ll_i = 1 to i_mxt // f_update_printnum('u_spt_price_change',printnum,0,ll_billid[ll_i],'','',arg_msg,TRUE) // next //end if // end event event ue_fj_edit();IF dw_edit_mode THEN MessageBox('提示','编辑状态下不可用',information!,ok!) RETURN END IF //IF NOT f_power_ind(1446) 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 = 417 //采购订单的mainID s_pic.f_string = dw_pageretr.Object.u_spt_price_change_billcode[ls_row] s_pic.g_long = dw_pageretr.Object.u_spt_price_change_billid[ls_row] s_pic.e_long = 0 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 = 417 //采购订单的mainID s_pic.f_string = dw_pageretr.Object.u_spt_price_change_billcode[ls_row] s_pic.g_long = dw_pageretr.Object.u_spt_price_change_billid[ls_row] s_pic.e_long = 0 s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_view,s_pic) end event public function integer wf_refresh_curuc (long arg_billid);//==================================================================== // Function: wf_refresh_curuc(arg_scid,arg_inbillid) //-------------------------------------------------------------------- // Description: 刷新dw_uc //-------------------------------------------------------------------- // Arguments: // value long arg_scid // value long arg_inbillid //-------------------------------------------------------------------- // Returns: integer //-------------------------------------------------------------------- // Author: yyx Date: 2003.11.14 //-------------------------------------------------------------------- // Modify History: // //==================================================================== //wf_refresh_curuc If arg_billid <= 0 Or IsNull(arg_billid) Then Return 0 Long uc_row uc_row = dw_pageretr.GetRow() If uc_row <= 0 Then Return 0 Long billid String billcode DateTime billdate String dscrp String sptname String sptcode Long sptid long moneyid Int flag DateTime Auditdate ,Opdate ,moddate String Auditemp ,Opemp ,modemp String inrep Long billtype DateTime sendtime String senduser Long sendcnt,ifecomm Select u_spt_price_change.billid, u_spt_price_change.billcode, u_spt_price_change.billdate, u_spt_price_change.dscrp, u_spt_price_change.flag, u_spt_price_change.Auditemp, u_spt_price_change.Auditdate, u_spt_price_change.Opdate, u_spt_price_change.Opemp, u_spt_price_change.moddate, u_spt_price_change.modemp, u_spt.Name, u_spt.sptcode, u_spt_price_change.sptid, u_spt_price_change.inrep, u_spt_price_change.billtype, u_spt_price_change.moneyid, u_spt_price_change.senduser, u_spt_price_change.sendtime, u_spt_price_change.sendcnt, Case u_spt.ifecomm when 0 Then 0 Else 1 End as ifecomm Into :billid, :billcode, :billdate, :dscrp, :flag, :Auditemp, :Auditdate, :Opdate, :Opemp, :moddate, :modemp, :sptname, :sptcode, :sptid, :inrep, :billtype, :moneyid, :senduser, :sendtime, :sendcnt, :ifecomm From u_spt_price_change Inner JOIN u_spt On u_spt_price_change.sptid = u_spt.sptid Where u_spt_price_change.billid = :arg_billid; If sqlca.SQLCode <> 0 Then MessageBox('错误',"查询操作失败(错误单据唯一码)",stopsign!,ok!) Return 0 End If dw_pageretr.Object.u_spt_price_change_billid[uc_row] = arg_billid dw_pageretr.Object.u_spt_price_change_Billcode[uc_row] = billcode dw_pageretr.Object.u_spt_price_change_billdate[uc_row] = billdate dw_pageretr.Object.u_spt_price_change_dscrp[uc_row] = dscrp dw_pageretr.Object.u_spt_price_change_flag[uc_row] = flag dw_pageretr.Object.u_spt_price_change_Auditemp[uc_row] = Auditemp dw_pageretr.Object.u_spt_price_change_Auditdate[uc_row] = Auditdate dw_pageretr.Object.u_spt_price_change_Opdate[uc_row] = Opdate dw_pageretr.Object.u_spt_price_change_Opemp[uc_row] = Opemp dw_pageretr.Object.u_spt_price_change_moddate[uc_row] = moddate dw_pageretr.Object.u_spt_price_change_modemp[uc_row] = modemp dw_pageretr.Object.u_spt_name[uc_row] = sptname dw_pageretr.Object.u_spt_sptcode[uc_row] = sptcode dw_pageretr.Object.u_spt_price_change_sptid[uc_row] = sptid dw_pageretr.Object.u_spt_price_change_inrep[uc_row] = inrep dw_pageretr.Object.u_spt_price_change_billtype[uc_row] = billtype dw_pageretr.Object.u_spt_price_change_moneyid[uc_row] = moneyid dw_pageretr.Object.u_spt_price_change_sendcnt[uc_row] = sendcnt dw_pageretr.Object.u_spt_price_change_senduser[uc_row] = senduser dw_pageretr.Object.u_spt_price_change_sendtime[uc_row] = sendtime dw_pageretr.Object.ifecomm[uc_row] = ifecomm 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 subroutine wf_check_billfj ();String arg_msg Long ll_ConnectionID Long cur_billtype_fj 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_spt_price_change_billid[row] ll_scid = 0 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_fj = 417 //客户投拆单的 mainiD ls_uo_fjbt.uf_check_billfj( cur_billtype_fj, 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);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 = 0 //查询所选模版是否含有图片信息 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 = 417); 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) IF ll_ifpic = 1 THEN IF arg_str_billlist.bill[i].datawindow = 'dw_xls_saletaskmx' AND arg_str_billlist.bill[i].ds_data.RowCount() > 0 THEN //设置图片路径 FOR ll_j = 1 TO arg_str_billlist.bill[i].ds_data.RowCount() arg_str_billlist.bill[i].ds_data.Object.pic[ll_j] = s_pic.path[ll_j] NEXT END IF END IF NEXT DESTROY ls_uo_fjbt RETURN 1 end function public function integer wf_flagstatus_rf ();//==================================================================== // Function: wf_flagstatus_rf() //-------------------------------------------------------------------- // Description: //-------------------------------------------------------------------- // Arguments:(None) //-------------------------------------------------------------------- // Returns: integer //-------------------------------------------------------------------- // Author: yyx Date: 2003.12.26 //-------------------------------------------------------------------- // Modify History: // //==================================================================== long pagerert_row pagerert_row=dw_pageretr.getrow() if pagerert_row<=0 then cb_auditing.enabled=false goto ext end if if dw_edit_mode then cb_auditing.enabled=false cb_auditing_cancel.enabled=false else if dw_pageretr.object.u_spt_price_change_flag[pagerert_row]=0 then cb_auditing.enabled=true cb_auditing_cancel.enabled=false elseif dw_pageretr.object.u_spt_price_change_flag[pagerert_row]=1 then cb_auditing.enabled=false cb_auditing_cancel.enabled=true end if end if ext: return 0 end function public function integer wf_get_mx (long arg_scid, long arg_inwareid, ref s_inwaremx inwaremx[], ref long it_mxit);long i i = 1 //s_inwaremx inwaremx[] ////用游标读取明细 DECLARE cur_inwaermx CURSOR FOR SELECT u_inwaremx.mtrlid, u_mtrldef.mtrlcode, u_mtrldef.mtrlname, u_mtrldef.mtrlmode, u_inwaremx.unit,u_inwaremx.rate, u_inwaremx.status, u_inwaremx.woodcode, u_inwaremx.pcode, u_inwaremx.uprice FROM u_inwaremx INNER JOIN u_mtrldef ON u_inwaremx.mtrlid = u_mtrldef.mtrlid WHERE u_inwaremx.scid = :arg_scid AND u_inwaremx.inwareid = :arg_inwareid; // OPEN cur_inwaermx; FETCH cur_inwaermx INTO :inwaremx[i].mtrlid,:inwaremx[i].mtrlcode,:inwaremx[i].mtrlname,:inwaremx[i].mtrlmode,:inwaremx[i].unit,:inwaremx[i].rate, :inwaremx[i].status,:inwaremx[i].woodcode,:inwaremx[i].pcode,:inwaremx[i].uprice; DO WHILE sqlca.SQLCode = 0 i++ FETCH cur_inwaermx INTO :inwaremx[i].mtrlid,:inwaremx[i].mtrlcode,:inwaremx[i].mtrlname,:inwaremx[i].mtrlmode,:inwaremx[i].unit,:inwaremx[i].rate, :inwaremx[i].status,:inwaremx[i].woodcode,:inwaremx[i].pcode,:inwaremx[i].uprice; LOOP CLOSE cur_inwaermx; it_mxit = i - 1 return 1 end function public function integer wf_set_mx (long arg_scid, long arg_inwareid);//采购收货单调用 Long child_row Long ll_sptid Long ls_j ll_sptid = dw_uc.Object.u_spt_price_change_sptid [dw_uc.GetRow()] dw_child.AcceptText() s_inwaremx inwaremx[] Long it_mxbt = 0 wf_get_mx(arg_scid, arg_inwareid, inwaremx[], it_mxbt) FOR ls_j = 1 To it_mxbt IF inwaremx[ls_j].mtrlid > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_spt_price_changemx_mtrlid[dw_child.GetRow()] <> 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_spt_price_changemx_mtrlid[child_row] = inwaremx[ls_j].mtrlid dw_child.Object.u_mtrldef_mtrlcode [child_row] = inwaremx[ls_j].mtrlcode dw_child.Object.u_mtrldef_mtrlname[child_row] = inwaremx[ls_j].mtrlname dw_child.Object.u_mtrldef_mtrlmode [child_row] = inwaremx[ls_j].mtrlmode dw_child.Object.u_mtrldef_unit[child_row] = inwaremx[ls_j].unit dw_child.Object.u_spt_price_changemx_status[child_row] = inwaremx[ls_j].status dw_child.Object.u_spt_price_changemx_woodcode[child_row] = inwaremx[ls_j].woodcode dw_child.Object.u_spt_price_changemx_pcode[child_row] = inwaremx[ls_j].pcode dw_child.Object.u_spt_price_changemx_price[child_row] = inwaremx[ls_j].uprice Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String arg_msg String ls_1stunit,ls_status,ls_woodcode,ls_pcode ls_1stunit = dw_child.Object.u_spt_price_changemx_unit[child_row] ls_status = dw_child.Object.u_spt_price_changemx_status[child_row] ls_woodcode = dw_child.Object.u_spt_price_changemx_woodcode[child_row] ls_pcode = dw_child.Object.u_spt_price_changemx_pcode[child_row] IF uo_sptprice.uf_getmtrlsptprice(ll_sptid,inwaremx[ls_j].mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN dw_child.Object.u_spt_price_changemx_lastprice[child_row] = 0 dw_child.Object.u_spt_price_changemx_unit[child_row] = inwaremx[ls_j].unit dw_child.Object.u_spt_price_changemx_rate[child_row] = inwaremx[ls_j].rate ELSE dw_child.Object.u_spt_price_changemx_lastprice[child_row] = ls_1stnewcost dw_child.Object.u_spt_price_changemx_rate[child_row] = ls_1strate dw_child.Object.u_spt_price_changemx_unit[child_row] = ls_1stunit END IF END IF NEXT dw_child.SetColumn('u_spt_price_changemx_unit') dw_child.SetFocus() RETURN 1 end function on w_spt_price_change.create int iCurrent call super::create this.ddlb_status=create ddlb_status this.ddlb_billtype=create ddlb_billtype this.st_2=create st_2 this.st_3=create st_3 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_status this.Control[iCurrent+2]=this.ddlb_billtype this.Control[iCurrent+3]=this.st_2 this.Control[iCurrent+4]=this.st_3 end on on w_spt_price_change.destroy call super::destroy destroy(this.ddlb_status) destroy(this.ddlb_billtype) destroy(this.st_2) destroy(this.st_3) end on event ue_f8;call super::ue_f8; IF Not dw_edit_mode THEN RETURN Long child_row Long ll_sptid child_row = dw_child.GetRow() IF child_row = 0 THEN MessageBox('提示','请选定单据!',information!,ok!) RETURN END IF ll_sptid = dw_uc.Object.u_spt_price_change_sptid [dw_uc.GetRow()] IF IsNull(ll_sptid) Or ll_sptid = 0 THEN This.TriggerEvent("ue_f9") ll_sptid = dw_uc.Object.u_spt_price_change_sptid [dw_uc.GetRow()] IF IsNull(ll_sptid) Or ll_sptid = 0 THEN RETURN END IF dw_child.AcceptText() IF Not IsValid(w_mtrldef_edit) THEN s_edit_index_tran s_tranf8 //传递参数使用 s_tranf8.if_retrieve_all = False //是否一次retrieve所有行 s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_tranf8.arg_pkid = 0 //目标定位pkid (备用) s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_tranf8.if_select_all = True //多选 s_tranf8.b_long = 0 //选产品 Long ls_j IF child_row > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[child_row]) OpenWithParm(w_mtrldef_edit,s_tranf8) //调用 s_mtrldef_array s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 To UpperBound(s_inscust.mtrlid) IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_spt_price_changemx_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_spt_price_changemx_mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlcode [child_row] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode [child_row] = s_inscust.mtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String arg_msg String ls_1stunit,ls_status,ls_woodcode,ls_pcode ls_1stunit = dw_child.Object.u_spt_price_changemx_unit[child_row] ls_status = dw_child.Object.u_spt_price_changemx_status[child_row] ls_woodcode = dw_child.Object.u_spt_price_changemx_status[child_row] ls_pcode = dw_child.Object.u_spt_price_changemx_status[child_row] IF uo_sptprice.uf_getmtrlsptprice(ll_sptid,s_inscust.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN dw_child.Object.u_spt_price_changemx_lastprice[child_row] = 0 IF s_inscust.unit_buy[ls_j] = '' THEN dw_child.Object.u_spt_price_changemx_unit[child_row] = s_inscust.unit[ls_j] dw_child.Object.u_spt_price_changemx_rate[child_row] = 1 ELSE dw_child.Object.u_spt_price_changemx_unit[child_row] = s_inscust.unit_buy[ls_j] dw_child.Object.u_spt_price_changemx_rate[child_row] = s_inscust.rate_buy[ls_j] END IF ELSE dw_child.Object.u_spt_price_changemx_lastprice[child_row] = ls_1stnewcost dw_child.Object.u_spt_price_changemx_rate[child_row] = ls_1strate dw_child.Object.u_spt_price_changemx_unit[child_row] = ls_1stunit END IF //3个属性默认值 String ls_status_default,ls_woodcode_default,ls_pcode_default Long li_mtrlorigin SELECT Mtrlorigin Into :li_mtrlorigin From u_mtrldef Where mtrlid = :s_inscust.mtrlid[ls_j]; IF li_mtrlorigin = 2 Then ls_status_default = '' ls_woodcode_default = '' ls_pcode_default = '' SELECT status_default,woodcode_default,pcode_default Into :ls_status_default,:ls_woodcode_default,:ls_pcode_default From u_mtrldef Where mtrlid = :s_inscust.mtrlid[ls_j]; IF Len(ls_status_default) > 0 THEN dw_child.Object.u_spt_price_changemx_status[child_row] = Trim(ls_status_default) END IF IF Len(ls_woodcode_default) > 0 THEN dw_child.Object.u_spt_price_changemx_woodcode[child_row] = Trim(ls_woodcode_default) END IF IF Len(ls_pcode_default) > 0 THEN dw_child.Object.u_spt_price_changemx_pcode[child_row] = Trim(ls_pcode_default) END IF END IF //自定义1、自定义2值 dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j] END IF NEXT dw_child.SetColumn('u_spt_price_changemx_unit') dw_child.SetFocus() END IF end event event ue_f10;call super::ue_f10;IF NOT IsValid(w_unit_ch) THEN IF dw_child.GetRow() < 1 THEN RETURN Long ls_mtrlid ls_mtrlid = dw_child.Object.u_spt_price_changemx_mtrlid[dw_child.GetRow()] OpenWithParm(w_unit_ch,ls_mtrlid) s_unit s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_child.Object.u_spt_price_changemx_unit[dw_child.GetRow()] = s_inscust.unit dw_child.Object.u_spt_price_changemx_rate[dw_child.GetRow()] = s_inscust.rate END IF END IF end event event retrieve_childdw;call super::retrieve_childdw;long row,uc_relid row=dw_pageretr.getrow() if row>0 then uc_relid=dw_pageretr.Object.u_spt_price_change_billid[row] dw_child.SetRedraw (false) dw_child.retrieve(uc_relid) dw_child.SetRedraw (true) else dw_child.reset() end if end event event open;call super::open;uc_column_int = 7 //uc dw前7列可以编辑 child_column_int = 12 //子dw前8列可以编辑 uo_price = CREATE uo_spt_price_change uo_price.commit_transaction = sqlca uo_sptprice = create uo_spt_price uo_fieb = Create uo_ljfieb uo_fieb.commit_transaction = sys_email_sqlca 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= ls_querystrpart + "(u_spt_price_change.billcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart=ls_querystrpart + "(u_spt_price_change.billcode like '"+trim(sle_usual_query.text)+"')" end if if pos(ls_newselect," where ") <> 0 then ls_newselect=ls_newselect+" and ("+ls_querystrpart+')' else ls_newselect=ls_newselect+" where ("+ls_querystrpart+')' end if end if wf_retrieveuc(dw_pageretr,ls_newselect,1) this.triggerevent('retrieve_pageretr') end event event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr='' if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then obj_expr=obj_expr+'( u_spt_price_change_billcode like "%'+trim(sle_usual_query.text)+'%" )' else obj_expr=obj_expr+'( u_spt_price_change_billcode like "'+trim(sle_usual_query.text)+'" )' end if end if dw_pageretr.setfilter(obj_expr) dw_pageretr.setredraw(false) dw_pageretr.filter() if dw_pageretr.rowcount()>=1 then dw_pageretr.selectrow(0,false) dw_pageretr.selectrow(1,true) end if dw_pageretr.setredraw(true) end event event 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_flag,cur_billtype,sys_user_spttype) 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 close;call super::close;destroy uo_price destroy uo_sptprice destroy uo_fieb wf_del_tempfilepathname() end event event ue_viewprint;call super::ue_viewprint;IF NOT (f_power_ind(384) or f_power_ind(427)) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('提示','没有打印目标单据!',information!,ok!) RETURN END IF S_print_MSG LS_PRMSG IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_spt_price_change_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_spt_price_change_edit' END IF LS_PRMSG.TAG_TEXT = '调价单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = 0 LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_spt_price_change_billid [LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() OpenWithParm(w_publ_preview,LS_PRMSG) //**更新打印次料 String arg_msg printnum = Message.DoubleParm f_update_printnum('u_spt_price_change',printnum,0,dw_pageretr.Object.u_spt_price_change_billid[LS_ROW],'','',arg_msg,TRUE) end event event refresh_interface;call super::refresh_interface;ddlb_status.enabled = not dw_edit_mode ddlb_billtype.enabled = not dw_edit_mode end event event ue_f9;call super::ue_f9; IF NOT dw_edit_mode THEN RETURN Long uc_row uc_row = dw_uc.GetRow() IF uc_row = 0 THEN MessageBox('提示','请选定单据!',information!,ok!) RETURN END IF dw_uc.AcceptText() IF NOT IsValid(W_spt_edit) THEN s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位PKID (备用) //查询列(物料编码)部分内容,用于初步筛选 s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()])) OpenWithParm(W_spt_edit,s_ch_tran) //调用 S_spt S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值 dw_uc.SetRedraw(FALSE) dw_uc.Object.u_spt_price_change_sptid[uc_row] = S_INSCUST.sptid dw_uc.Object.u_spt_name[uc_row] = S_INSCUST.Name dw_uc.Object.u_spt_sptcode[uc_row] = S_INSCUST.sptcode dw_uc.SetRedraw(TRUE) dw_uc.SetColumn("u_spt_price_change_inrep") END IF END IF end event event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN MessageBox('提示',"编辑状态下不可以使用!",information!,ok!) RETURN END IF IF Not (f_power_ind(785) OR f_power_ind(786)) 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_price.add_dscrp(dw_pageretr.Object.u_spt_price_change_billid[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_spt_price_change_billid[uc_row]) END IF end event event ue_send_ljfieb;//IF Not f_power_ind(3164) THEN // MessageBox(publ_operator,sys_msg_pow) // RETURN //END IF // IF dw_edit_mode THEN RETURN IF sys_email_sqlca.DBHandle() = 0 THEN MessageBox('Error','电子商务数据库连接失败,请检查') RETURN END IF IF MessageBox('询问','是否确认要发送单据给供应商?',question!,yesno!) = 2 THEN RETURN Long ll_billid String ls_billcode Long ll_row Int li_ifecomm String arg_summary,arg_postscript,arg_remark String arg_msg ll_row = dw_pageretr.GetRow() IF ll_row <= 0 THEN MessageBox('系统提示','请选择要发送的单据') RETURN END IF ll_billid = dw_pageretr.Object.u_spt_price_change_billid[ll_row] ls_billcode = dw_pageretr.Object.u_spt_price_change_billcode[ll_row] SELECT u_spt.ifecomm INTO :li_ifecomm FROM u_spt_price_change INNER JOIN u_spt ON u_spt_price_change.sptid = u_spt.sptid Where u_spt_price_change.billid = :ll_billid Using sqlca; IF sqlca.SQLCode <> 0 THEN MessageBox('Error','查询供应商询价单相关供应商通信信息失败,请检查设置,'+sqlca.SQLErrText) RETURN END IF IF li_ifecomm = 0 THEN MessageBox('系统提示','供应商没有使用电子商务,不能发送单据') RETURN END IF s_packet_ljfieb s_pack,s_return OpenWithParm(w_dscrp_edit_ljfieb,s_pack) s_return = Message.PowerObjectParm IF s_return.returnflag <> 1 THEN RETURN arg_summary = '' arg_postscript = s_return.postscript arg_remark = s_return.remark IF uo_fieb.send_spt_price(ll_billid,arg_postscript,arg_remark,arg_msg,True) = 0 THEN MessageBox('Erorr',arg_msg) RETURN END IF UPDATE u_spt_price_change SET senduser = :publ_operator, sendtime = getdate(), sendcnt = sendcnt + 1 Where billid = :ll_billid; IF sqlca.SQLCode <> 0 THEN ROLLBACK Using sqlca; MessageBox('Error','更新发送次数失败,'+sqlca.SQLErrText) RETURN ELSE COMMIT Using sqlca; END IF wf_refresh_curuc(ll_billid) MessageBox('系统提示','提交成功!') end event event ue_jdview_ljfieb;long ll_row ll_row = dw_pageretr.getrow() if ll_row <= 0 then return string ls_taskcode ls_taskcode = dw_pageretr.object.u_spt_price_change_billcode[ll_row] openwithparm(w_ljfieb_buytask_hisview,ls_taskcode) end event type cb_func from w_publ_1ton_share_detail`cb_func within w_spt_price_change end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_spt_price_change end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_spt_price_change integer x = 183 integer y = 188 integer width = 480 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_spt_price_change integer x = 2985 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_spt_price_change integer width = 320 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_spt_price_change integer x = 1929 integer y = 288 integer width = 1600 integer height = 1028 string dataobject = "dw_spt_price_change_index" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_check_billfj() wf_flagstatus_rf() end event type st_1 from w_publ_1ton_share_detail`st_1 within w_spt_price_change integer x = 0 integer y = 208 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_spt_price_change integer x = 3136 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_spt_price_change integer width = 1925 integer height = 1032 string dataobject = "dw_spt_price_change_edit" end type event dw_uc::dwnkey;PARENT.TriggerEvent('user_key') IF Key = KeyDownArrow! THEN RETURN 1 IF dw_edit_mode THEN String ls_mtrlcode,ls_mtrlname,ls_mtrlmode String ls_sptcode,ls_sptname,ls_unit_buy,ls_unit Dec ls_rate Long ll_mtrlid,li_row,ll_sptid dw_uc.AcceptText() li_row = dw_uc.GetRow() IF dw_uc.GetColumnName ( ) = 'u_spt_sptcode' AND Key = keyenter! THEN ls_sptcode = Trim(dw_uc.Object.u_spt_sptcode[li_row]) SELECT sptid,Name INTO :ll_sptid,:ls_sptname FROM u_spt Where sptcode = :ls_sptcode; dw_uc.SetRedraw(FALSE) IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f9') RETURN 1 ELSE dw_uc.Object.u_spt_price_change_sptid[li_row] = ll_sptid dw_uc.Object.u_spt_name[li_row] = ls_sptname END IF dw_uc.SetRedraw(TRUE) dw_uc.SetColumn("u_spt_price_change_inrep") RETURN 1 ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_price_change_dscrp' AND Key = keyenter! THEN dw_child.SetFocus() dw_child.ScrollToRow(dw_child.RowCount()) dw_child.SetColumn ('u_mtrldef_mtrlcode') RETURN 1 ELSE IF Key = keyenter! OR Key = KeyDownArrow! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 ELSEIF Key = keyuparrow! THEN keybd_event ( 16, 0, 0 , 0 ) keybd_event ( 9, 0, 0 , 0 ) keybd_event ( 9, 0, 2, 0 ) keybd_event ( 16, 0, 2, 0 ) RETURN 1 END IF END IF 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') END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_spt_price_change end type type dw_child from w_publ_1ton_share_detail`dw_child within w_spt_price_change integer y = 1308 integer width = 3529 integer height = 928 string dataobject = "dw_spt_price_changemx_edit" boolean controlmenu = true boolean minbox = true boolean resizable = false end type event dw_child::doubleclicked;IF dw_edit_mode AND row > 0 THEN CHOOSE CASE this.GetColumnName ( ) CASE 'u_mtrldef_mtrlcode' PARENT.TriggerEvent('ue_f8') CASE 'u_spt_price_changemx_unit' PARENT.TriggerEvent('ue_f10') END CHOOSE END IF end event event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_mtrlmode String ls_sptcode,ls_sptname,ls_unit_buy,ls_unit Dec ls_rate Long ll_mtrlid,li_row,ll_sptid s_mtrldef_array arg_s_mtrldef IF dw_edit_mode THEN dw_child.AcceptText() li_row = dw_child.GetRow() ll_sptid = dw_uc.Object.u_spt_price_change_sptid[dw_uc.GetRow()] IF IsNull(ll_sptid) OR ll_sptid = 0 THEN THIS.TriggerEvent("ue_f9") END IF IF KeyDown(KeyDownArrow!) THEN IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") RETURN 1 END IF ELSE IF dw_child.GetColumnName ( ) = 'u_mtrldef_mtrlcode' AND Key = keyenter! THEN ls_mtrlcode = Trim(dw_child.Object.u_mtrldef_mtrlcode[li_row]) IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN PARENT.TriggerEvent('ue_f8') RETURN 1 ELSE ll_mtrlid = arg_s_mtrldef.mtrlid[1] ls_mtrlcode = arg_s_mtrldef.mtrlcode[1] ls_mtrlname = arg_s_mtrldef.mtrlname[1] ls_unit = arg_s_mtrldef.unit[1] ls_mtrlmode = arg_s_mtrldef.mtrlmode[1] ls_unit_buy = arg_s_mtrldef.unit_buy[1] ls_rate = arg_s_mtrldef.rate_buy[1] END IF dw_child.Object.u_spt_price_changemx_mtrlid[li_row] = ll_mtrlid dw_child.Object.u_mtrldef_mtrlname[li_row] = ls_mtrlname dw_child.Object.u_mtrldef_mtrlmode[li_row] = ls_mtrlmode dw_child.Object.u_mtrldef_unit[li_row] = ls_unit Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate String arg_msg String ls_1stunit,ls_status,ls_woodcode,ls_pcode ls_1stunit = dw_child.Object.u_spt_price_changemx_unit[dw_child.GetRow()] ls_status = dw_child.Object.u_spt_price_changemx_status[dw_child.GetRow()] ls_woodcode = dw_child.Object.u_spt_price_changemx_woodcode[dw_child.GetRow()] ls_pcode = dw_child.Object.u_spt_price_changemx_pcode[dw_child.GetRow()] IF uo_sptprice.uf_getmtrlsptprice(ll_sptid,ll_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN dw_child.Object.u_spt_price_changemx_lastprice[dw_child.GetRow()] = 0 IF ls_unit_buy = '' THEN dw_child.Object.u_spt_price_changemx_unit[dw_child.GetRow()] = ls_unit dw_child.Object.u_spt_price_changemx_rate[dw_child.GetRow()] = 1 ELSE dw_child.Object.u_spt_price_changemx_unit[dw_child.GetRow()] = ls_unit_buy dw_child.Object.u_spt_price_changemx_rate[dw_child.GetRow()] = ls_rate END IF ELSE dw_child.Object.u_spt_price_changemx_lastprice[dw_child.GetRow()] = ls_1stnewcost dw_child.Object.u_spt_price_changemx_rate[dw_child.GetRow()] = ls_1strate dw_child.Object.u_spt_price_changemx_unit[dw_child.GetRow()] = ls_1stunit END IF //3个属性默认值 String ls_status_default,ls_woodcode_default,ls_pcode_default Long li_mtrlorigin SELECT Mtrlorigin Into :li_mtrlorigin From u_mtrldef Where mtrlid = : arg_s_mtrldef.mtrlid[1]; IF li_mtrlorigin = 2 Then ls_status_default = '' ls_woodcode_default = '' ls_pcode_default = '' SELECT status_default,woodcode_default,pcode_default Into :ls_status_default,:ls_woodcode_default,:ls_pcode_default From u_mtrldef Where mtrlid = : arg_s_mtrldef.mtrlid[1]; IF Len(ls_status_default) > 0 THEN dw_child.Object.u_spt_price_changemx_status[dw_child.GetRow()] = Trim(ls_status_default) END IF IF Len(ls_woodcode_default) > 0 THEN dw_child.Object.u_spt_price_changemx_woodcode[dw_child.GetRow()] = Trim(ls_woodcode_default) END IF IF Len(ls_pcode_default) > 0 THEN dw_child.Object.u_spt_price_changemx_pcode[dw_child.GetRow()] = Trim(ls_pcode_default) END IF END IF dw_child.SetRedraw(TRUE) dw_child.SetColumn("u_spt_price_changemx_unit") RETURN 1 ELSEIF dw_child.GetColumnName( ) = 'u_spt_price_changemx_dscrp' AND dw_child.GetRow() = dw_child.RowCount() and Key = keyenter! THEN PARENT.TriggerEvent("insert_childrow") RETURN 1 ELSE IF Key = keyenter! OR Key = KeyDownArrow! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 ELSEIF Key = keyuparrow! THEN keybd_event ( 16, 0, 0 , 0 ) keybd_event ( 9, 0, 0 , 0 ) keybd_event ( 9, 0, 2, 0 ) keybd_event ( 16, 0, 2, 0 ) RETURN 1 END IF END IF END IF END IF end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_spt_price_change end type type cb_print from w_publ_1ton_share_detail`cb_print within w_spt_price_change end type type cb_add from w_publ_1ton_share_detail`cb_add within w_spt_price_change end type event cb_add::clicked; IF Not (f_power_ind(114) Or f_power_ind(425)) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF String arg_msg = '' Long uc_row,pagerert_row Long relid_pageretr,reld_uc,j,i 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.u_spt_price_change_billdate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('提示','不合理发生时间',information!,ok!) dw_uc.SetFocus() dw_uc.SetColumn("u_outware_outrep") RETURN END IF IF dw_uc.Object.u_spt_price_change_sptid[uc_row] = 0 THEN MessageBox('提示','请填写供应商',information!,ok!) dw_uc.SetFocus() dw_uc.SetColumn("u_spt_sptcode") RETURN END IF uo_price.billdate = dw_uc.Object.u_spt_price_change_billdate[uc_row] // 发生时间 uo_price.sptid = dw_uc.Object.u_spt_price_change_sptid[uc_row] // 供应商 uo_price.dscrp = dw_uc.Object.u_spt_price_change_dscrp[uc_row] //备注 uo_price.billtype = dw_uc.Object.u_spt_price_change_billtype[uc_row] //类型 uo_price.inrep = dw_uc.Object.u_spt_price_change_inrep[uc_row] //经手人 uo_price.moneyid = dw_uc.Object.u_spt_price_change_moneyid[uc_row] //币种 FOR i = 1 To dw_child.RowCount() IF dw_child.Object.u_spt_price_changemx_mtrlid[i] > 0 THEN IF dw_child.Object.u_spt_price_changemx_unit[i] = '' THEN dw_child.Object.u_spt_price_changemx_unit[i] = dw_child.Object.u_mtrldef_unit[i] dw_child.Object.u_spt_price_changemx_rate[i] = 1 END IF IF uo_price.acceptmx(i,& dw_child.Object.u_spt_price_changemx_mtrlid[i],& dw_child.Object.u_mtrldef_mtrlcode[i],& dw_child.Object.u_spt_price_changemx_unit[i],& dw_child.Object.u_spt_price_changemx_qty[i],& dw_child.Object.u_spt_price_changemx_price[i],& dw_child.Object.u_spt_price_changemx_rebate[i],& dw_child.Object.u_spt_price_changemx_rate[i],& dw_child.Object.u_spt_price_changemx_status[i],& dw_child.Object.u_spt_price_changemx_woodcode[i],& dw_child.Object.u_spt_price_changemx_pcode[i],& dw_child.Object.u_spt_price_changemx_sptmtrlname[i],& dw_child.Object.u_spt_price_changemx_dscrp[i],& arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) RETURN END IF END IF NEXT IF uo_price.Save(arg_msg,True) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) RETURN END IF //MessageBox('提示','保存操作成功!',information!,ok!) f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_spt_price_change_moneyid[uc_row])) Long ll_row ll_row = dw_pageretr.GetRow() dw_pageretr.SelectRow(0,False) dw_pageretr.SelectRow(ll_row,True) wf_refresh_curuc(uo_price.billid) //刷新uc ELSE IF uo_price.newbegin() = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) RETURN END IF END IF CALL Super::Clicked //read ini IF dw_edit_mode THEN Parent.TriggerEvent("insert_childrow") dw_uc.SetRedraw(False) String ls_moneyid ls_moneyid = f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",'11') dw_uc.Object.u_spt_price_change_moneyid[dw_uc.GetRow()] = Long(ls_moneyid) dw_uc.SetColumn("u_spt_price_change_billtype") 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_spt_price_change end type event cb_edit::clicked; if not (f_power_ind(114) or f_power_ind(425)) then messagebox('提示','你没有使用权限!',information!,ok!) return end if String arg_msg = '' Long uc_row uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,ok!) RETURN END IF IF NOT dw_edit_mode THEN IF uo_price.updatebegin(dw_uc.Object.u_spt_price_change_billid[uc_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) RETURN END IF END IF CALL SUPER::Clicked THIS.TriggerEvent('refresh_interface') end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_spt_price_change end type event cb_delet::clicked;call super::clicked;IF Not (f_power_ind(617) OR f_power_ind(685)) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF IF dw_edit_mode THEN RETURN IF MessageBox ("询问","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 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 uo_price.del(dw_pageretr.Object.u_spt_price_change_billid[uc_row],TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.u_spt_price_change_billid[uc_row] ls_code = dw_pageretr.Object.u_spt_price_change_billcode[uc_row] f_setsysoplog('单价调整单','单价调整单删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox('提示','删除单据'+String(ls_code)+'成功!',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_spt_price_change 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_spt_price_change end type event cb_auditing::clicked;IF NOT (f_power_ind(115) or f_power_ind(426)) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF String err_msg = '' Long l_billid String arg_msg = '' Long pagerert_row IF dw_edit_mode THEN RETURN pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,ok!) RETURN END IF IF MessageBox ("询问","是否确定要审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN //==================================================================== if uo_price.getinfo(dw_pageretr.object.u_spt_price_change_billid[pagerert_row],arg_msg)=0 then messagebox('错误',arg_msg,stopsign!,ok!) return end if if uo_price.auditing(true,arg_msg)=0 then messagebox('错误',arg_msg,stopsign!,ok!) else messagebox('提示','审核成功!',information!,ok!) wf_refresh_curuc(dw_pageretr.object.u_spt_price_change_billid[pagerert_row]) end if end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_spt_price_change end type event cb_xm::clicked;call super::clicked;// //is_mx_menustr = '' //IF dw_edit_mode THEN // is_mx_menustr += "|" + "Text=导入设定购价~tEvent=ue_p_uprice_set" // is_mx_menustr += "|" + "Text=导入最新价~tEvent=ue_p_tax" //END IF //CALL Super::Clicked // end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_spt_price_change end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_spt_price_change end type type cb_help from w_publ_1ton_share_detail`cb_help within w_spt_price_change end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_spt_price_change end type event cb_auditing_cancel::clicked;call super::clicked;IF Not (f_power_ind(886) OR f_power_ind(887)) THEN MessageBox('提示','你没有使用权限!',information!,ok!) RETURN END IF String err_msg = '' Long l_billid l_billid = dw_pageretr.Object.u_spt_price_change_billid[dw_pageretr.GetRow()] IF dw_edit_mode THEN RETURN IF MessageBox ("询问","是否确定要撤消审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN Long pagerert_row String arg_msg pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('提示','请选定当前目标单据!',information!,ok!) RETURN END IF IF uo_price.getinfo(dw_pageretr.Object.u_spt_price_change_billid [pagerert_row],arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) RETURN END IF IF dw_pageretr.Object.u_spt_price_change_flag[pagerert_row] = 1 THEN IF uo_price.c_auditing(TRUE,arg_msg) = 0 THEN MessageBox('错误',arg_msg,stopsign!,ok!) ELSE MessageBox('提示','撤审成功!',information!,ok!) //日志 String ls_code,ls_opemp,ls_outpart ls_code = dw_pageretr.Object.u_spt_price_change_billcode[pagerert_row] ls_opemp = dw_pageretr.Object.u_spt_price_change_opemp[pagerert_row] f_setsysoplog('调价单','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE) //-- wf_refresh_curuc(dw_pageretr.Object.u_spt_price_change_billid[pagerert_row]) END IF END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_spt_price_change end type type p_help from w_publ_1ton_share_detail`p_help within w_spt_price_change end type type p_encl from w_publ_1ton_share_detail`p_encl within w_spt_price_change end type type p_other from w_publ_1ton_share_detail`p_other within w_spt_price_change end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_spt_price_change end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_spt_price_change end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_spt_price_change end type type r_bar from w_publ_1ton_share_detail`r_bar within w_spt_price_change end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_spt_price_change end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_spt_price_change end type type ddlb_status from dropdownlistbox within w_spt_price_change integer x = 1696 integer y = 192 integer width = 421 integer height = 300 integer taborder = 40 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "[全部]" boolean sorted = false string item[] = {"[全部]","待审核","已审核"} borderstyle borderstyle = stylelowered! end type event selectionchanged;if index=1 then cur_flag=-1 elseif index=2 then cur_flag=0 elseif index=3 then cur_flag=1 end if parent.triggerevent('retrieve_pageretr') end event type ddlb_billtype from dropdownlistbox within w_spt_price_change integer x = 933 integer y = 192 integer width = 480 integer height = 300 integer taborder = 60 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 this.text = '调价单' then cur_billtype = 1 elseif this.text = '报价单' then cur_billtype = 2 else cur_billtype = -1 end if parent.triggerevent('retrieve_pageretr') end event type st_2 from statictext within w_spt_price_change integer x = 750 integer y = 204 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_3 from statictext within w_spt_price_change integer x = 1527 integer y = 204 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