페이지 트리
메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

파일 경로: /extention/portal/customscript.jsp
해당 파일에 fnCustomReportOpen, searchReportInfo 함수가 있는지 확인 후, 없으면 아래 내용 참고하여 사용하시기 바랍니다.

추가) 2023.09.20 기준, fnCustomReportOpen 함수 내 변경된 부분이 있습니다. 첨부파일 참고 바랍니다.

1. fnCustomReportOpen 함수 파라미터 정의

A보고서에서 B보고서를 호출한다고 가정했을 때,
    1) reportCode
        - 새로 열고자 하는 보고서 코드 (B보고서 코드)
    2) isRecycle
        - 현재 탭을 재사용하여 보고서를 열 것인지 여부 (탭 사용하지 않는 경우 무시됨)
        - true: 탭 재사용 모드로 열림, false: 현재 PORTAL설정에 설정된 탭 모드로 열림
    3) isParentReportClose
        - 기존에 열었던 보고서 탭을 닫을 것인지 여부 (A보고서 탭을 닫을 것인지, 탭 사용하지 않는 경우 무시됨)

2. 사용 방법

1)  i-AUD 보고서에서 window.top.fnCustomReportOpen("보고서 코드", false, false); 와 같이 호출
        - 첨부된 샘플 보고서 참고
    ※ i-AUD 보고서 간 파라미터는 전달 불가합니다.

3. 소스 코드
예제 코드
/**
     * tab 사용일 경우에 전달하는 보고서만 해당 탭을 재사용하여 오픈될 수 있도록 하는 보고서 오픈 함수
     **/
    var fnCustomReportOpen = function (reportCode, isRecycle, isParentReportClose) {
        var parentReportCode = curr_reportCode;
        var info = searchReportInfo(reportCode);
if (info.code == null || info.code.length <= 0) {
            gfn_alert('Please check reportCode');
            return;
        }
var _closeType;
        var currTab;
if (GFN_OPTION.OP04_TAB_FLAG == "Y" && isRecycle && !this.ispopupView) {
            if (this.parent.gvTabContainer == undefined) { // 직접 div를 그린 경우 (미니 포탈 등)
                currTab = this.parent.gvTab;
            } else {
                currTab = this.parent.gvTabContainer.gvTab; // iframe 적용
}
_closeType = currTab.CloseType;
            currTab.CloseType = "iportalClose";
        }
if (this.ispopupView) {
            gvCode = info.code;
            gvName = info.name;
            gvModule = info.module;
            gvPath = info.path;
            gvAuthNo = info.option.AuthNo;
            gvFolderCode = info.option.FolderCode;
            gvModifyDate = info.option.ModifyDate;
reportOnLoad();
        } else {
            ReportOpenByTree(info.code, info.name, info.desc, info.module, info.path, ""
                , {
                    'FolderCode': info.option.FolderCode,
                    'AuthNo': info.option.AuthNo,
                    'ModifyDate': info.option.ModifyDate,
                    'isRecycle': isRecycle,
                    'parentReportCode' : parentReportCode
                }, params);
        }
if (_closeType != 'undefined' && _closeType != null) {
            // 기존에 적용한 closeType으로 재 적용 시킨다.
            currTab.CloseType = _closeType;
}
if (isParentReportClose && (GFN_OPTION.OP04_TAB_FLAG == "Y" && !this.ispopupView)) {
            for (var i = 0; i < currTab.Items.length; i++) {
                if ((currTab.Items[i].Code == parentReportCode) && currTab.Items[i].Active == false) {
                    currTab.CloseTab(currTab.Items[i]);
                    return;
                }
            }
        }
    };
/**
     * 보고서 코드에 해당하는 정보 조회하는 api
     * @param id
     * @returns {{path: string, code: string, module: string, name: string, desc: string, option: {FolderCode: string, ModifyDate: string, FolderPath: string, AuthNo: string}}}
     */
    var searchReportInfo = function (id) {
        var info = {
            code: '',
            name: '',
            desc: '',
            module: '',
            path: '',
            option: {
                AuthNo: '',
                FolderCode: '',
                FolderPath: '',
                ModifyDate: ''
            }
        }
//보고서 정보 조회
        $.biMatrix.callAjax({
            type: 'POST',
            async: false, // 동기
            url: gvWebRootName + '/portal/service/content_action.jsp',
            data: {
                'actionKey': 'searchReportAuthInfo',
                'reportCode': id
            },
            dataType: 'json',
            success: function (ret) {
                if (typeof ret == 'undefined' || ret == null || ret.length <= 0) return;
info.code = id;
                info.name = ret.REPORT_NAME;
                info.desc = ret.REPORT_DESC;
                info.module = ret.MODULE_CODE;
                info.path = ret.REPORT_PATH;
                info.option.AuthNo = ret.AUTHORITY_NO;
                info.option.FolderCode = ret.FOLDER_CODE;
                info.option.FolderPath = "";
                info.option.ModifyDate = ret.MODIFY_DATE;
            },
            noData: null
        });
return info;
    };




다른 보고서를 탭으로 열기_가이드.zip