...
- 상단 메뉴에서 [Process Bot]을 실행합니다.
- [Process Bot] 창의 좌측 목록에서 'VS_PRODUCT'를 더블 클릭합니다.
- Activities 탭을 클릭하고, '전체 선택'로 검색 >'멀티 콤보박스 전체 선택으로 변경' 모듈을 더블 클릭합니다.
모듈 아이콘(
)을 클릭 후, 세부 옵션을 설정합니다.- 모듈 구성 내용에 맞게 옵션 선택
- [저장] 버튼 눌러 모듈 설정 완료
콤보박스에 데이터가 연결될 때, 모듈을 실행되기 위해 'OnDataBindEnd'를 Drag하여 모듈과 연결합니다.
4.2 Chart 조회 시, 변수값 설정 및 Olap-Grid 조회
- Object 탭을 클릭하고, 'Bar_Chart'를 더블 클릭합니다.
- Activities 탭을 클릭하고, '세팅하기'로 검색 >'[Variable] 변수 여러 개 값 세팅하기' 모듈을 더블 클릭합니다.
모듈 아이콘(
)을 클릭 후, 세부 옵션을 설정합니다.- 모듈 구성 내용에 맞게 옵션 선택
- 변수명에 ' VN_FLD,VS_PRO_M '을 입력합니다.
- 세팅할 값에 ' PROD_M_NM, '을 입력합니다.
(※ ',' 뒤에 값을 비운 이유는 VS_PRO_M 변수에 null 값을 주기 위함) - [저장] 버튼 눌러 모듈 설정 완료
- Chart에 데이터가 연결될 때, 모듈을 실행되기 위해 'OnDataBindEnd'를 Drag하여 모듈과 연결합니다.
4.3 차트 클릭 시 변수값 설정 및 Olap-Grid 조회
- Object 탭을 클릭하고, 'Report'를 더블 클릭합니다.
- Activities 탭을 클릭하고, 'Point'로 검색 >'차트 Point 클릭 시 변수 설정하기' 모듈을 더블 클릭합니다.
모듈 아이콘(
)을 클릭 후, 세부 옵션을 설정합니다.- 모듈 구성 내용에 맞게 옵션 선택
- 클릭할 차트를 'Bar_Chart'로 선택하고 해당 차트의 Point 값을 담을 변수를 'VS_PRO_M'으로 입력합니다.
- 추가로 세팅할 변수에 변수명을 'VN_FLD' 변수값에 'PROD_NM'을 입력합니다.
- 차트를 클릭한 후, 컨트롤을 조회하기 위해 'PivotGrid'를 선택 합니다.
- [저장] 버튼 눌러 모듈 설정 완료
- 보고서가 OPEN될 때, 모듈을 실행되기 위해 'OnDocumentLoadComplete'를 Drag하여 모듈과 연결합니다.
4.4 조회 버튼 클릭 시 차트 조회
- Object 탭을 클릭하고, 'BTN_Refresh'를 더블 클릭합니다.
- Activities 탭을 클릭하고, 'Refresh'를 더블 클릭합니다.
모듈 아이콘(
)을 클릭 후, 세부 옵션을 설정합니다.- 모듈 구성 내용에 맞게 옵션 선택
- [저장] 버튼 눌러 모듈 설정 완료
- Button을 클릭할 때, 모듈이 실행되기 위해 'OnClick'을 Drag하여 모듈과 연결합니다.
- 저장을 클릭하여 Process Bot을 저장합니다.
...
- UI Bot - Label 배치
- 작업자 이름을 설정할 라벨 컨트롤의 Name을 변경합니다.
- Name : USER_NM
- Process Bot을 활용하여 사용자명을 변수로 설정합니다.
- Activities 탭을 클릭하고, '유저정보'로 검색 > '변수편집기 변수 값 유저정보로 설정' 모듈을 더블 클릭합니다.
- 모듈 아이콘( )을 클릭 후, 세부 옵션을 설정합니다. > 변수명 입력 : VS_USER > [저장] 버튼 눌러 모듈 설정 완료
- 보고서가 OPEN될 때, 모듈을 실행되기 위해 'OnDocumentLoadComplete'를 Drag하여 모듈과 연결합니다.
- Process Bot을 저장하고 라벨 컨트롤 Formula의 더 보기 버튼을 클릭하여 수식 편집기 창을 실행합니다.
수식 편집기를 통해 사용자명을 표시합니다.
펼치기 title 사용한 수식 펼치기 "· 접속정보 : " + :VS_USER
...
코드 블럭 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
select * from EDU_DEV_COMMENT_EDIT where 1=1 and yymm = :VS_YEAR and PRODUCT_NM =( case when :VS_PRO_M = '' then '전체' else :VS_PRO_M end ) |
6.3
...
List-Grid 동작
...
보고서 동작을 위한 스크립트를 추가로 작성합니다.
1. 컨트롤 객체 변수 선언
코드 블럭 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
var VS_PRODUCT;
var VS_PRODUCT_NM;
var DataGrid;
/*****************************************
* 문서 로드 된 후 AutoRefresh 전에 발생합니다.
* * arguments :
*****************************************/
var OnDocumentLoadComplete = function(sender, args)
{
VS_PRODUCT = Matrix.getObject("VS_PRODUCT");
VS_PRODUCT_NM = Matrix.getObject("VS_PRODUCT_NM");
DataGrid = Matrix.getObject("DataGrid");
Matrix.getObject("USER_NM").Text = "- 접속정보 : "+Matrix.GetUserInfo().UserName;
VS_PRODUCT.SelectedAllText = "전체";
VS_PRODUCT.Update();
}; |
2. 제품명 표시 라벨의 초기값 설정, List-Grid 조회, List-Grid 값 설정
코드 블럭 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
/*****************************************
* 컨트롤에 데이터셋이 바인딩된 후 발생합니다.
* * arguments :
* string Id (Readonly:False) : 컨트롤이름
* int RecordCount (Readonly:False) : 데이터셋의 레코드 수량
*****************************************/
var OnDataBindEnd = function(sender, args)
{
if(args.Id == "VS_PRODUCT"){
VS_PRODUCT.CheckAll();
Matrix.doRefresh("Bar_Chart");
}else if(args.Id == "Bar_Chart"){
Matrix.SetVariable("VS_PRO_M", "");
Matrix.SetVariable("VN_FLD", "PROD_M_NM");
VS_PRODUCT_NM.Text = "▶ 제품 : 전체";
Matrix.doRefresh("PivotGrid, DataGrid");
}else if(args.Id == "DataGrid"){
if(args.RecordCount <= 0){
var r = DataGrid.AppendRow();
var val = Matrix.GetVariable("VS_PRO_M");
if(val == null){
val = "전체";
}
r.SetValue("PRODUCT_NM" ,val);
DataGrid.Update();
}
}
}; |
...
설정
List-Grid 내용을 저장하기 위해 Process Bot에 동작을 설정 합니다.
List-Grid 조회 설정
- 상단 메뉴에서 [Process Bot]을 실행합니다.
- Bar_Chart가 DataBindEnd될 때, 그리고 Chart Point를 클릭 했을 때 조회하도록 설정합니다.
- (Chart의 Point값을 변수로 다시 데이터 조회)
List-Grid 초기 값 설정
- List-Grid의 변수인 'VS_PRO_M'이 전체인 경우, 빈 행을 추가 하기 위해 설정
- Object 탭에서 'DataGrid'를 선택합니다.
- Activities 탭을 클릭하고, '행 추가'로 검색 > '데이터 그리드에 데이터가 없을 시 행 추가' 모듈을 더블 클릭합니다.
- 모듈 아이콘()을 클릭 후, 세부 옵션을 설정합니다. > 'DataGrid' 선택 > [저장] 버튼 눌러 모듈 설정 완료
- List-Grid의 데이터와 연결될 때, 모듈을 실행되기 위해 'OnDataBindEnd'를 Drag하여 모듈과 연결합니다.
제품명을 표시할 Label 컨트롤의 속성을 설정합니다.
- Label 컨트롤 'VS_PRODUCT_NM'의 Formula를 클릭합니다.
- 좌측 목록에서 IF 함수와 제품명 변수 'VS_PRO_M'을 선택하여 수식을 작성한 후 [적용] 버튼을 눌러 필드에 적용합니다.
코드 블럭 language js firstline 1 title
...
OnDataBindEnd linenumbers true collapse true
...
IF(:VS_PRO_M
...
= null, "
...
▶ 제품 : 전체", "▶ 제품 : "+
...
:VS_PRO_M)
6.4 컨트롤 속성 변경
데이터 CRUD를 위해 컨트롤의 속성을 변경합니다.
...
- DB Bot > DB Upload Plan을 선택하여 실행 계획 디자인 창을 실행합니다.
- 테이블 검색 - DB 선택 - edu_dev_comment_edit 테이블 선택 - 확인을 선택하여 DB와 테이블을 연결합니다.
데이터 컨트롤 선택 영역에서 DataGrid를 선택하여 데이터 컨트롤을 연결합니다.
-참고사항 title 참고 : 컬럼 연결 선택한 데이터 컨트롤에 연결된 테이블과 실행 계획 디자인의 테이블이 동일하면 컬럼 연결은 자동으로 됩니다.
그렇지 않은 경우 컬럼 연결 셀을 더블 클릭하여 데이터 컨트롤 상의 컬럼과 연결합니다.
- 데이터 유형에 맞춰 YYMM 컬럼과 PRODUCT_NM 컬럼의 Key 유형을 Primary로 설정합니다.
- 데이터 유형을 변경하여 데이터 생성 및 수정 시 UserCode가 저장되도록 설정합니다.
- CREATE_USER, UPDATE_USER : UserCode
- 신규 데이터만 저장할 컬럼과 업데이트 데이터만 저장할 컬럼의 저장 모드를 변경합니다.
- CREATE_DT, CREATE_USER : InsertOnly
- UPDATE_DT, UPDATE_USER : UpdateOnly
YYMM 필드의 사용자 지정 영역을 더블 클릭하여 년월 컨트롤의 Name을 변수로 연결합니다.
펼치기 title 사용한 수식 펼치기 :VS_YEAR
PRODUCT_NM 필드의 사용자 지정 영역을 더블 클릭하여 결과에 따라 제품명이 설정되도록 함수를 작성합니다.
펼치기 title 사용한 수식 펼치기 (case when :VS_PRO_M = '' then '전체' else :VS_PRO_M end)
- 확인 버튼을 눌러 실행 계획 디자인 창을 닫습니다.
6.6 Process Bot 활용 저장 동작 설정
...
- Process Bot을 클릭하여 프로세스 봇 창을 실행합니다.
VS_PRODUCT(제품 - 저장 버튼(BTN_SAVE) 컨트롤을 더블 클릭합니다.
- Activities 탭을 클릭하고, 'RefreshExecute Plan' 모듈을 을 더블 클릭합니다.
- Refresh 모듈 아이콘( )을 클릭 후, 세부 옵션을 설정합니다.
- 모듈 구성 내용에 맞게 옵션 선택
- 조회할 컨트롤 Bar_Chart 선택
- DB upload Plan에서 만들어 둔 실행 계획을 선택합니다.
- 정상 처리 후 메시지 표시에 '저장 완료'를 입력합니다.
- [저장] 버튼 눌러 모듈 설정 완료
- VS_PRODUCT > OnDataBindEnd 이벤트에 Refresh 모듈을 연결합니다.
- ㄴㅇㄹ
- 내일 하자 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 12
- 저장 버튼(BTN_SAVE)의 클릭 이벤트에 동작을 설정한 후 확인 버튼을 클릭하여 프로세스 봇 설정을 완료합니다.
- 실행 계획 : PLAN_1
- MessageBox : 저장되었습니다.
- 저장 버튼을 클릭할 때, Execute Plan이 실행 되기 위해 'OnClick'을 Drag하여 모듈과 연결합니다.
마지막으로 보고서가 정상적으로 작동하는지 확인합니다.