123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
- <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
- <xhtml:head>
- <xhtml:title>보고서미리보기</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <properties>
- <report/>
- </properties>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- if(checkOpener()){
- if(opener.javascript.getParameter("onready")){
- fInitRexpert();
- }
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-close">
- <![CDATA[
- // 2012.04.10 added by CBJ for deleting temporary files
- fCloseReport();
- ]]>
- </script>
- </model>
- <script type="javascript">
- <![CDATA[
- function fInitRexpert() {
- fCloseReport();
-
- gvMainReportInfos = null;
- gvSubReportInfos = null;
- gvReportName = null;
- gvReportDataType = null;
- gvReportUserService = null;
- gvReportDataXPath = null;
- gvReportXPath = null;
- gvReportData = null;
- gvReportSubmitId = null;
- var iSubRptCnt = 0;
- var nodeList = opener.root.properties.report.childNodes ;
- for (i = 0; i < nodeList.length; i++) {
- node = nodeList.nextNode();
-
- if (node.nodeName == "mainreport") {
- gvMainReportInfos = initRexpertDictionay();
-
- //레포트 정보 저장
- nodeList_props = node.props.childNodes ;
- for (j = 0; j < nodeList_props.length; j++) {
- node_prop = nodeList_props.nextNode();
-
- gvMainReportInfos.add(node_prop.nodeName, node_prop.nodevalue);
- }
- gvReportName = gvMainReportInfos.get("rex_rptname");
- gvReportDataType = gvMainReportInfos.get("rex_datatype");
- gvReportSubmitId = gvMainReportInfos.get("rex_submitid");
- gvReportUserService = gvMainReportInfos.get("rex_userservice");
- gvReportDataXPath = gvMainReportInfos.get("rex_data_xpath");
- gvReportXPath = gvMainReportInfos.get("rex_xpath");
- //매개변수 저장
- nodeList_params = node.params.childNodes ;
- for (j = 0; j < nodeList_params.length; j++) {
- node_param = nodeList_params.nextNode();
- gvMainReportInfos.add(node_param.nodeName, node_param.nodevalue);
- }
- //옵션 정보 저장
- nodeList_options = node.options.childNodes ;
- for (j = 0; j < nodeList_options.length; j++) {
- node_option = nodeList_options.nextNode();
- gvMainReportInfos.add(node_option.nodeName, node_option.nodevalue);
- }
- //레포트 데이터 저장
- if (gvReportDataType == "XMLSTR") {
- var sDataXpath = gvReportDataXPath;
-
- //iviewer등의 사용으로 직접 데이터를 가져올 수 없는 경우 - EMR 증명서 데이터
- if (opener.javascript.getReportData != undefined) {
- gvMainReportInfos.add("rex_data", opener.javascript.fGetReportData());
- }
-
- if (isNull(sDataXpath)) {
- gvMainReportInfos.add("rex_data", opener.instance1.xml );
- } else {
- gvMainReportInfos.add("rex_data", opener.instance1.selectSingleNode(sDataXpath).xml );
- }
-
- gvReportData = gvMainReportInfos.get("rex_data");
- }
-
- }//end mainreport
- // else {
- // iSubRptCnt = iSubRptCnt + 1;
- // if (gvSubReportInfos != null) {
- // gvSubReportInfos = initRexpertDictionay();
- // }
- //
- // rex_goRptSubParam = initRexpertDictionay();
- //
- // nodeList_props = node.props.childNodes ;
- //
- // for (j = 0; j < nodeList_props.length; j++) {
- // node_prop = node.nextNode();
- // rex_goRptSubParam.add(node_prop.nodeName, node_prop.nodevalue);
- // }
- //
- // nodeList_params = node.params.childNodes ;
- //
- // for (j = 0; j < nodeList_params.length; j++) {
- // node_param = nodeList_params.nextNode();
- // rex_goRptSubParam.add(node_param.nodeName, node_param.nodevalue);
- // }
- //
- // nodeList_data = node.data.childNodes;
- //
- // if (nodeList_data.length > 0) {
- // if (rex_goRptSubParam.get("rex_datatype") == "XMLSTR") {
- // var sDataXpath = "";
- //
- // sDataXpath = rex_goRptSubParam.get("rex_data_xpath");
- //
- // if (sDataXpath == null || sDataXpath == "") {
- // rex_goRptSubParam.add("rex_data", opener.document.models(0).instances(0).xml );
- // } else {
- // rex_goRptSubParam.add("rex_data", opener.document.models(0).instances(0).selectSingleNode(sDataXpath).xml );
- // }
- // }
- // }
- //
- // gvSubReportInfos.add("" + iSubRptCnt, rex_goRptSubParam);
- // }
- }
- fReportPreView();
- }
- function fReportPreView() {
- var oReport;
- var oSubReport;
- var oConnection;
- var oDataSet;
- var oSQL;
-
- //커넥정보 숨기기
- //objRexpert.EnableDebug = false;
-
- //뷰어50%축소
- var zoomRate = gvMainReportInfos.get("rex_zoomrate");
- if(!isNull(zoomRate)){
- objRexpert.zoom(zoomRate);
- }
- //툴바숨기기
- //objRexpert.ToolBarVisible = false;
-
- //버전정보보기 숨기기
- //objRexpert.ShowToolBarButton(14, false);
-
- //뷰어에서 파란색 테두리 숨김
- //objRexpert.FocusRectVisible = false;
-
- //objRexpert.EnableHotKey("all=0");
- // 보고서 생성중입니다. 라는 메세지 박스 보임 여부
- //objRexpert.ShowProcessDialog = true: 보임 false:숨김;
- var reportPrint = gvMainReportInfos.get("rex_print");
- if (! (isNull(reportPrint) || reportPrint == "false") ){
- objRexpert.ShowProcessDialog = false;
- }
-
- //툴바 버튼 숨김
- var showToolbarButton = gvMainReportInfos.get("rex_showbutton");
- if(showToolbarButton == "hidden"){
- objRexpert.ShowToolBarButton(0, false); //열기버튼
- objRexpert.ShowToolBarButton(1, false); //저장버튼
- objRexpert.ShowToolBarButton(2, false); //출력버튼
- objRexpert.ShowToolBarButton(3, false); //새로고침버튼
- objRexpert.ShowToolBarButton(4, false); //중지버튼
- objRexpert.ShowToolBarButton(15, false); //목록버튼
- }
-
- objRexpert.ShowParameterDialog = false;
- if (isNull(gvMainReportInfos) || isNull(gvReportName)) return;
-
- // 초기화 콜백함수 실행
- if (gvMainReportInfos.Init != null) {
- gvMainReportInfos.Init(objRexpert);
- }
-
- try{
- oReport = objRexpert.OpenReport(getReportURL(gvReportName));
- }catch(e){
- messageBox(e.message, "I");
- return "error";
- }
-
- if(oReport == null) {
- messageBox("리포트를 열 수", "I004");
- return;
- }
-
- var obj = gvMainReportInfos.keys();
- for(var key in obj) {
- oReport.SetParameterFieldValue(key, obj[key]);
- }
-
- //connection 설정
- oConnection = fCreateConnection(gvReportDataType);
-
- //레포트 데이터 가져오기
- fGetData(oReport, oConnection, gvReportDataType, gvReportUserService, gvReportData);
-
- if (fGetSubReportData() == "each") {
- if (gvReportDataType == "XMLFILE" || gvReportDataType == "XMLSTR") {
-
- var sXpath = gvReportXPath;
- if (isNull(sXpath)) {
- oDataSet = fCreateDataSet(oReport, oConnection, gvReportDataType, oDataSet, "", 0);
- } else {
- oDataSet = fCreateDataSet(oReport, oConnection, gvReportDataType, oDataSet, sXpath, 0);
- }
- } else {
- oDataSet = fCreateDataSet(oReport, oConnection, gvReportDataType, oDataSet, "root/main/rpt1/rexdataset/rexrow", 0);
- }
-
- if( oDataSet == null ) return ;
- if (gvMainReportInfos.CallBack != null) {
- gvMainReportInfos.CallBack(oReport, oDataSet);
- }
- }
-
- if (gvReportParamShare == "share") {
- if (fGetSubReportData() == "each") {
- if (gvSubReportInfos.length > 0) {
- var sDataType = "";
- var sUserService = "";
- var sData = "";
-
- for (i = 1; i <= gvSubReportInfos.length; i++) {
- oRptSubParam = gvSubReportInfos.get("" + i);
-
- if (oRptSubParam.get("rex_rptname") != "") {
- oSubReport = oReport.OpenReport(oRptSubParam.get("rex_rptname"));
- } else {
- messageBox("서브 리포트 파일이", "I004");
- return;
- }
-
- if (oSubReport == null) {
- messageBox("서브 리포트를 열 수", "I004");
- return;
- }
-
- var obj = gvMainReportInfos.keys();
- for(var key in obj) {
- oSubReport.SetParameterFieldValue(key, obj[key]);
- }
-
- if (oRptSubParam.get("rex_datatype") == null) {
- sDataType = gvMainReportInfos.get("rex_datatype");
- } else {
- sDataType = oRptSubParam.get("rex_datatype");
- }
-
- if (oRptSubParam.get("rex_userservice") == null || oRptSubParam.get("rex_userservice") == "") {
- sUserService = gvReportUserService;
- } else {
- sUserService = oRptSubParam.get("rex_userservice");
- }
-
- if (oRptSubParam.get("rex_data") == null) {
- sData = gvReportData;
- } else {
- sData = oRptSubParam.get("rex_data");
- }
- oConnection = fCreateConnection(sDataType);
- fGetData(oSubReport, oConnection, sDataType, sUserService, sData);
- if (sDataType == "XMLFILE" || sDataType == "XMLSTR") {
- var sXpath = gvReportXPath;
-
- if (isNull(sXpath)) {
- oDataSet = fCreateDataSet(oSubReport, oConnection, sDataType, oDataSet, "", 0);
- } else {
- oDataSet = fCreateDataSet(oSubReport, oConnection, sDataType, oDataSet, sXpath, 0);
- }
- } else {
- oDataSet = fCreateDataSet(oSubReport, oConnection, sDataType, oDataSet, "root/main/rpt1/rexdataset/rexrow", 0);
- }
- if( oDataSet==null ) return ;
- if (oRptSubParam.CallBack != null) {
- oRptSubParam.CallBack(oSubReport, oDataSet);
- }
-
- } // end for
- } // end if
- } else { // once
- for (i = 1; i <= oReport.GetReportCount(); i++) {
- oSubReport = oReport.OpenReport(i - 1);
-
- if (oSubReport == null) {
- messageBox("서브 리포트를 열 수", "I004");
- return;
- }
-
- var obj = gvMainReportInfos.keys();
-
- for(var key in obj) {
- oSubReport.SetParameterFieldValue(key, obj[key]);
- }
-
- fGetData(oSubReport, oConnection, gvReportDataType, gvReportUserService, gvReportData);
-
- } // end for
- } // end if
- } else { // each
- if (gvSubReportInfos.length > 0) {
- var sDataType = "";
- var sUserService = "";
- var sData = "";
-
- for (i = 1; i <= gvSubReportInfos.length; i++) {
- oRptSubParam = gvSubReportInfos.get("" + i);
-
- if (oRptSubParam.get("rex_rptname") != "") {
- oSubReport = oReport.OpenReport(oRptSubParam.get("rex_rptname"));
- } else {
- messageBox("서브 리포트 파일이", "I004");
- return;
- }
-
- if (oSubReport == null) {
- messageBox("서브 리포트를 열 수", "I004");
- return;
- }
-
- var obj = oRptSubParam.keys();
- for(var key in obj) {
- oSubReport.SetParameterFieldValue(key, obj[key]);
- }
-
- if (oRptSubParam.get("rex_datatype") == null) {
- sDataType = gvMainReportInfos.get("rex_datatype");
- } else {
- sDataType = oRptSubParam.get("rex_datatype");
- }
-
- if (oRptSubParam.get("rex_userservice") == null || oRptSubParam.get("rex_userservice") == "") {
- sUserService = gvReportUserService;
- } else {
- sUserService = oRptSubParam.get("rex_userservice");
- }
-
- if (oRptSubParam.get("rex_data") == null) {
- sData = gvReportData;
- } else {
- sData = oRptSubParam.get("rex_data");
- }
-
- oConnection = fCreateConnection(sDataType);
- fGetData(oSubReport, oConnection, sDataType, sUserService, sData);
-
- if (fGetSubReportData() == "each") {
- if (sDataType == "XMLFILE" || sDataType == "XMLSTR") {
- var sXpath = oRptSubParam.get("rex_xpath");
-
- if (isNull(sXpath)) {
- oDataSet = fCreateDataSet(oSubReport, oConnection, sDataType, oDataSet, "", 0);
- } else {
- oDataSet = fCreateDataSet(oSubReport, oConnection, sDataType, oDataSet, sXpath, 0);
- }
- } else {
- oDataSet = fCreateDataSet(oSubReport, oConnection, sDataType, oDataSet, "root/main/rpt1/rexdataset/rexrow", 0);
- }
- if( oDataSet == null ) return ;
-
- if (oRptSubParam.CallBack != null) {
- oRptSubParam.CallBack(oSubReport, oDataSet);
- }
- }
-
- } // end for
- } // end if
- } // end if - share
-
- if (fGetSubReportData() == "once") {
- if (gvReportDataType != "XMLSTR" && gvReportDataType != "CSVSTR") {
- try{
- oConnection.Send();
- }catch(e){
- alert(e.message);
- alert(oConnection.Response());
- }
- }
- if (gvReportDataType == "XMLFILE" || gvReportDataType == "XMLSTR") {
- var sXpath = gvReportXPath;
- if (isNull(sXpath)) {
- oDataSet = fCreateDataSet(oReport, oConnection, gvReportDataType, oDataSet, "", 0);
- } else {
- oDataSet = fCreateDataSet(oReport, oConnection, gvReportDataType, oDataSet, sXpath, 0);
- }
- } else {
- oDataSet = fCreateDataSet(oReport, oConnection, gvReportDataType, oDataSet, "root/main/rpt1/rexdataset/rexrow", 0);
- }
-
- if( oDataSet == null ) return ;
- if (gvMainReportInfos.CallBack != null) {
- gvMainReportInfos.CallBack(oReport, oDataSet);
- }
-
- for (i = 1; i <= oReport.GetReportCount(); i++) {
- oSubReport = oReport.OpenReport(i - 1);
- if (gvReportDataType == "XMLFILE" || gvReportDataType == "XMLSTR") {
- var sXpath = gvMainReportInfos.get("rex_xpath" + i);
-
- if (isNull(sXpath)) {
- oDataSet = fCreateDataSet(oSubReport, oConnection, gvReportDataType, oDataSet, "", i);
- } else {
- oDataSet = fCreateDataSet(oSubReport, oConnection, gvReportDataType, oDataSet, sXpath, i);
- }
- } else {
- oDataSet = fCreateDataSet(oSubReport, oConnection, gvReportDataType, oDataSet, "root/main/rpt" + (i + 1) + "/rexdataset/rexrow", i);
- }
- if( oDataSet == null ) return ;
- }
- }
-
- // Run() 을 RunAsBlocking() 으로 변환 -> 쓰레드사용을 못하게 해서 리포터가 모두 생성된 다음 작업이 가능하도록.
- objRexpert.RunAsBlocking();
-
- } // end fReportPreView
-
- // CreateConnection
- function fCreateConnection(sDataType)
- {
- var oConnection;
-
- if (sDataType == "XMLFILE")
- {
- oConnection = objRexpert.CreateConnection("http.get");
- }
- else if (sDataType == "CSVFILE")
- {
- oConnection = objRexpert.CreateConnection("http.csv");
- }
- else if (sDataType == "XML" || sDataType == "CSV" || sDataType == "" )
- {
- oConnection = objRexpert.CreateConnection("http.post");
- }
- else if (sDataType=="XMLSTR" || sDataType=="CSVSTR" )
- {
- oConnection = objRexpert.CreateConnection("connectionstring");
- }
-
- return oConnection;
- } // end fCreateConnection
-
- // GetData
- function fGetData(oReport, oConnection, sDataType, sUserService, sData)
- {
- var oSQL;
- var oServerConnection;
- var oUserService;
- if (sDataType=="XML" || sDataType=="CSV")
- {
- oConnection.AddParameter("datatype", sDataType);
-
- oSQL = oReport.GetSQLControl();
- oServerConnection = oReport.GetServerConnection();
- oConnection.AddParameter("sql", oSQL.GetSQL());
-
- if ( isNull(sUserService) ) {
- oUserService = oServerConnection.GetParameterValue("service");
- if ( isNull(oUserService) ) {
- oUserService = "jdbc.comdb";
- }
- }else{
- oUserService = "jdbc."+sUserService+"db";
- }
-
- oConnection.AddParameter("userservice", oUserService);
- // if ( isNull(sUserService) ) {
- // oConnection.AddParameter("userservice", is(oServerConnection.GetParameterValue("service")));
- // } else {
- // oConnection.AddParameter("userservice", "jdbc."+sUserService+"db");
- // }
-
- oConnection.Path = gvRexpertServiceURL + gvReportName;
-
- if (fGetSubReportData() == "each") {
- oConnection.Send();
- }
- }
-
- if (sDataType=="XMLFILE" || sDataType=="CSVFILE")
- {
- //oConnection.Path = sData;
- oConnection.Path = getActionURL(gvReportSubmitId) + addReportParameter();
- if (fGetSubReportData() == "each") {
- oConnection.Send();
- }
- }
-
- if (sDataType=="XMLSTR" || sDataType=="CSVSTR")
- {
- oConnection.AddValue("load", sData);
- }
-
- //return oConnection;
- } // end fGetData
-
- function fCreateDataSet(oReport, oConnection, sDataType, oDataSet, sXpath, idx)
- {
- if (sDataType=="XMLFILE" || sDataType == "CSVFILE"){
- if(fGetUserErrorMsg(oConnection, sDataType) == "error") return null;
- }
-
- if (sDataType=="XML" || sDataType == "CSV"){
- if(fGetErrorMsg(oConnection, sDataType) == "error") return null;
- }
- if (sDataType == "CSV" || sDataType == "CSVFILE" || sDataType == "CSVSTR")
- {
- oDataSet = oReport.CreateDataSetCSV(oConnection, idx, rex_gsCsvSeparatorDataset, rex_gsCsvSeparatorRow, rex_gsCsvSeparatorColumn, "");
- }else{
- //CreateDataSetXML([연결객체], [루트요소], [바인딩옵션]);
- //바인딩 옵션 : 0: 노드명으로 XML바인딩 1: 노드순서로 XML바인딩 2: 노드명으로 XML바인딩시 공백허용 3: 노드순서로 XML바인딩 공백허용
- //oDataSet = oReport.CreateDataSetXML(oConnection, sXpath, "2");
- oDataSet = oReport.CreateDataSetXML(oConnection, sXpath, 0);
- }
-
- return oDataSet;
- }
-
- function fGetSubReportData()
- {
- var subreportData = gvMainReportInfos.get("rex_getsubreportdata");
-
- if ( isNull(subreportData) ) {
- return gvSubreportData;
- } else {
- return subreportData;
- }
- }
-
- function fGetErrorMsg(oConnection, sDataType)
- {
- try {
- if(sDataType == "CSV"){
- var sData = oConnection.Response();
-
- if (sData.length > 5) {
- if (sData.substr(0, 5) == "<?xml") {
- var idxStart = sData.indexOf("<error>");
- var idxEnd = sData.indexOf("</error>");
-
- if (idxStart == -1 || idxEnd == -1) return "";
-
- var sErrMsg = sData.substring(idxStart + 7 + 9, idxEnd - 3);
- messageBox(sErrMsg, "C");
- return "error";
- }
- }
- return "";
- }else{ //XML
- var oXMLDOM = oConnection.GetXMLDOM();
-
- if(oXMLDOM != null) {
- oXMLDOM.setProperty("SelectionLanguage", "XPath");
- var oNodes = oXMLDOM.selectSingleNode("rexpert/error");
-
- if(oNodes == null) {
- if (oXMLDOM.parseError.errorCode != 0) {
- var oError = oXMLDOM.parseError;
- messageBox(oError.reason,"C");
- return "error";
- }
- } else {
- messageBox(oNodes.text, "C");
- return "error";
- }
- }
- return "";
- }
- } catch(e) {
- messageBox(e.message, "C");
- return "error";
- }
- } // end fGetErrorMsg
- // 사용자 에러 메시지 처리 - 강남 성모병원
- function fGetUserErrorMsg(oConnection, sDataType)
- {
- var oXMLDOM = oConnection.GetXMLDOM();
-
- if(oXMLDOM != null) {
- try {
- oXMLDOM.setProperty("SelectionLanguage", "XPath");
- var oNode = oXMLDOM.selectSingleNode("//resultKM");
- var sErrMsg = oNode.getAttributeNode("description").text;
- handleSystemMessage(sErrMsg);
- showSystemMessage(false);
- } catch(e) {
- messageBox(e.message, "C");
- return "error";
- }
- }
- } // end fGetUserErrorMsg
-
- function fCloseReport(){
- objRexpert.CloseReport();
- }
-
- ]]>
- </script>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/SPZUR00100.js"/>
- </xhtml:head>
- <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <object id="objRexpert" clsid="{9e1f4a27-7eb0-4210-98d8-1ccf6671f483}" style="left:1%; top:1%; width:98%; height:98%; ">
- <script for="objRexpert" type="javascript" ev:event="EndLoadReport()">
- <![CDATA[
- // 해당 출력물의 전체 페이지 갯수 저장
- var pageCount = objRexpert.GetPageCount();
- opener.javascript.setParameter("reportPageCount", pageCount);
-
- //바로 파일 저장 설정
- //SaveAs([타입명], [저장 경로], [시작페이지], [끝페이지], [옵션리스트])
- var reportSaveFileType = gvMainReportInfos.get("rex_filetype");
- var reportSaveFileName = gvMainReportInfos.get("rex_filename");
- var reportSaveFileDialog = gvMainReportInfos.get("rex_filedialog");
- if (! isNull(reportSaveFileType)) {
- if(! checkSaveAsFileType(reportSaveFileType)) messageBox("지원하지 않는 파일타입", "E008");
- if( isNull(reportSaveFileName) ) reportSaveFileName = gvReportName;
- if( isNull(reportSaveFileDialog) ) reportSaveFileDialog = 0;
- objRexpert.SaveAs(reportSaveFileType, "c:\\report\\" + reportSaveFileName + "." + reportSaveFileType, 1, -1, "ShowFileDialog=" + reportSaveFileDialog);
- }
-
- //objRexpert.SaveAsFilter = "doc";
-
- //바로 출력 설정
- //PrintEx2([인쇄창보임여부], [시작페이지] [끝페이지], [출력매수], [출력프린터]);
-
- //<< 옵션으로 사용할수 있는 문자열>>
- //* enablezoom : 확대/축소인쇄가능 (예) - > 0/1
- //* zoomnumber : 모아찍기 (예) - > 0/1/2/3/4/5/6
- //* zoomdirection : 출력순서 (예) - > 0/1
- //* enablefittingpaper : 용지크기에 자동 맞춤 (예) - > 0/1
- //* printpaper : 출력용지 (예) - > 0/1/2/3/4/5/6
- //* printdirection : 용지방향 (예) - > 0/1
- //* papersetting : 용지설정 (예) - > 0/1
- //* offsetx : 인쇄위치(가로) (예) - > 100
- //* offsety : 인쇄위치(세로) (예) - > 100
- //* duplex : 양면인쇄 (예) - > 0/1/2/3
- //예)
- //objRexpert.PrintOption = "enablezoom=1;enablefittingpaper=0;printdirection=1;" (사용자정의)
- var reportPrint = gvMainReportInfos.get("rex_print");
- var reportPrintDialog = gvMainReportInfos.get("rex_printdialog");
- var reportPrintPaperBin = gvMainReportInfos.get("rex_printpaperbin");
- var reportPrintCount = gvMainReportInfos.get("rex_printcount");
- var reportPrintOption = gvMainReportInfos.get("rex_printoption");
- var reportPrinterName = "";
-
- // 바로 출력
- if (! (isNull(reportPrint) || reportPrint == "false") ){
- if(reportPrint == "true") {
- reportPrinterName = "";
- }else{
- reportPrinterName = reportPrint;
- }
-
- if( isNull(reportPrintDialog) ) reportPrintDialog = "false";
- if(! isNull(reportPrintPaperBin) ) objRexpert.PrinterPaperBin = reportPrintPaperBin;
- if( isNull(reportPrintCount) ) reportPrintCount = "1";
- if(! isNull(reportPrintOption) ) objRexpert.PrintOption = reportPrintOption;
- objRexpert.PrintEx2(reportPrintDialog, 1, -1, reportPrintCount, "printername="+reportPrinterName);
- }else{
- //이벤트가 끝나고 나서 "objRexpert.PrintEx2" 에서 FinishPrint 마무리 이벤트를 호출합니다.
- //위에 if문상 출력을 false하면 마무리 이벤트를 호출 안하니 else로 강제 호출하도록 추가합니다.
- //20101228 cys
- opener.model.dispatch("onPrintFinished");
- opener.javascript.setParameter("reportprintyn","N");
- var reportCloseYn = gvMainReportInfos.get("rex_close");
-
- if(reportCloseYn == "true"){
- if(window.type == "iviewer"){
- opener.window.close();
- }else{
- window.close();
- }
- }
- }
-
- // 해당 출력물의 로딩(출력/저장포함)이 끝났을 경우 이벤트 발생(설정한 전체 페이지갯수를 전달할 포인트)
- opener.model.dispatch("onEndLoadReport");
- ]]>
- </script>
- <script for="objRexpert" type="javascript" ev:event="FinishPrint()">
- <![CDATA[
-
- // 임시파일 삭제를 위하여 호출
- //fCloseReport();
-
- // 사용자가 출력버튼 클릭 후, 인쇄작업이 끝났을 때 dispatch
- // 출력이 정상적으로 종료되었는지 아닌지는 알 수 없다.
- opener.model.dispatch("onPrintFinished");
- //messageBox("출력이", "I002");
- opener.javascript.setParameter("reportprintyn","Y");
- //미리보기창 닫기
- var reportCloseYn = gvMainReportInfos.get("rex_close");
- if(reportCloseYn == "true"){
- if(window.type == "iviewer"){
- opener.window.close();
- }else{
- window.close();
- }
- }
- ]]>
- </script>
- <script for="objRexpert" type="javascript" ev:event="FinishSaveAs(FileName)">
- <![CDATA[
- // 사용자가 저장버튼 클릭 후, 저장작업이 끝났을 때 dispatch
- opener.model.dispatch("onSaveFinished");
- //messageBox("파일저장이", "I002", FileName);
- opener.javascript.setParameter("reportsaveyn","Y");
- //미리보기창 닫기
- var reportCloseYn = gvMainReportInfos.get("rex_close");
- if(reportCloseYn == "true"){
- if(window.type == "iviewer"){
- opener.window.close();
- }else{
- window.close();
- }
- }
- ]]>
- </script>
- </object>
- </xhtml:body>
- </xhtml:html>
|