본 포스터에서는 이전에 작성한 도서 관리 프로그램에서 사용하고 있는 레코드의 데이터 타입 이외에 자주 사용되는 데이터 타입의 사용법에 대해 알아보겠습니다.

 

이전에 작성한 도서 관리 프로그램은 아래의 링크에서 확인하실 수 있습니다.

2020/07/02 - [Salesforce.com/Force.com] - [SFDC] Salesforce 기초4) Apex와 Visualforce 개발 연습 - 도서 관리 프로그램


# 목차

  • 화면 설계(추가)

  • 개체 및 레코드 추가

  • 소스 코드 작성

  • 결과 화면


# 화면 설계(추가)

 

이번 도서 관리 프로그램은 이전에 작성한 프로그램에서 회원 관리 화면을 추가하겠습니다.

 

추가할 화면은 아래와 같습니다.

  • 회원 검색 화면

  • 회원 상세 화면

  • 회원 편집 화면

또한, 도서 개체에 아래의 아래의 레코드를 추가하겠습니다.

  • 대여 유무 : 확인란

  • 대여자 번호 : 텍스트

  • 대여자 이름 : 텍스트

  • 대여자 : 조회관계(회원)

  • 대여일 : 날짜

  • 반납일 : 날짜

도서관리 프로그램(도서 관리 화면 설계서).xlsx
0.04MB

 


# 개체 및 레코드 추가

 

먼저, "회원(Member__c)"이라는 명칭의 개체를 추가합니다.

 

그 후, "회원" 개체에 다음 레코드를 추가해줍니다.

※ 개체 및 레코드(필드) 추가는 [SFDC] Salesforce 기초3) 개체(오브젝트)의 생성 및 사용법 를 참고해주세요.

추가할 레코드

필드 레이블명 필드명(API 참조명) 데이터타입 길이 선택항목
회원 번호 MemberNo__c 텍스트 10  
회원명 Name 텍스트 80  
회원 등록일 RegistDate__c 날짜    
전화 번호 Phone__c 전화    
이메일 주소 Email__c 이메일    
대여 유무 IsLental__c 확인란    
반납 유무 ReturnBook__c 선택항목   미대여, 미반납, 반납, 연체

 

개체 및 레코드 추가 결과는 다음과 같습니다.

 

다음으로, "도서" 개체에 아래의 레코드를 추가합니다.

 

 추가할 레코드

필드 레이블명 필드명(API 참조명) 데이터타입 길이 선택항목 비고
대여 유무 IsLent__c 확인란      
대여자 번호 LenderNo__c 텍스트 10    
대여자 이름 LenderName__c 텍스트 80    
대여자 Lender__c 조회관계(회원)     하위 관계 이름 : Lender_Book_Rel
대여일 LentDate__c 날짜      
반납일 ReturnDate__c 날짜      

 

레코드 추가 결과

도서.xlsx
0.01MB
회원.xlsx
0.01MB

 

※ 레코드의 데이터타입 관련 주의

1. [참조 관계] : 참조 관계에 설정되는 은 참조 대상 레코드의 ID 값

  1-1) 참조 중인 개체의 레코드를 참조하는 방법은 [API참조명__r.레코드명]

      예) 도서 개체의 회원(Lender__c) 을 통해, 회원의 회원번호 레코드 참조

           => Lender__r.MemberNo__c

 

2. [날짜 or 날짜/시간] : 날짜 또는 날짜/시간의 값은 현재 Salesforce 개인 설정에 설정되어 있는 지역, 언어에 따라 표시되는 포맷이 다르다.

      예) 한국 => 2020. 7. 20.  (가장 마지막에 붙어있는 [온점(.)] 이 없으면 에러)

           일본 => 2020/7/20

           미국 => 7/20/2020

 

3. [이메일, 전화, FAX] : 실제 코드에서는 기본적으로 텍스트 형식으로 취급함.


# 소스 코드 작성

 

추가할 클래스와 페이지는 다음과 같습니다.

 

☞ Apex 클래스

  • CntrlMemberSearch : 회원 검색 화면 컨트롤러

  • CntrlMemberDetail : 회원 상세 화면 컨트롤러

  • CntrlMemberEdit : 회원 편집 화면 컨트롤러

  • DaoMember : 회원 개체에 접근하기 위한 Dao

