this and that

SBM with Gantt Chart 본문

SBM

SBM with Gantt Chart

미스터림 2011. 12. 13. 10:41
SBM에 관리되는 날짜 데이터를 Gantt Chart로 변환하여 쉽게 볼 수 있도록 한다.
아래 그림은 JSGantt (http://jsgantt.com) 를 활용하여 SBM 데이터에 Gantt View로 적용시켜본 그림이다.


SBM의 레코드ID로 필터링을 하면 아래와 같이 아이템에 해당하는 데이터만 Gantt View를 볼 수 있다.




Gantt 뷰를 사용하기 위해서 SBM AppScript를 활용한다.

1) http://jsgantt.com 에서 jsgantt.zip을 다운로드 한다.

2) jsgantt.zip을 <SBM ROOT>/bin/addon/ 폴더에 압축을 해제한다. (경로는 임의변경 가능)

3) 링크된 SBM 아이템이 고정된 사이즈로 열리는 것을 방지하기 위해 jsgant.js 파일을 수정한다.
    var OpenWindow=window.open(pRef, "newwin", "height="+vHeight+",width="+vWidth); (수정 전)
    var OpenWindow=window.open(pRef, "newwin"); (수정 후)

4) 만약 윈도우 서버에서 날짜 형식이 MM/dd/YYYY 와 같이 설정되어 있다면, 아래와 같은 라인을 찾아서 date 포맷을 변경해줘야 한다.
      g.setDateInputFormat('mm/dd/yyyy')

5) SBM 프로세스앱 필드값을 설정한다.

Parent 테이블
- 날짜 필드 2개 (시작, 종료일, date only로 설정)

Children 테이블
- Parent 아이템과 연계를 위한 Single Relational 필드
- 날짜 필드 2개 (시작, 종료일, date only로 설정)
- Multi-Relational 필드 (같은 테이블의 Child 아이템 연계)
- 완료상태(퍼센트)를 위한 Number 필드
- Single selection 필드(진행상태 표시를 위해 Green, Yellow, Red로 표현)

6) 첨부된 스크립트 내용을 SBM 프로세스앱 새로운 AppScript로 추가한다.


7) 스크립트의 내용의 변수값들을 환경에 맞게 변경한다.

8) SBM Composer에서 "Web Widget"을 만든 후 다음 URL을 입력한다.
tmtrack.dll?ScriptPage&scriptName=fillGanttWidget&recordid={_RecordId}


<샘플파일>
Comments