123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- $PBExportHeader$f_sys_main.srf
- global type f_sys_main from function_object
- end type
- forward prototypes
- global subroutine f_sys_main (long arg_mainid)
- end prototypes
- global subroutine f_sys_main (long arg_mainid);window lw_win
- Long ll_funcid
- Boolean if_power_ind = False
- Boolean if_power_sendout = False ,if_power_print = False
- Long ll_funcid_sendout,ll_funcid_print
- String ls_funcid_str
- string arg_msg
- s_edit_index_tran s_tran //翻页功能窗口 传递参数使用
- s_tran.if_retrieve_all = True //是否一次RETRIEVE所有行
- s_tran.work_mode = 0 //0-单纯编辑模式, 1-选择模式
- s_tran.arg_pkid = 0 //目标定位PKID (备用)
- s_tran.arg_string_code = '' //查询列部分内容,用于初步筛选
- s_tran.mainid = arg_mainid
- IF s_sys_win_open[arg_mainid].Name = 'w_credence_edit_popup' THEN
- s_tran.e_long = sys_curyearmon
- END IF
- //检查数组窗口是否存在
- IF s_sys_win_open[arg_mainid].Name = '' THEN
- MessageBox('提示','系统窗口不存在', Information!, OK! )
- RETURN
- END IF
- //检查权限
- IF Pos(s_sys_win_open[arg_mainid].funcid,',') > 0 THEN
-
- ls_funcid_str = s_sys_win_open[arg_mainid].funcid
- IF Left(ls_funcid_str, 1) <> ',' THEN ls_funcid_str = ','+ls_funcid_str
- IF right(ls_funcid_str, 1) <> ',' THEN ls_funcid_str = ls_funcid_str+','
- ls_funcid_str = Mid(ls_funcid_str,Pos(ls_funcid_str,',') + 1)
-
- DO WHILE ls_funcid_str <> ''
- ll_funcid = Long(Left(ls_funcid_str,Pos(ls_funcid_str,',') - 1))
- IF f_power_ind(ll_funcid) THEN
- if_power_ind = True
- EXIT
- END IF
- ls_funcid_str = Mid(ls_funcid_str,Pos(ls_funcid_str,',') + 1)
- LOOP
-
- IF Not if_power_ind THEN
- MessageBox('提示','窗口:'+s_sys_win_open[arg_mainid].Title+',你没有使用权限', Information!, OK! )
- RETURN
- END IF
- ELSE
- ll_funcid = Long(s_sys_win_open[arg_mainid].funcid)
- CHOOSE CASE ll_funcid
- CASE 0
- MessageBox('提示','系统窗口权限未定义,请与系统开发商联系', Information!, OK! )
- RETURN
- CASE -1
- CASE 8888
- IF Not sys_power_issuper THEN
- MessageBox('提示','窗口:'+s_sys_win_open[arg_mainid].Title+',你没有使用权限', Information!, OK! )
- RETURN
- END IF
- CASE ELSE
- IF Not f_power_ind(ll_funcid) THEN
- MessageBox('提示','窗口:'+s_sys_win_open[arg_mainid].Title+',你没有使用权限', Information!, OK! )
- RETURN
- END IF
- END CHOOSE
- END IF
- //检查报表发送数据权限
- IF Pos(s_sys_win_open[arg_mainid].funcid_sendout,',') > 0 THEN
-
- ls_funcid_str = s_sys_win_open[arg_mainid].funcid_sendout
- ls_funcid_str = Mid(ls_funcid_str,Pos(ls_funcid_str,',') + 1)
- DO WHILE ls_funcid_str <> ''
- ll_funcid = Long(Left(ls_funcid_str,Pos(ls_funcid_str,',') - 1))
- IF f_power_ind(ll_funcid) THEN
- if_power_sendout = True
- END IF
- ls_funcid_str = Mid(ls_funcid_str,Pos(ls_funcid_str,',') + 1)
- LOOP
- s_tran.if_sendout = if_power_sendout
-
- ELSE
- ll_funcid = Long(s_sys_win_open[arg_mainid].funcid_sendout)
-
- IF f_power_ind(ll_funcid) THEN
- if_power_sendout = True
- END IF
- s_tran.if_sendout = if_power_sendout
- END IF
- //检查报表打印权限
- IF Pos(s_sys_win_open[arg_mainid].funcid_print,',') > 0 THEN
-
- ls_funcid_str = s_sys_win_open[arg_mainid].funcid_print
- ls_funcid_str = Mid(ls_funcid_str,Pos(ls_funcid_str,',') + 1)
- DO WHILE ls_funcid_str <> ''
- ll_funcid = Long(Left(ls_funcid_str,Pos(ls_funcid_str,',') - 1))
- IF f_power_ind(ll_funcid) THEN
- if_power_print = True
- END IF
- ls_funcid_str = Mid(ls_funcid_str,Pos(ls_funcid_str,',') + 1)
- LOOP
- s_tran.if_print = if_power_print
-
- ELSE
- ll_funcid = Long(s_sys_win_open[arg_mainid].funcid_print)
-
- IF f_power_ind(ll_funcid) THEN
- if_power_print = True
- END IF
- s_tran.if_print = if_power_print
- END IF
- //物料资料打开时置全部属性
- IF arg_mainid = 201 THEN
- s_tran.b_long = -1
- s_tran.c_long = -1
- //s_tran.f_long = -1
- END IF
- //
- CHOOSE CASE s_sys_win_open[arg_mainid].Name
- CASE 'w_rp_subid_mx'
- Open(w_rp_subid_mx)
- CASE 'w_rp_multibaracc'
- Open(w_rp_multibaracc)
- CASE 'w_rp_subid_hz'
- Open(w_rp_subid_hz)
- CASE 'f_cmp_deprediate_1'
- f_cmp_deprediate(1,sys_curyearmon,True)
- f_setsysoplog('计提折旧','计提折旧,用户:'+publ_operator+',帐套:'+s_sys_accset.accsetname,arg_msg,True)
- CASE 'f_cmp_deprediate_0'
- f_cmp_deprediate(0,sys_curyearmon,True)
- f_setsysoplog('反计提折旧','反计提折旧,用户:'+publ_operator+',帐套:'+s_sys_accset.accsetname,arg_msg,True)
- CASE 'f_start_asset_1'
- f_start_asset(1)
- f_setsysoplog('启用帐套','启用帐套,用户:'+publ_operator+',帐套:'+s_sys_accset.accsetname,arg_msg,True)
- CASE 'f_start_asset_0'
- f_start_asset(0)
- f_setsysoplog('反启用帐套','反启用帐套,用户:'+publ_operator+',帐套:'+s_sys_accset.accsetname,arg_msg,True)
- CASE ELSE
- IF IsValid(s_sys_win_open[arg_mainid].win) THEN
- s_sys_win_open[arg_mainid].win.WindowState = Normal!
- s_sys_win_open[arg_mainid].win.BringToTop = True
- ELSE
- IF s_sys_win_open[arg_mainid].ifarg THEN
- s_tran.if_retrieve_all = s_sys_win_open[arg_mainid].if_retrieve_all
-
- OpenWithParm(lw_win,s_tran,s_sys_win_open[arg_mainid].Name)
- ELSE
- Open(lw_win,s_sys_win_open[arg_mainid].Name)
- END IF
-
- if arg_mainid <> 1408 then
- s_sys_win_open[arg_mainid].win = lw_win
- s_sys_win_open[arg_mainid].mainid = arg_mainid
- s_sys_win_open[arg_mainid].Title = lw_win.Title
- s_sys_win_open[arg_mainid].Handle = Handle(lw_win)
- end if
-
- ins_win_itmx++
- ins_open_win[ins_win_itmx] = lw_win
-
- END IF
- END CHOOSE
- end subroutine
|