$PBExportHeader$w_quote.srw forward global type w_quote from w_publ_1ton_share_detail end type type ddlb_scid from uo_ddlb_scid within w_quote end type type ddlb_status from dropdownlistbox within w_quote end type type st_2 from statictext within w_quote end type type st_3 from statictext within w_quote end type end forward global type w_quote from w_publ_1ton_share_detail string title = "报价单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_reccl ( ) event ue_viewmx ( ) event ue_auditmx ( ) event ue_cauditmx ( ) event ue_configcodemx_view ( ) event ue_cmpl_qty ( ) event ue_p_formula_set ( ) event ue_p_cmpl_qty ( ) event ue_cmpl_status_qty ( ) event ue_p_sumprice_1 ( ) event ue_p_rebate ( ) event ue_p_qty ( ) event ue_add_dscrp2 ( ) event ue_fj_view ( ) event ue_fj_edit ( ) event ue_p_u_quotemx_sumprice ( ) event ue_p_u_quotemx_sumprice_1 ( ) ddlb_scid ddlb_scid ddlb_status ddlb_status st_2 st_2 st_3 st_3 end type global w_quote w_quote type variables long cur_scid =0 //分店ID long cur_flag= -1 //-1:全部,0未审,1已审核 int cur_editfocus=0 //1:新建2:修改 uo_quote uo_quote_mtrl uo_ljfieb uo_fieb end variables forward prototypes public function integer wf_refresh_curuc (long arg_scid, long arg_quoteid) public subroutine wf_getrprice (long arg_mrlid, ref decimal arg_newprice) 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_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg) end prototypes event insert_childrow();long li_row li_row=dw_child.insertrow(0) dw_child.scrolltorow(li_row) dw_child.SetColumn ('u_mtrldef_mtrlcode') end event event ue_reccl();IF NOT f_power_ind(1396) THEN MessageBox('提示','你没有使用权限!') RETURN END IF IF dw_edit_mode THEN MessageBox('提示','单据编辑状态下不可用') RETURN END IF Long ll_mx_row Int li_flag, li_mode dw_child.AcceptText() ll_mx_row = dw_child.GetRow() IF ll_mx_row <= 0 THEN MessageBox('提示','请选择报价单明细物料') RETURN END IF li_flag = dw_child.Object.u_quotemx_flag[ll_mx_row] IF li_flag = 1 THEN MessageBox('提示','报价单明细已审核不能修改') li_mode = 1 // RETURN END IF s_quotemx_open s_mx s_mx.scid = dw_child.Object.u_quotemx_scid[ll_mx_row] s_mx.quoteid = dw_child.Object.u_quotemx_quoteid[ll_mx_row] s_mx.printid = dw_child.Object.u_quotemx_printid[ll_mx_row] s_mx.mode = li_mode IF f_power_ind(1395) and NOT sys_power_issuper THEN OpenWithParm(w_quoterqmtrl_noprice,s_mx) ELSE OpenWithParm(w_quoterqmtrl,s_mx) END IF THIS.TriggerEvent("retrieve_childdw") end event event ue_viewmx();IF NOT f_power_ind(1396) THEN MessageBox('提示','你没有使用权限!') RETURN END IF IF dw_edit_mode THEN MessageBox('提示','单据编辑状态下不可用') RETURN END IF Long ll_mx_row dw_child.AcceptText() ll_mx_row = dw_child.GetRow() IF ll_mx_row <= 0 THEN MessageBox('提示','请选择报价单明细物料') RETURN END IF s_quotemx_open s_mx s_mx.scid = dw_child.Object.u_quotemx_scid[ll_mx_row] s_mx.quoteid = dw_child.Object.u_quotemx_quoteid[ll_mx_row] s_mx.printid = dw_child.Object.u_quotemx_printid[ll_mx_row] s_mx.mode = 1 IF f_power_ind(1395) and NOT sys_power_issuper THEN OpenWithParm(w_quoterqmtrl_noprice,s_mx) ELSE OpenWithParm(w_quoterqmtrl,s_mx) END IF THIS.TriggerEvent("retrieve_childdw") end event event ue_auditmx();IF NOT f_power_ind(1397) THEN MessageBox('提示','你没有使用权限!') RETURN END IF IF dw_edit_mode THEN MessageBox('提示','单据编辑状态下不可用') RETURN END IF Long ll_mx_row Long ll_scid,ll_printid,ll_quoteid String arg_msg dw_child.AcceptText() ll_mx_row = dw_child.GetRow() IF ll_mx_row <= 0 THEN MessageBox('提示','请选择报价单明细物料') RETURN END IF ll_scid = dw_child.Object.u_quotemx_scid[ll_mx_row] ll_quoteid = dw_child.Object.u_quotemx_quoteid[ll_mx_row] ll_printid = dw_child.Object.u_quotemx_printid[ll_mx_row] IF uo_quote_mtrl.uof_audit_mx(ll_scid,ll_quoteid,ll_printid,1,publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('提示','审核报价单明细失败,'+arg_msg) RETURN END IF MessageBox('提示','审核报价单明细成功') THIS.TriggerEvent("retrieve_childdw") end event event ue_cauditmx();IF Not f_power_ind(1398) THEN MessageBox('提示','你没有使用权限!') RETURN END IF IF dw_edit_mode THEN MessageBox('提示','单据编辑状态下不可用') RETURN END IF Long ll_mx_row Long ll_scid,ll_printid,ll_quoteid String arg_msg dw_child.AcceptText() ll_mx_row = dw_child.GetRow() IF ll_mx_row <= 0 THEN MessageBox('提示','请选择报价单明细物料') RETURN END IF IF MessageBox("提示","是否要撤审报价单明细",Question!, YesNo!) = 2 THEN RETURN END IF ll_scid = dw_child.Object.u_quotemx_scid[ll_mx_row] ll_quoteid = dw_child.Object.u_quotemx_quoteid[ll_mx_row] ll_printid = dw_child.Object.u_quotemx_printid[ll_mx_row] IF uo_quote_mtrl.uof_audit_mx(ll_scid,ll_quoteid,ll_printid,0,publ_operator,arg_msg,True) = 0 THEN MessageBox('提示','撤审报价单明细失败,'+arg_msg) RETURN END IF MessageBox('提示','撤审报价单明细成功') This.TriggerEvent("retrieve_childdw") end event event ue_configcodemx_view(); String arg_msg = '' Long childrow,uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标订单!') RETURN END IF childrow = dw_child.GetRow() IF childrow <= 0 THEN MessageBox('系统提示','请选定当前明细物料!') RETURN END IF Long ll_mtrlid Long li_flag_status,ll_statustype String ls_mtrlcode,ls_status Long ll_configcodetype String ls_configcode s_pzwin_open arg_s_open ll_mtrlid = dw_child.Object.u_quotemx_mtrlid[childrow] ls_status = dw_child.Object.u_quotemx_status[childrow] SELECT statusflag,statustype,configcodetype,configcode INTO :li_flag_status,:ll_statustype,:ll_configcodetype,:ls_configcode FROM u_mtrldef Where mtrlid = :ll_mtrlid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','查询当前明细物料配置属性失败!') RETURN END IF //IF li_flag_status = 4 THEN // arg_s_open.arg_mtrlid = ll_statustype // arg_s_open.arg_col_value = ls_status // arg_s_open.arg_editmode = FALSE // OpenWithParm(w_configure_pzmx_ch,arg_s_open) //ELSE // IF ll_configcodetype > 0 THEN // arg_s_open.arg_mtrlid = ll_configcodetype // arg_s_open.arg_col_value = ls_configcode // arg_s_open.arg_editmode = FALSE // OpenWithParm(w_configure_pzmx_ch,arg_s_open) // ELSE // MessageBox('系统提示','当前明细物料没有设置部件选配资料!') // RETURN // END IF //END IF end event event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN Long child_row dw_child.AcceptText() child_row = dw_child.GetRow() s_cmpl_qty s_cmpl,s_return s_cmpl.qty = dw_child.Object.u_quotemx_qty[child_row] s_cmpl.formula = dw_child.Object.u_quotemx_formula[child_row] s_cmpl.addqty = dw_child.Object.u_quotemx_addqty[child_row] s_cmpl.price = dw_child.Object.u_quotemx_sumprice[child_row] s_cmpl.rebate = dw_child.Object.u_quotemx_rebate[child_row] s_cmpl.status = dw_child.Object.u_quotemx_status[child_row] s_cmpl.woodcode = dw_child.Object.u_quotemx_woodcode[child_row] s_cmpl.pcode = dw_child.Object.u_quotemx_pcode[child_row] s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row] s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row] IF NOT IsValid(w_cmpl_qty_ch) THEN OpenWithParm(w_cmpl_qty_ch,s_cmpl) s_return = Message.PowerObjectParm IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN dw_child.Object.u_quotemx_qty[child_row] = s_return.qty dw_child.Object.u_quotemx_formula[child_row] = s_return.formula END IF END IF end event event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定公式', question!, YesNo!, 2) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() IF dw_child.RowCount() <= 1 THEN RETURN dw_child.SetRedraw(FALSE) FOR ll_i = 1 TO dw_child.RowCount() IF ll_i = 1 THEN CONTINUE dw_child.Object.u_quotemx_formula[ll_i] = dw_child.Object.u_quotemx_formula[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN Long i String ls_formula String ls_msg String ls_rs String ls_num Decimal ld_addqty Decimal ld_price Decimal ld_rebate decimal ld_qty dw_child.AcceptText() s_cmpl_qty s_cmpl Open(w_cmpl_qty_ch_son) s_cmpl = Message.PowerObjectParm dw_uc.SetRedraw(false) FOR i = 1 TO dw_child.RowCount() ld_qty = 0 IF dw_child.Object.u_quotemx_formula[i] <> '' THEN s_cmpl.formula = dw_child.Object.u_quotemx_formula[i] s_cmpl.status = dw_child.Object.u_quotemx_status[i] s_cmpl.woodcode = dw_child.Object.u_quotemx_woodcode[i] s_cmpl.pcode = dw_child.Object.u_quotemx_pcode[i] s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i] s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i] s_cmpl.addqty = dw_child.Object.u_quotemx_addqty[i] s_cmpl.price = dw_child.Object.u_quotemx_sumprice[i] s_cmpl.rebate = dw_child.Object.u_quotemx_rebate[i] IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN MessageBox('提示','第' + string(i) + '行,' + ls_msg, Information!, OK! ) goto ext END IF dw_child.Object.u_quotemx_qty[i] = ld_qty END IF NEXT ext: dw_child.SetColumn('u_quotemx_qty') dw_uc.SetRedraw(TRUE) end event event ue_cmpl_status_qty();Int ll_flag Decimal ll_value Long ll_num Long i,j,k String ls_mtrlmode String ls_status Decimal ld_qty Decimal ld_addqty String ls_msg Long ll_type s_cmpl_addqty s_cmpl dw_child.AcceptText() IF dw_edit_mode THEN Open(w_cmpl_status_qty_ch) s_cmpl = Message.PowerObjectParm ll_flag = s_cmpl.flag ll_value = s_cmpl.addvalue ll_num = s_cmpl.num ll_type = s_cmpl.cmptype IF ll_value <= 0 THEN RETURN IF dw_child.RowCount() <= 0 THEN RETURN FOR i = 1 TO dw_child.RowCount() ld_addqty = dw_child.Object.u_quotemx_addqty[i] CHOOSE CASE ll_type CASE 0 ls_status = dw_child.Object.u_quotemx_status[i] CASE 1 ls_status = dw_child.Object.u_quotemx_woodcode[i] CASE 2 ls_status = dw_child.Object.u_quotemx_pcode[i] CASE 3 ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i] CASE 4 ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i] END CHOOSE IF ld_addqty = 0 OR ls_status = '' THEN ELSE ld_qty = 0 IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN MessageBox('错误',ls_msg,stopsign!,OK!) GOTO ext END IF IF ll_flag = 0 THEN dw_child.Object.u_quotemx_qty[i] = Round(ld_qty * ll_value,ll_num) ELSE dw_child.Object.u_quotemx_qty[i] = Round(ld_qty / ll_value,ll_num) END IF END IF NEXT END IF ext: end event event ue_p_sumprice_1();IF Not dw_edit_mode THEN RETURN IF MessageBox('提示','是否确定要批设定客户还价等于报价', question!, YesNo!) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(False) FOR ll_i = 1 To dw_child.RowCount() dw_child.Object.u_quotemx_sumprice_1[ll_i] = dw_child.Object.u_quotemx_sumprice[ll_i] NEXT dw_child.SetRedraw(True) end event event ue_p_rebate();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定折扣', question!, YesNo!, 1) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 2 TO dw_child.RowCount() dw_child.Object.u_quotemx_rebate[ll_i] = dw_child.Object.u_quotemx_rebate[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_qty();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定数量', question!, YesNo!, 1) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 2 TO dw_child.RowCount() dw_child.Object.u_quotemx_qty[ll_i] = dw_child.Object.u_quotemx_qty[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_add_dscrp2();s_view_dscrp s_view,s_return String ls_dscrp dw_uc.AcceptText() ls_dscrp = dw_uc.Object.u_quote_dscrp2[dw_uc.GetRow()] s_view.Title = '销售报价单辅助备注' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_uc.Object.u_quote_dscrp2[dw_uc.GetRow()] = s_return.dscrp END IF 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 = 177 //销售报价单的mainID s_pic.f_string = dw_pageretr.Object.u_quote_quotecode[ls_row] s_pic.g_long = dw_pageretr.Object.u_quote_quoteid[ls_row] s_pic.e_long = dw_pageretr.Object.u_quote_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 = 177 //销售报价单的mainID s_pic.f_string = dw_pageretr.Object.u_quote_quotecode[ls_row] s_pic.g_long = dw_pageretr.Object.u_quote_quoteid[ls_row] s_pic.e_long = dw_pageretr.Object.u_quote_scid[ls_row] s_pic.sqltransaction = sys_filedb_sqlca OpenWithParm(w_fj_bill_mng,s_pic) //wf_check_billfj() end event event ue_p_u_quotemx_sumprice();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定数量', question!, YesNo!, 1) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 2 TO dw_child.RowCount() dw_child.Object.u_quotemx_sumprice[ll_i] = dw_child.Object.u_quotemx_sumprice[1] NEXT dw_child.SetRedraw(TRUE) end event event ue_p_u_quotemx_sumprice_1();IF NOT dw_edit_mode THEN RETURN IF MessageBox('提示','是否要确定要批设定数量', question!, YesNo!, 1) = 2 THEN RETURN END IF Long ll_i dw_child.AcceptText() dw_child.SetRedraw(FALSE) FOR ll_i = 2 TO dw_child.RowCount() dw_child.Object.u_quotemx_sumprice_1[ll_i] = dw_child.Object.u_quotemx_sumprice_1[1] NEXT dw_child.SetRedraw(TRUE) end event public function integer wf_refresh_curuc (long arg_scid, long arg_quoteid);IF arg_quoteid <= 0 OR IsNull(arg_quoteid) THEN RETURN 0 Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN RETURN 0 DateTime quotedate String dscrp, dscrp2 String quotecode String custname String custcode DateTime opdate String opemp String modemp DateTime moddate Int flag DateTime Auditingdate String Auditingrep Long custid String relcode String assign_emp DateTime sendTime String sendUser,fiebrelcode long ifecomm,sendcnt long moneyid SELECT u_quote.quotecode, u_quote.cusid, u_quote.quotedate, u_quote.assign_emp, u_quote.relcode, u_quote.dscrp, u_quote.dscrp2, u_quote.opemp, u_quote.opdate, u_quote.modemp, u_quote.moddate, u_quote.auditingrep, u_quote.auditingdate, u_quote.flag, u_cust.cuscode, u_cust.name, u_quote.sendTime, u_quote.sendUser, u_quote.fiebrelcode, u_quote.sendcnt, u_quote.moneyid INTO :quotecode, :custid, :quotedate, :assign_emp, :relcode, :dscrp, :dscrp2, :opemp, :opdate, :modemp, :moddate, :Auditingrep, :Auditingdate, :flag, :custcode, :custname, :sendTime, :sendUser, :fiebrelcode, :sendcnt, :moneyid FROM u_quote INNER JOIN u_cust ON u_quote.cusid = u_cust.cusid WHERE ( u_quote.quoteid = :arg_quoteid ) And ( u_quote.scid = :arg_scid ); IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示',"查询操作失败(错误单据唯一码)") RETURN 0 END IF dw_pageretr.Object.u_quote_scid[uc_row] = arg_scid dw_pageretr.Object.u_quote_quoteid[uc_row] = arg_quoteid dw_pageretr.Object.u_quote_quotedate[uc_row] = quotedate dw_pageretr.Object.u_quote_quotecode[uc_row] = quotecode dw_pageretr.Object.u_quote_cusid[uc_row] = custid dw_pageretr.Object.u_quote_assign_emp[uc_row] = assign_emp dw_pageretr.Object.u_quote_dscrp[uc_row] = dscrp dw_pageretr.Object.u_quote_dscrp2[uc_row] = dscrp2 dw_pageretr.Object.u_quote_relcode[uc_row] = relcode dw_pageretr.Object.u_quote_opdate[uc_row] = opdate dw_pageretr.Object.u_quote_opemp[uc_row] = opemp dw_pageretr.Object.u_quote_moddate[uc_row] = moddate dw_pageretr.Object.u_quote_modemp[uc_row] = modemp dw_pageretr.Object.u_quote_flag[uc_row] = flag dw_pageretr.Object.u_quote_auditingdate[uc_row] = Auditingdate dw_pageretr.Object.u_quote_Auditingrep[uc_row] = Auditingrep dw_pageretr.Object.u_cust_cuscode[uc_row] = custcode dw_pageretr.Object.u_cust_name[uc_row] = custname dw_pageretr.Object.u_quote_moneyid[uc_row] = moneyid dw_pageretr.Object.u_quote_senduser[uc_row] = sendUser dw_pageretr.Object.u_quote_sendtime[uc_row] = sendTime dw_pageretr.Object.u_quote_fiebrelcode[uc_row] = fiebrelcode dw_pageretr.Object.u_quote_sendcnt[uc_row] = sendcnt 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_getrprice (long arg_mrlid, ref decimal arg_newprice);// Decimal i_newprice SELECT price INTO :i_newprice FROM v_maxprice_cusprice Where mtrlid = :arg_mrlid; IF sqlca.SQLCode <> 0 OR IsNull(i_newprice) THEN i_newprice = 0 arg_newprice = i_newprice end subroutine public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//============================================================================== // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata() //------------------------------------------------------------------------------ // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可 //------------------------------------------------------------------------------ Long LS_ROW,ll_id,i,ll_scid LS_ROW = dw_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_quote_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 = 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_quotemx_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 and ll_classid > 0 THEN IF arg_str_billlist.bill[i].datawindow = 'dw_xls_quotemx' 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 ();//wf_flagstatus_rf Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Enabled = False cb_auditing_cancel.Enabled = False cb_auditing.Text = '审核&F' cb_auditing_cancel.Text = '撤审' GOTO ext END IF IF dw_edit_mode THEN cb_auditing.Enabled = False cb_auditing_cancel.Enabled = False cb_auditing.Text = '审核&F' cb_auditing_cancel.Text = '撤审' ELSE IF dw_pageretr.Object.u_quote_flag[pagerert_row] = 0 THEN cb_auditing.Enabled = True cb_auditing_cancel.Enabled = False IF sys_option_quote_secaudit = 0 THEN cb_auditing.Text = '审核&F' cb_auditing_cancel.Text = '撤审' ELSE cb_auditing.Text = '初审&F' cb_auditing_cancel.Text = '撤审' END IF ELSEIF dw_pageretr.Object.u_quote_flag[pagerert_row] = 1 THEN cb_auditing.Enabled = False cb_auditing_cancel.Enabled = True IF sys_option_quote_secaudit = 0 THEN cb_auditing.Text = '审核&F' cb_auditing_cancel.Text = '撤审' ELSE cb_auditing.Text = '审核&F' cb_auditing_cancel.Text = '终撤' END IF ELSEIF dw_pageretr.Object.u_quote_flag[pagerert_row] = 4 THEN cb_auditing.Enabled = True cb_auditing_cancel.Enabled = True IF sys_option_quote_secaudit = 0 THEN cb_auditing.Text = '审核&F' cb_auditing_cancel.Text = '撤审' ELSE cb_auditing.Text = '终审&F' cb_auditing_cancel.Text = '初撤' END IF END IF END IF ext: cb_auditing.TriggerEvent('ue_textchange') cb_auditing_cancel.TriggerEvent('ue_textchange') RETURN 0 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_quote_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_quotemx_mtrlid[ll_i] arg_s_pic.mtrlid[ll_i] = ll_mtrlid //取该附件类型中的第一个附件. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype FROM u_file WHERE relid = :ll_mtrlid AND classid = :ll_classid AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf' OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg') USING sys_fileDB_sqlca; IF sys_fileDB_sqlca.SQLCode <> 0 THEN ll_fileid = 0 END IF IF ll_fileid > 0 THEN Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype IF Trim(Pathname) <> '' THEN IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN RETURN 0 END IF IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN RETURN 0 ELSE arg_s_pic.path[ll_i] = Pathname //记录临时文件位置,本窗口退出后删除 wf_addlog_tempfilepathname(Pathname) END IF ELSE arg_s_pic.path[ll_i] = '' END IF ELSE arg_s_pic.path[ll_i] = '' END IF NEXT END IF RETURN 1 end function on w_quote.create int iCurrent call super::create this.ddlb_scid=create ddlb_scid this.ddlb_status=create ddlb_status this.st_2=create st_2 this.st_3=create st_3 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_scid this.Control[iCurrent+2]=this.ddlb_status this.Control[iCurrent+3]=this.st_2 this.Control[iCurrent+4]=this.st_3 end on on w_quote.destroy call super::destroy destroy(this.ddlb_scid) destroy(this.ddlb_status) destroy(this.st_2) destroy(this.st_3) end on event open;THIS.TriggerEvent('ue_before_open') wf_movetocenter() ds_copy_bill = CREATE datastore ds_copy_bill.DataObject = dw_child.dataobject ds_copy_bill.SetTransObject(sqlca) OLD_TITLE = THIS.Title s_tran = Message.PowerObjectParm IF NOT IsNull(s_tran) THEN retrieve_all = s_tran.if_retrieve_all mode = s_tran.work_mode arg_pkid = s_tran.arg_pkid arg_string_code = s_tran.arg_string_code if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效 ds_share = s_tran.ds_share END IF dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关 dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关 dw_pageretr.SetTransObject (sqlca) pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字 ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select") ls_newselect = ori_oldselect ds_curquery = CREATE DATASTORE ds_curquery.DataObject = 'd_extr_find' ds_curquery.SetTransObject (sqlca) wf_editindex_lockf() sle_usual_query.Text = Trim(arg_string_code) IF NOT retrieve_all THEN THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve ELSE IF if_sharedata THEN ds_share.ShareData(dw_pageretr) ELSE wf_retrieveuc(dw_pageretr,ls_newselect,1) THIS.TriggerEvent('RETRIEVE_pageretr') END IF END IF IF retrieve_all THEN THIS.TriggerEvent("ue_usual_query_filt") END IF uc_column_int = 9 //uc dw前6列可以编辑 child_column_int = 16//子dw前3列可以编辑 uo_quote_mtrl = CREATE uo_quote uo_quote_mtrl.commit_transaction = sqlca uo_fieb = create uo_ljfieb uo_fieb.commit_transaction = sys_email_sqlca s_hide_col s_col,s_col_1 s_col.col_1 = 'u_quotemx_sumprice' s_col.col_2 = 'u_quotemx_sumprice_1' s_col.col_3 = 'u_quotemx_profit_margin' s_col.col_4 = 'u_quotemx_mancost' s_col.col_5 = 'u_quotemx_outcost' s_col.col_6 = 'u_quotemx_planprice' s_col.col_7 = 'u_quotemx_wfjgprice' s_col.col_8 = 'allamt_1' s_col.col_9 = 'allprice' s_col.col_10 = 'allamt' f_hide_col(1395,dw_child,s_col) s_col_1.col_1 = 'u_quotemx_mtrlcost' f_hide_col(1395,dw_child,s_col_1) end event event close;call super::close;destroy uo_quote_mtrl end event event retrieve_childdw;Long row,uc_relid,uc_scid row = dw_pageretr.GetRow() IF row > 0 THEN uc_relid = dw_pageretr.Object.u_quote_quoteid[row] uc_scid = dw_pageretr.Object.u_quote_scid[row] dw_child.SetRedraw (FALSE) dw_child.Retrieve(uc_scid,uc_relid) dw_child.SetRedraw (TRUE) IF dw_child.RowCount() > 0 THEN dw_child.SelectRow(0,FALSE) dw_child.SelectRow(1,TRUE) dw_child.SetRow(1) END IF ELSE dw_child.Reset() END IF end event event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled Boolean cb_func_enabled,cb_retrieve_enabled cb_nextpage_enabled = cb_nextpage.Enabled cb_retrieveall_enabled = cb_retrieveall.Enabled cb_func_enabled = cb_func.Enabled cb_nextpage.Enabled = FALSE cb_retrieveall.Enabled = FALSE cb_func.Enabled = FALSE Int li_option_outrep //是否启用业务员限制 IF sys_power_issuper THEN li_option_outrep = 0 ELSE li_option_outrep = sys_option_outrep END IF dw_uc.Retrieve() dw_pageretr.Retrieve(cur_scid,cur_flag,li_option_outrep,sys_user_outrep) 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;string obj_expr='' if trim(sle_usual_query.text)<>'' then IF POS(trim(sle_usual_query.text),'%')=0 THEN obj_expr=obj_expr+'( quotecode LIKE "%'+trim(sle_usual_query.text)+'%" )' ELSE obj_expr=obj_expr+'( quotecode 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;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="( quotecode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="( quotecode 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_f9;call super::ue_f9; if not dw_edit_mode then return long child_row child_row=dw_uc.getrow() if child_row=0 then messagebox('系统提示','请选定报价单!') return end if dw_uc.accepttext() if not isvalid(W_cust_edit) then s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行 s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid=0 //目标定位PKID (备用) //查询列(物料编码)部分内容,用于初步筛选 s_ch_tran.arg_string_code=upper(trim(dw_uc.object.u_cust_cuscode[dw_uc.getrow()])) OPENwithparm(W_cust_edit,s_ch_tran) //调用 s_custom S_INSCUST S_INSCUST=Message.PowerObjectParm //接受返回结构 IF S_INSCUST.cusid>0 THEN //正常返回值则可以取以下值 dw_uc.object.u_quote_cusid[child_row]=S_INSCUST.cusid dw_uc.object.u_cust_name[child_row]=S_INSCUST.name dw_uc.object.u_cust_cuscode[child_row]=S_INSCUST.cuscode dw_uc.object.u_quote_assign_emp[child_row]=S_INSCUST.bsntype dw_uc.setredraw(true) dw_uc.setcolumn("u_quote_quotedate") END IF end if end event event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN Long child_row Long ls_cusid String ls_sonmtrlname child_row = dw_child.GetRow() Decimal i_newprice ls_cusid = dw_uc.Object.u_quote_cusid[dw_uc.GetRow()] IF IsNull(ls_cusid) OR ls_cusid = 0 THEN THIS.TriggerEvent("ue_f9") END IF 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 //选产品 s_tranf8.f_long = -1 Long ls_j IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]) 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_quotemx_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_quotemx_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_mtrltype [child_row] = s_inscust.mtrltype[ls_j] dw_child.Object.u_quotemx_planprice [child_row] = s_inscust.planprice[ls_j] wf_getrprice(s_inscust.mtrlid[ls_j],i_newprice ) dw_child.Object.u_quotemx_maxprice[child_row] = i_newprice dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j] dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j] dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j] 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] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j] dw_child.Object.u_quotemx_newunit[child_row] = s_inscust.unit[ls_j] END IF NEXT THIS.TriggerEvent('ue_allowedit') dw_child.SetFocus() dw_child.SetColumn ('u_mtrldef_mtrlcode') END IF end event event ue_viewprint;call super::ue_viewprint;IF NOT f_power_ind(1394) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('NO','没有打印目标单据!') RETURN END IF S_print_MSG LS_PRMSG IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_quote_flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_quote_preview' END IF IF LS_PRMSG.obj_dwNAME = '' THEN RETURN LS_PRMSG.printrow = ll_prownum LS_PRMSG.TAG_TEXT = '报价单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = dw_pageretr.Object.u_quote_scid[LS_ROW] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_quote_quoteid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() IF ifpic = 1 THEN String ls_msg IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN MessageBox('提示','下载图片失败!',information!,OK!) RETURN END IF END IF OpenWithParm(w_publ_preview,LS_PRMSG) IF ifpic = 1 THEN Long li FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path) IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN FileDelete(LS_PRMSG.s_pic.path[li]) END IF NEXT END IF //**更新打印次料 String arg_msg printnum = Message.DoubleParm Long ll_scid String ls_code ll_scid = dw_pageretr.Object.u_quote_scid[dw_pageretr.GetRow()] ls_code = dw_pageretr.Object.u_quote_quotecode[dw_pageretr.GetRow()] //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE) end event event ue_print;call super::ue_print;//--直接打印 IF NOT f_power_ind(1394) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF uo_print_preview uo_print IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN S_print_MSG LS_PRMSG Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('NO','没有打印目标单据!') RETURN END IF IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_quote_flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE LS_PRMSG.obj_dwNAME = 'dw_quote_preview' END IF IF LS_PRMSG.obj_dwNAME = '' THEN RETURN LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.printrow = ll_prownum LS_PRMSG.TAG_TEXT = '报价单' LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.retr_scid = dw_pageretr.Object.u_quote_scid[LS_ROW] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_quote_quoteid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() IF ifpic = 1 THEN String ls_msg IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN MessageBox('提示','下载图片失败!',information!,OK!) RETURN END IF END IF uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("系统提示",arg_msg) RETURN END IF uo_print.ds_print() 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 = 1 Long ll_scid String ls_code ll_scid = dw_pageretr.Object.u_quote_scid[dw_pageretr.GetRow()] ls_code = dw_pageretr.Object.u_quote_quotecode[dw_pageretr.GetRow()] //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE) end event event ue_addzy;call super::ue_addzy;IF NOT (f_power_ind(1393)) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF if dw_edit_mode then return string arg_msg='',LS_STR long uc_row s_inputbox S_SREU uc_row=dw_pageretr.getrow() if uc_row<=0 then messagebox('系统提示','请选定当前目标单据!') return end if S_SREU.TITLE='请输入要补充到备注的内容' S_SREU.OLD_TEXT='' openwithparm(w_inputbox,S_SREU) LS_STR=Message.StringParm if trim(LS_STR)='' or isnull(LS_STR) then return if uo_quote_mtrl.p_getinfo(dw_pageretr.object.u_quote_scid[uc_row],dw_pageretr.object.u_quote_quoteid[uc_row],arg_msg)=0 then messagebox('Error!',arg_msg) return end if if uo_quote_mtrl.add_dscrp(dw_pageretr.object.u_quote_scid[uc_row],dw_pageretr.object.u_quote_quoteid[uc_row],LS_STR,arg_msg,true)=0 then messagebox('Error!',arg_msg) return else messagebox(publ_operator,'添加备注操作成功!') wf_refresh_curuc(dw_pageretr.object.u_quote_scid[uc_row],dw_pageretr.object.u_quote_quoteid[uc_row]) end if end event event ue_rpt_print;call super::ue_rpt_print; Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN uo_rpt_print_preview uo_print S_rpt_print_MSG LS_PRMSG IF dw_pageretr.RowCount() = 0 THEN MessageBox('系统信息','没有可打印的单据!') RETURN END IF IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_quote_flag[row] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.TAG_TEXT = THIS.Title LS_PRMSG.rpname = ls_rpname LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.rpid = ls_msgprintid_rpt LS_PRMSG.retr_scid = dw_pageretr.Object.u_quote_scid[row] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_quote_quoteid[row] LS_PRMSG.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("系统提示",arg_msg) RETURN END IF uo_print.ds_print() //**更新打印次料 printnum = Message.DoubleParm String ls_code ll_scid = dw_pageretr.Object.u_quote_scid[row] ls_code = dw_pageretr.Object.u_quote_quotecode[row] //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE) end event event ue_rpt_viewprint;call super::ue_rpt_viewprint; Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.u_quote_flag[row] = 0 THEN MessageBox('NO','目标单据还未审核,不能打印!') RETURN END IF END IF s_rpt_print_msg s_print s_print.retr_pram_falg = 15 s_print.rpid = ls_msgprintid_rpt s_print.retr_flag = TRUE s_print.tag_text = THIS.Title s_print.rpname = ls_rpname s_print.retr_scid = dw_pageretr.Object.u_quote_scid[row] s_print.retr_pramnmb = dw_pageretr.Object.u_quote_quoteid[row] s_print.rowcnt = dw_child.RowCount() OpenWithParm(w_rpt_preview,s_print) //**更新打印次料 String arg_msg printnum = Message.DoubleParm String ls_code ll_scid = dw_pageretr.Object.u_quote_scid[row] ls_code = dw_pageretr.Object.u_quote_quotecode[row] //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE) end event event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = NOT dw_edit_mode ddlb_scid.Enabled = NOT dw_edit_mode wf_flagstatus_rf() end event event ue_news_add;call super::ue_news_add;Long ll_row_p s_admsg s_msg dw_pageretr.AcceptText() ll_row_p = dw_pageretr.GetRow() IF ll_row_p <= 0 THEN RETURN s_msg.billcode = dw_pageretr.Object.u_quote_quotecode[ll_row_p] OpenWithParm(w_new_admsg,s_msg) end event event ue_news_rel;call super::ue_news_rel;Long ll_row_p String ls_billcode dw_pageretr.AcceptText() ll_row_p = dw_pageretr.GetRow() IF ll_row_p <= 0 THEN RETURN ls_billcode = dw_pageretr.Object.u_quote_quotecode[ll_row_p] OpenWithParm(w_msg_billcode_rel,ls_billcode) end event event ue_send_ljfieb;//IF Not f_power_ind(3165,sys_msg_pow) 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,ll_scid 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_scid = dw_pageretr.Object.u_quote_scid[ll_row] ll_billid = dw_pageretr.Object.u_quote_quoteid[ll_row] ls_billcode = dw_pageretr.Object.u_quote_quotecode[ll_row] SELECT u_cust.ifecomm INTO :li_ifecomm FROM u_quote INNER JOIN u_cust ON u_quote.cusid = u_cust.cusid WHERE u_quote.quoteid = :ll_billid And u_quote.scid = :ll_scid 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_quote(ll_scid,ll_billid,arg_postscript,arg_remark,arg_msg,True) = 0 THEN MessageBox('Erorr',arg_msg) RETURN END IF UPDATE u_quote SET senduser = :publ_operator, sendtime = getdate(), sendcnt = sendcnt + 1 WHERE quoteid = :ll_billid And scid = :ll_scid Using sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK Using sqlca; MessageBox('Error','更新发送次数失败,'+sqlca.SQLErrText) RETURN ELSE COMMIT Using sqlca; END IF wf_refresh_curuc(ll_scid,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_quote_quotecode[ll_row] openwithparm(w_ljfieb_buytask_hisview,ls_taskcode) end event event ue_f10;call super::ue_f10;//选择价格表 //用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用 IF NOT dw_edit_mode THEN RETURN IF dw_uc.GetRow() <= 0 THEN MessageBox('系统提示','请先选择单据') RETURN END IF Long child_row Long ls_cusid decimal i_newprice String ls_prdpackcode Decimal ld_packqty,ld_net_weight,ld_gross_weight,ld_cubage s_mtrldef_array arg_s_mtrldef child_row = dw_child.GetRow() ls_cusid = dw_uc.Object.u_quote_cusid[dw_uc.GetRow()] IF IsNull(ls_cusid) OR ls_cusid = 0 THEN THIS.TriggerEvent("ue_f9") RETURN END IF IF NOT IsValid(w_sale_price_list_mxch) THEN s_edit_index_tran s_tranf8 //传递参数使用 s_tranf8.if_retrieve_all = THIS.retrieve_all //是否一次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.c_long = ls_cusid IF cur_scid < 0 THEN s_tranf8.b_long = dw_uc.Object.u_quote_scid[dw_uc.GetRow()] ELSE s_tranf8.b_long = cur_scid END IF s_tranf8.e_long = -1 Long ls_j Decimal lde_rate THIS.Enabled = FALSE OpenWithParm(w_sale_price_list_mxch,s_tranf8) //调用 THIS.Enabled = TRUE s_salelistmx_arr 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_quotemx_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_quotemx_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_mtrltype [child_row] = s_inscust.mtrltype[ls_j] dw_child.Object.u_quotemx_planprice [child_row] = f_get_planprice(s_inscust.mtrlid[ls_j],'','','',true) wf_getrprice(s_inscust.mtrlid[ls_j],i_newprice ) dw_child.Object.u_quotemx_maxprice[child_row] = i_newprice dw_child.Object.u_quotemx_sumprice[child_row] = s_inscust.price[ls_j] dw_child.Object.u_quotemx_rebate[child_row] = s_inscust.rebate[ls_j] dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j] dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j] dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j] 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_quotemx_sumprice') THIS.TriggerEvent('ue_allowedit') dw_child.SetFocus() END IF end event type cb_func from w_publ_1ton_share_detail`cb_func within w_quote end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_quote end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_quote integer x = 187 integer width = 549 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_quote integer width = 146 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_quote end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_quote integer x = 1984 integer width = 1563 integer height = 908 string dataobject = "dw_quote_index" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf() end event type st_1 from w_publ_1ton_share_detail`st_1 within w_quote integer x = 14 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_quote end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_quote integer width = 1861 integer height = 1072 string dataobject = "dw_quote_edit" end type event dw_uc::dwnkey;PARENT.TriggerEvent('user_key') IF Key = KeyDownArrow! THEN RETURN 1 IF dw_edit_mode THEN IF dw_uc.GetColumnName ( ) = 'u_quote_dscrp' AND Key = KeyEnter! THEN dw_child.ScrollToRow(1) dw_child.SetFocus() dw_child.SetColumn ('u_mtrldef_mtrlcode') RETURN 1 ELSEIF dw_uc.GetColumnName ( ) = 'u_quote_dscrp2' AND Key = KeyEnter! THEN // dw_child.ScrollToRow(1) // dw_child.SetFocus() // dw_child.SetColumn ('u_mtrldef_mtrlcode') // RETURN 1 ELSEIF dw_uc.GetColumnName ( ) = 'u_cust_cuscode' AND Key = KeyEnter! THEN String ls_code dw_uc.AcceptText() ls_code = Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()]) s_custom arg_s_cust IF f_find_cust(ls_code,arg_s_cust) = 0 THEN PARENT.TriggerEvent('ue_f9') RETURN 1 ELSE dw_uc.SetRedraw(FALSE) dw_uc.Object.u_quote_cusid[dw_uc.GetRow()] = arg_s_cust.cusid dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = arg_s_cust.cuscode dw_uc.Object.u_cust_name[dw_uc.GetRow()] = arg_s_cust.Name dw_uc.Object.u_quote_assign_emp[dw_uc.GetRow()] = arg_s_cust.bsntype dw_uc.SetRedraw(TRUE) dw_uc.SetColumn("u_quote_quotedate") RETURN 1 END IF ELSE IF Key = KeyEnter! THEN // keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF end event event dw_uc::buttonclicked;call super::buttonclicked;//IF dw_edit_mode AND row > 0 THEN // PARENT.TriggerEvent('ue_f9') //END IF // end event event dw_uc::clicked;call super::clicked;IF row <= 0 THEN RETURN IF dwo.Name = 'p_dview2' THEN Parent.TriggerEvent('ue_add_dscrp2') END IF IF dw_edit_mode THEN IF dwo.Name = 'p_p' THEN Parent.TriggerEvent('ue_f9') ELSEIF dwo.Name = 'p_2' Or dwo.Name = 'choicepricelist_t' THEN //引入价格表明细 Parent.TriggerEvent('ue_f10') END IF END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_quote integer x = 297 integer y = 460 integer width = 631 end type type dw_child from w_publ_1ton_share_detail`dw_child within w_quote integer y = 1568 integer width = 3543 integer height = 596 string dataobject = "dw_quotemx_index" end type event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname,ls_mtrlmode,ls_mtrltype Long ls_mtrlid,ls_cusid Dec ls_planprice Long child_row Long ls_null SetNull(ls_null) String arg_msg = '' Decimal ld_price,ld_wfjgprice,ld_jgprice Decimal i_newprice Int li_statusflag,li_woodcodeflag,li_pcodeflag Long ll_statustype,ll_woodcodetype,ll_pcodetype string ll_unit s_mtrldef_array arg_s_mtrldef IF dw_edit_mode THEN dw_uc.AcceptText() ls_cusid = dw_uc.Object.u_quote_cusid[dw_uc.GetRow()] IF IsNull(ls_cusid) OR ls_cusid = 0 THEN THIS.TriggerEvent("ue_f9") END IF IF KeyDown(keydownarrow!) THEN Long li_row li_row =dw_child.GetRow() IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") ELSE // li_row = li_row+1 // dw_child.scrolltorow(li_row) // dw_child.SetColumn ('u_quotemx_status') END IF ELSE If (KeyDown(keyenter!) OR KeyDown(keytab!)) 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] SELECT mtrlid, mtrlname, mtrlmode, planprice, statusflag, statustype, woodcodeflag, woodcodetype, pcodeflag, pcodetype, unit INTO :ls_mtrlid, :ls_mtrlname, :ls_mtrlmode, :ls_planprice, :li_statusflag, :li_woodcodeflag, :li_pcodeflag, :ll_statustype, :ll_woodcodetype, :ll_pcodetype, :ll_unit FROM u_mtrldef Where mtrlcode Like :ls_mtrlcode; IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f8') RETURN 1 END IF dw_child.Object.u_quotemx_mtrlid[child_row] = ls_mtrlid dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode dw_child.Object.u_mtrldef_mtrltype[child_row] = ls_mtrltype dw_child.Object.u_quotemx_planprice[child_row] = ls_planprice dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag dw_child.Object.u_mtrldef_statustype[child_row] = ll_statustype dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag dw_child.Object.u_mtrldef_woodcodetype[child_row] = ll_woodcodetype dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag dw_child.Object.u_mtrldef_pcodetype[child_row] = ll_pcodetype dw_child.Object.u_mtrldef_unit[child_row] = ll_unit dw_child.Object.u_quotemx_newunit[child_row] = ll_unit wf_getrprice(ls_mtrlid,i_newprice ) dw_child.Object.u_quotemx_maxprice[child_row] = i_newprice parent.triggerevent('ue_allowedit') IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF ELSEIF dw_child.GetColumnName( ) = 'u_quotemx_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") RETURN 1 ELSE IF Key = keyenter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF END IF END IF end event event dw_child::doubleclicked;IF dw_edit_mode THEN IF Lower(Left(dwo.Type,4)) = 'text' THEN s_inputbox S_SREU String LS_STR,column_name column_name = dwo.Name column_name = Left(column_name,Len(column_name) - 2) //MESSAGEBOX("",column_name) CHOOSE CASE column_name CASE '' Parent.TriggerEvent('ue_p_') CASE ELSE Parent.TriggerEvent('ue_p_'+column_name) END CHOOSE ELSE IF dwo.Name = 'u_quotemx_qty' Or dwo.Name = 'u_quotemx_formula' THEN Parent.TriggerEvent('ue_cmpl_qty') ELSEIF dwo.Name='u_quotemx_newunit' THEN IF NOT IsValid(w_unit_ch) THEN IF dw_child.GetRow() < 1 THEN RETURN Long ll_mtrlid ll_mtrlid = dw_child.Object.u_quotemx_mtrlid[dw_child.GetRow()] OpenWithParm(w_unit_ch,ll_mtrlid) s_unit s_inscust s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.unit <> '' THEN dw_child.Object.u_quotemx_newunit[dw_child.GetRow()] = s_inscust.unit END IF END IF ELSE Parent.TriggerEvent('ue_f8') END IF END IF END IF end event event dw_child::ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN String ls_col_pz,ls_col_mtrlid String ls_pz_ch String ls_col_value String ls_data_type Long ll_row,ll_mtrlid s_pzwin_open arg_s_win ll_row = THIS.GetRow() IF ll_row > 0 THEN ls_col_mtrlid = THIS.Describe("#1.Name") IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid) ls_col_pz = THIS.GetColumnName( ) ls_data_type = dw_child.Describe(ls_col_pz+".ColType") IF Pos(Lower(ls_data_type),"char") > 0 THEN ls_col_value = THIS.GetItemString(ll_row,ls_col_pz) END IF arg_s_win.arg_x = THIS.X + THIS.PointerX() + PARENT.X arg_s_win.arg_y = THIS.Y + THIS.PointerY() + PARENT.Y arg_s_win.arg_col = ls_col_pz arg_s_win.arg_mtrlid = ll_mtrlid arg_s_win.arg_col_value = ls_col_value ls_pz_ch = f_mtrl_pz(arg_s_win) IF isnull(ls_pz_ch) THEN RETURN THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch) END IF end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_quote end type type cb_print from w_publ_1ton_share_detail`cb_print within w_quote end type type cb_add from w_publ_1ton_share_detail`cb_add within w_quote end type event cb_add::clicked;IF NOT f_power_ind(1389) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row,i 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 isnull( dw_uc.Object.u_quote_cusid[uc_row]) THEN MessageBox('系统提示','请选客户!') dw_uc.SetFocus() dw_uc.SetColumn("u_quote_cusid") RETURN END IF IF NOT dw_uc.Object.u_quote_quotedate[uc_row] > DateTime(2000-01-01,Now()) THEN MessageBox('系统提示','不合理发生时间!') dw_uc.SetFocus() dw_uc.SetColumn("u_quote_quotedate") RETURN END IF IF NOT Len(String(dw_uc.Object.u_quote_assign_emp[uc_row])) > 0 THEN MessageBox('系统提示','请填写经手人!') dw_uc.SetFocus() dw_uc.SetColumn("u_quote_assign_emp") RETURN END IF uo_quote_mtrl.quotedate = dw_uc.Object.u_quote_quotedate[uc_row] // 发生时间 uo_quote_mtrl.Assign_emp = dw_uc.Object.u_quote_assign_emp[uc_row] // 经手人 uo_quote_mtrl.relcode = dw_uc.Object.u_quote_relcode[uc_row] //相关号码 uo_quote_mtrl.dscrp = dw_uc.Object.u_quote_dscrp[uc_row] //备注 uo_quote_mtrl.dscrp2 = dw_uc.Object.u_quote_dscrp2[uc_row] //备注 uo_quote_mtrl.custid = dw_uc.Object.u_quote_cusid[uc_row] //客户ID uo_quote_mtrl.fiebrelcode = dw_uc.Object.u_quote_fiebrelcode[uc_row] uo_quote_mtrl.sendtime = dw_uc.Object.u_quote_sendtime[uc_row] uo_quote_mtrl.senduser = dw_uc.Object.u_quote_senduser[uc_row] uo_quote_mtrl.billtype = 0 uo_quote_mtrl.moneyid = dw_uc.Object.u_quote_moneyid[uc_row] FOR i = 1 TO dw_child.RowCount() IF dw_child.Object.u_quotemx_mtrlid[i] > 0 THEN IF uo_quote_mtrl.acceptmx(dw_child.Object.u_quotemx_mtrlid[i],& dw_child.Object.u_mtrldef_mtrlcode[i],& dw_child.Object.u_mtrldef_mtrlname[i],& dw_child.Object.u_mtrldef_mtrlmode[i],& dw_child.Object.u_mtrldef_unit[i],& dw_child.Object.u_quotemx_mxdscrp[i],& arg_msg,& dw_child.Object.pid[i],& dw_child.Object.u_quotemx_sumprice[i],& dw_child.Object.u_quotemx_sumprice_1[i],& dw_child.object.u_quotemx_status[i],& dw_child.object.u_quotemx_woodcode[i],& dw_child.object.u_quotemx_pcode[i],& dw_child.object.u_quotemx_maxprice[i],& dw_child.object.u_quotemx_planprice[i],& dw_child.object.u_quotemx_profit_margin[i],& dw_child.object.u_quotemx_wfjgprice[i],& dw_child.object.u_quotemx_outcost[i],& dw_child.object.u_quotemx_mancost[i],& dw_child.object.u_quotemx_mtrlcost[i],& dw_child.object.u_quotemx_qty[i],& dw_child.object.u_quotemx_qty1[i],& dw_child.object.u_quotemx_rebate[i],& dw_child.object.u_quotemx_addqty[i],& dw_child.object.u_quotemx_formula[i],& '',& dw_child.object.u_quotemx_mxdscrp2[i],& dw_child.object.u_quotemx_mxdscrp3[i],& dw_child.object.u_quotemx_mxdscrp4[i],& dw_child.object.u_quotemx_newunit[i]) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF END IF NEXT IF uo_quote_mtrl.save(publ_operator,arg_msg,true) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF //MessageBox(publ_operator,'保存操作成功!') f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_quote_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(cur_scid,uo_quote_mtrl.quoteid) //刷新uc ELSE IF uo_quote_mtrl.newbegin(cur_scid,arg_msg) = 0 THEN //生产令领料 MessageBox('Error!',arg_msg) RETURN END IF END IF CALL SUPER::Clicked //read ini IF dw_edit_mode THEN PARENT.TriggerEvent("insert_childrow") dw_uc.Object.u_quote_scid[dw_uc.GetRow()] = cur_scid String ls_moneyid ls_moneyid = f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",'11') dw_uc.Object.u_quote_moneyid[dw_uc.GetRow()] = Long(ls_moneyid) dw_uc.SetColumn("u_cust_cuscode") ELSE PARENT.TriggerEvent("retrieve_childdw") END IF // end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_quote end type event cb_edit::clicked;IF NOT f_power_ind(1389) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF String arg_msg = '' Long uc_row IF NOT dw_edit_mode THEN uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF END IF IF NOT dw_edit_mode THEN IF uo_quote_mtrl.updatebegin(dw_pageretr.Object.u_quote_scid[uc_row],dw_pageretr.Object.u_quote_quoteid[uc_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF wf_refresh_curuc(dw_pageretr.Object.u_quote_scid[uc_row],dw_pageretr.Object.u_quote_quoteid[uc_row]) //刷新uc PARENT.TriggerEvent("retrieve_childdw") PARENT.TriggerEvent('ue_allowedit') END IF CALL SUPER::Clicked end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_quote end type event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1390) THEN MessageBox(publ_operator,'你没有使用权限!') RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标订单!') RETURN END IF IF MessageBox ("IF","是否确定要删除当前吗",Question!,YesNo! ) = 2 THEN RETURN IF uo_quote_mtrl.Cancel(dw_pageretr.Object.u_quote_scid[uc_row],dw_pageretr.Object.u_quote_quoteid[uc_row],arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.u_quote_quoteid[uc_row] ls_code = dw_pageretr.Object.u_quote_quotecode[uc_row] f_setsysoplog('报价单','报价单删除,ID:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.u_quote_quotecode[uc_row])+'成功!') dw_pageretr.DeleteRow(uc_row) dw_pageretr.Triggerevent(rowfocuschanged!) END IF end event type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_quote end type event cb_addzy::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr IF NOT dw_edit_mode THEN menustr = "Text=增加备注~tEvent=ue_addzy" menustr += "|" + "Text=-" menustr += "|" + "Text=查看附件~tEvent=ue_fj_view" menustr += "|" + "Text=添加附件~tEvent=ue_fj_edit" menustr += "|" + "Text=复制单据~tEvent=ue_bill_copy" ELSE menustr += "|" + "Text=粘贴单据~tEvent=ue_bill_paste" END IF IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = CREATE m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(THIS, menustr) dmPopupMenu.mf_PopMenu() DESTROY dmPopupMenu END IF end event type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_quote end type event cb_auditing::clicked;call super::clicked; IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row Long ll_quoteid,ll_scid Long ll_i Int li_flag Long ll_suc,ll_fail Int li_if_sec String ls_quotecode,arg_msg_tmp IF Not KeyDown(KeyControl!) THEN pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF ll_quoteid = dw_pageretr.Object.u_quote_quoteid[pagerert_row] ll_scid = dw_pageretr.Object.u_quote_scid[pagerert_row] IF dw_pageretr.Object.u_quote_flag[pagerert_row] = 0 THEN IF sys_option_quote_secaudit = 0 THEN IF Not (f_power_ind(1391,sys_msg_pow) Or f_power_ind(1391,sys_msg_pow)) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF MessageBox ("IF","是否确定要对当前报价单作审核吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_quote_mtrl.audit(ll_scid,ll_quoteid,publ_operator,arg_msg,False) = 0 THEN MessageBox('Error!',arg_msg) ELSE IF uo_quote_mtrl.sec_audit(ll_scid,ll_quoteid,publ_operator,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'审核成功!') wf_refresh_curuc(ll_scid,ll_quoteid) END IF END IF ELSE IF Not f_power_ind(1391,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF MessageBox ("IF","是否确定要对当前报价单作审核吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_quote_mtrl.audit(ll_scid,ll_quoteid,publ_operator,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'审核成功!') wf_refresh_curuc(ll_scid,ll_quoteid) END IF END IF ELSEIF dw_pageretr.Object.u_quote_flag[pagerert_row] = 4 THEN IF Not f_power_ind(1391,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF MessageBox ("IF","是否确定要对当前报价单作审核吗?",Question!,YesNo! ) = 2 THEN RETURN IF uo_quote_mtrl.sec_audit(ll_scid,ll_quoteid,publ_operator,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'审核成功!') wf_refresh_curuc(ll_scid,ll_quoteid) END IF END IF ELSE pagerert_row = dw_pageretr.GetRow() IF sys_option_quote_secaudit = 0 THEN IF Not f_power_ind(1391,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF li_if_sec = 1 ELSE IF pagerert_row > 0 THEN IF dw_pageretr.Object.u_quote_flag[pagerert_row] = 4 THEN IF Not f_power_ind(1391,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF li_if_sec = 1 ELSE IF Not f_power_ind(1391,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF li_if_sec = 0 END IF ELSE li_if_sec = 1 END IF END IF IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",Question!,YesNo! ) = 2 THEN RETURN 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_quote_quotecode[ll_i] + " 正在审核..." //进度信息 li_flag = dw_pageretr.Object.u_quote_flag[ll_i] IF li_flag = 1 THEN CONTINUE ll_quoteid = dw_pageretr.Object.u_quote_quoteid[ll_i] ll_scid = dw_pageretr.Object.u_quote_scid[ll_i] ls_quotecode = dw_pageretr.Object.u_quote_quotecode[ll_i] IF sys_option_quote_secaudit = 0 THEN IF uo_quote_mtrl.audit(ll_scid,ll_quoteid,publ_operator,arg_msg,False) = 0 THEN arg_msg = arg_msg + ls_quotecode + '审核失败原因: ' + arg_msg_tmp + '~r~n' ll_fail++ CONTINUE ELSE IF uo_quote_mtrl.sec_audit(ll_scid,ll_quoteid,publ_operator,arg_msg,True) = 0 THEN arg_msg = arg_msg + ls_quotecode + '审核失败原因: ' + arg_msg_tmp + '~r~n' ll_fail++ CONTINUE END IF END IF ELSE IF li_if_sec = 0 THEN IF uo_quote_mtrl.audit(ll_scid,ll_quoteid,publ_operator,arg_msg,True) = 0 THEN arg_msg = arg_msg + ls_quotecode + '审核失败原因: ' + arg_msg_tmp + '~r~n' ll_fail++ CONTINUE END IF ELSE IF uo_quote_mtrl.sec_audit(ll_scid,ll_quoteid,publ_operator,arg_msg,True) = 0 THEN arg_msg = arg_msg + ls_quotecode + '审核失败原因: ' + arg_msg_tmp + '~r~n' ll_fail++ CONTINUE END IF END IF END IF ll_suc++ w_sys_wait_jdt.wf_inc(ll_i) //进度 NEXT Close(w_sys_wait_jdt) MessageBox(publ_operator,'批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail)) IF ll_fail > 0 THEN OpenWithParm(w_message_err,arg_msg) END IF Parent.TriggerEvent('retrieve_pageretr') END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_quote end type event cb_xm::clicked; is_mx_menustr = '' IF dw_edit_mode THEN is_mx_menustr += "|" + "Text=批设定客户还价等于报价~tEvent=ue_p_sumprice_1" is_mx_menustr += "|" + "Text=批设定数量~tEvent=ue_p_qty" is_mx_menustr += "|" + "Text=批设定折扣~tEvent=ue_p_rebate" is_mx_menustr += "|" + "Text=批设定公式~tEvent=ue_p_formula_set" is_mx_menustr += "|" + "Text=批由公式计算数量~tEvent=ue_p_cmpl_qty" is_mx_menustr += "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty" ELSE is_mx_menustr += "|" + "Text=计算成本~tEvent=ue_reccl" is_mx_menustr += "|" + "Text=查看明细~tEvent=ue_viewmx" is_mx_menustr += "|" + "Text=-" is_mx_menustr += "|" + "Text=审核报价明细~tEvent=ue_auditmx" is_mx_menustr += "|" + "Text=撤审报价明细~tEvent=ue_cauditmx" END IF CALL Super::Clicked //m_Dfc_Control_PopupMenu dmPopupMenu //String menustr // //IF dw_edit_mode THEN // menustr = "Text=增明细~tEvent=ue_addmx" // menustr = menustr + "|" + "Text=删明细~tEvent=ue_deletemx" // menustr = menustr + "|" + "Text=-" // menustr = menustr + "|" + "Text=批设定公式~tEvent=ue_p_formula_set" // menustr = menustr + "|" + "Text=批由公式计算数量~tEvent=ue_p_cmpl_qty" // menustr = menustr + "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty" //else // //// menustr = menustr + "|" + "Text=-" // menustr = menustr + "|" + "Text=计算成本~tEvent=ue_reccl" // menustr = menustr + "|" + "Text=查看明细~tEvent=ue_viewmx" // menustr = menustr + "|" + "Text=-" // menustr = menustr + "|" + "Text=审核报价明细~tEvent=ue_auditmx" // menustr = menustr + "|" + "Text=撤审报价明细~tEvent=ue_cauditmx" // //END IF // //IF Trim(is_mx_menustr) <> '' THEN // IF dw_edit_mode THEN // menustr = menustr + "|" + "Text=-" // END IF // menustr = menustr + is_mx_menustr //END IF // //IF if_MtrlPicView THEN // IF Trim(menustr) <> "" THEN // menustr = menustr + "|" + "Text=-" // menustr = menustr + "|" + "Text=明细物料图片查看~tEvent=ue_MtrlPicView" // ELSE // menustr = "Text=明细物料图片查看~tEvent=ue_MtrlPicView" // END IF //END IF // //IF Len(Trim(menustr)) <> 0 THEN // dmPopupMenu = CREATE m_Dfc_Control_PopupMenu // dmPopupMenu.mf_BuildMenu(THIS, menustr) // dmPopupMenu.mf_PopMenu() // DESTROY dmPopupMenu //END IF // end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_quote end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_quote end type type cb_help from w_publ_1ton_share_detail`cb_help within w_quote end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_quote end type event cb_auditing_cancel::clicked;call super::clicked; IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row Long ll_quoteid,ll_scid pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("IF","是否确定要对当前报价单作撤消审核吗?",Question!,YesNo! ) = 2 THEN RETURN ll_quoteid = dw_pageretr.Object.u_quote_quoteid[pagerert_row] ll_scid = dw_pageretr.Object.u_quote_scid[pagerert_row] IF dw_pageretr.Object.u_quote_flag[pagerert_row] = 4 THEN IF Not f_power_ind(1392,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF uo_quote_mtrl.cancelaudit(ll_scid,ll_quoteid,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'撤审成功!') wf_refresh_curuc(ll_scid,ll_quoteid) END IF ELSEIF dw_pageretr.Object.u_quote_flag[pagerert_row] = 1 THEN IF sys_option_quote_secaudit = 0 THEN IF Not (f_power_ind(1392,sys_msg_pow) Or f_power_ind(1392,sys_msg_pow)) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF uo_quote_mtrl.cancelsecaudit(ll_scid,ll_quoteid,arg_msg,False) = 0 THEN MessageBox('Error!',arg_msg) RETURN ELSE IF uo_quote_mtrl.cancelaudit(ll_scid,ll_quoteid,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) RETURN ELSE MessageBox(publ_operator,'撤审成功!') wf_refresh_curuc(ll_scid,ll_quoteid) END IF END IF ELSE IF Not f_power_ind(1392,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF uo_quote_mtrl.cancelsecaudit(ll_scid,ll_quoteid,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) RETURN ELSE MessageBox(publ_operator,'撤审成功!') wf_refresh_curuc(ll_scid,ll_quoteid) END IF END IF END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_quote end type type p_help from w_publ_1ton_share_detail`p_help within w_quote end type type p_encl from w_publ_1ton_share_detail`p_encl within w_quote end type type p_other from w_publ_1ton_share_detail`p_other within w_quote end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_quote end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_quote end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_quote end type type r_bar from w_publ_1ton_share_detail`r_bar within w_quote end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_quote end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_quote end type type ddlb_scid from uo_ddlb_scid within w_quote integer x = 878 integer y = 192 integer width = 549 integer height = 468 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_quote integer x = 1563 integer y = 192 integer width = 466 integer height = 468 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 st_2 from statictext within w_quote integer x = 704 integer y = 204 integer width = 165 integer height = 48 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "分部" alignment alignment = right! boolean focusrectangle = false end type type st_3 from statictext within w_quote integer x = 1390 integer y = 204 integer width = 165 integer height = 48 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "状态" alignment alignment = right! boolean focusrectangle = false end type