$PBExportHeader$w_mtrldef_edit_price.srw forward global type w_mtrldef_edit_price from w_publ_easyq end type type cb_save from uo_imflatbutton within w_mtrldef_edit_price end type type dw_his from u_dw_rbtnfilter within w_mtrldef_edit_price end type type cb_other from uo_imflatbutton within w_mtrldef_edit_price end type type tv_1 from uo_tv_mtrltype within w_mtrldef_edit_price end type type cbx_1 from checkbox within w_mtrldef_edit_price end type type cb_edit from uo_imflatbutton within w_mtrldef_edit_price end type end forward global type w_mtrldef_edit_price from w_publ_easyq string title = "产品及物料价格设定" event ue_update_inware_price ( ) event ue_update_wfjg ( ) event ue_cmpl_dftmtrlcost ( ) event ue_cmpl_planprice ( ) event ue_cmpl_dftempcost ( ) event ue_update_inware_price_2 ( ) event ue_lmsalepricetoplanprice ( ) event ue_lmbuypricetoplanprice ( ) event ue_costtoplanprice ( ) event ue_inwarebuyplanprice ( ) event ue_update_outware_price_2 ( ) cb_save cb_save dw_his dw_his cb_other cb_other tv_1 tv_1 cbx_1 cbx_1 cb_edit cb_edit end type global w_mtrldef_edit_price w_mtrldef_edit_price type variables string ls_handtype long cur_isuse = 1 end variables forward prototypes public function integer wf_face () end prototypes event ue_update_inware_price();IF NOT sys_power_issuper THEN MessageBox(publ_operator,'非超级用户,没有使用权限!') RETURN END IF IF MessageBox ("询问","是否确定更新未结存进仓单价?",Question!,YesNo! ) = 2 THEN RETURN END IF String ls_msg Long ll_storageid OPEN(w_mtrldef_edit_price_updatebill) ll_storageid = Message.DoubleParm IF ll_storageid = 0 THEN RETURN //更新进仓单价 UPDATE u_inwaremx SET u_inwaremx.fprice = u_mtrldef.planprice, u_inwaremx.planprice = u_mtrldef.planprice, u_inwaremx.price = u_mtrldef.planprice, u_inwaremx.cost = u_mtrldef.planprice, u_inwaremx.uprice = u_mtrldef.planprice/u_inwaremx.rate FROM u_inware,u_inwaremx,u_mtrldef WHERE ( u_inware.scid = u_inwaremx.scid ) AND ( u_inware.inwareid = u_inwaremx.inwareid ) AND ( u_inware.storageid = :ll_storageid ) AND ( u_mtrldef.mtrlid = u_inwaremx.mtrlid ) AND ( u_mtrldef.mtrlorigin = 0 ) AND ( u_mtrldef.planprice <> 0 ) AND ( u_inware.balcdateint = 0 ) and u_mtrldef.mtrlorigin <> 2 AND ( u_inware.billtype = 3 OR u_inware.billtype = 8 OR u_inware.billtype = 9 OR u_inware.billtype = 12 OR u_inware.billtype = 20 ); IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新进仓单价失败'+ls_msg) RETURN END IF //更新出仓单价 UPDATE u_outwaremx SET u_outwaremx.cost = u_mtrldef.planprice, u_outwaremx.costamt = round(u_mtrldef.planprice * u_outwaremx.qty,2) FROM u_outware,u_outwaremx,u_mtrldef WHERE ( u_outware.scid = u_outwaremx.scid ) AND ( u_outware.outwareid = u_outwaremx.outwareid ) AND ( u_outware.storageid = :ll_storageid ) AND ( u_mtrldef.mtrlid = u_outwaremx.mtrlid ) AND ( u_mtrldef.mtrlorigin = 0 ) AND ( u_mtrldef.planprice <> 0 ) AND ( u_outware.balcdateint = 0 ) and u_mtrldef.mtrlorigin <> 2; IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新出仓单价失败'+ls_msg) RETURN END IF //更新库存表 UPDATE u_mtrlware SET u_mtrlware.wareamt = round(u_mtrlware.noallocqty * u_mtrldef.planprice,2), u_mtrlware.cost = u_mtrldef.planprice FROM u_mtrlware,u_mtrldef WHERE ( u_mtrlware.mtrlid = u_mtrldef.mtrlid ) AND ( u_mtrlware.storageid = :ll_storageid ) AND ( u_mtrldef.mtrlorigin = 0 ) AND ( u_mtrldef.planprice <> 0 ) and u_mtrldef.mtrlorigin <> 2; IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新结存表进仓金额失败,'+ls_msg) RETURN END IF //更新结存表 UPDATE u_warebalc SET u_warebalc.incamt = round(u_warebalc.incqty * u_mtrldef.planprice,2), u_warebalc.bgamt = round(u_warebalc.bgqty * u_mtrldef.planprice,2), u_warebalc.desamt = round(u_warebalc.desqty * u_mtrldef.planprice,2), u_warebalc.balcamt = round(u_warebalc.balcqty * u_mtrldef.planprice,2) FROM u_warebalc,u_mtrldef WHERE u_warebalc.mtrlid = u_mtrldef.mtrlid AND ( u_mtrldef.mtrlorigin = 0 ) AND ( u_mtrldef.planprice <> 0 ) AND ( u_warebalc.storageid = :ll_storageid ) AND ( u_warebalc.balcdateint = 0 ) and u_mtrldef.mtrlorigin <> 2; IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新结存表进仓金额失败,'+ls_msg) RETURN END IF ////更新生产计划领料明细 //UPDATE u_OrderRqMtrl_scll // SET u_OrderRqMtrl_scll.costamt = round(u_mtrldef.planprice * u_OrderRqMtrl_scll.DstrQty,2) // FROM u_OrderRqMtrl_scll,u_mtrldef // WHERE ( u_mtrldef.mtrlid = u_OrderRqMtrl_scll.mtrlid ) // AND ( u_mtrldef.mtrlorigin = 0 ); //IF sqlca.SQLCode <> 0 THEN // ls_msg = sqlca.SQLErrText // ROLLBACK; // MessageBox(publ_operator,'更新生产计划领料成本失败'+ls_msg) // RETURN //END IF //更新生产计划领料明细 UPDATE u_OrderRqMtrl SET u_OrderRqMtrl.costamt = round(u_mtrldef.planprice * u_OrderRqMtrl.DstrQty,2) FROM u_OrderRqMtrl,u_mtrldef WHERE ( u_mtrldef.mtrlid = u_OrderRqMtrl.mtrlid ) and u_mtrldef.mtrlorigin = 0 AND ( u_mtrldef.planprice <> 0 ) ; IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新生产计划领料需求成本失败'+ls_msg) RETURN END IF COMMIT; MessageBox(publ_operator,'操作完成') end event event ue_update_wfjg();IF Not sys_power_issuper THEN MessageBox(publ_operator,'非超级用户,没有使用权限!') RETURN END IF IF MessageBox ("询问","是否确定更新外协商库存、结存金额?",Question!,YesNo! ) = 2 THEN RETURN END IF String ls_msg Long ll_storageid //更新库存表 UPDATE ow_wfjgware SET ow_wfjgware.wareamt = round(ow_wfjgware.noallocqty * u_mtrldef.planprice,2), ow_wfjgware.cost = u_mtrldef.planprice FROM ow_wfjgware,u_mtrldef WHERE ( ow_wfjgware.mtrlid = u_mtrldef.mtrlid ) AND ( u_mtrldef.mtrlorigin = 0 ) And u_mtrldef.mtrlorigin <> 2; IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新外协商库存金额失败,'+ls_msg) RETURN END IF //更新结存表 UPDATE ow_wfjgbalc SET ow_wfjgbalc.bgamt = round(ow_wfjgbalc.bgqty * u_mtrldef.planprice,2), ow_wfjgbalc.inamt = round(ow_wfjgbalc.inqty * u_mtrldef.planprice,2), ow_wfjgbalc.thamt = round(ow_wfjgbalc.thqty * u_mtrldef.planprice,2), ow_wfjgbalc.outamt = round(ow_wfjgbalc.outqty * u_mtrldef.planprice,2), ow_wfjgbalc.reoutamt = round(ow_wfjgbalc.reoutqty * u_mtrldef.planprice,2), ow_wfjgbalc.balcamt = round(ow_wfjgbalc.balcqty * u_mtrldef.planprice,2), ow_wfjgbalc.wasteamt = round(ow_wfjgbalc.wasteqty * u_mtrldef.planprice,2), ow_wfjgbalc.pypkamt = round(ow_wfjgbalc.pypkqty * u_mtrldef.planprice,2) FROM ow_wfjgbalc,u_mtrldef WHERE ow_wfjgbalc.mtrlid = u_mtrldef.mtrlid AND ( u_mtrldef.mtrlorigin = 0 ) AND ( ow_wfjgbalc.balcdateint = 0 ) And u_mtrldef.mtrlorigin <> 2; IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新外协商结存表失败,'+ls_msg) RETURN END IF COMMIT; String arg_msg f_setsysoplog('产品及物料价格设定','更新外协商库存、结存金额',arg_msg,True) MessageBox(publ_operator,'操作完成') end event event ue_cmpl_dftmtrlcost();IF MessageBox ("询问","是否确定按物料清单统计默认物料成本?",Question!,YesNo! ) = 2 THEN RETURN END IF Int rslt = 1 Long i Long ll_mtrlid Dec lde_dftmtrlcost String arg_msg, err_msg uo_mtrldef uo_mtrl uo_mtrl = Create uo_mtrldef uo_mtrl.commit_transaction = sqlca Open(w_sys_wait_jdt) w_sys_wait_jdt.wf_accepttol(dw_1.RowCount()) dw_1.SetRedraw(False) FOR i = 1 To dw_1.RowCount() w_sys_wait_jdt.wf_inc(i) w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......') ll_mtrlid = dw_1.Object.mtrlid[i] lde_dftmtrlcost = 0 IF uo_mtrl.uof_pfdpf_cost(ll_mtrlid, lde_dftmtrlcost, 1, arg_msg) = 0 THEN err_msg = '行:'+String(i)+','+arg_msg+'~r~n' lde_dftmtrlcost = 0 END IF dw_1.Object.dftmtrlcost[i] = lde_dftmtrlcost NEXT dw_1.SetRedraw(True) Close(w_sys_wait_jdt) Destroy uo_mtrl IF rslt = 0 THEN OpenWithParm(w_message_err, err_msg) //messagebox('','计算错误~r~n'+arg_msg) ELSE MessageBox('系统提示','计算成功') END IF end event event ue_cmpl_planprice();IF MessageBox ("询问","是否确定按默认总成本更新计划价?",Question!,YesNo! ) = 2 THEN RETURN END IF Long i Open(w_sys_wait_jdt) w_sys_wait_jdt.wf_accepttol(dw_1.RowCount()) dw_1.SetRedraw(False) FOR i = 1 To dw_1.RowCount() w_sys_wait_jdt.wf_inc(i) w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......') dw_1.Object.planprice[i] = dw_1.Object.tolcost[i] NEXT dw_1.SetRedraw(True) Close(w_sys_wait_jdt) end event event ue_cmpl_dftempcost();IF MessageBox ("询问","是否确定按工价表统计默认人力成本?",Question!,YesNo! ) = 2 THEN RETURN END IF Int rslt = 1 Long i Long ll_mtrlid Dec lde_dftempcost String arg_msg, err_msg uo_mtrldef uo_mtrl uo_mtrl = Create uo_mtrldef uo_mtrl.commit_transaction = sqlca Open(w_sys_wait_jdt) w_sys_wait_jdt.wf_accepttol(dw_1.RowCount()) dw_1.SetRedraw(False) FOR i = 1 To dw_1.RowCount() w_sys_wait_jdt.wf_inc(i) w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......') ll_mtrlid = dw_1.Object.mtrlid[i] lde_dftempcost = 0 IF uo_mtrl.uof_pfdpf_empcost(ll_mtrlid, lde_dftempcost, 1, arg_msg) = 0 THEN err_msg = '行:'+String(i)+','+arg_msg+'~r~n' lde_dftempcost = 0 END IF dw_1.Object.dftempcost[i] = lde_dftempcost NEXT dw_1.SetRedraw(True) Close(w_sys_wait_jdt) Destroy uo_mtrl IF rslt = 0 THEN OpenWithParm(w_message_err, err_msg) ELSE MessageBox('系统提示','计算人力成本成功') END IF end event event ue_update_inware_price_2();IF Not sys_power_issuper THEN MessageBox(publ_operator,'非超级用户,没有使用权限!') RETURN END IF IF MessageBox ("询问","是否确定更新未结存进仓仓成本单价?",Question!,YesNo! ) = 2 THEN RETURN END IF Int rslt = 1 String arg_msg Long ll_storageid Int li_mtrlorigin_0, li_mtrlorigin_3, li_mtrlorigin_2 String ls_update_string String ls_mtrlorigin_string Open(w_mtrldef_edit_price_updatebill_2) s_edit_index_tran s_rslt s_rslt = Message.PowerObjectParm ll_storageid = s_rslt.b_long IF ll_storageid = 0 THEN RETURN li_mtrlorigin_0 = s_rslt.c_long li_mtrlorigin_3 = s_rslt.d_long li_mtrlorigin_2 = s_rslt.e_long ls_mtrlorigin_string = "" IF li_mtrlorigin_0 = 1 THEN ls_mtrlorigin_string += "0," END IF IF li_mtrlorigin_2 = 1 THEN ls_mtrlorigin_string += "2," END IF IF li_mtrlorigin_3 = 1 THEN ls_mtrlorigin_string += "3," END IF IF ls_mtrlorigin_string <> "" THEN ls_mtrlorigin_string = Left(ls_mtrlorigin_string, Len(ls_mtrlorigin_string) - 1) END IF //更新进仓单价 ls_update_string = "" ls_update_string += " UPDATE u_inwaremx " ls_update_string += " SET u_inwaremx.fprice = u_mtrldef.planprice, " ls_update_string += " u_inwaremx.planprice = u_mtrldef.planprice, " ls_update_string += " u_inwaremx.price = u_mtrldef.planprice, " ls_update_string += " u_inwaremx.cost = u_mtrldef.planprice, " ls_update_string += " u_inwaremx.uprice = u_mtrldef.planprice/u_inwaremx.rate " ls_update_string += " FROM u_inware,u_inwaremx,u_mtrldef " ls_update_string += " WHERE ( u_inware.scid = u_inwaremx.scid ) " ls_update_string += " AND ( u_inware.inwareid = u_inwaremx.inwareid ) " ls_update_string += " AND ( u_inware.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) " ls_update_string += " AND ( u_mtrldef.mtrlid = u_inwaremx.mtrlid ) " ls_update_string += " AND ( u_inware.balcdateint = 0 ) " ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) " ls_update_string += " AND (u_mtrldef.mtrlorigin in ( "+ls_mtrlorigin_string+" )) " ls_update_string += " AND ( u_inware.billtype in ( 3,4,8,9,12,15,20)) " EXECUTE Immediate :ls_update_string; IF sqlca.SQLCode <> 0 THEN arg_msg = '更新进仓单价失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF //更新出仓单价 ls_update_string = "" ls_update_string += " UPDATE u_outwaremx " ls_update_string += " SET u_outwaremx.cost = u_mtrldef.planprice, " ls_update_string += " u_outwaremx.costamt = round(u_mtrldef.planprice * u_outwaremx.qty,2) " ls_update_string += " FROM u_outware,u_outwaremx,u_mtrldef " ls_update_string += " WHERE ( u_outware.scid = u_outwaremx.scid ) " ls_update_string += " AND ( u_outware.outwareid = u_outwaremx.outwareid ) " ls_update_string += " AND ( u_mtrldef.mtrlid = u_outwaremx.mtrlid ) " ls_update_string += " AND ( u_outware.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) " ls_update_string += " AND ( u_outware.balcdateint = 0 ) " ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) " ls_update_string += " AND (u_mtrldef.mtrlorigin in ( "+ls_mtrlorigin_string+" )) " EXECUTE Immediate :ls_update_string; IF sqlca.SQLCode <> 0 THEN arg_msg = '更新出仓单价失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF //更新库存表 ls_update_string = "" ls_update_string += " UPDATE u_mtrlware " ls_update_string += " SET u_mtrlware.wareamt = round(u_mtrlware.noallocqty * u_mtrldef.planprice,2), " ls_update_string += " u_mtrlware.cost = u_mtrldef.planprice " ls_update_string += " FROM u_mtrlware,u_mtrldef " ls_update_string += " WHERE ( u_mtrlware.mtrlid = u_mtrldef.mtrlid ) " ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) " ls_update_string += " AND ( u_mtrlware.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) " ls_update_string += " AND (u_mtrldef.mtrlorigin in ( "+ls_mtrlorigin_string+" )) " EXECUTE Immediate :ls_update_string; IF sqlca.SQLCode <> 0 THEN arg_msg = '更新库存表库存金额失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF //更新结存表 ls_update_string = "" ls_update_string += " UPDATE u_warebalc " ls_update_string += " SET u_warebalc.bgamt = round(u_warebalc.bgqty * u_mtrldef.planprice,2), " ls_update_string += " u_warebalc.incamt = round(u_warebalc.incqty * u_mtrldef.planprice,2), " ls_update_string += " u_warebalc.desamt = round(u_warebalc.desqty * u_mtrldef.planprice,2), " ls_update_string += " u_warebalc.balcamt = round(u_warebalc.balcqty * u_mtrldef.planprice,2) " ls_update_string += " FROM u_warebalc,u_mtrldef " ls_update_string += " WHERE u_warebalc.mtrlid = u_mtrldef.mtrlid " ls_update_string += " AND ( u_warebalc.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) " ls_update_string += " AND ( u_warebalc.balcdateint = 0 ) " ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) " ls_update_string += " AND (u_mtrldef.mtrlorigin in ( "+ls_mtrlorigin_string+" )) " EXECUTE Immediate :ls_update_string; IF sqlca.SQLCode <> 0 THEN arg_msg = '更新结存金额失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF //更新生产计划领料明细 ls_update_string = "" ls_update_string += " UPDATE u_OrderRqMtrl " ls_update_string += " SET u_OrderRqMtrl.costamt = round(u_mtrldef.planprice * u_OrderRqMtrl.DstrQty,2) " ls_update_string += " FROM u_OrderRqMtrl,u_mtrldef " ls_update_string += " WHERE ( u_mtrldef.mtrlid = u_OrderRqMtrl.mtrlid ) " ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) " ls_update_string += " AND (u_mtrldef.mtrlorigin in ( "+ls_mtrlorigin_string+" )) " EXECUTE Immediate :ls_update_string; IF sqlca.SQLCode <> 0 THEN arg_msg = '更新生产计划领料需求成本失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF //外协单据 ls_update_string = "" ext: IF rslt = 1 THEN COMMIT; MessageBox(publ_operator,'操作完成') ELSE ROLLBACK; MessageBox(publ_operator,arg_msg) END IF /* IF NOT sys_power_issuper THEN MessageBox(publ_operator,'非超级用户,没有使用权限!') RETURN END IF String ls_msg Long ll_storageid int li_mtrlorigin_0, li_mtrlorigin_3, li_mtrlorigin_2 OPEN(w_mtrldef_edit_price_updatebill) s_edit_index_tran s_rslt s_rslt = Message.PowerObjectparm //ll_storageid = Message.DoubleParm ll_storageid = s_rslt.b_long IF ll_storageid = 0 THEN RETURN li_mtrlorigin_0 = s_rslt.c_long li_mtrlorigin_3 = s_rslt.d_long li_mtrlorigin_2 = s_rslt.e_long // // AND (( :li_mtrlorigin_0 = 1 or u_mtrldef.mtrlorigin = 0 ) // or ( :li_mtrlorigin_2 = 1 or u_mtrldef.mtrlorigin = 2 ) // or ( :li_mtrlorigin_3 = 1 or u_mtrldef.mtrlorigin = 3 )) //更新进仓单价 UPDATE u_inwaremx SET u_inwaremx.fprice = u_mtrldef.planprice, u_inwaremx.planprice = u_mtrldef.planprice, u_inwaremx.price = u_mtrldef.planprice, u_inwaremx.cost = u_mtrldef.planprice, u_inwaremx.uprice = u_mtrldef.planprice/u_inwaremx.rate FROM u_inware,u_inwaremx,u_mtrldef WHERE ( u_inware.scid = u_inwaremx.scid ) AND ( u_inware.inwareid = u_inwaremx.inwareid ) AND ( u_inware.storageid = :ll_storageid ) AND ( u_mtrldef.mtrlid = u_inwaremx.mtrlid ) AND ( u_inware.balcdateint = 0 ) AND (( :li_mtrlorigin_0 = 1 or u_mtrldef.mtrlorigin = 0 ) or ( :li_mtrlorigin_2 = 1 or u_mtrldef.mtrlorigin = 2 ) or ( :li_mtrlorigin_3 = 1 or u_mtrldef.mtrlorigin = 3 )) AND ( u_inware.billtype = 3 OR u_inware.billtype = 4 OR u_inware.billtype = 8 OR u_inware.billtype = 9 OR u_inware.billtype = 12 OR u_inware.billtype = 15 OR u_inware.billtype = 20 ); IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新进仓单价失败'+ls_msg) RETURN END IF //更新出仓单价 UPDATE u_outwaremx SET u_outwaremx.cost = u_mtrldef.planprice, u_outwaremx.costamt = round(u_mtrldef.planprice * u_outwaremx.qty,2) FROM u_outware,u_outwaremx,u_mtrldef WHERE ( u_outware.scid = u_outwaremx.scid ) AND ( u_outware.outwareid = u_outwaremx.outwareid ) AND ( u_outware.storageid = :ll_storageid ) AND ( u_mtrldef.mtrlid = u_outwaremx.mtrlid ) AND ( u_mtrldef.mtrlorigin = 0 ) AND ( u_outware.balcdateint = 0 ) and u_mtrldef.mtrlorigin <> 2; IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新出仓单价失败'+ls_msg) RETURN END IF //更新库存表 UPDATE u_mtrlware SET u_mtrlware.wareamt = round(u_mtrlware.noallocqty * u_mtrldef.planprice,2), u_mtrlware.cost = u_mtrldef.planprice FROM u_mtrlware,u_mtrldef WHERE ( u_mtrlware.mtrlid = u_mtrldef.mtrlid ) AND ( u_mtrlware.storageid = :ll_storageid ) AND ( u_mtrldef.mtrlorigin = 0 ) and u_mtrldef.mtrlorigin <> 2; IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新结存表进仓金额失败,'+ls_msg) RETURN END IF //更新结存表 UPDATE u_warebalc SET u_warebalc.incamt = round(u_warebalc.incqty * u_mtrldef.planprice,2), u_warebalc.bgamt = round(u_warebalc.bgqty * u_mtrldef.planprice,2), u_warebalc.desamt = round(u_warebalc.desqty * u_mtrldef.planprice,2), u_warebalc.balcamt = round(u_warebalc.balcqty * u_mtrldef.planprice,2) FROM u_warebalc,u_mtrldef WHERE u_warebalc.mtrlid = u_mtrldef.mtrlid AND ( u_mtrldef.mtrlorigin = 0 ) AND ( u_warebalc.storageid = :ll_storageid ) AND ( u_warebalc.balcdateint = 0 ) and u_mtrldef.mtrlorigin <> 2; IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新结存表进仓金额失败,'+ls_msg) RETURN END IF ////更新生产计划领料明细 //UPDATE u_OrderRqMtrl_scll // SET u_OrderRqMtrl_scll.costamt = round(u_mtrldef.planprice * u_OrderRqMtrl_scll.DstrQty,2) // FROM u_OrderRqMtrl_scll,u_mtrldef // WHERE ( u_mtrldef.mtrlid = u_OrderRqMtrl_scll.mtrlid ) // AND ( u_mtrldef.mtrlorigin = 0 ); //IF sqlca.SQLCode <> 0 THEN // ls_msg = sqlca.SQLErrText // ROLLBACK; // MessageBox(publ_operator,'更新生产计划领料成本失败'+ls_msg) // RETURN //END IF //更新生产计划领料明细 UPDATE u_OrderRqMtrl SET u_OrderRqMtrl.costamt = round(u_mtrldef.planprice * u_OrderRqMtrl.DstrQty,2) FROM u_OrderRqMtrl,u_mtrldef WHERE ( u_mtrldef.mtrlid = u_OrderRqMtrl.mtrlid ) and u_mtrldef.mtrlorigin = 0 ; IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox(publ_operator,'更新生产计划领料需求成本失败'+ls_msg) RETURN END IF //外协单据 COMMIT; MessageBox(publ_operator,'操作完成') */ end event event ue_lmsalepricetoplanprice();IF MessageBox ("询问","是否确定按设定售价更新计划价?",Question!,YesNo! ) = 2 THEN RETURN END IF Int rslt = 1 Long i Long ll_mtrlid Dec lde_lmsaleprice String arg_msg, err_msg Open(w_sys_wait_jdt) w_sys_wait_jdt.wf_accepttol(dw_1.RowCount()) dw_1.SetRedraw(False) FOR i = 1 To dw_1.RowCount() w_sys_wait_jdt.wf_inc(i) w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......') ll_mtrlid = dw_1.Object.mtrlid[i] lde_lmsaleprice = 0 SELECT lmsaleprice INTO :lde_lmsaleprice FROM u_mtrldef Where mtrlid = :ll_mtrlid; IF sqlca.SQLCode <> 0 THEN lde_lmsaleprice = 0 END IF IF IsNull(lde_lmsaleprice) THEN lde_lmsaleprice = 0 dw_1.Object.planprice[i] = lde_lmsaleprice NEXT dw_1.SetRedraw(True) Close(w_sys_wait_jdt) IF rslt = 0 THEN OpenWithParm(w_message_err, err_msg) //messagebox('','计算错误~r~n'+arg_msg) ELSE MessageBox('系统提示','计算成功') END IF end event event ue_lmbuypricetoplanprice();IF MessageBox ("询问","是否确定按设定购价更新计划价?",Question!,YesNo! ) = 2 THEN RETURN END IF Int rslt = 1 Long i Long ll_mtrlid Dec lde_lmbuyprice String arg_msg, err_msg Open(w_sys_wait_jdt) w_sys_wait_jdt.wf_accepttol(dw_1.RowCount()) dw_1.SetRedraw(False) FOR i = 1 To dw_1.RowCount() w_sys_wait_jdt.wf_inc(i) w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......') ll_mtrlid = dw_1.Object.mtrlid[i] lde_lmbuyprice = 0 SELECT lmbuyprice INTO :lde_lmbuyprice FROM u_mtrldef Where mtrlid = :ll_mtrlid; IF sqlca.SQLCode <> 0 THEN lde_lmbuyprice = 0 END IF IF IsNull(lde_lmbuyprice) THEN lde_lmbuyprice = 0 dw_1.Object.planprice[i] = lde_lmbuyprice NEXT dw_1.SetRedraw(True) Close(w_sys_wait_jdt) IF rslt = 0 THEN OpenWithParm(w_message_err, err_msg) //messagebox('','计算错误~r~n'+arg_msg) ELSE MessageBox('系统提示','计算成功') END IF end event event ue_costtoplanprice();IF MessageBox ("询问","是否确定按仓库成本价更新计划价?",Question!,YesNo! ) = 2 THEN RETURN END IF Int rslt = 1 Long i Long ll_mtrlid Dec lde_cost String arg_msg, err_msg Long ll_storageid Open(w_storage_ch) ll_storageid = Message.DoubleParm IF ll_storageid = 0 THEN RETURN Open(w_sys_wait_jdt) w_sys_wait_jdt.wf_accepttol(dw_1.RowCount()) dw_1.SetRedraw(False) FOR i = 1 To dw_1.RowCount() w_sys_wait_jdt.wf_inc(i) w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......') ll_mtrlid = dw_1.Object.mtrlid[i] lde_cost = 0 SELECT top 1 cost INTO :lde_cost FROM u_mtrlware WHERE storageid = :ll_storageid And mtrlid = :ll_mtrlid; IF sqlca.SQLCode <> 0 THEN lde_cost = 0 END IF IF IsNull(lde_cost) THEN lde_cost = 0 dw_1.Object.planprice[i] = lde_cost NEXT dw_1.SetRedraw(True) Close(w_sys_wait_jdt) IF rslt = 0 THEN OpenWithParm(w_message_err, err_msg) //messagebox('','计算错误~r~n'+arg_msg) ELSE MessageBox('系统提示','计算成功') END IF end event event ue_inwarebuyplanprice();String err_msg Long i,rslt = 1 Long ll_mtrlid String ls_msg Long ll_storageid Decimal lde_lmbuyprice s_edit_index_tran s_ch_tran //传递参数使用 Open(w_mtrldef_edit_price_inwarebuyplanprice) s_ch_tran = Message.PowerObjectParm IF Date(s_ch_tran.first_date) = Date('1900-01-01') THEN RETURN Open(w_sys_wait_jdt) w_sys_wait_jdt.wf_accepttol(dw_1.RowCount()) dw_1.SetRedraw(False) FOR i = 1 To dw_1.RowCount() w_sys_wait_jdt.wf_inc(i) w_sys_wait_jdt.wf_set_msg('正在计算,请稍后......') ll_mtrlid = dw_1.Object.mtrlid[i] lde_lmbuyprice = 0 SELECT CASE when IsNull(SUM(uqty),0) = 0 THEN 0 ELSE SUM(uamt) / SUM(uqty) END Into :lde_lmbuyprice From u_inwaremx Inner join u_inware On u_inware.scid = u_inwaremx.scid And u_inware.inwareid = u_inwaremx.inwareid Where u_inware.billtype = 1 And u_inware.flag = 1 And (u_inware.indate >= :s_ch_tran.first_date and u_inware.indate <= :s_ch_tran.end_date) and mtrlid = :ll_mtrlid; IF sqlca.SQLCode <> 0 THEN lde_lmbuyprice = 0 END IF IF IsNull(lde_lmbuyprice) THEN lde_lmbuyprice = 0 dw_1.Object.planprice[i] = lde_lmbuyprice NEXT dw_1.SetRedraw(True) Close(w_sys_wait_jdt) IF rslt = 0 THEN OpenWithParm(w_message_err, err_msg) ELSE MessageBox('系统提示','计算成功') END IF end event event ue_update_outware_price_2();IF Not sys_power_issuper THEN MessageBox(publ_operator,'非超级用户,没有使用权限!') RETURN END IF IF MessageBox ("询问","是否确定更新未结存出仓仓成本单价?",Question!,YesNo! ) = 2 THEN RETURN END IF Int rslt = 1 String arg_msg Long ll_storageid Int li_mtrlorigin_0, li_mtrlorigin_3, li_mtrlorigin_2 String ls_update_string String ls_mtrlorigin_string Open(w_mtrldef_edit_price_ud_outware_planprice) s_edit_index_tran s_rslt s_rslt = Message.PowerObjectParm IF Date(s_rslt.first_date) = Date('1900-01-01') THEN RETURN ll_storageid = s_rslt.b_long IF ll_storageid = 0 THEN RETURN //更新出仓单价 ls_update_string = "" ls_update_string += " UPDATE u_outwaremx " ls_update_string += " SET u_outwaremx.cost = u_mtrldef.planprice, " ls_update_string += " u_outwaremx.costamt = round(u_mtrldef.planprice * u_outwaremx.qty,2) " ls_update_string += " FROM u_outware,u_outwaremx,u_mtrldef " ls_update_string += " WHERE ( u_outware.scid = u_outwaremx.scid ) " ls_update_string += " AND ( u_outware.outwareid = u_outwaremx.outwareid ) " ls_update_string += " AND ( u_mtrldef.mtrlid = u_outwaremx.mtrlid ) " ls_update_string += " AND ( u_outware.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) " ls_update_string += " AND ( u_outware.balcdateint = 0 ) " ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) " ls_update_string += " AND ( u_outware.outdate >= '" + string(s_rslt.first_date,'yyyy-mm-dd hh:mm:ss') + "'" + " and u_outware.outdate <= '" + string(s_rslt.end_date,'yyyy-mm-dd hh:mm:ss') + "'" + " ) " //messagebox('',string(ls_update_string)) EXECUTE Immediate :ls_update_string; IF sqlca.SQLCode <> 0 THEN arg_msg = '更新出仓单价失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF //更新结存表 ls_update_string = "" ls_update_string += " UPDATE u_warebalc " ls_update_string += " SET u_warebalc.bgamt = round(u_warebalc.bgqty * u_mtrldef.planprice,2), " ls_update_string += " u_warebalc.incamt = round(u_warebalc.incqty * u_mtrldef.planprice,2), " ls_update_string += " u_warebalc.desamt = round(u_warebalc.desqty * u_mtrldef.planprice,2), " ls_update_string += " u_warebalc.balcamt = round(u_warebalc.balcqty * u_mtrldef.planprice,2) " ls_update_string += " FROM u_warebalc,u_mtrldef " ls_update_string += " WHERE u_warebalc.mtrlid = u_mtrldef.mtrlid " ls_update_string += " AND ( u_warebalc.storageid = "+String(ll_storageid)+" or "+String(ll_storageid)+" = -1 ) " ls_update_string += " AND ( u_warebalc.balcdateint = 0 ) " ls_update_string += " AND ( u_mtrldef.planprice <> 0 ) " EXECUTE Immediate :ls_update_string; IF sqlca.SQLCode <> 0 THEN arg_msg = '更新结存金额失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF ext: IF rslt = 1 THEN COMMIT; MessageBox(publ_operator,'操作完成') ELSE ROLLBACK; MessageBox(publ_operator,arg_msg) END IF end event public function integer wf_face ();cb_1.Enabled = NOT dw_edit_mode cb_save.Enabled = dw_edit_mode cb_func.Enabled = NOT dw_edit_mode cb_psetup.Enabled = NOT dw_edit_mode cb_2.Enabled = NOT dw_edit_mode cbx_yl.Enabled = NOT dw_edit_mode cbx_1.Enabled = NOT dw_edit_mode IF dw_edit_mode THEN dw_1.SetTabOrder('planprice',10) dw_1.SetTabOrder('u_mtrldef_lmsaleprice',20) dw_1.SetTabOrder('u_mtrldef_lmbuyprice',30) dw_1.SetTabOrder('dftmtrlcost',40) dw_1.SetTabOrder('dftempcost',50) dw_1.SetTabOrder('dftsccost',60) dw_1.SetTabOrder('dftglcost',70) dw_1.SetTabOrder('wfjgcost',80) dw_1.SetTabOrder('othercost',90) cb_edit.Text = '放弃' cb_edit.normalpicname = 'Undo.bmp' ELSE dw_1.SetTabOrder('planprice',0) dw_1.SetTabOrder('u_mtrldef_lmsaleprice',0) dw_1.SetTabOrder('u_mtrldef_lmbuyprice',0) dw_1.SetTabOrder('dftmtrlcost',0) dw_1.SetTabOrder('dftempcost',0) dw_1.SetTabOrder('dftsccost',0) dw_1.SetTabOrder('dftglcost',0) dw_1.SetTabOrder('wfjgcost',0) dw_1.SetTabOrder('othercost',0) cb_edit.Text = '修改' cb_edit.normalpicname = 'OPEN.bmp' END IF cb_edit.of_init_draw() cb_edit.of_paint() cb_edit.TriggerEvent('ue_textchange') RETURN 1 end function on w_mtrldef_edit_price.create int iCurrent call super::create this.cb_save=create cb_save this.dw_his=create dw_his this.cb_other=create cb_other this.tv_1=create tv_1 this.cbx_1=create cbx_1 this.cb_edit=create cb_edit iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cb_save this.Control[iCurrent+2]=this.dw_his this.Control[iCurrent+3]=this.cb_other this.Control[iCurrent+4]=this.tv_1 this.Control[iCurrent+5]=this.cbx_1 this.Control[iCurrent+6]=this.cb_edit end on on w_mtrldef_edit_price.destroy call super::destroy destroy(this.cb_save) destroy(this.dw_his) destroy(this.cb_other) destroy(this.tv_1) destroy(this.cbx_1) destroy(this.cb_edit) end on event resize;call super::resize;tv_1.height = dw_1.height - dw_his.height - 10 dw_his.y = tv_1.y + tv_1.height end event event ue_before_open;call super::ue_before_open;if_ue_sentdataout = TRUE dw_his.SetTransObject (sqlca) IF sys_option_planprice_directinput = 1 THEN dw_1.Modify('planprice.Protect = 0') ELSE dw_1.Modify('planprice.Protect = 1') END IF IF Not(f_power_ind(1381)) THEN dw_1.Modify('dftmtrlcost.Protect = 1') END IF IF Not(f_power_ind(1382)) THEN dw_1.Modify('dftempcost.Protect = 1') END IF IF Not(f_power_ind(1383)) THEN dw_1.Modify('dftsccost.Protect = 1') END IF IF Not(f_power_ind(1384)) THEN dw_1.Modify('dftglcost.Protect = 1') END IF end event type cb_func from w_publ_easyq`cb_func within w_mtrldef_edit_price end type event cb_func::clicked;m_Dfc_Control_PopupMenu dmPopupMenu string menustr if if_ue_retr then menustr="Text=查询~tEvent=ue_retr" end if if if_ue_filter then if len(trim(menustr))=0 then menustr="Text=高级筛选~tEvent=ue_filter" else menustr=menustr + "|" + "Text=高级筛选~tEvent=ue_filter" end if end if if if_ue_sort then if len(trim(menustr))=0 then menustr="Text=排序~tEvent=ue_sort" else menustr=menustr + "|" + "Text=排序~tEvent=ue_sort" end if end if if menustr<>"" and if_ue_sentdataout then menustr=menustr + "|" + "Text=-" if if_ue_sentdataout then if len(trim(menustr))=0 then menustr="Text=数据发送~tEvent=ue_sentdataout" else menustr=menustr + "|" + "Text=数据发送~tEvent=ue_sentdataout" 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_exit from w_publ_easyq`cb_exit within w_mtrldef_edit_price integer x = 1408 end type type cb_2 from w_publ_easyq`cb_2 within w_mtrldef_edit_price integer x = 1106 integer taborder = 100 boolean bringtotop = true end type type cb_psetup from w_publ_easyq`cb_psetup within w_mtrldef_edit_price integer x = 850 boolean bringtotop = true end type type cb_1 from w_publ_easyq`cb_1 within w_mtrldef_edit_price boolean bringtotop = true end type event cb_1::clicked;call super::clicked;dw_1.Retrieve(cur_isuse,ls_handtype) end event type st_3 from w_publ_easyq`st_3 within w_mtrldef_edit_price boolean visible = false integer x = 823 integer y = 368 end type type st_4 from w_publ_easyq`st_4 within w_mtrldef_edit_price boolean visible = false integer x = 1170 integer y = 508 end type type em_1 from w_publ_easyq`em_1 within w_mtrldef_edit_price boolean visible = false integer x = 736 integer y = 436 integer taborder = 110 end type type em_2 from w_publ_easyq`em_2 within w_mtrldef_edit_price boolean visible = false integer x = 1253 integer y = 428 integer taborder = 140 end type type ddlb_yl from w_publ_easyq`ddlb_yl within w_mtrldef_edit_price integer x = 1824 integer y = 12 end type type cbx_yl from w_publ_easyq`cbx_yl within w_mtrldef_edit_price integer x = 1614 integer y = 16 end type type dw_1 from w_publ_easyq`dw_1 within w_mtrldef_edit_price integer x = 1157 integer y = 300 integer width = 1897 integer height = 1440 string dataobject = "dw_mtrldef_edit_price" end type event dw_1::rowfocuschanged;IF currentrow <=0 THEN RETURN this.selectrow(0,false) this.selectrow(currentrow,true) end event event dw_1::clicked;call super::clicked;IF row <= 0 THEN RETURN This.SelectRow(0,False) This.SetRow(row) This.SelectRow(row,True) end event event dw_1::doubleclicked;call super::doubleclicked;IF row = 0 THEN RETURN Long ll_mtrlid ll_mtrlid = dw_1.Object.mtrlid[row] dw_his.SetRedraw(FALSE) dw_his.Retrieve(ll_mtrlid) dw_his.SetRedraw(TRUE) end event type sle_mtrl from w_publ_easyq`sle_mtrl within w_mtrldef_edit_price end type type sle_cust from w_publ_easyq`sle_cust within w_mtrldef_edit_price end type type st_mtrl from w_publ_easyq`st_mtrl within w_mtrldef_edit_price end type type st_cust from w_publ_easyq`st_cust within w_mtrldef_edit_price end type type cbx_loginretr from w_publ_easyq`cbx_loginretr within w_mtrldef_edit_price end type type pb_em1 from w_publ_easyq`pb_em1 within w_mtrldef_edit_price boolean visible = false end type type pb_em2 from w_publ_easyq`pb_em2 within w_mtrldef_edit_price boolean visible = false end type type pb_2 from w_publ_easyq`pb_2 within w_mtrldef_edit_price boolean visible = false end type type cb_help from w_publ_easyq`cb_help within w_mtrldef_edit_price integer x = 1257 end type type cb_copyself from w_publ_easyq`cb_copyself within w_mtrldef_edit_price boolean visible = false end type type gb_1 from w_publ_easyq`gb_1 within w_mtrldef_edit_price end type type ln_bar from w_publ_easyq`ln_bar within w_mtrldef_edit_price end type type ln_bar2 from w_publ_easyq`ln_bar2 within w_mtrldef_edit_price end type type r_bar from w_publ_easyq`r_bar within w_mtrldef_edit_price end type type ln_1 from w_publ_easyq`ln_1 within w_mtrldef_edit_price end type type ln_2 from w_publ_easyq`ln_2 within w_mtrldef_edit_price end type type ln_3 from w_publ_easyq`ln_3 within w_mtrldef_edit_price end type type ln_4 from w_publ_easyq`ln_4 within w_mtrldef_edit_price end type type cb_save from uo_imflatbutton within w_mtrldef_edit_price integer x = 302 integer width = 151 integer height = 164 integer taborder = 20 boolean bringtotop = true boolean enabled = false string text = "保存" string normalpicname = "save.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF Not f_power_ind(723) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF int rslt = 1 Long i dw_1.AcceptText() Decimal ld_planprice Decimal last_planprice Long mtrlid Open(w_sys_wait_jdt) w_sys_wait_jdt.wf_accepttol(dw_1.RowCount()) FOR i = 1 To dw_1.RowCount() w_sys_wait_jdt.wf_inc(i) w_sys_wait_jdt.wf_set_msg('正在保存数据,请稍后......') last_planprice = dw_1.Object.planprice.Original[i] ld_planprice = dw_1.Object.planprice[i] IF last_planprice <> ld_planprice THEN mtrlid = dw_1.Object.mtrlid[i] INSERT INTO u_planprice_his ( billid, mtrlid, lastprice, planprice, relcode, reason, changedtime, changedemp, printid, status, woodcode, pcode) VALUES( 0, :mtrlid, :last_planprice, :ld_planprice, '', '产品计划价设定', getdate(), :publ_operator, 0, '', '', ''); IF SQLca.SQLCode <> 0 THEN rslt = 0 ROLLBACK; MessageBox('提示','插入计划价变更历史表失败!', Information!, OK! ) GOTO ext END IF END IF NEXT IF dw_1.Update() = 1 THEN COMMIT; MessageBox('提示','保存成功!', Information!, OK! ) ELSE rslt = 0 ROLLBACK; MessageBox('提示','保存失败!', Information!, OK! ) END IF ext: Close(w_sys_wait_jdt) IF rslt = 0 THEN RETURN ELSE dw_edit_mode = Not dw_edit_mode wf_face() RETURN END IF end event type dw_his from u_dw_rbtnfilter within w_mtrldef_edit_price integer y = 844 integer width = 1152 integer height = 892 integer taborder = 30 boolean bringtotop = true string dataobject = "dw_planprice_his" boolean controlmenu = true boolean minbox = true boolean maxbox = true boolean hscrollbar = true boolean vscrollbar = true end type event clicked;call super::clicked;IF row <=0 THEN RETURN this.selectrow(0,false) this.selectrow(row,true) end event type cb_other from uo_imflatbutton within w_mtrldef_edit_price integer x = 603 integer width = 247 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "辅助功能" string normalpicname = "other.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr IF dw_edit_mode THEN menustr = "Text=按物料清单统计默认物料成本~tEvent=ue_cmpl_dftmtrlcost" menustr += "|" + "Text=按工价表统计默认人力成本~tEvent=ue_cmpl_dftempcost" menustr += "|" + "Text=按默认总成本更新计划价~tEvent=ue_cmpl_planprice" menustr += "|" + "Text=-" menustr += "|" + "Text=取仓库成本价更新计划价~tEvent=ue_costtoplanprice" menustr += "|" + "Text=取设定售价更新计划价~tEvent=ue_lmsalepricetoplanprice" menustr += "|" + "Text=取设定购价价更新计划价~tEvent=ue_lmbuypricetoplanprice" menustr += "|" + "Text=-" menustr += "|" + "Text=取时间段内的采购均价更新计划价~tEvent=ue_inwarebuyplanprice" ELSE menustr += "|" + "Text=更新未结存进仓单价~tEvent=ue_update_inware_price" menustr += "|" + "Text=更新未结存进仓仓成本单价~tEvent=ue_update_inware_price_2" menustr += "|" + "Text=更新外协商库存、结存金额~tEvent=ue_update_wfjg" menustr += "|" + "Text=-" menustr += "|" + "Text=更新时间段内未结存出仓仓成本单价~tEvent=ue_update_outware_price_2" 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 tv_1 from uo_tv_mtrltype within w_mtrldef_edit_price integer y = 300 integer width = 1152 integer height = 540 integer taborder = 120 boolean bringtotop = true integer textsize = -9 fontcharset fontcharset = gb2312charset! fontfamily fontfamily = anyfont! string facename = "宋体" end type event selectionchanged;call super::selectionchanged;ls_handtype = THIS.uo_cur_info.handtype ls_handtype += '%' cb_1.TriggerEvent(CLICKED!) end event type cbx_1 from checkbox within w_mtrldef_edit_price integer x = 9 integer y = 212 integer width = 384 integer height = 56 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 checked = true end type event clicked;IF cbx_1.Checked THEN cur_isuse = 1 ELSE cur_isuse = -1 END IF cb_1.triggerevent(clicked!) end event type cb_edit from uo_imflatbutton within w_mtrldef_edit_price integer x = 453 integer width = 151 integer height = 164 integer taborder = 40 boolean bringtotop = true string text = "修改" string normalpicname = "open.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF Not f_power_ind(723) THEN MessageBox('提示',sys_msg_pow, Information!, OK! ) RETURN END IF IF dw_edit_mode THEN IF MessageBox('提示','是否要确定放弃保存资料', question!, YesNo!, 2) = 2 THEN RETURN END IF END IF dw_edit_mode = NOT dw_edit_mode wf_face() IF NOT dw_edit_mode THEN cb_1.TriggerEvent(Clicked!) END IF end event