기타 프로그램/oz

[ 오즈 리포트 디자이너 ] 오즈스크립트 와 자바스크립트

곰돌이생각해보니 2021. 7. 24. 16:26

오즈스크립트와 자바스크립트로 어떻게 오즈의 개체들을 사용하는지 공부해보자.

 

✨오즈스크립트

- 자료형 : int, double, string, Date

 

- 데이터 필드 정의 : #데이터셋명.필드명# or #필드명#

- 사용자 지정 파라미터, 폼 파라미터 정의 : #OZParam.파라미터명#, #OZFormParam.파라미터명#

 

- 전역 변수 선언 : global pagesum; 

- 전역 변수 초기화: ::pagesum = 0;

 

- 지역 변수 선언 : double pagenum;

- 지역 변수 초기화 : pagenum = 0;

 

 

🍕자바스크립트

- var 로 선언하고 변수의 내용에 따라 타입이 결정된다.

 

- 전역 변수 초기화 :  SetGlobal("pagesume", 0);

- 전역 변수 사용 : This.SetText( GetGlobal("pagesume"));

 

- 지역 변수 선언 및 초기화 : var pagesume = 0;

 

- 예약어 This : 현재 컴포넌트

 

- 주요 이벤트

 

 

 

🍔 디버깅

디버깅 하는 방법

 

 

🍟 적용 할 만한 자바스크립트 예제

 

✔ 페이지 마다 5건씩 출력하기

SCRIPT_BEGIN .Report1.FixedTableLabel1.OnBind // 리포트명.하위요소명.이벤트(여기선 바인딩 될 때)
	if(This.GetDataSetRowIndex() % 5 == 0) // 행 인덱스를 5로 나눈 나머지 값이 0인 경우
    	This.SetForceNewPage(true); // 강제로 페이지 넘기기
	}
SCRIPT_END

 

 

✔ 날짜 포맷 적용하기

SCRIPT_BEGIN .Report1.Label23.OnBind // 리포트1의 라벨23이 바인딩 될 때 스크립트가 시작된다.
	var currData = This.GetDataSetValue("데이터셋명.필드명"); // 데이터 필드 값을 변수에 설정 "yyyy-mm-dd"
    var newText = _FormatDate(_ParseDate(currData, "currData의 현포맷"), "yyyy/MM/dd"); //문자열을 날짜값
    (double)로 변환한 후 포맷 설정
    This.SetText(newText); //라벨 텍스트 변경
SCRIPT_END

 

 

 

 

 

 

 

 

 

 

 

참조 https://www.forcs.com/kr/file/OZReport%208.0%20trainingbook.pdf