$PBExportHeader$w_saletask_altermtrl.srw forward global type w_saletask_altermtrl from w_publ_1ton_share_detail end type type ddlb_scid from uo_ddlb_scid within w_saletask_altermtrl end type type ddlb_status from dropdownlistbox within w_saletask_altermtrl end type type st_3 from statictext within w_saletask_altermtrl end type type st_2 from statictext within w_saletask_altermtrl end type type ddlb_weishu from dropdownlistbox within w_saletask_altermtrl end type type st_weishu from statictext within w_saletask_altermtrl end type type cbx_auto_qty from checkbox within w_saletask_altermtrl end type end forward global type w_saletask_altermtrl from w_publ_1ton_share_detail integer width = 4782 string title = "销售订单明细变更单" boolean maxbox = true windowstate windowstate = maximized! event insert_childrow ( ) event ue_view_mxdscrp ( ) event ue_view_mxdscrp2 ( ) event ue_view_status ( long arg_row, string arg_status ) event ue_cmpl_qty ( ) event ue_cmpl_price ( ) event ue_p_cmpl_qty ( ) event ue_p_cmpl_price ( ) event ue_setqty_forformula ( ) event ue_setprice_forformula ( ) ddlb_scid ddlb_scid ddlb_status ddlb_status st_3 st_3 st_2 st_2 ddlb_weishu ddlb_weishu st_weishu st_weishu cbx_auto_qty cbx_auto_qty end type global w_saletask_altermtrl w_saletask_altermtrl type variables uo_saletask_altermtrl uo_altermtrl Long cur_scid Long cur_scid_arr[] Long cur_flag = -1 uo_ljfieb uo_fieb end variables forward prototypes public function integer wf_flagstatus_rf () 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_refresh_curuc (long arg_billid) public subroutine wf_autoaddmx (s_saletaskmx_arr s_mx) public function decimal wf_get_cusprice (integer arg_cusid, integer arg_mtrlid) public function integer wf_check_flag (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 ('new_requiredate') end event event ue_view_mxdscrp();s_view_dscrp s_view,s_return String ls_dscrp dw_child.AcceptText() ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp[dw_child.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_child.Object.u_saletaskmx_mxdscrp[dw_child.GetRow()] = s_return.dscrp END IF end event event ue_view_mxdscrp2();s_view_dscrp s_view,s_return String ls_dscrp dw_child.AcceptText() ls_dscrp = dw_child.Object.u_saletaskmx_mxdscrp2[dw_child.GetRow()] s_view.Title = '销售订单明细备注2' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_dscrp2,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.Object.u_saletaskmx_mxdscrp2[dw_child.GetRow()] = s_return.dscrp END IF end event event ue_view_status(long arg_row, string arg_status);s_view_dscrp s_view,s_return String ls_dscrp long ll_mtrlid,ll_statusflag,ll_woodcodeflag,ll_pcodeflag dw_child.AcceptText() ll_mtrlid = dw_child.object.u_saletask_altermtrl_mx_new_mtrlid[arg_row] SELECT statusflag, woodcodeflag, pcodeflag into :ll_statusflag,:ll_woodcodeflag,:ll_pcodeflag FROM U_MTRLDEF where mtrlid = :ll_mtrlid; IF arg_status = 'new_status' THEN IF ll_statusflag<>5 THEN RETURN ELSEIF arg_status = 'new_woodcode' THEN IF ll_woodcodeflag<>5 THEN RETURN ELSEIF arg_status = 'new_pcode' then IF ll_pcodeflag<>5 THEN RETURN ELSE RETURN END IF ls_dscrp = dw_child.GetItemString(arg_row, arg_status) s_view.Title = '配置内容' s_view.dscrp = ls_dscrp s_view.editmode = dw_edit_mode OpenWithParm(w_view_status,s_view) IF dw_edit_mode THEN s_return = Message.PowerObjectParm dw_child.setitem(arg_row,arg_status,s_return.dscrp) END IF end event event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN Long child_row Long uc_row Long li_cusid,li_mtrlid Decimal ld_cusprice String ls_mtrlsectype,ls_zxmtrlmode dw_child.AcceptText() child_row = dw_child.GetRow() s_cmpl_qty s_cmpl,s_return li_cusid = dw_child.Object.u_saletask_cusid[child_row] li_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[child_row] s_cmpl.qty = dw_child.Object.new_uSaleQty[child_row] s_cmpl.formula = dw_child.Object.new_formula[child_row] s_cmpl.addqty = dw_child.Object.new_addqty[child_row] s_cmpl.price = dw_child.Object.new_enprice[child_row] s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row] s_cmpl.status = dw_child.Object.new_status[child_row] s_cmpl.woodcode = dw_child.Object.new_woodcode[child_row] s_cmpl.pcode = dw_child.Object.new_pcode[child_row] s_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row] Select mtrlsectype,zxmtrlmode into :ls_mtrlsectype,:ls_zxmtrlmode from u_mtrldef where mtrlid = :li_mtrlid; s_cmpl.mtrlsectype = ls_mtrlsectype s_cmpl.zxmtrlmode = ls_zxmtrlmode SELECT price INTO :ld_cusprice FROM u_cust INNER JOIN u_sale_price_mx ON u_sale_price_mx.Pricelistid = u_cust.Pricelistid WHERE u_sale_price_mx.mtrlid = :li_mtrlid AND u_cust.cusid = :li_cusid; IF SQLCA.SQLCODE <> 0 THEN ld_cusprice = 0 END IF s_cmpl.cusprice = ld_cusprice 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.new_uSaleQty[child_row] = s_return.qty dw_child.Object.new_formula[child_row] = s_return.formula END IF END IF end event event ue_cmpl_price();IF dw_child.GetRow() = 0 THEN RETURN Long child_row Long uc_row Long li_cusid,li_mtrlid Decimal ld_cusprice String ls_mtrlsectype,ls_zxmtrlmode dw_child.AcceptText() child_row = dw_child.GetRow() s_cmpl_qty s_cmpl,s_return li_cusid = dw_child.Object.u_saletask_cusid[child_row] li_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[child_row] s_cmpl.qty = dw_child.Object.new_uSaleQty[child_row] s_cmpl.formula = dw_child.Object.new_formula[child_row] s_cmpl.addqty = dw_child.Object.new_addqty[child_row] s_cmpl.price = dw_child.Object.new_enprice[child_row] s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row] s_cmpl.status = dw_child.Object.new_status[child_row] s_cmpl.woodcode = dw_child.Object.new_woodcode[child_row] s_cmpl.pcode = dw_child.Object.new_pcode[child_row] s_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row] Select mtrlsectype,zxmtrlmode into :ls_mtrlsectype,:ls_zxmtrlmode from u_mtrldef where mtrlid = :li_mtrlid; s_cmpl.mtrlsectype = ls_mtrlsectype s_cmpl.zxmtrlmode = ls_zxmtrlmode s_cmpl.cusprice = wf_get_cusprice(li_cusid,li_mtrlid) 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.new_enprice[child_row] = s_return.qty dw_child.Object.new_priceformula[child_row] = s_return.formula END IF END IF end event event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN Long i String ls_formula String ls_msg String ls_rs String ls_num Decimal ld_addqty Decimal ld_price Decimal ld_rebate decimal ld_qty Long li_mtrlid String ls_mtrlsectype,ls_zxmtrlmode 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.new_formula[i] <> '' THEN li_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[i] s_cmpl.formula = dw_child.Object.new_formula[i] s_cmpl.status = dw_child.Object.new_status[i] s_cmpl.woodcode = dw_child.Object.new_woodcode[i] s_cmpl.pcode = dw_child.Object.new_pcode[i] s_cmpl.addqty = dw_child.Object.new_addqty[i] s_cmpl.price = dw_child.Object.new_enprice[i] s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i] Select mtrlsectype,zxmtrlmode into :ls_mtrlsectype,:ls_zxmtrlmode from u_mtrldef where mtrlid = :li_mtrlid; s_cmpl.mtrlsectype = ls_mtrlsectype s_cmpl.zxmtrlmode = ls_zxmtrlmode 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.new_usaleqty[i] = ld_qty END IF NEXT ext: dw_child.SetColumn('new_usaleqty') dw_uc.SetRedraw(TRUE) end event event ue_p_cmpl_price();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 Long li_mtrlid,li_cusid String ls_mtrlsectype,ls_zxmtrlmode 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.new_priceformula[i] <> '' THEN li_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[i] li_cusid = dw_child.Object.u_saletask_cusid[i] s_cmpl.formula = dw_child.Object.new_priceformula[i] s_cmpl.status = dw_child.Object.new_status[i] s_cmpl.woodcode = dw_child.Object.new_woodcode[i] s_cmpl.pcode = dw_child.Object.new_pcode[i] s_cmpl.addqty = dw_child.Object.new_addqty[i] s_cmpl.price = dw_child.Object.new_enprice[i] s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i] Select mtrlsectype,zxmtrlmode into :ls_mtrlsectype,:ls_zxmtrlmode from u_mtrldef where mtrlid = :li_mtrlid; s_cmpl.mtrlsectype = ls_mtrlsectype s_cmpl.zxmtrlmode = ls_zxmtrlmode s_cmpl.cusprice = wf_get_cusprice(li_cusid,li_mtrlid) 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.new_enprice[i] = ld_qty END IF NEXT ext: dw_child.SetColumn('new_enprice') dw_uc.SetRedraw(TRUE) end event event ue_setqty_forformula();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 Long li_mtrlid String ls_mtrlsectype,ls_zxmtrlmode dw_child.AcceptText() s_cmpl_qty s_cmpl s_cmpl.addvalue = 1 s_cmpl.num = long(ddlb_weishu.text) dw_uc.SetRedraw(false) FOR i = 1 TO dw_child.RowCount() ld_qty = 0 IF dw_child.Object.new_formula[i] <> '' THEN li_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[i] s_cmpl.formula = dw_child.Object.new_formula[i] s_cmpl.status = dw_child.Object.new_status[i] s_cmpl.woodcode = dw_child.Object.new_woodcode[i] s_cmpl.pcode = dw_child.Object.new_pcode[i] s_cmpl.addqty = dw_child.Object.new_addqty[i] s_cmpl.price = dw_child.Object.new_enprice[i] s_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[i] Select mtrlsectype,zxmtrlmode into :ls_mtrlsectype,:ls_zxmtrlmode from u_mtrldef where mtrlid = :li_mtrlid; s_cmpl.mtrlsectype = ls_mtrlsectype s_cmpl.zxmtrlmode = ls_zxmtrlmode 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.new_usaleqty[i] = ld_qty END IF NEXT ext: dw_child.SetColumn('new_usaleqty') dw_uc.SetRedraw(TRUE) end event event ue_setprice_forformula();Long child_row String ls_mtrlsectype,ls_zxmtrlmode String ls_msg s_cmpl_qty arg_cmpl decimal ld_qty long mtrlid,cusid dw_child.AcceptText() for child_row = 1 to dw_child.rowcount() if dw_child.Object.new_priceformula[child_row]<>'' then mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[child_row] cusid = dw_child.Object.u_saletask_cusid[child_row] arg_cmpl.addqty = dw_child.Object.new_addqty[child_row] arg_cmpl.price = dw_child.Object.new_enprice[child_row] arg_cmpl.rebate = dw_child.Object.u_saletaskmx_rebate[child_row] arg_cmpl.packqty = dw_child.Object.u_saletaskmx_packqty[child_row] arg_cmpl.woodcode = dw_child.Object.new_woodcode[child_row] arg_cmpl.status = dw_child.Object.new_status[child_row] arg_cmpl.pcode = dw_child.Object.new_pcode[child_row] Select mtrlsectype,zxmtrlmode into :ls_mtrlsectype,:ls_zxmtrlmode from u_mtrldef where mtrlid = :mtrlid; arg_cmpl.mtrlsectype = ls_mtrlsectype arg_cmpl.zxmtrlmode = ls_zxmtrlmode arg_cmpl.formula = dw_child.Object.new_priceformula[child_row] arg_cmpl.num = sys_option_outware_price_amt_round arg_cmpl.flag = true arg_cmpl.addvalue = 1 arg_cmpl.cusprice = wf_get_cusprice(cusid,mtrlid) ld_qty = 0 if f_cmpl_qty(arg_cmpl,ld_qty,ls_msg) = 0 then MessageBox('提示',ls_msg, Information!, OK! ) RETURN END IF dw_child.Object.new_enprice[child_row] = dec(String(ld_qty,'###,####,###0.######')) end if next end event public function integer 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 GOTO ext END IF IF dw_edit_mode THEN cb_auditing.Enabled = FALSE cb_auditing_cancel.Enabled = FALSE ELSE IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN cb_auditing.Enabled = TRUE cb_auditing_cancel.Enabled = FALSE ELSEIF dw_pageretr.Object.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_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.scid[LS_ROW] ////可选设置/// arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码 if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码 boolean xls_locked xls_locked = not (sys_option_xls_lock = 1) /// Excel 的可选设置 if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then return 0 end if for i = 1 to arg_str_billlist.count ////可选操作/// arg_str_billlist.bill[i].ds_data = create datastore // arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow // arg_str_billlist.bill[i].ds_data.settransobject(sqlca) //修改点:注意retrieve 参数与上文对应 arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id) next return 1 end function public function integer wf_refresh_curuc (long arg_billid);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 DateTime billdate String rep String relcode String dscrp Long flag,scid DateTime opdate String opemp DateTime moddate String modemp DateTime auditdate String auditemp String billcode Int pflag String pauditingrep DateTime pauditingdate Select billdate, relcode, rep, dscrp, flag, scid, billcode, opdate, opemp, moddate, modemp, auditdate, auditemp Into :billdate, :relcode, :rep, :dscrp, :flag, :scid, :billcode, :opdate, :opemp, :moddate, :modemp, :auditdate, :auditemp From u_saletask_altermtrl Where billid = :arg_billid; If sqlca.SQLCode <> 0 Then MessageBox('系统提示',"查询操作失败(错误单据唯一码)") Return 0 End If dw_pageretr.SetRedraw(False) dw_pageretr.Object.billid[uc_row] = arg_billid dw_pageretr.Object.billcode[uc_row] = billcode dw_pageretr.Object.rep[uc_row] = rep dw_pageretr.Object.relcode[uc_row] = relcode dw_pageretr.Object.dscrp[uc_row] = dscrp dw_pageretr.Object.flag[uc_row] = flag dw_pageretr.Object.billdate[uc_row] = billdate dw_pageretr.Object.opdate[uc_row] = opdate dw_pageretr.Object.opemp[uc_row] = opemp dw_pageretr.Object.moddate[uc_row] = moddate dw_pageretr.Object.modemp[uc_row] = modemp dw_pageretr.Object.auditdate[uc_row] = auditdate dw_pageretr.Object.auditemp[uc_row] = auditemp dw_pageretr.SetRedraw(True) dw_uc.Reset() dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!) wf_flagstatus_rf() Return 1 end function public subroutine wf_autoaddmx (s_saletaskmx_arr s_mx);Long i,cnt String taskcode Long reltaskid Long relprintid Long mtrlid Datetime taskdate Datetime requiredate String status String woodcode String pcode Decimal uSaleQty Decimal addqty Decimal enprice String formula String priceformula String mxdscrp String mxdscrp2 String mtrlcode,mtrlname,mtrlmode String cuscode,name Decimal packqty,rebate cnt = dw_child.rowcount() FOR i = 1 TO upperbound(s_mx.taskid) SELECT u_saletask.taskcode ,u_saletask.taskdate ,u_saletaskmx.mtrlid ,u_saletaskmx.requiredate ,u_saletaskmx.STATUS ,u_saletaskmx.woodcode ,u_saletaskmx.pcode ,u_saletaskmx.uSaleQty ,u_saletaskmx.addqty ,u_saletaskmx.enprice ,u_saletaskmx.formula ,u_saletaskmx.priceformula ,u_saletaskmx.mxdscrp ,u_saletaskmx.mxdscrp2 ,u_mtrldef.mtrlcode ,u_mtrldef.mtrlname ,u_mtrldef.mtrlmode ,u_cust.cuscode ,u_cust.name ,u_saletaskmx.packqty ,u_saletaskmx.rebate into :taskcode ,:taskdate ,:mtrlid ,:requiredate ,:status ,:woodcode ,:pcode ,:uSaleQty ,:addqty ,:enprice ,:formula ,:priceformula ,:mxdscrp ,:mxdscrp2 ,:mtrlcode ,:mtrlname ,:mtrlmode ,:cuscode ,:name ,:packqty ,:rebate FROM u_saletaskmx INNER JOIN u_saletask ON u_saletask.scid = u_saletaskmx.scid AND u_saletask.taskid = u_saletaskmx.taskid INNER JOIN u_mtrldef on u_mtrldef.mtrlid = u_saletaskmx.mtrlid INNER JOIN u_cust on u_cust.cusid = u_saletask.cusid WHERE u_saletaskmx.scid = :s_mx.scid[i] AND u_saletaskmx.taskid = :s_mx.taskid[i] AND u_saletaskmx.printid = :s_mx.printid[i]; IF SQLCA.SQLCODE <> 0 THEN CONTINUE END IF IF cnt = 0 THEN cnt = dw_child.insertrow(0) ELSE IF dw_child.object.u_saletask_altermtrl_mx_relprintid[cnt] >0 and dw_child.object.u_saletask_altermtrl_mx_editflag[cnt] = 0 then cnt = dw_child.insertrow(0) ELSEIF dw_child.object.u_saletask_altermtrl_mx_reltaskid[cnt] >0 and dw_child.object.u_saletask_altermtrl_mx_editflag[cnt] = 1 then cnt = dw_child.insertrow(0) END IF END IF IF dw_child.object.u_saletask_altermtrl_mx_editflag[cnt] = 0 THEN dw_child.object.u_saletask_altermtrl_mx_taskcode[cnt] = taskcode dw_child.object.u_saletask_altermtrl_mx_reltaskid[cnt] = s_mx.taskid[i] dw_child.object.u_saletask_altermtrl_mx_relprintid[cnt] = s_mx.printid[i] dw_child.object.u_saletask_altermtrl_mx_old_mtrlid[cnt] = mtrlid dw_child.object.u_saletask_altermtrl_mx_new_mtrlid[cnt] = mtrlid dw_child.object.old_requiredate[cnt] = requiredate dw_child.object.new_requiredate[cnt] = requiredate dw_child.object.old_status[cnt] = status dw_child.object.new_status[cnt] = status dw_child.object.old_woodcode[cnt] = woodcode dw_child.object.new_woodcode[cnt] = woodcode dw_child.object.old_pcode[cnt] = pcode dw_child.object.new_pcode[cnt] = pcode dw_child.object.old_uSaleQty[cnt] = uSaleQty dw_child.object.new_uSaleQty[cnt] = uSaleQty dw_child.object.old_addqty[cnt] = addqty dw_child.object.new_addqty[cnt] = addqty dw_child.object.old_enprice[cnt] = enprice dw_child.object.new_enprice[cnt] = enprice dw_child.object.old_formula[cnt] = formula dw_child.object.new_formula[cnt] = formula dw_child.object.old_priceformula[cnt] = priceformula dw_child.object.new_priceformula[cnt] = priceformula dw_child.object.old_mxdscrp[cnt] = mxdscrp dw_child.object.new_mxdscrp[cnt] = mxdscrp dw_child.object.old_mxdscrp2[cnt] = mxdscrp2 dw_child.object.new_mxdscrp2[cnt] = mxdscrp2 dw_child.object.u_mtrldef_old_mtrlcode[cnt] = mtrlcode dw_child.object.u_mtrldef_old_mtrlname[cnt] = mtrlname dw_child.object.u_mtrldef_old_mtrlmode[cnt] = mtrlmode dw_child.object.u_mtrldef_new_mtrlcode[cnt] = mtrlcode dw_child.object.u_mtrldef_new_mtrlname[cnt] = mtrlname dw_child.object.u_mtrldef_new_mtrlmode[cnt] = mtrlmode dw_child.object.u_cust_cuscode[cnt] = cuscode dw_child.object.u_cust_name[cnt] = name dw_child.object.u_saletaskmx_packqty[cnt] = packqty dw_child.object.u_saletaskmx_rebate[cnt] = rebate ELSE dw_child.object.u_saletask_altermtrl_mx_taskcode[cnt] = taskcode dw_child.object.u_saletask_altermtrl_mx_reltaskid[cnt] = s_mx.taskid[i] dw_child.object.u_cust_cuscode[cnt] = cuscode dw_child.object.u_cust_name[cnt] = name END IF NEXT This.TriggerEvent('ue_allowedit') end subroutine public function decimal wf_get_cusprice (integer arg_cusid, integer arg_mtrlid);//// decimal cusprice SELECT u_sale_price_mx.price INTO :cusprice from u_cust left join u_sale_price_mx on u_cust.pricelistid = u_sale_price_mx.pricelistid where mtrlid = :arg_mtrlid and cusid = :arg_cusid ; IF sqlca.SQLCode <> 0 THEN cusprice = 0 END IF return cusprice end function public function integer wf_check_flag (ref string arg_msg);Int rslt = 1 Long i String ls_msg //u_saletask_altermtrl_mx_editflag dw_child.accepttext() for i = 1 to dw_child.rowcount() IF dw_child.object.u_saletask_altermtrl_mx_editflag[i] = 0 and dw_child.Object.u_saletask_altermtrl_mx_reltaskid[i] > 0 and dw_child.Object.u_saletask_altermtrl_mx_relprintid[i] = 0 then ls_msg +="第"+String(i)+"行,变更类型必须选择明细,请重新选择"+"~r~n" rslt = 0 end if next arg_msg = ls_msg return rslt end function on w_saletask_altermtrl.create int iCurrent call super::create this.ddlb_scid=create ddlb_scid this.ddlb_status=create ddlb_status this.st_3=create st_3 this.st_2=create st_2 this.ddlb_weishu=create ddlb_weishu this.st_weishu=create st_weishu this.cbx_auto_qty=create cbx_auto_qty iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_scid this.Control[iCurrent+2]=this.ddlb_status this.Control[iCurrent+3]=this.st_3 this.Control[iCurrent+4]=this.st_2 this.Control[iCurrent+5]=this.ddlb_weishu this.Control[iCurrent+6]=this.st_weishu this.Control[iCurrent+7]=this.cbx_auto_qty end on on w_saletask_altermtrl.destroy call super::destroy destroy(this.ddlb_scid) destroy(this.ddlb_status) destroy(this.st_3) destroy(this.st_2) destroy(this.ddlb_weishu) destroy(this.st_weishu) destroy(this.cbx_auto_qty) end on event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled Boolean cb_func_enabled,cb_retrieve_enabled cb_nextpage_enabled = cb_nextpage.Enabled cb_retrieveall_enabled = cb_retrieveall.Enabled cb_func_enabled = cb_func.Enabled cb_nextpage.Enabled = False cb_retrieveall.Enabled = False cb_func.Enabled = False dw_uc.Retrieve() dw_pageretr.Retrieve(cur_scid_arr,cur_flag) IF dw_pageretr.RowCount() > 0 THEN dw_pageretr.SetRow(1) dw_pageretr.TriggerEvent(RowFocusChanged!) END IF f_title_change(dw_uc) wf_flagstatus_rf() This.TriggerEvent('retrieve_childdw') cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_func.Enabled = cb_func_enabled end event event ue_usual_query_filt;call super::ue_usual_query_filt;string 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="(billcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(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_retr;call super::ue_usual_query_retr;string ls_querystrpart='' ls_newselect=lower(ori_oldselect) if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then ls_querystrpart="(u_saletask_altermtrl.billcode like '%"+trim(sle_usual_query.text)+"%')" else ls_querystrpart="(u_saletask_altermtrl.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 open;call super::open;uc_column_int = 5 //uc dw前7列可以编辑 child_column_int = 13 //子dw前8列可以编辑 uo_altermtrl = CREATE uo_saletask_altermtrl uo_fieb = create uo_ljfieb uo_fieb.commit_transaction = sys_email_sqlca IF s_tran.d_long = 1 THEN cur_scid = s_tran.c_long Int li_item li_item = ddlb_scid.FindItem(s_tran.d_string,0) IF li_item > 0 THEN ddlb_scid.SelectItem(li_item) END IF String arg_msg cb_add.TriggerEvent(Clicked!) s_saletaskmx_arr s_arr s_arr.scid = s_tran.arr_long s_arr.taskid = s_tran.arr_long2 s_arr.printid = s_tran.arr_long3 wf_autoaddmx(s_arr) END IF end event event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = NOT dw_edit_mode ddlb_scid.Enabled = NOT dw_edit_mode end event event close;call super::close;destroy uo_altermtrl 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,ll_moneyid String ls_cusmtrlcode,ls_cusmtrlname, ls_cusmtrlmode Decimal ld_tax child_row = dw_child.GetRow() IF Not IsValid(W_mtrldef_edit) 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 = false //多选 s_tranf8.b_long = -2 //选产品 --20190401 暂时更改为记录上次选择 IF cur_scid < 0 THEN s_tranf8.c_long = dw_uc.Object.scid[dw_uc.GetRow()] ELSE s_tranf8.c_long = cur_scid END IF Long ls_j 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 //正常返回值则可以取以下值 dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[child_row] = s_inscust.mtrlid[ls_j] dw_child.Object.u_mtrldef_new_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j] dw_child.Object.u_mtrldef_new_mtrlname[child_row] = s_inscust.mtrlname[ls_j] dw_child.Object.u_mtrldef_new_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j] END IF NEXT This.TriggerEvent('ue_allowedit') END IF dw_child.SetFocus() end event event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,uc_scid row = dw_pageretr.GetRow() IF row > 0 THEN uc_relid = dw_pageretr.Object.billid[row] dw_child.SetRedraw (FALSE) dw_child.Retrieve(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 ue_viewprint;call super::ue_viewprint;return IF NOT f_power_ind(1026) 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.flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE // IF NOT f_power_ind(1026) THEN // MessageBox('提示','你没有使用权限!',information!,OK!) // RETURN // END IF LS_PRMSG.obj_dwNAME = 'dw_rp_reissue_print' 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.scid[LS_ROW] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.reissueid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() OpenWithParm(w_publ_preview,LS_PRMSG) //更新打印次数 String arg_msg printnum = Message.DoubleParm f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event ue_print;call super::ue_print;return //--直接打印 IF NOT f_power_ind(1026) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF uo_print_preview uo_print IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN S_print_MSG LS_PRMSG Long LS_ROW LS_ROW = dw_pageretr.GetRow() IF LS_ROW <= 0 THEN MessageBox('提示','没有打印目标单据!',information!,OK!) RETURN END IF IF ls_newname <> '' THEN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF LS_PRMSG.obj_dwNAME = ls_newname ELSE IF NOT f_power_ind(1026) THEN MessageBox('提示','你没有使用权限!',information!,OK!) RETURN END IF LS_PRMSG.obj_dwNAME = 'dw_rp_reissue_print' 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.scid[LS_ROW] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.reissueid[LS_ROW] LS_PRMSG.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("错误",arg_msg,stopsign!,OK!) RETURN END IF uo_print.ds_print() //更新打印次数 printnum = 1 Long ll_scid String ls_code ll_scid = dw_pageretr.Object.scid[dw_pageretr.GetRow()] ls_code = dw_pageretr.Object.reissuecode[dw_pageretr.GetRow()] //**更新打印次料 printnum = Message.DoubleParm f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event ue_addzy;call super::ue_addzy;If Not f_power_ind(2058,sys_msg_pow) Then MessageBox(publ_operator,sys_msg_pow) 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_altermtrl.add_dscrp(dw_pageretr.Object.billid[uc_row],LS_STR,arg_msg,true) = 0 THEN MessageBox('Error!',arg_msg) RETURN ELSE MessageBox(publ_operator,'添加备注操作成功!') wf_refresh_curuc(dw_pageretr.Object.billid[uc_row]) END IF end event event ue_rpt_print;call super::ue_rpt_print;return Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN uo_rpt_print_preview uo_print S_rpt_print_MSG LS_PRMSG IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN END IF IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[row] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN LS_PRMSG.retr_pram_falg = 15 LS_PRMSG.TAG_TEXT = THIS.Title LS_PRMSG.rpname = ls_rpname LS_PRMSG.FILTER_STRING = '' LS_PRMSG.PAGECH_FLAG = 0 LS_PRMSG.rpid = ls_msgprintid_rpt LS_PRMSG.retr_scid = dw_pageretr.Object.scid[row] LS_PRMSG.retr_pramnmb = dw_pageretr.Object.reissueid[row] LS_PRMSG.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("错误",arg_msg,stopsign!,OK!) RETURN END IF uo_print.ds_print() //**更新打印次料 printnum = Message.DoubleParm String ls_code ll_scid = dw_pageretr.Object.scid[row] ls_code = dw_pageretr.Object.reissuecode[row] //**更新打印次料 printnum = Message.DoubleParm f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) end event event ue_rpt_viewprint;call super::ue_rpt_viewprint;return Long row,uc_relid,ll_scid row = dw_pageretr.GetRow() IF row = 0 THEN RETURN IF ls_rpname = '' THEN RETURN IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[row] = 0 THEN MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!) RETURN END IF END IF s_rpt_print_msg s_print s_print.retr_pram_falg = 15 s_print.rpid = ls_msgprintid_rpt s_print.retr_flag = TRUE s_print.tag_text = THIS.Title s_print.rpname = ls_rpname s_print.retr_scid = dw_pageretr.Object.scid[row] s_print.retr_pramnmb = dw_pageretr.Object.reissueid[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.scid[row] ls_code = dw_pageretr.Object.reissuecode[row] //**更新打印次料 printnum = Message.DoubleParm f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE) 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.reissuecode[ll_row] openwithparm(w_ljfieb_buytask_hisview,ls_taskcode) end event event ue_f7;call super::ue_f7;//引入销售订单 IF Not dw_edit_mode THEN RETURN Long ll_storageid Long ll_scid Long ll_taskid String ls_taskcode long ll_cusid dw_uc.AcceptText() s_saletask_find s_find IF dw_uc.object.billid[dw_uc.getrow()] > 0 THEN s_find.scid = dw_uc.object.scid[dw_uc.getrow()] ELSE s_find.scid = cur_scid END IF IF Not IsValid(w_saletask_altermtrl_ch) THEN s_saletaskmx_arr s_arr OpenWithParm(w_saletask_altermtrl_ch,s_find) s_arr = Message.PowerObjectParm IF upperbound(s_arr.taskid) > 0 then wf_autoaddmx(s_arr) end if END IF end event event ue_allowedit;Long Columns Int i String ls_modify_str Long ll_row Long ll_value Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag String ls_status,ls_woodcode,ls_pcode String ls_data_type ll_row = dw_child.GetRow() IF ll_row <= 0 THEN RETURN Columns = Long(dw_child.Describe("DataWindow.Column.Count")) FOR i = 1 To Columns ls_modify_str = dw_child.Describe("#" + String(i) + ".name") ls_modify_str = Lower(ls_modify_str) IF i = 1 THEN //第1个字段,约定物料ID ls_data_type = dw_child.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_value = dw_child.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'statusflag') > 0 THEN ls_data_type = dw_child.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_statusflag = dw_child.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN ls_data_type = dw_child.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_woodcodeflag = dw_child.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'pcodeflag') > 0 THEN ls_data_type = dw_child.Describe(ls_modify_str+".ColType") IF ls_data_type = "long" THEN ll_pcodeflag = dw_child.GetItemNumber(ll_row,ls_modify_str) END IF END IF IF Pos(ls_modify_str,'new_status') > 0 And Pos(ls_modify_str,'statusflag') = 0 And Pos(ls_modify_str,'statustype') = 0 THEN IF Len(ls_modify_str) = Len('status') Or Pos(ls_modify_str,'new_status') > 0 THEN IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 Or & Pos(ls_modify_str,'u_buytask_status') > 0 Or & Pos(ls_modify_str,'u_order_ml_status') > 0 Or & Pos(ls_modify_str,'u_order_wfjg_status') > 0 Or & Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN ls_status = ls_modify_str END IF END IF END IF IF Pos(ls_modify_str,'new_woodcode') > 0 And Pos(ls_modify_str,'woodcodeflag') = 0 And Pos(ls_modify_str,'woodcodetype') = 0 THEN IF Len(ls_modify_str) = Len('woodcode') Or Pos(ls_modify_str,'new_woodcode') > 0 THEN ls_woodcode = ls_modify_str END IF END IF IF Pos(ls_modify_str,'new_pcode') > 0 And Pos(ls_modify_str,'pcodeflag') = 0 And Pos(ls_modify_str,'pcodetype') = 0 THEN IF Len(ls_modify_str) = Len('pcode') Or Pos(ls_modify_str,'new_pcode') > 0 THEN ls_pcode = ls_modify_str END IF END IF NEXT IF ls_status <> '' THEN IF ll_statusflag = 5 THEN //只有5-仅填写时,才能用向下键切换到下一行, 使用ddlb时向下键是被屏蔽的 dw_child.Modify(ls_status+".edit.case='any'") dw_child.Modify(ls_status+".edit.AutoSelect='Yes'") ELSE dw_child.Modify(ls_status+".ddlb.case='any'") IF ll_statusflag <> 0 Or ll_value = 0 THEN dw_child.Modify(ls_status+".dddw.allowedit = no") ELSE dw_child.Modify(ls_status+".dddw.allowedit = yes") END IF END IF END IF IF ls_woodcode <> '' THEN IF ll_woodcodeflag = 5 THEN dw_child.Modify(ls_woodcode+".edit.case='any'") dw_child.Modify(ls_woodcode+".edit.AutoSelect='Yes'") ELSE dw_child.Modify(ls_woodcode+".ddlb.case='any'") IF ll_woodcodeflag <> 0 Or ll_value = 0 THEN dw_child.Modify(ls_woodcode+".dddw.allowedit = no") ELSE dw_child.Modify(ls_woodcode+".dddw.allowedit = yes") END IF END IF END IF IF ls_pcode <> '' THEN IF ll_pcodeflag = 5 THEN dw_child.Modify(ls_pcode+".edit.case='any'") dw_child.Modify(ls_pcode+".edit.AutoSelect='Yes'") ELSE dw_child.Modify(ls_pcode+".ddlb.case='any'") IF ll_pcodeflag <> 0 Or ll_value = 0 THEN dw_child.Modify(ls_pcode+".dddw.allowedit = no") ELSE dw_child.Modify(ls_pcode+".dddw.allowedit = yes") END IF END IF END IF end event type cb_func from w_publ_1ton_share_detail`cb_func within w_saletask_altermtrl end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_saletask_altermtrl integer x = 2363 integer width = 146 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_saletask_altermtrl integer x = 192 integer width = 549 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_saletask_altermtrl integer x = 2811 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_saletask_altermtrl integer x = 2510 end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_saletask_altermtrl integer x = 1710 integer width = 1829 integer height = 724 string dataobject = "dw_saletask_altermtrl_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_saletask_altermtrl integer x = 18 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_saletask_altermtrl integer x = 2962 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_saletask_altermtrl integer width = 1710 integer height = 724 string dataobject = "dw_saletask_altermtrl_edit" end type event dw_uc::dwnkey;PARENT.TriggerEvent('user_key') IF Key = KeyDownArrow! THEN RETURN 1 IF dw_edit_mode THEN IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = KeyEnter! THEN dw_child.SetFocus() dw_child.ScrollToRow(1) dw_child.SetColumn ('u_expenses_expensescode') 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.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.setfocus() dw_uc.SetRedraw(TRUE) dw_uc.SetColumn("moneyid") RETURN 1 END IF ELSEIF dw_uc.GetColumnName ( ) = 'u_itemdef_itemcode' AND Key = KeyEnter! THEN String ls_itemcode,ls_itemname Long ls_itemid dw_uc.AcceptText() ls_itemcode = Upper(Trim(dw_uc.Object.u_itemdef_itemcode[dw_uc.GetRow()])) SELECT u_itemdef.itemid, u_itemdef.itemname INTO :ls_itemid, :ls_itemname FROM u_itemdef Where ( u_itemdef.itemcode = :ls_itemcode ); IF sqlca.SQLCode <> 0 THEN PARENT.TriggerEvent('ue_f7') RETURN 1 ELSE dw_uc.SetRedraw(FALSE) dw_uc.Object.u_reissue_itemid[dw_uc.GetRow()] = ls_itemid dw_uc.Object.u_itemdef_itemname[dw_uc.GetRow()] = ls_itemname dw_uc.SetRedraw(TRUE) dw_uc.SetColumn("dscrp") 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 NOT dw_edit_mode THEN RETURN IF row <= 0 THEN RETURN IF dwo.Name = 'b_cust' THEN PARENT.TriggerEvent('ue_f9') END IF end event event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN IF dwo.Name = 'u_itemdef_itemcode' OR dwo.Name = 'u_itemdef_itemname' THEN PARENT.TriggerEvent('ue_f7') ELSE PARENT.TriggerEvent('ue_f9') END IF END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_saletask_altermtrl integer x = 585 integer y = 456 integer width = 293 integer height = 156 end type type dw_child from w_publ_1ton_share_detail`dw_child within w_saletask_altermtrl integer y = 1012 integer width = 3543 integer height = 860 string dataobject = "dw_saletask_altermtrl_mx_edit" end type event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') String ls_mtrlcode,ls_mtrlname Long ls_mtrlid Long child_row IF dw_edit_mode THEN IF KeyDown(Keydownarrow!) THEN Long li_row IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") END IF ELSE If (KeyDown(KeyEnter!) OR KeyDown(KeyTab!)) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN IF dw_child.GetColumnName( ) = 'new_mxdscrp2' 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 NOT dw_edit_mode THEN RETURN IF dwo.Name = 'new_mxdscrp' THEN PARENT.TriggerEvent('ue_view_mxdscrp') RETURN ELSEIF dwo.Name = 'new_mxdscrp2' THEN PARENT.TriggerEvent('ue_view_mxdscrp2') RETURN ELSEIF dwo.Name = 'new_formula' THEN PARENT.TriggerEvent('ue_cmpl_qty') ELSEIF dwo.Name = 'new_priceformula' THEN PARENT.TriggerEvent('ue_cmpl_price') ELSEIF dwo.Name = 'u_mtrldef_new_mtrlcode' or dwo.Name = 'u_mtrldef_new_mtrlname' THEN PARENT.TriggerEvent('ue_f8') ELSEIF dwo.name = 'new_status' or dwo.name = 'new_woodcode' or dwo.name = 'new_pcode' then string name name =dwo.name PARENT.trigger event ue_view_status(row,dwo.name) ELSE Parent.TriggerEvent('ue_f7') //选订单 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 = "u_saletask_altermtrl_mx_new_mtrlid" 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 event dw_child::itemchanged;call super::itemchanged;this.accepttext() Datetime Nulldt SetNull(Nulldt) IF dwo.name = 'u_saletask_altermtrl_mx_editflag' and row > 0 THEN IF this.object.u_saletask_altermtrl_mx_editflag[row] = 1 THEN dw_child.object.u_saletask_altermtrl_mx_relprintid[row] = 0 dw_child.object.u_saletask_altermtrl_mx_old_mtrlid[row] = 0 dw_child.object.old_requiredate[row] = Nulldt dw_child.object.old_status[row] = '' dw_child.object.old_woodcode[row] = '' dw_child.object.old_pcode[row] = '' dw_child.object.old_uSaleQty[row] = 0 dw_child.object.old_addqty[row] = 0 dw_child.object.old_enprice[row] = 0 dw_child.object.old_formula[row] = '' dw_child.object.old_priceformula[row] = '' dw_child.object.old_mxdscrp[row] = '' dw_child.object.old_mxdscrp2[row] = '' dw_child.object.u_saletaskmx_packqty[row] = 0 dw_child.object.u_saletaskmx_rebate[row] = 0 dw_child.object.u_mtrldef_old_mtrlcode[row] = '' dw_child.object.u_mtrldef_old_mtrlname[row] = '' dw_child.object.u_mtrldef_old_mtrlmode[row] = '' END IF END IF end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_saletask_altermtrl integer x = 1719 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_saletask_altermtrl integer x = 1527 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_saletask_altermtrl end type event cb_add::clicked;If Not f_power_ind(2055,sys_msg_pow) Then MessageBox(publ_operator,sys_msg_pow) Return End If String arg_msg = '' Long uc_row,i,count = 0 String ls_taskcode s_saletask_altermtrl arg_s_alter If dw_edit_mode Then dw_child.SetFilter('') dw_child.Filter() dw_uc.AcceptText() dw_child.AcceptText() uc_row = dw_uc.GetRow() If uc_row <= 0 Then MessageBox('系统提示','请选定当前目标单据!') Return End If If Not dw_uc.Object.billdate[uc_row] > DateTime(2000-01-01,Now()) Then MessageBox('系统提示','不合理发生时间!') dw_uc.SetFocus() dw_uc.SetColumn("billdate") Return End If If dw_uc.Object.rep[uc_row] = '' Then MessageBox('系统提示','请填写经手人!') dw_uc.SetFocus() dw_uc.SetColumn("rep") Return End If IF cur_scid < 0 THEN arg_s_alter.scid = dw_uc.Object.scid[uc_row] ELSE arg_s_alter.scid = cur_scid END IF arg_s_alter.billid = dw_uc.Object.billid[uc_row] arg_s_alter.billdate = dw_uc.Object.billdate[uc_row] arg_s_alter.rep = dw_uc.Object.rep[uc_row] arg_s_alter.dscrp = dw_uc.Object.dscrp[uc_row] arg_s_alter.relcode = dw_uc.Object.relcode[uc_row] IF cbx_auto_qty.checked = true THEN Parent.TriggerEvent('ue_setprice_forformula') Parent.TriggerEvent('ue_setqty_forformula') END IF IF wf_check_flag(arg_msg) = 0 THEN messagebox("提示",arg_msg) return END IF For i = 1 To dw_child.RowCount() If dw_child.Object.u_saletask_altermtrl_mx_reltaskid[i] > 0 Then If dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[i] = 0 Then MessageBox('系统提示','请选择新产品,第'+String(i)+'行') Return End If IF dw_child.Object.u_saletask_altermtrl_mx_editflag[i] = 1 THEN IF dw_child.Object.new_uSaleQty[i] = 0 THEN MessageBox('系统提示','请填写数量,第'+String(i)+'行') Return END IF IF dw_child.Object.new_enprice[i] = 0 THEN MessageBox('系统提示','请填写单价,第'+String(i)+'行') Return END IF END IF count++ arg_s_alter.arg_s_mx[count].printid = count arg_s_alter.arg_s_mx[count].editflag = dw_child.Object.u_saletask_altermtrl_mx_editflag[i] arg_s_alter.arg_s_mx[count].taskcode = dw_child.Object.u_saletask_altermtrl_mx_taskcode[i] arg_s_alter.arg_s_mx[count].reltaskid = dw_child.Object.u_saletask_altermtrl_mx_reltaskid[i] arg_s_alter.arg_s_mx[count].relprintid = dw_child.Object.u_saletask_altermtrl_mx_relprintid[i] arg_s_alter.arg_s_mx[count].old_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_old_mtrlid[i] arg_s_alter.arg_s_mx[count].new_mtrlid = dw_child.Object.u_saletask_altermtrl_mx_new_mtrlid[i] arg_s_alter.arg_s_mx[count].old_requiredate = dw_child.Object.old_requiredate[i] arg_s_alter.arg_s_mx[count].new_requiredate = dw_child.Object.new_requiredate[i] arg_s_alter.arg_s_mx[count].old_status = dw_child.Object.old_status[i] arg_s_alter.arg_s_mx[count].new_status = dw_child.Object.new_status[i] arg_s_alter.arg_s_mx[count].old_woodcode = dw_child.Object.old_woodcode[i] arg_s_alter.arg_s_mx[count].new_woodcode = dw_child.Object.new_woodcode[i] arg_s_alter.arg_s_mx[count].old_pcode = dw_child.Object.old_pcode[i] arg_s_alter.arg_s_mx[count].new_pcode = dw_child.Object.new_pcode[i] arg_s_alter.arg_s_mx[count].old_uSaleQty = dw_child.Object.old_uSaleQty[i] arg_s_alter.arg_s_mx[count].new_uSaleQty = dw_child.Object.new_uSaleQty[i] arg_s_alter.arg_s_mx[count].old_addqty = dw_child.Object.old_addqty[i] arg_s_alter.arg_s_mx[count].new_addqty = dw_child.Object.new_addqty[i] arg_s_alter.arg_s_mx[count].old_enprice = dw_child.Object.old_enprice[i] arg_s_alter.arg_s_mx[count].new_enprice = dw_child.Object.new_enprice[i] arg_s_alter.arg_s_mx[count].old_formula = dw_child.Object.old_formula[i] arg_s_alter.arg_s_mx[count].new_formula = dw_child.Object.new_formula[i] arg_s_alter.arg_s_mx[count].old_priceformula = dw_child.Object.old_priceformula[i] arg_s_alter.arg_s_mx[count].new_priceformula = dw_child.Object.new_priceformula[i] arg_s_alter.arg_s_mx[count].old_mxdscrp = dw_child.Object.old_mxdscrp[i] arg_s_alter.arg_s_mx[count].new_mxdscrp = dw_child.Object.new_mxdscrp[i] arg_s_alter.arg_s_mx[count].old_mxdscrp2 = dw_child.Object.old_mxdscrp2[i] arg_s_alter.arg_s_mx[count].new_mxdscrp2 = dw_child.Object.new_mxdscrp2[i] End If Next If uo_altermtrl.Save(arg_s_alter,True,arg_msg) = 0 Then MessageBox('error!',arg_msg) Return End If MessageBox(publ_operator,'保存操作成功!') Long ll_row ll_row = dw_pageretr.GetRow() dw_pageretr.SelectRow(0,False) dw_pageretr.SelectRow(ll_row,True) wf_refresh_curuc(uo_altermtrl.uo_billid) //刷新uc Else If cur_scid < 0 Then MessageBox(publ_operator,'请选择分部') Return End If End If Call Super::Clicked If dw_edit_mode Then Parent.TriggerEvent("insert_childrow") dw_uc.SetRedraw(False) dw_uc.Object.scid[dw_uc.GetRow()] = cur_scid dw_uc.SetRedraw(True) Else Parent.TriggerEvent("retrieve_childdw") End If This.TriggerEvent('refresh_interface') end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_saletask_altermtrl end type event cb_edit::clicked;If Not f_power_ind(2055,sys_msg_pow) Then MessageBox(publ_operator,sys_msg_pow) Return End If String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF NOT dw_edit_mode THEN IF uo_altermtrl.updatebegin(dw_pageretr.Object.billid[uc_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF wf_refresh_curuc(dw_pageretr.Object.billid[uc_row]) //刷新uc PARENT.TriggerEvent("retrieve_childdw") END IF CALL SUPER::Clicked dw_child.SetFilter('') dw_child.Filter() end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_saletask_altermtrl integer width = 146 end type event cb_delet::clicked;call super::clicked;If Not f_power_ind(2056,sys_msg_pow) Then MessageBox(publ_operator,sys_msg_pow) 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_altermtrl.del(dw_pageretr.Object.billid[uc_row],arg_msg,TRUE) = 0 THEN MessageBox('Error!',arg_msg) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.billid[uc_row] ls_code = dw_pageretr.Object.billcode[uc_row] f_setsysoplog('销售订单明细变更单','销售订单明细变更单删除,ID:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.billcode[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_saletask_altermtrl integer x = 1024 end type event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu string menustr menustr="Text=增加备注~tEvent=ue_addzy" 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_saletask_altermtrl integer x = 832 end type event cb_auditing::clicked;call super::clicked;If Not f_power_ind(2057,sys_msg_pow) Then MessageBox(publ_operator,sys_msg_pow) Return End If IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row Long ll_billid String ls_taskcode pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("询问","是否确定要审核当前单据吗(审核后单据将归档只读)?",Question!,YesNo! ) = 2 THEN RETURN ll_billid = dw_pageretr.Object.billid[pagerert_row] ls_taskcode = dw_pageretr.Object.billcode[pagerert_row] IF uo_altermtrl.auditing(ll_billid,TRUE,arg_msg) = 0 THEN MessageBox('Error!',arg_msg) ELSE MessageBox(publ_operator,'审核成功!') wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row]) END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_saletask_altermtrl integer x = 1275 end type event cb_xm::clicked;is_mx_menustr = '' IF dw_edit_mode THEN is_mx_menustr += "|" + "Text=批按数量公式计算数量~tEvent=ue_p_cmpl_qty" is_mx_menustr += "|" + "Text=批按单价公式计算单价~tEvent=ue_p_cmpl_price" END IF CALL Super::Clicked end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_saletask_altermtrl end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_saletask_altermtrl integer x = 1911 end type type cb_help from w_publ_1ton_share_detail`cb_help within w_saletask_altermtrl integer x = 2213 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_saletask_altermtrl boolean visible = false integer x = 1024 boolean enabled = false end type event cb_auditing_cancel::clicked;call super::clicked;IF dw_edit_mode THEN MessageBox(publ_operator,'编辑状态下不可用') RETURN END IF If Not f_power_ind(5632,sys_msg_pow) Then MessageBox(publ_operator,sys_msg_pow) Return End If String arg_msg = '' Long pagerert_row Long ll_scid,ll_billid pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("IF","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN ll_billid = dw_pageretr.Object.billid[pagerert_row] //IF uo_altermtrl.c_auditing(ll_billid,TRUE,arg_msg) = 0 THEN // MessageBox('Error!',arg_msg) //ELSE // MessageBox(publ_operator,'撤审成功!') // wf_refresh_curuc(ll_billid) //END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_saletask_altermtrl end type type p_help from w_publ_1ton_share_detail`p_help within w_saletask_altermtrl end type type p_encl from w_publ_1ton_share_detail`p_encl within w_saletask_altermtrl end type type p_other from w_publ_1ton_share_detail`p_other within w_saletask_altermtrl end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_saletask_altermtrl end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_saletask_altermtrl end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_saletask_altermtrl end type type r_bar from w_publ_1ton_share_detail`r_bar within w_saletask_altermtrl integer x = 3200 end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_saletask_altermtrl end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_saletask_altermtrl end type type ddlb_scid from uo_ddlb_scid within w_saletask_altermtrl integer x = 896 integer y = 188 integer width = 549 integer height = 468 integer taborder = 20 boolean bringtotop = true end type event constructor;call super::constructor;cur_scid=this.uo_scid cur_scid_arr = THIS.uo_scid_arr end event event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid cur_scid_arr = THIS.uo_scid_arr parent.triggerevent("retrieve_pageretr") end event type ddlb_status from dropdownlistbox within w_saletask_altermtrl integer x = 1586 integer y = 188 integer width = 384 integer height = 552 integer taborder = 30 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "[全部]" boolean sorted = false string item[] = {"[全部]","待审核","审核完毕"} borderstyle borderstyle = stylelowered! end type event selectionchanged;if index=1 then cur_flag= -1 elseif index=2 then cur_flag= 0 elseif index=3 then cur_flag= 1 end if parent.triggerevent('retrieve_pageretr') end event type st_3 from statictext within w_saletask_altermtrl integer x = 1413 integer y = 204 integer width = 160 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_2 from statictext within w_saletask_altermtrl integer x = 722 integer y = 204 integer width = 160 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 ddlb_weishu from dropdownlistbox within w_saletask_altermtrl integer x = 4005 integer y = 80 integer width = 251 integer height = 568 integer taborder = 110 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "2" string item[] = {"0","1","2","3","4","5"} borderstyle borderstyle = stylelowered! end type event constructor;dec li_autobj li_autobj = dec(f_ProfileString (sys_empid,dw_uc.DataObject, "weishu", '2')) IF li_autobj > 0 THEN This.Text = String(li_autobj) ELSE This.Text = String('2') END IF end event event destructor;f_SetProfileString (sys_empid,dw_uc.DataObject, "weishu", String(this.text)) end event type st_weishu from statictext within w_saletask_altermtrl integer x = 3323 integer y = 88 integer width = 672 integer height = 68 boolean bringtotop = true 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 event constructor;this.backcolor = 14215660 end event type cbx_auto_qty from checkbox within w_saletask_altermtrl integer x = 3328 integer width = 1015 integer height = 80 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "自动按数量和单价公式计算数量和单价" end type event clicked;this.backcolor = 14215660 long ll_auto_qty IF THIS.Checked THEN ll_auto_qty = 1 // this.weight = 700 this.textcolor = 255 ddlb_weishu.visible=true st_weishu.visible=true ELSE ll_auto_qty= 0 // this.weight = 400 this.textcolor = 0 ddlb_weishu.visible=false st_weishu.visible=false END IF f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "auto_qty",String(ll_auto_qty)) end event event constructor;this.backcolor = 14215660 long ll_auto_qty ll_auto_qty = Long(f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "auto_qty",'0')) IF ll_auto_qty = 1 THEN THIS.Checked = TRUE // this.weight = 700 this.textcolor = 255 ddlb_weishu.visible=true st_weishu.visible=true ELSE THIS.Checked = FALSE // this.weight = 400 this.textcolor = 0 ddlb_weishu.visible=false st_weishu.visible=false END IF end event