☞ Visualforce 페이지

  • MemberSearch : 회원 검색 화면

  • MemberDetail : 회원 상세 화면

  • MemberEdit : 회원 편집 화면

 

소스 코드아래의 링크에서 확인하실 수 있습니다.

https://github.com/mokochi/Blog_SFDC_force.com_basic5

 

 

※ 소스 코드 관련 추가 설명

1. [SelectOption 타입] : 컨트롤러 클래스에서 사용중인 "SelectOption" 타입은 선택리스트, 체크 박스와 같이 선택 관련 요소를 만드는데 사용되는 데이터 타입

 

2. Visualforce화면은 HTML 태그 만으로도 구성이 가능하다.

 

3. [<apex:pageBlockSectionItem> 태그] : 기본적으로, pageBlockSectionItem 태그는 <apex:pageBlockSection> 태그 내에서만 사용 가능하다.

이 외에 <apex:pageBlockSectionItem>을 사용하는 곳사용하지 않는 곳구분하는 방법

개체의 레코드를 직접적으로 표시하는 경우,

즉, <apex:outputField> 또는 <apex:inputField>를 사용하는 경우는 필요가 없지만,

 

그 외의 경우에는 <apex:pageBlockSectionItem> 태그를 사용하여 <apex:pageBlockSection> 내에서 표시할 요소라는 것을 지정해 줄 필요가 있다.

 

★ 페이지의 각종 태그에 대한 정보나, 클래스에서 사용하는 데이터 타입, 메서드와 같은 정보는

   페이지 맨 아래에 표시중인 Salesforce 가이드를 참고해주세요. ★

 


# 결과 화면

 *메뉴 화면 

 

 *회원 검색 화면(검색 전) 

 

 *회원 검색 화면(검색 후) 

 

 *회원 상세 화면 

 

 *회원 편집 화면(추가) 

 

 *회원 편집 화면(편집) 

 

 *도서 상세 화면 

 

 *도서 편집 화면(편집) 

 

 *도서 편집 화면(대여자 지정) 


이상으로 실제 개발시에 자주 사용하는 레코드 데이터 타입의 사용 방법에 대해 간단히 알아보았습니다.

 

물론 전부 다 사용해보지 않았기 때문에, 앞으로도 천천히 추가해 나갈 생각입니다만,

 

다음 포스트 부터는 기술적인 부분을 위주로 올릴 예정입니다.

즉, 개발 기초에 대한 내용은 이번 포스트로 끝입니다.

 

제가 생각하기에도 기초라고 해놓고선 설명이 부족한 부분이 많았고,글을 올리고 난 뒤 읽어보면 뭔가 일단

"그냥 소스 보고 따라쳐보세요. 가능한 주석 많이 달아놨으니 읽고 이해해보세요."

라는 느낌의 글이 되어 있었습니다.

 

아마 인터넷에 글을 쓰는 것이 처음이다보니 어찌 써야할 지 몰라 넘겨버리게 되는 부분이 있었던 것 같습니다.

(실제 SNS나 인터넷 이런 곳에 댓글이나 타임라인도 거의 안쓰는 사람이라..)

 

그런 부분에 있어서는 댓글 같은이나 방명록 등, 얼마든지 질문해주시면 제가 알고 있는 지식 선에서, 또는 같이 조사해보고 되도록 대답해 드리도록 노력할 생각입니다.

 

물론, 앞으로 계속해서 올릴 글에서도 가능한 자세하게 설명을 추가할 것입니다.

 

다음 포스트로 어떤 글을 올릴지 아직 정하지 않았으나, 가까운 시일내에, 그리고 꾸준히 올릴 수 있도록 하겠습니다.

 

p.s) 참고로, 제 글이나 GitHub에 있는 소스 얼마든지 퍼가셔도 됩니다만, 기본적으로 출처 정도는 남겨주시면 감사하겠습니다.

 

 

 

 

 

참고1) https://developer.salesforce.com/docs/atlas.en-us.224.0.apexcode.meta/apexcode/apex_dev_guide.htm - Apex 개발자 가이드

참고2) https://developer.salesforce.com/docs/atlas.en-us.226.0.pages.meta/pages/pages_intro.htm - Visualforce 개발자 가이드

 

 

 

 

 

 

 

 

 

 

+ Recent posts