페이지 트리

버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

  1. 원인
    1. 매트릭스 표준 보고서 변수 전달 규약은 Base64.encode로 전달 및 decode를 기준으로 합니다.
    2. Base64.encode되지 않은 값이 자식창에서 base64.encode된 문자열로 오인하여 decode 시도하여 한글이 깨지는 현상이 발생합니다.

  2. 해결 방법
        - 부모창에서 파라메터 전달 시 Base64.encode 후 전달하는 방법

    코드 블럭
    title부모창 JScript 예시
    linenumberstrue
    collapsetrue
     /**************************************
     * 버튼 컨트롤이 클릭되는 시점에 발생합니다.
     * * arguments :  
     *		string Id (Readonly:False) : 컨트롤이름 
     *		string Text (Readonly:False) : 라벨 값 
    **************************************/
    var OnButtonClick  = function(sender, args){
    	if(args.Id == "Button"){
    		var val1 = "123";  // 정상
    		var val2 = "1234"; // 깨짐
    
    		Matrix.RunScriptEx("", "Service1", {"VS_VAL1":val1,"VS_VAL2":val2}, function(p) {
                    if(p.Success == false){
    					Matrix.Alert(p.Message);
    					return;
                    }
    				var ds = p.DataSet;
    
                    var params = [
    					{ KEY: "VS_DETAIL_CURRENCY1", VALUE: ds[0].VS_VAL1 },
    					{ KEY: "VS_DETAIL_CURRENCY2", VALUE: ds[1].VS_VAL2 }
    				];
    				// 테스트 자식보고서
    				window.top.fnCustomReportOpen("REP01129117F9624529B667413081703571", false, false, params);
        	});
    	}
    };


    코드 블럭
    title부모창 ServerScript 예시
    linenumberstrue
    collapsetrue
    /** ************************************
    * SERVER - SCRIPT
    * 
    ************************************ **/
    var req = Matrix.getRequest(); /* request */
    var res = Matrix.getResponse(); /* response */
    var session  = Matrix.getSession(); /* session */
    var util = Matrix.getUtility(); /* utility */
    
    var val1 = req.getParam("VS_VAL1");
    var val2 = req.getParam("VS_VAL2");
    
    try{
       var writer = res.getJsonResponseWriter();	 								  
    	writer.beginArray();
       writer.beginObject();
       writer.addProperty("VS_VAL1", util.getBase64EncodingString(val1));
       writer.endObject();
       writer.beginObject();
       writer.addProperty("VS_VAL2", util.getBase64EncodingString(val2));
       writer.endObject();
      	writer.endArray();
    	writer.close();
    
    }catch(e){
    	Matrix.ThrowException("Server Script Error:" + e.message);
    }
    
    

    View file
    nameG1956_Sender.mtsz
    height250
    View file
    nameG1956_Reciever.mtsz
    height250