$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