▶ i-AUD 보고서에서 다른 보고서 팝업으로 호출하기
- 기본 제공 모듈을 이용하여 팝업 보고서 호출
i-AUD 디자이너를 실행하여, "Button1"을 생성하고, 프로세스 봇으로 해당 Button 클릭 시 "보고서내팝업보고서오픈"모듈 추가하여 파라미터로 보고서 코드를 넣고 설정
- window.open API를 이용하여 호출하기
i-AUD 디자이너를 실행하여, Script Editor를 열고, JScript에 OnButtonClick를 활용하여 window.open API를 이용해 보고서를 새창에서 오픈
> window.open의 파라메터
1. url : 보고서 호출 URL (ex. 'https://rnd.bimatrix.co.kr/aud7/portal/popupView.jsp?id=REP544A4D5120184BA6AE9B4C13C25FAC6F')
2. type : open타입을 설정 (ex. PopupWin)
3. option : Open시 옵션을 설정 (ex. 'toolbar=no,scrollbars=no,resizable=yes')
- ShowReportDialog를 이용하여 호출하기
i-AUD 디자이너를 실행하여, Script Editor를 열고, JScript에 OnButtonClick를 활용하여 ShowReportDialog를 이용해 보고서를 새창에서 오픈
> ShowReportDialog 파라미터
1. reportCode : 보고서 코드
2. parameter : 팝업 창으로 전달 할 인자 값(객체 타입으로 배열,문자, 객체 모두 사용 가능)
3. options : 창 생성 옵션으로 창의 사이즈 및 위치 등의 정보
4. callback : 팝업 창에서 현재 보고서로 반환 값을 전달 받을 수 있는 callback 함수
/***************************************** * 버튼 컨트롤이 클릭되는 시점에 발생합니다. * * arguments : * string Id (Readonly:False) : 컨트롤이름 * string Text (Readonly:False) : 라벨 값 *****************************************/ var OnButtonClick = function(sender, args) { if(args.Id == "Button2") { try{ var pop_w = screen.width * 0.9; var pop_h = screen.height * 0.9; var leftPosition =10;//(screen.width-pop_w) / 2; var topPosition = 10;//(screen.height-H_s) / 2; url = "https://rnd.bimatrix.co.kr/aud7/portal/popupView.jsp?id=" + reportCode; window.open(url, "PopupWin", "toolbar=no,scrollbars=no,resizable=yes,top="+topPosition+",left="+leftPosition+",width="+pop_w+",height="+pop_h); }catch(e){ Matrix.Warning(e.message) } }else if(args.Id == "Button3") { var options = { NewWindow : true }; Matrix.ShowReportDialog(reportCode ,parameter ,options ,function(result) { /******************************************************************************************************** ** ShowReportDialog 파라미터 상세 설명 ** reportCode : 보고서 코드 ** parameter : 팝업 창으로 전달 할 인자 값(객체 타입으로 배열,문자, 객체 모두 사용가능) 팝업 창에서는 해당 인자를 Matrix.GetDialogRequestParams() 함수를 사용하여 접근 ** options : 창 생성 옵션으로 창의 사이즈 및 위치 등의 정보 { Width : 600, //너비 Height : 500, //높이 MinWidth : 200, //최소 너비 MinHeight : 200, //최소 높이 Left : 30, //창의 위치(Left) Top : 30, //창의 위치(Top) Center : true, //창의 위치를 화면의 가운데로 배치할 지 여부 Modal : false, //모달창 여부 Title : "title", //팝업창의 타이틀 Maximize : false, //최대화 버튼 활성화 여부 Resizable : false, //창 사이즈 조정 기능 활성화 여부 Buttons : 0 // 버튼 타입 ( 0 : 없음, 1:닫기, 2:확인/취소) }; ** callback : 팝업 창에서 현재 보고서로 반환값을 전달 받을 수 있는 callback 함수 - 팝업 창에서 부모창으로 반환값을 넘기려면 Matrix.ReportDialogResult(param, true)를 사용하며, 첫 번째 인자 param의 값은 callback 함수의 첫번 째 인자 result로 전달 됩니다. **************************************************************************************************************/ if(result){ // do something... } }); } };