Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
SmallBuilder는 AppExchange에서 바로 설치 가능합니다.
SmallBuilder를 설치하면 Trial 상태로 설치됩니다. Trial 상태에서도 Line-item Configurator, Document Template 및 List를 구현 가능합니다. 다만 3개의 기능 중 1개의 Setup 만 사용 가능하며 추가 Setup을 위해서는 라이센스를 구매하여야 합니다.
SmallBuilder 정식라이센스는 사용자당 부여되어야 합니다. 라이센스를 부여하는 방식은 다음과 같습니다.
다만 Trial 상태에서는 개별 사용자에게 라이센스 부여할 필요 없이 모든 사용자가 사용 가능합니다.
설정(Setup) > 사용자(Users)로 이동합니다.
라이센스 부여할 사용자의 상세 화면으로 들어갑니다.
하단의 관리 패키지(Managed Packages)에서 라이센스 할당(Assign Licenses) 버튼을 누릅니다.
라이센스 할당(Assign Licenses) 화면에서 SmallBuilder를 선택 후 추가 버튼을 누릅니다.
현재 패키지의 라이센스 상태는 설정(Setup) > 설치된 패키지(Installed Packages)에서 확인 가능합니다.
어느 사용자에게 라이센스가 할당 되었는지 확인하려는 경우,
설정(Setup) > 설치된 패키지(Installed Packages)로 이동합니다.
SmallBuilder를 클릭합니다.
라이센스 관리(Manage Licenses) 버튼을 클릭합니다.
SmallBuilder를 사용하기 위해 권한 설정이 필요합니다. 기본적으로 관리자는 권한이 할당되지만 패키지 설치 전에 '모든 사용자에게 설치(Install for All Users)'를 선택하지 않은 경우 SmallBuilder를 사용하려는 사용자에게 권한 집합을 추가해줘야 합니다.
설정 > 권한 집합으로 이동합니다.
SmallBuilderManager 또는 SmallBuilderUser를 선택합니다.
할당 관리 버튼을 클릭하여 사용자들을 추가합니다.
Add Button, Add Tab 기능을 사용하기 위한 명명된 자격증명 설정
앱 관리자 > 새로 연결된 앱
연결된 앱 설정 입력
연결된 앱 이름 : SmallBuilderCredential
API 이름 : SmallBuilderCredential
OAuth 설정 활성화 : check
콜백 url : http://dummy.com ( 더미 url )
사용가능한 OAuth 범위 : 언제든지 요청 수정, 전체 액세스
지원되는 인가 플로에 대한 PKCE(Proof Key for Code Exchange) 확장 필요 : uncheck
OAuth 정책 변경
허용된 사용자 : 모든 사용자가 자체 승인할 수 있음
소비자 키, 소비자 암호 획득
설정 > 앱 관리자 > SmallBuilderCredential 보기 > 고객 세부사항 관리 > 로그인
인증 공급자 생성
이름 : SmallBuilderCredential
소비자키 : 위에서 획득한 소비자키 입력
소비자 암호 : 위에서 획득한 소비자 암호 입력
Call Back Url 입력
인증공급자 이름 클릭 후 스크롤 하여 콜백 URL 복사
복사한 콜백 url 입력
내 도메인 획득
명명된 자격증명 생성
레이블 : SmallBuilderCredential
이름 : SmallBuilderCredential
URL : 8에서 획득한 내 도메인 입력 ( https://example.my.salesforce.com/)
ID 유형 : 명명된 주체
인증 프로토콜 : OAuth 2.0
인증 공급자 : SmallBuilderCredential
범위 : refresh_token full offline_access
SmallBuilder 앱에서 Line-Item Configurator 탭으로 이동한 후 New 버튼을 누르세요.
Line-item Configurator를 신규 생성 또는 편집시에 Builder가 실행됩니다.
그러면 빌더 화면으로 이동됩니다. 빌더는 크게 설정 단계, 사이드 패널, 설정 패널로 구성되어 있습니다.
빌더에서 Configurator에 필요한 요소들을 모두 설정한 후 활성화 버튼(Active)을 눌러 버튼을 추가(Add Button)하면 Configurator 구현이 완료됩니다.
활성화는 Configurator의 필수 요소들을 모두 설정해야 가능합니다.
Name
Device
Relate Objects
Lookup Selector Field : 3개 이상
Line-Item Editor Field : 3개 이상
좌측 상단 타이틀 옆에 활성화 여부를 알 수 있으며 미리 보기, 버튼 추가, 저장 및 삭제 등 버튼이 모여있습니다.
Preview : 최종 저장된 빌더 설정 기반으로 구성기를 미리 볼 수 있습니다.
Add Button : 활성화된 빌더 설정 기반으로 구성기의 버튼을 생성합니다. 지정한 부모 개체 기반으로 원하는 페이지 레이아웃에 버튼을 추가할 수 있습니다.
Active / Inactive : 빌더를 구성기로 사용하기 위해 활성화를 반드시 해주어야 합니다. 비활성화 상태인 경우 구성기를 사용할 수 없습니다.
Save : 빌더를 저장합니다.
Clone : 최종적으로 저장된 빌더 기반으로 복제합니다. 복제 버튼을 누른 후 '저장' 버튼을 눌러야 복제가 완료됩니다.
Reset : 편집 과정에서 원래 설정으로 복구하고 싶은 경우, Reset 버튼을 누르면 최종적으로 저장된 설정으로 복구됩니다.
Help : SmallBuilder Line Items의 헬프 문서로 이동합니다.
Relate Objects
Line-Item Configurator는 크게 Parent, Lookup, Line-Item으로 구성되어 있습니다. 이 단계에서는 Parent, Lookup, Line-Item에 어떠한 개체를 사용하지 지정합니다. 그리고 해당 구성들에 설정하려는 개체들은 서로 Junction 관계로 맺어져 있어야 하고 개체는 Standard, Custom 모두 지원합니다.
Setup Lookup Selector Lookup으로 지정된 개체에 대하여 필드를 추가하고 Configurator 구성 시 컬럼 값 정렬 및 너비 등을 설정하는 단계입니다.
Setup Line-Item Editor Line-Item으로 지정된 개체에 대하여 필드를 추가하고 Configurator 구성 시 컬럼 값 정렬, 너비, 각 컬럼의 속성(숫자, 조회 필드 등)에 따른 고급 설정을 하는 단계입니다.
빌더의 기본 설정을 하는 패널입니다. 빌더의 이름, 화면 비율, 장치에 따른 화면 UX 등을 설정합니다.
빌더의 Side Panel에서 Line-item Configurator의 Name, Device 정보 등 기본 정보를 관리합니다.
Configurator의 이름, 설명 등 기본적인 설정을 합니다.
Lookup 검색 및 데이터 목록에 대한 기본적인 설정을 합니다.
Line-Item 편집기에 대한 기본적인 설정을 합니다.
Configurator의 이름, 설명 등 기본적인 설정을 합니다.
Device에 따른 화면 구성
Desktop
Mobile 모바일 화면에서는 데스크톱과 같은 필터를 제공하지 않습니다.
Lookup 검색 및 데이터 목록에 대한 기본적인 설정을 합니다.
Line-Item 편집기에 대한 기본적인 설정을 합니다.
SmallBuilder를 사용하기 위해 회사의 통화 설정을 확인합니다.
새로 생성된 오그일 경우 통화 설정이 지역에 맞게 잘 설정되어 있는지 확인 합니다.
Line-item Configurator를 구현하기 위해서는 먼저 Parent 개체, Line-item 개체, Lookup 개체를 지정합니다.
참고로 기회에서 제품 Line-item Configurator를 구현하는 경우 Parent Object는 기회 개체로 Line-item 개체는 기회 제품으로 설정하며 제품(Product)을 Lookup 개체로 설정합니다.
항목 | 설명 | 필수 |
---|
Line-Item Editor에서 저장된 레코드 불러올 시 정렬 지정 및 삭제 제어 등 설정합니다.
Lookup Selector 검색 시 키워드 매칭 방법 및 필터 등 설정합니다.
Line-item Configurator Builder는 기회 및 견적 같은 표준 개체는 물론 커스텀 개체에서 할인율 계산기, 외부 데이터 연동을 지원하는 Line-Item Configurator를 개발 없이 구현하도록 지원합니다.
세일즈포스에서 대표적으로 Junction 관계를 맺은 개체로는 Opportunity, Quote, Order가 있습니다. 심지어 Sales Cloud에서 필수로 사용되는 개체들입니다. 세일즈포스에서 이러한 개체들의 Line-Item 추가/변경 시 제공되는 기본 기능들은 훌륭합니다. 하지만 일부 불편한 사항들이 있습니다.
Line-Item Configurator는 현재 를 맺은 개체들만 지원하고 있습니다. 추후 Parent - Child (one-to-many) 구조도 지원할 예정입니다.
예를 들어 판매 가격 또는 수량 입력 시 총액이 바로 계산되지 않는 점과 할인율을 사용자가 계산하여 입력해야 하는 부분이 있습니다. 그리고 많은 사용자들은 제품 선택 또는 Line-Item 입력 시 그들이 자체적으로 운영하는 서버에서 재고를 가져와 참고용으로 보길 원합니다. 그리고 다른 개체에서 각 계정별 할인율을 적용하여 자동계산이 되길 원합니다. 결국, 개발자의 도움이 필요하게 되고 기능 추가 및 변경 시 어드민이 쉽게 커스텀할 수 없게 됩니다. 하지만 이러한 단점을 Line-Item Configurator를 통해 개발 없이 포인트 & 클릭만으로 보완할 수 있습니다.
Line-Item 추가/편집 시 자동 계산, 외부 데이터 적용 등 최소한의 개발 및 포인트 & 클릭만으로 기능 확장이 가능합니다.
빌더를 이용하여 손쉽게 화면을 구현할 수 있어 시간을 절약할 수 있고 유지보수로서 기능 추가 및 수정을 하는데 어려움이 없습니다.
Line-Item Configurator 구현 시 필요한 기본 설정들은 개발이 필요하지 않아 세일즈포스 기본 지식을 갖춘 어드민 만으로도 화면을 구현할 수 있습니다.
Standard 화면
Line-Item Configurator 화면
Line-Item Configurator는 Junction 관계를 맺은 개체들을 기반으로 구성됩니다. 앞서 말했듯이 대표적으로 Opportunity, Quote, Order가 있습니다. 이 중에서 Opportunity의 Line-Item 구조를 살펴봅시다.
우리는 Opportunity에서 제품을 추가하려고 합니다. 당연히 제품의 정보를 가져오려면 Product 개체가 필요합니다. 그 다음 제품 추가 시 입력하는 판매가, 수량 등의 정보를 함께 저장하는 개체가 바로 Opportunity Product 입니다.
위의 그림과 같이 Opportunity Product는 Opportunity와 Product의 정보를 모두 가지고 있습니다. Opportunity Product는 Opportunity에 여러 Product를 등록하는 데 필요한 연결고리라고 생각하면 됩니다. 이러한 연결고리 역할을 하는 개체가 바로 Junction Object입니다.
위의 관계들만 맺고 있으면 언제든지 Line-Item Configurator를 구현할 수 있습니다. 그리고 이러한 관계 속에 있는 각 개체들은 Line-Item Configurator에서 아래와 같이 지칭하고 있습니다.
Parent - Opportunity
Lookup - Product
Line-Item - Opportunity Product (Junction Object)
Line-item Configurator Builder는 모든 개체를 지원합니다. 따라서 표준 기회 또는 견적뿐만 아니라 커스텀 개체에서도 제품 등 라인 아이템을 처리 하는 기능을 구현 시 더 이상 코딩은 필요 없습니다.
외부 데이터의 실시간 연동이 필요한 경우 Line-item Configurator Builder는 연동을 담당하는 APEX Code를 호출하여 외부 데이터를 실시간으로 연동할 수 있도록 지원합니다.
Line-Item Configurator는 Currency 필드에 할인율 계산기를 적용할 수 있습니다. 편리한 할인율 계산이 중요한 경우 훌륭한 CPQ의 대안으로 활용 가능합니다.
설정 단계를 표시합니다. 단계는 3가지로 구성되어 있으며 각 설정을 누르면 번 영역이 해당 패널로 전환이 됩니다.
번의 단계에 따라 해당 설정 패널로 전환됩니다.
번호 | 필드명 | 설명 | 필수 |
---|---|---|---|
번호 | 필드명 | 설명 |
---|---|---|
번호 | 필드명 | 설명 |
---|---|---|
번호 | 필드명 및 영역 | 설명 |
---|---|---|
항목 | 설명 |
---|
항목 | 설명 | 필수 |
---|
모든 개체 지원
포인트 & 클릭 기반 저작 툴
기회, 제품 및 가격 목록과 같이 3개 이상의 개체로 이루어지는 복잡한 Line-Item Configurator를 손쉽게 구현할 수 있는 를 제공하고 있습니다.
외부 데이터 실시간 연동
CPQ의 대안
1
Name
Configurator의 이름을 지정합니다.
✔️
2
Device
데스크톱 또는 모바일용으로 화면을 구성할 수 있습니다.
Responsive - 기기에 따라 화면이 자동으로 구성됩니다.
Desktop - 데스크톱에 맞춰진 화면으로 구성됩니다.
Mobile - 모바일에 맞춰진 화면으로 구성됩니다.
기본값 : Responsive
✔️
3
Description
Configurator에 대한 설명을 기재합니다.
4
Screen Ratio
Configurator 화면 크기에 대한 비율을 선택합니다.
화면에 보이는 Lookup 또는 Line-Item의 필드가 많을 때 비율을 낮춰 한눈에 보기 위함입니다.
100%
90%
80%
기본값 : 100%
1
List All Item
Lookup Selector 화면 로드 시 전체 검색이 되도록 활성화합니다.
기본값 : 활성화됨
2
Allow Select Duplicate Item
Lookup Selector에서 레코드를 중복으로 선택할 수 있도록 허용합니다.
3
Records By Page
한 페이지 당 표시할 레코드 수를 지정합니다.
기본값 : 50
1
View Summary
Line-Item Editor 화면 하단에 Summary로 지정된 필드들을 보여줍니다.
1
Relate Objects 정보
Parent, Lookup, Line-Item이 어떠한 개체로 지정되었는지 보여줍니다.
2
Target
어떠한 개체의 필드를 찾고 싶은지 선택합니다.
3
Select Field
찾으려는 필드를 선택합니다.
4
API Name
선택한 필드의 API Name이 보입니다.
Order By | 저장된 Line-Item의 레코드를 불러올 시 정렬을 설정합니다. SOQL의 |
Delete Controller Field | 지정한 필드 값에 따라 Line-Item 레코드 삭제를 제어합니다. Line-Item 필드여야 하고, 해당 필드값은 |
Keyword Field | Lookup 레코드 검색 키워드로 사용할 필드를 선택합니다. | ✔️ |
Match Condition | 키워드 검색 방식을 선택합니다.
기본값 : Contains | ✔️ |
Order By | Lookup 검색 시 정렬을 설정합니다. SOQL의 |
Advanced Condition | 검색 조건을 미리 지정합니다.
SOQL의 |
Line Item Configurator를 사용하기 전, Feature, Option 데이터를 먼저 세팅해야 합니다. 제품, Feature, Option 간 데이터를 어떻게 세팅해야 하는지 방법을 알려 드립니다.
준비중
Line-Item 추가 및 값 변경 시 계산 수식, 수식 필드, 데이터 소스 등 적용되는 순서입니다.
Line-Item 추가 시
기본값 설정
Parent 또는 Lookup Source 값 설정
데이터소스 적용
Internal
External
Calculation Formula 적용
Line-Item의 수식 필드 재계산 Configurator의 Line-Item 컬럼에 수식 필드가 있는 경우에만 실행됩니다.
Summary
Line-Item 값 변경 시
Calculation Formula 적용
Line-Item의 수식 필드 재계산 Configurator의 Line-Item 컬럼에 수식 필드가 있는 경우에만 실행됩니다.
Summary
지정된 대상 개체의 필드, 조회 필드, 관련 목록의 필드 값을 템플릿에 병합 할 수 있습니다. 필드를 클릭하여 Template 과 병합 합니다. 관련 목록은 관련목록 테이블 컴포넌트를 클릭하여 병합 할 수 있습니다 이때 병합될 필드는 {{!레이블}}로 표현됩니다.
Parent Object | 기회, 견적, 출장 등 Line-item Configurator를 추가할 개체를 의미합니다. | ✔️ |
Line-item Object | 기회 제품, 견적 행아이템, 출장 목적지 등 Parent Object의 자식 개체를 의미합니다. | ✔️ |
Lookup Object | 제품, 거래처 등 Line-item이 참조하는 개체를 의미합니다.
💡 Tip
Line-Item Editor만 사용하고 싶은 경우 Block adding items를 선택하시면 됩니다.
조건에 따라 제어하려면 바로 아래에 보이는 입력란에 Parent 필드의 API 명을 기재하면 됩니다. (필드값은 | ✔️ |
Salesforce 내 관련 개체를 조회하여 데이터를 같이 표현하고 싶을 때 사용됩니다.
예를 들어 Lookup이 Product2로 지정된 경우 PricebookEntry에 있는 단가를 같이 표시하고 싶을 때 내부 데이터소스를 이용해 조건에 맞는 PricebookEntry를 조회하여 제품과 단가를 같이 표현할 수 있습니다.
Internal 데이터소스를 사용하기 위한 각 속성입니다.
Internal Data Source를 통해 가져온 데이터를 Lookup 또는 Line-Item에 매핑하기 위한 작업입니다.
Internal 데이터소스를 사용하기 위한 각 속성입니다.
Internal Data Source를 통해 가져온 데이터를 Lookup 또는 Line-Item에 매핑하기 위한 작업입니다.
Lookup Selector 개체를 Product로 지정하여 제품 목록을 검색하려고 합니다. 해당 목록에 PricebookEntry 개체에 있는 단가를 함께 표시하려고 합니다.
데이터소스에서 Source Object를 PricebookEntry로 지정합니다.
(선택) Query Wizard를 눌러 데이터 조회 조건을 작성합니다. (SOQL Where
문과 동일)
Product에 맞는 PricebookEntry 데이터를 결합하기 위해 아래와 같이 설정합니다.
Source Field : Product2Id
Target Field : Id
Key : true
단가를 Product 데이터와 같이 표시하기 위해 Action을 추가하여 Lookup Column을 지정합니다.
Source Field : UnitPrice
Target Field : SBLDVirtual1 (Lookup Virtual Column 참고)
Lookup 또는 Line-Item 데이터에 부가적으로 관련 개체나 외부 데이터를 표현해주고 싶을 때 사용됩니다.
Lookup에 Data Source를 설정하는 경우: 검색 설정(Setup Lookup Selector) 단계로 이동합니다. Line-Item의 Data Source를 설정하는 경우: 편집기 설정(Setup Line-Item Editor) 단계로 이동합니다.
Add data sources 버튼을 눌러 Data Source 편집 레이아웃을 열어줍니다.
Line-Item 편집기는 Evaluation Event를 필수로 설정해주어야 합니다. Evaluation Event는 아래와 같이 제공됩니다.
On Initialization : Line-Item 레코드가 새로 추가되었을 때 실행됩니다.
On Loading : Line-Item 화면이 로드될 때마다 실행됩니다.
Before Save : Line-Item 레코드들이 저장되기 전 실행됩니다.
Salesforce 내 관련 개체를 조회하여 데이터를 같이 표현하고 싶을 때 사용됩니다.
예를 들어 Lookup이 Product2로 지정된 경우 PricebookEntry에 있는 단가를 같이 표시하고 싶을 때 내부 데이터소스를 이용해 조건에 맞는 PricebookEntry를 조회하여 제품과 단가를 같이 표현할 수 있습니다.
주로 외부 서버에서 데이터를 조회하여 같이 표현해주고 싶을 때 사용됩니다. 사용자가 작성한 Apex Class를 이용해 데이터소스를 가져오기 때문에 내부 데이터소스에 비해 자유롭게 데이터를 가져올 수 있는 장점이 있습니다.
예를 들어 외부 서버에서 실시간 재고를 가져와 화면에 같이 표시하고 싶은 경우 Apex Class에서 Rest API 코드를 작성하여 외부 데이터소스에 지정하면 Line-Item Configurator에서 해당 데이터를 보실 수 있습니다.
Line-item 필드의 속성을 설정합니다. 앞서 선택 Lookup 레코드별로 가격, 할인율, 수량 등의 속성 필드를 정의합니다.
Line-item 개체의 모든 필드 중에서 편집 시 사용할 필드를 선택하고 각 필드의 기본값 및 속성을 설정합니다.
각 필드 유형에 따라 추가적인 속성을 설정합니다. 숫자 최솟값 및 최댓값, 계산 수식, 이미지 설정 등 제공합니다.
각 필드에 세일즈포스내 다른 개체 또는 외부 시스템의 데이터를 연동하고자 하는 경우 Data Source를 설정합니다.
Line-item 개체의 모든 필드 중에서 편집 시 사용할 필드를 선택하고 각 필드의 기본값 및 속성을 설정합니다.
각 필드 유형에 따라 추가적인 속성을 설정합니다. 숫자 최솟값 및 최댓값, 계산 수식, 이미지 설정 등 제공합니다.
각 필드에 세일즈포스 내 다른 개체 또는 외부 시스템의 데이터를 연동하고자 하는 경우 Data Source를 설정합니다.
셋업이 완료되면 저장 후 빌더상단의 Active 기능 Configuration이 활성화되어야 실제 사용할 준비가 완료됩니다.
빌더 상단의 Preview 기능을 활용하며 구현된 Line-item configurator를 실행하여 볼 수 있습니다.
빌더 상담의 Add Button 기능을 활용하여 구현된 Line-Item Configurator를 원 클릭으로 Parent 개체의 Page Layout에 추가할 수 있습니다.
버튼 이외에 다른 곳에서 Line-Item Configurator를 호출하고 싶은 경우 아래와 같이 <SBLD:LineItemConfigurator />
를 삽입해주면 됩니다.
현재는 Aura Component만 제공됩니다.
주로 외부 서버에서 데이터를 조회하여 같이 표현해주고 싶을 때 사용됩니다. 사용자가 작성한 Apex Class를 이용해 데이터소스를 가져오기 때문에 내부 데이터소스에 비해 자유롭게 데이터를 가져올 수 있는 장점이 있습니다.
예를 들어 외부 서버에서 실시간 재고를 가져와 화면에 같이 표시하고 싶은 경우 Apex Class에서 Rest API 코드를 작성하여 외부 데이터소스에 지정하면 Line-Item Configurator에서 해당 데이터를 보실 수 있습니다.
External 데이터소스를 사용하기 위한 각 속성입니다.
External 데이터소스를 사용하기 전 Apex Class를 먼저 작성해야 합니다. Package에서 제공하는 SBLD.DataSourceService.Fetchable
인터페이스를 작성하려는 Apex Class에 implements
하여 구현합니다.
준비중입니다.
External 데이터소스를 사용하기 위한 각 속성입니다.
External 데이터소스를 사용하기 전 Apex Class를 먼저 작성해야 합니다. Package에서 제공하는 SBLD.DataSourceService.Fetchable
인터페이스를 작성하려는 Apex Class에 implements
하여 구현합니다.
SBLD.DataSourceService.Fetchable
클래스를 implements
하여 execute()
메서드를 구현합니다.
SBLD.DataSourceService.Parameter
에서 gets()
메서드를 통해 Line-Item Configurator의 Parent 또는 Lookup 정보를 가져올 수 있습니다.
Line-Item Configurator로 결과값을 전달하기 위해 아래 클래스를 이용합니다.
대상(Lookup 또는 Line-Item)의 행마다 Action을 지정합니다. Action은 데이터소스 값을 Lookup 또는 Line-Item 필드에 매핑하는 작업입니다.
setKeyValue(Object keyValue) Lookup 또는 Line-Item의 대상 레코드를 찾기 위한 Key값을 설정합니다.
putSourceToTargetField(Object sourceValue, String targetField) 데이터소스 값을 Lookup 또는 Line-Item 필드에 할당합니다.
매핑이 완료된 Action을 리턴 값에 추가하는 작업입니다.
addAction(SBLD.DataSourceServiceAction action) SBLD.DataSourceService.Result 인스턴스에 Action을 추가합니다.
준비중입니다.
기존에 있는 기회 제품 등록 화면에서 수량 및 단가 변경 시 자동 계산이 안 되는 부분을 Line-Item Configurator를 이용해 할인율 적용, 총액 계산 및 하단에 요약까지 다시 재구현하였습니다.
Line-Item Configurator는 표준 개체뿐만 아니라 사용자 정의 개체를 이용해서 세일즈포스에 쉽게 Line-Item 입력을 할 수 있도록 제공합니다.
아래 영상에서는 사용자 정의 개체인 '비즈니스 출장'을 이용하여 Line-Item Configurator를 구현하였습니다. 기존에는 표준 화면을 이용 시 Line-Item 추가하려면 한 건씩 처리해야 하는 번거로움이 있습니다. 또한, 입력 화면의 필드들을 자유롭게 커스텀하는게 쉽지 않습니다. Configurator를 통해 어떻게 구현되었는지 영상을 통해 보여 드리겠습니다.
빌더에서 옵션 사용을 활성화하고 편집기에 옵션 데이터를 어떻게 표현하고 저장할지 설정합니다.
제품 옵션을 사용하기 전 라이센스가 있는지 확인해주세요. 그리고 Lookup의 개체가 '제품(Product2)'인 경우에만 제품 옵션을 활성화할 수 있습니다.
Use product options를 체크하여 제품 옵션을 활성화합니다.
제품 옵션이 활성화되면 빌더에서 설정 스텝이 한 단계 더 추가됩니다.
해당 단계에서는 Line Item 편집기에서 제품 옵션을 사용하기 위해 필요한 필드 매핑, 옵션의 조건 그리고 옵션 선택기에서 일부 옵션의 정보 를 숨기고 싶은 경우 설정을 통해
Line Item에 Feature 또는 옵션을 참조할 필드와 옵션 관련 Line Item과상위(구성하려는 제품의 Line Item) Line Item 간 연결할 필드를 지정합니다.
Line Item 편집 시, 각 옵션 값을 어떻게 표현하고 저장할지 설정하는 구간입니다.
옵션 제품에서 설정한 단가가 없는 경우, 기본적으로 PricebookEntry의 단가를 참조합니다. 그러기 위해 Pricebook의 기준을 지정합니다.
옵션을 사용하기 위해 아래 두 가지 작업이 완료되어야 합니다.
빌더에서 옵션 사용을 활성화하고 편집기에 옵션 데이터를 어떻게 표현하고 저장할지 설정합니다.
Line Item Configurator를 사용하기 전, Feature, Option 데이터를 먼저 세팅해야 합니다. 제품, Feature, Option 간 데이터를 어떻게 세팅해야 하는지 방법을 알려 드립니다.
Line-item을 등록하기 위해서는 먼저 제품과 같은 Lookup 개체를 검색하고 검색 결과 중 원하는 레코드를 선택하고 수량 등을 설정하여 Line-item을 등록합니다. 검색 설정은 Lookup 개체 검색 시 검색 결과 Layout을 설정하는 기능입니다.
기회를 예를 들면 기회 제품과 Lookup 관계인 제품을 검색하고 선택한 제품을 Line-item으로 등록합니다. 검색 설정에서는 Lookup 개체 검색 결과 layout을 설정합니다.
선택한 Lookup 개체의 모든 필드 중에서 검색 결과에 표시될 필드를 선택하고 각 필드의 Display 속성을 설정합니다.
데이터소스에서 가져온 데이터를 보여주기 위해 임시로 값을 담을 수 있는 가상의 컬럼을 생성합니다.
각 필드에 세일즈포스내 다른 개체 또는 외부 시스템의 데이터를 연동하고자 하는 경우 Data Source를 설정합니다.
선택한 Lookup 개체의 모든 필드 중에서 검색 결과에 표시될 필드를 선택하고 각 필드의 Display 속성을 설정합니다.
데이터소스에서 가져온 데이터를 보여주기 위해 임시로 값을 담을 수 있는 가상의 컬럼을 생성합니다.
각 필드에 세일즈포스내 다른 개체 또는 외부 시스템의 데이터를 연동하고자 하는 경우 Data Source를 설정합니다.
- 복잡한 계산식 오류, 할인율 및 계산식 적용 방식 수정
Document Template Builder는 커스텀 템플릿을 No-Code로 쉽게 만듭니다.
문서 템플릿은 문서를 작성할 때 사용하는 미리 정해진 형식이나 레이아웃입니다. 데이터를 기반으로 동적 문서가 만들어지며, 비즈니스 문서를 더욱 효율적으로 생성하고, 회사의 정책에 따라 수정할 수 있습니다.
예를 들어, 계약서, 견적서, 주문서 등의 비즈니스 문서를 자동으로 작성할 때 유용합니다. 템플릿 내에서 데이터 필드를 지정하고 데이터가 삽입될 위치를 정의할 수 있기 때문입니다. 자동으로 생성된 문서는 Salesforce 내에서 보기, 다운로드, 이메일로 보내기 등의 방법으로 문서의 공유 및 협업을 간편하게 할 수 있습니다.
실제 Enterprise급 세일즈포스 구축 프로젝트를 수행할 때는 기본 견적서 템플릿을 대체하는 커스텀 견적서 템플릿을 개발하는 경우가 많습니다. 이는 제품 이미지의 배치 등 디자인적 인 요소와 부분 합계 등 기능적 요소가 추가로 필요한 경우가 있기 때문입니다.
이에 더하여 인보이스, 패킹 리스트, 계약서, 서비스 접수증 등 고객에게 제공하는 다양한 문서가 필요한 경우에도 커스텀 문서 템플릿을 개발합니다.
하지만, Salesforce 기본 템플릿 생성 기능은 이러한 특수한 요구 사항을 충족하지 못할 수 있습니다.
Easy Use SmallBuilder의 Document Template Builder는 세일즈포스 관리자가 개발자 도움 없이 직접 클릭만으로 문서 템플릿을 만들 수 있도록 지원하는 툴입니다. SmallBuilder를 도입하면 견적은 물론 Account, Opportunity, Contract, Order, Case, Work Order와 같은 Standard 객체는 물론 모든 커스텀 객체에서 문서 템플릿을 빠르게 구현할 수 있습니다.
100% Native 다른 솔루션은 Salesforce와의 연동으로 데이터를 공유하고 트리거를 통해 템플릿이 생성됩니다. 하지만 SmallBuilder의 Document Template Builder는 Salesforce 내에 구축합니다. 이로써 모든 데이터를 내부에서 처리하고 외부 서버로 공유되지 않기 때문에 Salesforce의 보안 규칙을 따르며 데이터를 안전하게 관리합니다.
SmallBuilder는 문서를 더욱 다양한 형태로 구성할 수 있도록 디자인용 및 기능용 컴포넌트를 지속적으로 추가할 예정입니다. 지원이 필요한 새로운 컴포넌트가 있다면 담당 SmallBuilder Account 매니저와 상의하시기 바랍니다.
2024. 8. 5.
조회 검색시 화면에서 필터 기능 개선
할인율 계산 로직 누락
2024. 7. 22.
Line Item Editor의 할인율과 계산식 중 하나만 적용 가능하도록 수정
할인율 관련 일부 레이블 변경
라인 아이템 편집기
할인율과 계산식 중 하나만 적용 가능하도록 수정
숫자 및 통화 유형의 컬럼에서 설정할 수 있는 '계산식 적용'과 '할인 기능 적용' 설정을 통합하여 둘 중에 하나의 기능만 적용되도록 수정하였습니다.
할인 계산기 적용은 통화 유형의 컬럼에서만 설정이 가능합니다.
'할인율 계산기 적용' 설정에서 '통화 기반 입력' 레이블 변경
영어
Based on Currency -> Enter Discounted Price
한국어 통화 기반 할인 입력 -> 할인된 가격 입력
2024. 7. 19.
Line Item의 레코드를 여러개 삭제할 수 있도록 기능 개선
제품 옵션 관련 일부 레이블 변경
라인 아이템 편집기
다중 삭제 기능 추가 편집기에서 여러 레코드를 삭제할 수 있도록 다중 삭제 기능을 추가하였습니다.
제품 옵션
필드 레이블 변경
Product Feature, Option 개체의 한국어 번역과 일부 필드 레이블을 수정하였습니다.
Product Feature 한국어 레이블 변경
제품 Feature -> 제품 구성
Product Feature, Product Option 개체의 Product 영어/한국어 레이블 변경
영어
Product -> Main Product
한국어
제품 -> 기본 제품
2024. 7. 16.
편집기의 타이틀명 (조회 선택기, 라인 아이템 편집기) 수정할 수 있도록 설정 추가
라인 아이템 편집기의 조회 컬럼을 설정할 수 있도록 기능 추가
레이블 변경 기능
편집기 모달의 타이틀과 조회 레코드 검색 버튼의 레이블을 수정할 수 있도록 빌더에 설정을 추가하였습니다.
라인 아이템 편집기
조회 컬럼 설정 기능 추가
라인 아이템 편집기에서 가장 첫 번째로 나타나는 '조회 컬럼'을 커스텀할 수 있도록 빌더에 설정을 추가하였습니다.
설정 가능한 기능
레이블 변경
열 너비
텍스트 정렬
숨김 (제품 옵션이 활성화 된 경우 설정 불가능)
2024. 7. 10.
라인 아이템 레코드 조회 조건 추가
라인 아이템 편집기
레코드 조회 조건 기능
저장된 라인 아이템의 레코드를 조회할 때 조건을 지정할 수 있도록 빌더에 설정을 추가하였습니다.
2024. 6. 19.
마이그래이션 시 필요한 Key 필드 추가 및 데이터 작업
SmallBuilder Line Items 관련 개체에 Migration Key(SBLI__MigrationKey__c)
필드가 추가되었습니다. 레코드를 생성할 때 Migration Key 필드에 값이 없을 경우, 해당 레코드의 ID가 자동으로 저장됩니다.
대상 개체
라인 아이템 편집기 (SBLI__JunctionBuilder__c)
조회 열 (SBLI__LookupField__c)
라인 아이템 열 (SBLI__JunctionField__c)
데이터소스 (SBLI__DataSource__c)
데이터소스 작업 (SBLI__DataSourceAction__c)
제품 구성 (SBLI__ProductFeature__c)
제품 옵션 (SBLI__ProductOption__c)
그룹화된 테이블형 집합 자료
이전 단계는 위 페이지의 2 ~ 5번을 참고하세요.
그룹의 기준으로 할 필드에서 Group
을 활성화하고,
필요에 따라 다른 필드의 옵션을 설정 후, Confirm
을 클릭합니다.
병합된 필드 데이터는 {{!label}}
형식으로 나타납니다.
항목 | 설명 | 필수 |
---|---|---|
항목 | 설명 | 필수 |
---|---|---|
항목 | 설명 | 필수 |
---|---|---|
Setting | 속성 | 설명 |
---|---|---|
항목 | 설명 | 필수 |
---|---|---|
항목 | 설명 | 필수 |
---|---|---|
필드명 | 설명 | 필수 |
---|
컬럼 속성
컬럼명 | 설명 |
---|
옵션 필드
필드명 | 설명 | 필수 |
---|
Price book 값 기준을 선택합니다.
Parent Field로 선택한 경우, Parent에서 Pricebook을 참조하고 있는 필드를 선택합니다. Value로 선택한 경우, Pricebook의 레코드 ID 값을 넣어주세요.
항목 | 설명 | 필수 |
---|
번호 | 설명 | 필수 |
---|
페이지 레이아웃에서 Salesforce 모바일 Lightning Experience 작업(Salesforce Mobile and Lightning Experience Actions) 영역이 활성화 되어있는지 확인하세요.
Lightning 레코드 페이지(Lightning Record Page)에서 강조 패널(Highlight Panel)이 동적 작업(Dynamic Actions)으로 업그레이드 되어있는지 확인하세요. 동적 작업으로 되어있는 경우 강조 패널(Highlight Panel)에 버튼을 수동으로 추가해야 하는 경우가 있습니다.
미리보기에서 레코드 검색 시 'LastViewedDate' 필드 관련 오류 해결
Release Date
Fixed
쿼리 마법사에서 연산자를 '포함'으로 선택하여 생성한 모든 쿼리에서 발생한 오류 해결
조회 검색 설정에서 '일치 조건'이 '다음으로 시작'인 경우, 편집기에서 조회 레코드를 검색할 때 발생했던 오류 해결
Release Date
Summary
Feature
Release Date
Summary
Fixed
Feature
Release Date
Summary
기존 | 변경 |
---|
Release Date
Summary
Fixed
Calculation Formula에 복잡한 산식을 적용했을 때 계산이 작동하지 않던 문제 해결
Feature
Release Date
Summary
빌더 설정 | 결과 |
---|
Release Date
Summary
Release Date
Summary
Source Object
Lookup 또는 Line-Item의 데이터와 매핑할 세일즈포스 내부 개체를 지정합니다.
✔️
Query
Wizard 버튼을 눌러 Query 작성 레이아웃을 엽니다. Query Wizard를 이용해 조건문에 사용할 필드를 검색하여 쉽게 작성할 수 있습니다.
Active
Data Source를 사용하려면 활성화해야 합니다.
✔️
Evaluation Event
Line-Item 편집기는 Evaluation Event를 필수로 설정해주어야 합니다.
On Initialization : Line-Item 레코드가 새로 추가되었을 때 실행됩니다.
On Loading : Line-Item 화면이 로드될 때마다 실행됩니다.
Before Save : Line-Item 레코드들이 저장되기 전 실행됩니다.
Internal Data Source를 통해 가져온 데이터를 Lookup 또는 Line-Item에 매핑하기 위한 작업입니다.
✔️
Action Order
매핑 순서를 지정합니다.
✔️
Source Field
Internal Data Source 개체에서 매핑할 필드를 지정합니다.
✔️
Target Field
Lookup 또는 Line-Item 개체에 매핑할 필드를 지정합니다.
✔️
Key
Lookup 또는 Line-Item과 데이터소스 간 데이터 매칭 시 사용할 Action을 지정합니다.
예를 들어 Lookup이 Product2로 지정되어 있고 데이터소스로 PricebookEntry를 가져오는 경우 PricebookEntry의 Product2Id(Source Field)와 Product2의 Id 필드(Target Field)로 데이터를 결합하여 표현합니다.
✔️
Order
컬럼의 보이는 순서입니다.
✔️
API Name
대상 개체의 필드 API 이름입니다.
✔️
Label
화면에 표시되는 칼럼의 라벨입니다.
✔️
Default Value
최초 레코드 추가 시 컬럼의 기본값을 설정합니다.
Source Field
최초 레코드 추가 시 Parent 또는 Lookup의 필드 값으로 미리 설정합니다.
Width (px)
컬럼의 너비를 지정합니다. 단위는 픽셀(px)입니다.
Text Align
컬럼 값의 정렬을 지정합니다.
Left - 왼쪽으로 정렬합니다.
Center - 가운데로 정렬합니다.
Right - 오른쪽으로 정렬합니다.
기본값 : Left
Read Only
컬럼을 읽기 전용으로 설정합니다.
Required
컬럼을 필수로 지정합니다.
Summary
컬럼의 값을 요약합니다. 요약한 값은 하단 우측에 표시됩니다. (View Summary가 활성화 되어 있어야 합니다.)
Hidden
컬럼을 숨김 처리 합니다.
Don't Save
컬럼의 값을 저장하지 않습니다.
Number
Min
컬럼의 유형이 숫자인 경우 최솟값을 설정합니다.
Max
컬럼의 유형이 숫자인 경우 최댓값을 설정합니다.
Calculation
Order
컬럼의 계산 순서를 지정합니다.
Operator
컬럼의 계산 식을 설정합니다. 각 컬럼의 값을 이용해 계산하는 경우 컬럼의 필드 API 이름으로 작성해야 합니다.
Discount Calcuration
Apply Discount Calculator
할인율 계산을 적용합니다.
Original Price Field
할인율을 계산하기 위한 대상 필드를 지정합니다.
Discount Rate Field
할인율을 저장할 필드를 지정합니다. (선택사항)
Rounding method
반올림 방식을 선택합니다.
Round - 반올림 처리합니다.
Round Up - 올림 처리합니다.
Round Down - 내림 처리합니다.
Level of Precision
반올림 처리 할 단위를 설정합니다.
0.00 - 소수점 두 번째 자리까지 처리합니다.
0.0 - 소수점 첫 번째 자리까지 처리합니다.
0 - 소수점 없이 처리합니다.
10 - 10단위로 처리합니다.
100 - 100단위로 처리합니다.
1000 - 1000단위로 처리합니다.
Image
Image
컬럼이 이미지인 경우 체크합니다. 컬럼의 값은 이미지 URL이어야 합니다.
Width
컬럼이 이미지인 경우 이미지의 넓이를 지정합니다. 단위는 픽셀(px)입니다.
Height
컬럼이 이미지인 경우 이미지의 높이를 지정합니다. 단위는 픽셀(px)입니다.
Reference
Keyword Field
조회 필드값 검색 시 키워드로 사용할 조회 개체의 필드를 지정합니다. 기본값은 Name 필드입니다.
Filter
컬럼이 조회 필드인 경우 필드값 조회 시 필터를 지정합니다.
SOQL의 WHERE
절을 기재합니다.
ETC
Read Only Controller Field
지정한 필드 값에 따라 해당 컬럼을 읽기 전용으로 제어합니다. Lookup 필드여야 하고, 해당 필드값은 true
또는 false
여야 합니다.
recordId
Line-Item Configurator에서 설정한 Parent의 레코드 ID 입니다.
✔️
builderId
Line-Item Configurator의 레코드 ID 입니다.
✔️
Apex Class Name
외부데이터를 가져올 때 사용하는 클래스의 이름입니다.
✔️
Key Field
DataSource를 통해 가져온 데이터를 매핑시키기 위한 field API 이름을 나타냅니다.
✔️
Parent Field Parameters
DataSource의 Type이 External일 경우 Parent Object의 Field 중 Parameter로 넘겨줄 Field를 나타냅니다.
Lookup Field Parameters
DataSource의 Type이 External일 경우 Lookup Object의 Field 중 Parameter로 넘겨줄 Field를 나타냅니다.
Active
DataSource의 활성, 비활성 여부입니다.
✔️
Unfold by default | Line Item 편집기에서 옵션이 있는 경우 기본적으로 펼쳐서 보여줄지 설정합니다. |
Parent Field of Options | 구성 제품의 레코드와 옵션 레코드 간 연결을 위한 조회 필드를 설정합니다. | ✔️ |
Feature Reference Field | 선택된 Feature의 정보를 참조하기 위해 Line Item 개체의 Feature(개체: Product Feature) 조회 필드를 선택합니다. | ✔️ |
Product Option Reference Field | 선택된 옵션의 정보를 참조하기 위해 Line Item 개체의 옵션(개체: Product Option) 조회 필드를 선택합니다. | ✔️ |
Product Option | 옵션의 속성입니다. |
Line Item | 각 옵션 값을 어느 Line Item 필드에 저장할지 선택합니다. 선택하지 않으면 저장되지 않습니다. |
Column Location | 각 옵션 값을 Line Item 편집 화면에서 어느 컬럼에 보여줄지 선택합니다. 선택하지 않으면 숨김 처리됩니다. |
Hidden | 해당 옵션값이 Line Item 화면에서 숨김 여부를 알려줍니다. |
Don't Save | 해당 옵션값이 Line Item에 저장되는지 알려줍니다. |
Product Code | 옵션의 제품 코드입니다. |
Unit Price | 옵션 단가입니다. 옵션에서 단가를 지정하지 않은 경우, 가격 목록 항목(개체: PricebookEntry)에서 단가를 가져옵니다. | ✔️ |
Quantity | 옵션에서 설정한 수량입니다. 기본값은 1입니다. | ✔️ |
Total Price | 단가, 할인율 및 수량을 모두 계산한 총액입니다. |
Discount (%) | 옵션의 할인율(%) 입니다. |
Discount (Amount) | 옵션의 할인가입니다. |
Original Price | 할인을 적용하기 전 금액입니다. |
Order | 컬럼의 보이는 순서입니다. | ✔️ |
API Name | 대상 개체의 필드 API 이름입니다. | ✔️ |
Label | 화면에 표시되는 컬럼의 라벨입니다. | ✔️ |
Width(px) | 컬럼의 너비를 지정합니다. 단위는 픽셀(px)입니다. |
Text Align | 컬럼 값의 정렬을 지정합니다.
기본값 : Left |
Hidden | 컬럼을 숨김 처리 합니다. |
Image | 컬럼이 이미지인 경우 체크합니다. 컬럼의 값은 이미지 URL이어야 합니다. |
Image Width(px) | 컬럼이 이미지인 경우 이미지의 너비를 지정합니다. 단위는 픽셀(px)입니다. |
Image Height(px) | 컬럼이 이미지인 경우 이미지의 높이를 지정합니다. 단위는 픽셀(px)입니다. |
1 | 컬럼의 유형을 선택합니다.
| ✔️ |
2 | 화면에 표시할 라벨을 입력합니다. | ✔️ |
설정 > 개체 관리자 > 견적(Target Object가 견적 인 경우) 으로 이동합니다.
페이지 레이아웃으로 이동하여 'Salesforce 모바일 Lightning Experience 작업' 을 활성화 합니다.
활성화 되었다면, '버튼, 링크 및 작업' 으로 이동하여 추가한 버튼의 유무를 확인하고, 레이아웃에 추가합니다
레이아웃에 버튼 추가는 SalesForce MetaDataAPI 서비스를 이용합니다. 이 서비스는 다소 시간이 소요 될 수 있습니다.
상태가 계속된다면, 'Add Button 후 레이아웃에서 버튼이 안보이는 경우' 를 참조하새요
실무에서 많이 접하는 고급 사용자 요구사항을 구현한 예제입니다.
Trigger를 사용하여 Salesforce의 Quote 개체의 Status 값이 Accepted가 되었을 때 Document Builder로 생성한 문서[청구서]를 email로 전송하는 예제
Quote 개체 Status 값이 Accepted가 되었을 때 함수를 호출하는 예제
Document Builder Template 이름 기준으로 template Id를 가져오는 함수 예제
사용자에게 이메일을 보내는 함수 예제
Document Template을 PDF로 저장하는 예제
|
`Target Object`와 관련된 Object의 테이블형 집합 자료
Table (Related)
컴포넌트를 추가합니다.
집합 자료를 생성할 Object를 선택합니다.
자료에 포함될 필드를 선택합니다.
데이터 형식 설정이 필요하면 원하는 옵션을 선택 후,
Confirm
버튼을 클릭합니다.
Apply
버튼을 클릭합니다.
필요에 맞게 옵션을 선택하고 Confirm
버튼을 클릭합니다.
Numbering : 테이블 번호를 자동으로 부여
Sum : 해당 필드 값들의 합계를 계산하는 행을 추가
병합된 필드 데이터는 {{!label}}
형식으로 나타납니다.
Editor에서는 label만 확인할 수 있으며, Preview에서 병합된 데이터 자료를 확인할 수 있습니다.
Text를 입력할 수 있는 Component에서의 데이터 병합
Component의 설정 아이콘을 클릭하거나 Canvas에서 해당 Component 영역을 클릭하여 Component 설정 패널로 이동합니다.
병합된 필드를 삽입하고 싶은 곳에 커서를 위치합니다.
field
버튼을 클릭합니다.
원하는 필드를 선택합니다.
커서가 위치했던 곳에 병합된 필드는 {{!label}}
형식으로 삽입됩니다.
Docuement Job은 비동적으로 문서를 생성하고 생성된 문서에 대한 메일 전송 등의 Complete Action을 지원합니다.
예약 시간을 통한 스케쥴링은용사자가 Flow 또는 Scheduler 를 통해 제어해야 합니다
컴포넌트란?
자주 사용하는 문서 요소를 사전에 구현해 놓은 것으로
사용자는 Drag & Drop 을 통해 컴포넌트를 자유롭게 배치하여 템플릿을 손쉽게 완성할 수 있습니다
Component
를 클릭하여 Component Panel로 이동합니다.
Add component
를 클릭하여 Component를 추가합니다.
원하는 컴포넌트를 클릭하여 추가합니다.
Component를 옮기고 싶은 위치로 Drag & Drop합니다.
Page Header - Background Image
Page Header 컴포넌트를 추가합니다.
컴포넌트 설정 패널에서 Background Image
를 클릭하여 로고 이미지를 업로드합니다.
덧붙일 텍스트가 있다면 Enter some text & field
영역에 입력하세요.
Position Percent
를 이용하여 이미지의 위치를 조절합니다.
그 외 스타일 옵션을 선택하여 Header 컴포넌트를 설정합니다.
Header/Footer 컴포넌트를 추가하면
Setting
패널에서 margin
을 10mm 이상으로 설정해야 합니다.
많이 사용되는 문서 템플릿 중 하나인 청구서를 작성하는 예제
청구서 작성을 위해 Target Object, Template Name을 입력한 후 저장한다.
문서의 각 페이지 상단이나 하단에 일관된 스타일로 회사 정보를 배치하여 문서의 통일성을 유지하기 위해 [Page Header Component]를 사용한다.
청구서에 기본 정보를 나타내기 위해 [Table Component] 사용한다.
청구서에 Salesforce 레코드값을 넣기 위해 원하는 위치에 커서를 둔 후 필드를 추가한다.
청구서에서 각 컴포넌트 사이의 간격을 조절하거나 내용을 분리하여 문서의 가독성을 높이고자 할 때 [Empty, Divider] 컴포넌트를 사용한다.
청구하는 상품의 목록을 나타내고자 할 때 [Table (Related) Component]를 사용한다.
Divider
Divider
컴포넌트를 추가합니다.
Divider
컴포넌트를 원하는 위치로 이동합니다.
컴포넌트 설정으로 이동하여 구분선의 색상과 선 두께를 설정합니다.
이미지 필드를 포함하는 그룹화된 테이블형 집합 자료
이전 단계는 위 페이지의 2 ~ 5번을 참고하세요.
해당 컴포넌트를 생성하기 위해서는 5개 이상의 필드를 선택해야 합니다. 그리고 Group, Image, Description 옵션은 필수로 선택되어야 합니다.
*Group : 그룹화하려는 대상
*Image : 이미지를 나타내는 대상 (이미지를 사용하는 Formula Field 이어야 합니다.)
*Description : 이미지를 설명하는 대상
병합된 필드 데이터는 {{!label}}
형식으로 나타납니다.
새 템플릿을 추가하려면 Document Templates List에서 New 버튼을 클릭하세요.
다음은 템플릿 디자이너입니다. 워드 프로세서 스타일 편집기를 사용하는 다른 프로그램과 달리 SmallBuilder는 블록 스타일 편집기를 사용합니다. 이를 통해 템플릿 디자인과 레이아웃을 직관적으로 쉽게 제어할 수 있습니다.
템플릿 디자이너는 두 가지 영역으로 구성됩니다.
Component 탭 : 템플릿에 추가할 수 있는 컴포넌트 요소와 요소의 속성을 설정
Setting 탭 : 템플릿 속성을 설정
특정 조건을 만족하는 테이블형 집합 자료
이전 단계는 위 페이지의 2 ~ 5번을 참고하세요.
조건을 넣을 필드에 Add Filter
를 활성화하고, 텍스트 조건을 입력합니다.
*입력된 텍스트와 동일한 값으로 자료를 필터링 합니다.
Confirm
버튼을 클릭합니다.
병합된 필드 데이터는 {{!label}}
형식으로 나타납니다.
Empty
Empty
컴포넌트를 추가합니다.
Empty
컴포넌트를 원하는 위치로 이동합니다.
컴포넌트 설정으로 이동하여 Height
옵션을 선택해 공백의 높이를 설정합니다.
Release Date
2024. 9. 25.
Summary
레코드의 관련 첨부 파일을 문서 내에 추가할 수 있는 첨부파일(Attachment) 요소 추가
Document Template Builder
문서 내에 첨부파일 목록을 추가할 수 있는 첨부파일(Attachment) 요소가 새롭게 추가되었습니다!
📌 필터링
필터링을 통해 첨부파일 목록을 사용자 정의할 수 있습니다.
사용자 시점에서 첨부파일 필터링은 ContentDocument
오브젝트 기준으로 하며,
실제 쿼리는 ContentDocument
, ContentDocumentLink
, ContentVersion
이 사용됩니다. 사용자는 세 개의 오브젝트에 권한이 있는 지 확인 후 사용해야 합니다.
🏷️ None
아무 조건 없이 모든 첨부파일을 검색합니다.
🏷️ AND (default)
모든 조건이 충족되는 첨부파일을 검색합니다.
🏷️ OR
조건들 중 하나 이상 충족되는 첨부파일을 검색합니다.
🏷️ Custom
괄호, AND, OR 및 NOT을 사용하여 조건 논리를 직접 구성합니다.
위 예시 이미지는 파일의 제목이 '보고서'로 시작되면서 확장자가 'png'이거나 'jpg'인 첨부파일을 검색하고 있습니다.
✨ 첨부파일 요소는 문서에 하나만 추가할 수 있습니다.
필터링 설정을 통한 레코드의 관련 파일 목록이 표시됩니다.
각 파일을 클릭하면 바로 ✨다운로드 할 수 있습니다.
필터 설정은 List View에서 필터링할 field를 설정하는 기능입니다.
필터 레이아웃 및 버튼 위치 등 기본적인 설정을 합니다.
필터 레이아웃 및 버튼 위치 등 기본적인 설정을 합니다.
리스트 구성 개체의 필드를 기반으로 필터를 추가하고 필터 유형에 따른 속성을 편집합니다.
필터 설정은 리스트 구성 개체의 필드 기반으로 합니다.
Add Filters 버튼을 누릅니다.
열린 팝업창에서 필터에 추가할 필드를 선택합니다.
필드 선택이 완료되면 Add 버튼을 누릅니다.
필터 유형에 따른 속성을 편집합니다. 텍스트형, 숫자형 필터를 제외하고 모든 유형은 동일한 설정 화면을 제공합니다.
사용 가능한 필터 유형
텍스트
숫자
통화
선택목록
날짜
날짜/시간 (날짜 형식으로만 제공)
조회
확인란 (Checkbox)
List Configuration을 구현하기 위해서는 구성하고 싶은 List View의 개체를 지정합니다.
번호 | 필드명 및 영역 | 설명 | 필수 |
---|---|---|---|
Search on initialization 선택되어 있지 않다면, 검색 버튼 클릭전에 리스트에 레코드는 보이지 않습니다
리스트를 구성하고, 필터링 및 리스트 레코드를 이용한 다양한 Action 을 지원합니다. 리스트 레코드는 Internal Data Source 및 External Data Source 를 이용하여 확장 될 수 있으며, External Data Source 를 이용하여 실시간 Interface 등을 수행하고, 그 결과를 리스트에 출력할 수 있습니다.
세일즈포스에서 개체마다 기본적으로 제공하는 List가 있습니다. 이것을 ListView라고 부릅니다. 사용자들이 데이터를 보기 위해 가장 기본적으로 필요한 부분입니다. 여기서 다양한 기능들을 제공하고 있지만 역시나 일부 불편한 사항들이 있습니다. List View의 버튼을 예로 들겠습니다.
제품 리스트에서 제품을 여러 개 선택하여 주문을 생성하는 Screen Flow를 리스트 상단에 버튼으로 추가하려고 합니다. 그러나 표준 List View에 버튼을 추가하는데 제약이 있습니다. 레코드 생성 및 업데이트가 아닌 이상 버튼을 URL 또는 Visualforce Page 형식만 허용하고 있습니다. 추가로 리스트에 검색된 데이터들을 엑셀로 내보내고 싶습니다. 하지만 아직까진 기능을 제공하지 않아 보통 개발로 처리하는 경우가 많습니다. 이러한 불편함은 사용자들이 오랫동안 고민하는 부분이기도 합니다.
그래서 우리는 앞서 말한 버튼 문제와 그 외에 자주 요구되는 엑셀 내려받기, 외부 데이터 실시간 연동 등을 List Builder에 반영하였습니다. 그리고 어드민도 손쉽게 포인트 & 클릭만으로 구현할 수 있도록 빌더를 제공하고 있습니다.
빌더를 통해 포인트 & 클릭으로 필터, Action 버튼, 컬럼 등 손쉽게 추가할 수 있습니다. 설정하면서 빌더에서 미리보기를 하여 결과를 미리 확인할 수 있습니다.
개체 설정에서 Action 버튼만 만들어 놓으면 언제든지 List Builder에서 버튼을 추가할 수 있습니다. List Builder에서 제공하는 유형은 New, Delete, Flow, URL이 있습니다.
List Builder에서 검색된 데이터를 최대 50,000건까지 엑셀로 추출이 가능합니다. 엑셀 기능 추가 여부는 빌더에서 설정이 가능합니다.
지정된 리스트의 개체에 대하여 관련된 개체의 일부 값들을 리스트에 같이 표시하려는 경우, 데이터소스 기능을 통해 관련 개체를 조회하여 리스트에 같이 표시할 수 있습니다.
외부 데이터의 실시간 연동이 필요한 경우, 연동을 담당하는 플로 또는 APEX Code를 호출하여 외부 데이터를 실시간으로 연동할 수 있도록 지원합니다.
SmallBuilder 앱에서 List Configurator 탭으로 이동한 후 New 버튼을 누르세요.
List Configurator를 신규 생성 또는 편집시에 Builder가 실행됩니다.
그러면 빌더 화면으로 이동됩니다. 빌더는 크게 각 레이아웃을 설정하는 사이드 패널, 미리보기 패널, 데이터소스 설정으로 구성되어 있습니다.
빌더에서 Configurator에 필요한 요소들을 모두 설정한 후 활성화 버튼(Active)을 눌러 탭 추가(Add Tab)하면 Configurator 구현이 완료됩니다.
활성화는 Configurator의 필수 요소들을 모두 설정해야 가능합니다.
Label
Object
Datatable Setup
좌측 상단 타이틀 옆에 활성화 여부를 알 수 있으며 미리 보기, 버튼 추가, 저장 및 삭제 등 버튼이 모여있습니다.
Add Tab : 활성화된 빌더를 기반으로 Lists 탭을 생성하여 원하는 App에 추가합니다.
Active / Inactive : 활성화된 빌더만 Lists를 구성할 수 있습니다. 비활성화인 경우 Lists는 실행되지 않습니다.
Save : 빌더를 저장합니다.
Delete : 빌더를 완전히 삭제합니다.
Clone : 최종적으로 저장된 빌더 기반으로 복제합니다. 복제 버튼을 누른 후 '저장' 버튼을 눌러야 복제가 완료됩니다.
Help : SmallBuilder Lists의 헬프 문서로 이동합니다.
Preview : 최종 저장된 빌더 설정 기반으로 구성기를 미리 볼 수 있습니다.
Reset : 편집 과정에서 원래 설정으로 복구하고 싶은 경우, Reset 버튼을 누르면 최종적으로 저장된 설정으로 복구됩니다.
DataSource Setup : 데이터소스 설정 화면으로 전환됩니다.
리스트를 구성하는 각 레이아웃을 설정하는 패널입니다. 설정 패널은 4가지로 구성되어 있습니다.
Default Setup
리스트의 기본 설정을 하는 패널입니다.
Action Setup
리스트 상단에 작업(버튼)을 추가하는 패널입니다.
Filter Setup
리스트 중앙에 필터를 추가하는 패널입니다.
Datatable Setup
리스트의 데이터들을 볼 수 있는 테이블을 설정하는 패널입니다. 컬럼, 요약 보기, 페이지 당 레코드 수 등을 설정할 수 있습니다.
레이아웃에서 설정한 결과를 미리 볼 수 있는 패널입니다.
필드 설정은 List View에서 표시될 field를 설정하는 기능입니다.
기본 설정 데이터테이블의 다중선택 허용, 요약 보기 등 기본적인 설정을 합니다.
컬럼 추가 및 편집 데이터테이블에 표시할 필드 추가 및 속성을 설정합니다.
기본 속성 편집
이미지 설정
요약 설정
Virtual 데이터소스에서 가져온 데이터를 보여주기 위해 임시로 값을 담을 수 있는 가상의 컬럼을 생성합니다.
데이터테이블의 다중선택 허용, 요약 보기 등 기본적인 설정을 합니다.
데이터테이블에 표시할 필드 추가 및 속성을 설정합니다.
컬럼 설정은 리스트 구성 개체의 필드 기반으로 합니다. 만약 데이터소스의 값을 나타내고 싶을 때 개체에 필드 생성할 필요 없이 가상의 컬럼을 생성할 수 있습니다.
Add Columns 버튼을 누릅니다.
열린 팝업창에서 리스트 컬럼에 추가할 필드를 선택합니다.
필드 선택이 완료되면 Add 버튼을 누릅니다.
기본 속성 편집
이미지 설정
이미지 표시가 활성화된 경우 이미지의 너비와 높이를 지정합니다.
요약 설정
컬럼 유형이 숫자형인 경우 요약을 설정할 수 있습니다.
Type 필드는Text / Number / Currency / Image 중 하나 입니다
Summary Type 필드는 Sum / Average / Count 중 하나 입니다
데이터소스에서 가져온 데이터를 보여주기 위해 임시로 값을 담을 수 있는 가상의 컬럼을 생성합니다.
셋업이 완료되면 저장 후 빌더상단의 Active 기능 Configuration이 활성화되어야 실제 사용할 준비가 완료됩니다.
Active된 빌더 상단의 Preview 기능을 활용하며 구현된 List Configurator를 실행하여 볼 수 있습니다.
빌더 상담의 Add Tab 기능을 활용하여 구현된 List Configurator를 원 클릭으로 원하는 앱에 탭을 추가할 수 있습니다.
원하는 앱 빌더에 List Configurator를 삽입하고 싶은 경우 앱 빌더 좌측 하단에 Custom 영역에서 List Configurator를 찾아 원하는 위치로 드래그하면 됩니다.
드래그 후 해당 컴포넌트를 클릭하여 우측에 구성하려는 List Configurator를 선택합니다.
DataSource 설정은 List View에서 사용될 내부/외부 데이터 소스를 설정하는 기능입니다.
빌더의 우측 상단에 'DataSource Setup' 버튼을 눌러 데이터소스 설정 화면으로 이동합니다.
Salesforce 내 관련 개체를 조회하여 데이터를 같이 표현하고 싶을 때 사용됩니다.
예를 들어 Lookup이 Product2로 지정된 경우 PricebookEntry에 있는 단가를 같이 표시하고 싶을 때 내부 데이터소스를 이용해 조건에 맞는 PricebookEntry를 조회하여 제품과 단가를 같이 표현할 수 있습니다.
주로 외부 서버에서 데이터를 조회하여 같이 표현해주고 싶을 때 사용됩니다. 사용자가 작성한 Apex Class를 이용해 데이터소스를 가져오기 때문에 내부 데이터소스에 비해 자유롭게 데이터를 가져올 수 있는 장점이 있습니다.
예를 들어 외부 서버에서 실시간 재고를 가져와 화면에 같이 표시하고 싶은 경우 Apex Class에서 Rest API 코드를 작성하여 외부 데이터소스에 지정하면 Line-Item Configurator에서 해당 데이터를 보실 수 있습니다.
주로 외부 서버에서 데이터를 조회하여 같이 표현해주고 싶을 때 사용됩니다. 사용자가 작성한 Apex Class를 이용해 데이터소스를 가져오기 때문에 내부 데이터소스에 비해 자유롭게 데이테를 가져올 수 있는 장점이 있습니다.
예를 들어 외부 서버에서 실시간 재고를 가져와 화면에 같이 표시하고 싶은 경우 Apex Class에서 Rest API 코드를 작성하여 외부 데이터소스에 지정하면 Line-Item Configurator에서 해당 데이터를 보실 수 있습니다.
External 데이터소스를 사용하기 위한 각 속성입니다.
External 데이터소스를 사용하기 전 Apex Class를 먼저 작성해야 합니다. Package에서 제공하는 SBLD.DataSourceService.Fetchable
인터페이스를 작성하려는 Apex Class에 implements
하여 구현합니다.
준비중입니다.
External 데이터소스를 사용하기 위한 각 속성입니다.
External 데이터소스를 사용하기 전 Apex Class를 먼저 작성해야 합니다. Package에서 제공하는 SBLD.DataSourceService.Fetchable
인터페이스를 작성하려는 Apex Class에 implements
하여 구현합니다.
SBLD.DataSourceService.Fetchable
클래스를 implements
하여 execute()
메서드를 구현합니다.
SBLD.DataSourceService.Parameter
에서 gets()
메서드를 통해 Line-Item Configurator의 Parent 또는 Lookup 정보를 가져올 수 있습니다.
Line-Item Configurator로 결과값을 전달하기 위해 아래 클래스를 이용합니다.
대상(Lookup 또는 Line-Item)의 행마다 Action을 지정합니다. Action은 데이터소스 값을 Lookup 또는 Line-Item 필드에 매핑하는 작업입니다.
setKeyValue(Object keyValue) Lookup 또는 Line-Item의 대상 레코드를 찾기 위한 Key값을 설정합니다.
putSourceToTargetField(Object sourceValue, String targetField) 데이터소스 값을 Lookup 또는 Line-Item 필드에 할당합니다.
매핑이 완료된 Action을 리턴 값에 추가하는 작업입니다.
addAction(SBLD.DataSourceServiceAction action) SBLD.DataSourceService.Result 인스턴스에 Action을 추가합니다.
준비중입니다.
SmallBuilder Schedules 앱에서 Schedule Configurators 탭으로 이동한 후 New 버튼을 누르세요.
Schedule Configurator를 신규 생성 또는 편집시에 Builder가 실행됩니다.
그러면 빌더 화면으로 이동됩니다. 빌더는 크게 설정 단계, 사이드 패널, 설정 패널로 구성되어 있습니다.
빌더에서 Configurator에 필요한 요소들을 모두 설정한 후 저장버튼(Save)을 눌르면 Configurator 구현이 완료됩니다.
미리 보기, 저장 및 삭제, 복제 등 버튼이 모여있습니다.
Relate Objects
Schedule Configurator는 크게 Parent, Line-Item, Schedule로 구성되어 있습니다. 이 단계에서는 Parent, Line-Item, Schedule에 어떠한 개체를 사용할지 지정합니다. 그리고 해당 구성들에 설정하려는 개체들은 서로 Lookup 관계로 맺어져 있어야 하고 개체는 Standard, Custom 모두 지원합니다.
Setup Control Field Schedule을 생성하기 위한 값을 Parent,Line-Item의 필드 중에서 선택합니다. Schedule을 생성할 때 사용되는 기본값을 설정하는 단계입니다.
Setup Schedule Object 실제로 저장될 Schedule값의 Field들을 선택하는 단계입니다.
빌더의 기본 설정을 하는 패널입니다. 빌더의 이름, 설명을 설정합니다.
SmallBuilder Schedules 사용을 위한 개체 설정방법을 설명합니다.
Salesforce의 StandardObject인 품목 일정 개체를 사용하여 설명합니다.
CustomObject를 사용한다면 2번부터 시작합니다.
품목 일정 개체 사용을 위해 제품 일정 설정을 활성화 한다.
2 . 일정 개체에 Schedule Configurator 개체의 조회관계 필드를 추가해준다.
Release Date
2024. 8. 6.
Summary
빌더
플로 설정 영역에서 플로 목록과 선택한 플로의 빌더로 이동할 수 있도록 버튼 추가
탭 추가 시 원하는 프로필에 바로 할당할 수 있도록 기능 개선
데이터소스의 용어 변경
내부 ➡️ 기본
외부 ➡️ 고급
데이터소스 고급의 플로에서 '내부 변수 유형' 설정 추가
레코드 (개체)
레코드 ID (텍스트)
상단에 세일즈포스 설정으로 이동하는 버튼 추가
리스트
엑셀 추출 시 맨 앞에 행 번호 추가
필터의 체크 박스(Boolean형) UI 개선 ➡️ 선택 목록으로 변경
열 정렬 시 데이터테이블의 헤더도 같이 정렬 되도록 함
리스트에서 오류 발생 시 빌더로 이동할 수 있는 버튼 제공
리스트
리스트에서 플로 작업 실행 시 선택된 레코드의 값이 제대로 넘어가지 않는 오류 수정
Releated List의 하단 UI 잘림 수정
빌더
빌더에서 최초로 탭 추가 시 탭이 보이지 않는 현상 수정
플로 설정 영역에서 플로 목록과 선택한 플로의 빌더로 이동할 수 있도록 버튼 추가
데이터테이블, 작업, 데이터소스의 플로 설정이 좀 더 수월하도록 아래 이미지와 같이 플로 빌더, 목록 이동 등 버튼을 추가하였습니다.
탭 추가 시 원하는 프로필에 바로 할당할 수 있도록 기능 개선
탭 생성 후 리스트 사용자들에게 권한 할당을 별도로 주어야 하는 번거로움을 줄이기 위해 원하는 프로필에 바로 할당할 수 있도록 개선하였습니다.
리스트에 연결된 개체 권한이 있는 프로필만 나타납니다.
데이터소스의 용어 변경
내부(Internal), 외부(External)의 용어가 기능 및 용도에 맞지 않아 기본, 고급으로 변경하였습니다.
기본: 표준 및 사용자 정의 개체를 조회하여 리스트의 가상 열을 통해 값을 표시합니다.
고급: 원하는 데이터 표현 시 복잡한 로직이 요구되는 경우, Apex 클래스 또는 플로를 사용하여 데이터를 가져와 리스트에 표시합니다.
데이터소스 고급의 플로에서 '내부 변수 유형' 설정 추가
기존에는 레코드(개체형) 변수만 허용했으나 플로에서 레코드 ID(텍스트형) 변수의 활용도가 높아 이번 버전에서 내부 변수의 유형을 선택하여 앞서 말한 두 가지 유형의 변수를 선택할 수 있도록 제공합니다.
상단에 세일즈포스 설정으로 이동하는 버튼 추가
빌더에서 세일즈포스 설정으로 이동하려면 화면을 다시 뒤로 전환해야 하는 번거로움이 있습니다. 이제 빌더 상단의 'Salesforce Setup' 버튼을 통해 세일즈포스 설정 화면으로 바로 이동하세요.
엑셀 추출 시 맨 앞에 행 번호 추가
필터의 체크 박스(Boolean형) UI 개선 ➡️ 선택 목록으로 변경
전체: 실 데이터 true
, false
모두 검색
참: 실 데이터가 true
인 값만 검색
거짓: 실 데이터가 false
인 값만 검색
열 정렬 시 데이터테이블의 헤더도 같이 정렬 되도록 함
기존에는 열의 값만 정렬 되었지만 현 버전에서는 헤더도 같이 정렬 됩니다.
리스트에서 오류 발생 시 빌더로 이동할 수 있는 버튼 제공
리스트에서 오류 발생 시 바로 빌더로 이동할 수 있도록 버튼을 추가하였습니다.
SmallBuilder Schedules 앱에서 Schedule Configurators 탭으로 이동한 후 New 버튼을 누르세요.
Schedule Configurator를 신규 생성 또는 편집시에 Builder가 실행됩니다.
그러면 빌더 화면으로 이동됩니다. 빌더는 크게 설정 단계, 사이드 패널, 설정 패널로 구성되어 있습니다.
빌더에서 Configurator에 필요한 요소들을 모두 설정한 후 저장버튼(Save)을 눌르면 Configurator 구현이 완료됩니다.
미리 보기, 저장 및 삭제, 복제 등 버튼이 모여있습니다.
Relate Objects
Schedule Configurator는 크게 Parent, Line-Item, Schedule로 구성되어 있습니다. 이 단계에서는 Parent, Line-Item, Schedule에 어떠한 개체를 사용할지 지정합니다. 그리고 해당 구성들에 설정하려는 개체들은 서로 Lookup 관계로 맺어져 있어야 하고 개체는 Standard, Custom 모두 지원합니다.
Setup Control Field Schedule을 생성하기 위한 값을 Parent,Line-Item의 필드 중에서 선택합니다. Schedule을 생성할 때 사용되는 기본값을 설정하는 단계입니다.
Setup Schedule Object 실제로 저장될 Schedule값의 Field들을 선택하는 단계입니다.
빌더의 기본 설정을 하는 패널입니다. 빌더의 이름, 설명을 설정합니다.
컴포넌트 명 | 기능 소개 |
---|---|
왼쪽 Panel은 템플릿에 추가할 수 있는 컴포넌트 요소와 템플릿 속성을 설정할 수 있습니다.
컴포넌트 요소의 예로는 텍스트, 이미지, 테이블 등이 있습니다.
요소를 선택하면 해당 속성을 구성할 수 있는 창으로 전환됩니다.
텍스트 요소의 속성 창에는 필드 데이터 표시자를 만들 수 있는 버튼이 있습니다.
옵션 | 설명 | 필수 |
---|---|---|
오른쪽 Canvas는 디자인에 따라 템플릿 요소가 배치되는 영역입니다.
번호 | 필드명 | 설명 | 필수 |
---|---|---|---|
번호 | 필드명 | 설명 | 필수 |
---|---|---|---|
포인트 & 클릭 기반 저작 툴
다양한 Action 버튼 추가
데이터 내보내기 (Excel)
관련 개체 조회 및 외부 데이터 실시간 연동
데이터소스를 추가 및 편집할 수 있는 화면입니다. 번에서 DataSource Setup 버튼을 눌러 이동할 수 있습니다.
번호 | 필드명 | 설명 | 필수 |
---|---|---|---|
번호 | 필드명 | 설명 | 필수 |
---|---|---|---|
번호 | 필드명 | 설명 |
---|---|---|
번호 | 필드명 | 설명 |
---|---|---|
번호 | 필드명 | 설명 | 필수 |
---|---|---|---|
번호 | 필드명 | 설명 | 필수 |
---|
번호 | 필드명 | 설명 | 필수 |
---|
번호 | 필드명 | 설명 | 필수 |
---|
번호 | 필드명 및 영역 | 설명 | 필수 |
---|
설정 단계를 표시합니다. 단계는 3가지로 구성되어 있으며 각 설정을 누르면 번 영역이 해당 패널로 전환됩니다.
번의 단계에 따라 해당 설정 패널로 전환됩니다.
설정 단계를 표시합니다. 단계는 3가지로 구성되어 있으며 각 설정을 누르면 번 영역이 해당 패널로 전환됩니다.
번의 단계에 따라 해당 설정 패널로 전환됩니다.
Title
문서의 제목
Paragraph
문자열 단락
Image
이미지
Image+text
이미지와 문자열
Empty
컴포넌트 사이 여백
Divider
가로 구분선
Table
테이블
Table with 2 columns
2열 테이블
Table (Related)
테이블 형태의 집합 자료
Table (Related) - Groupped
그룹화된 집합 자료
Table (Related) - Filtered
특정 조건을 만족하는 집합 자료
Table (Related) - Groupped with image
그룹화된 집합 자료에 이미지를 포함
Page Header
문서 머리글
Page Footer
문서 바닥글
Target Object
문서 생성 기준이 되는 개체를 지정
O
Template Name
저장할 Document Template 이름
O
File Name
저장되는 PDF 파일의 이름
Versioning
파일 이름 뒤에 붙는 파일버전
Image
Formula Field에 있는 이미지의 크기 조절
PDF margin
페이지 여백 설정 * Header / Footer가 있을 때는 10mm이상으로 설정
Enable Email Form
PDF 미리보기와 Email 전송 폼을 함께 볼 수 있게 설정
1
Preserve Filter Values
가장 최근에 사용되었던 필터 값을 로컬에 저장하여 필터를 유지합니다.
2
Filter Layout
리스트 필터가 보여지는 가로 비율을 나타냅니다.
3 of 12 : 한 줄에 4개의 필터가 나타납니다.
4 of 12 : 한 줄에 3개의 필터가 나타납니다.
기본값 : 3 of 12
✔️
3
Search Button Position
검색 버튼의 위치입니다.
Right Column - 필터 레이아웃의 바깥쪽 가장 오른쪽에 배치합니다.
Last Column - 모든 필터를 표시하고 마지막 열에 배치합니다.
기본값 : Right Column
✔️
1
Field
필터로 쓰이는 필드의 API 이름입니다.
✔️
2
Label
필터 레이블입니다.
✔️
3
Match Condition
텍스트형 필터 검색 시 매칭할 유형을 선택합니다.
Contains
Equals
Start with
기본값 : Contains
4
Search Type
숫자의 검색 방법입니다.
Operator - 연산자(=,<=,>=... 등)를 사용합니다.
Range (From ~ To) - 범위를 지정합니다.
기본값 : Operator
1
Where
리스트 레코드 조회 시 추가 실행할 수 있는 쿼리 조건입니다.
2
Order By
리스트 쿼리 실행 시 정렬 필드와 정렬 방식을 지정합니다.
3
Records by Page
페이지별 나타낼 레코드 개수를 선택합니다.
20
50
100
200
기본값 : 50
✔️
4
Multi Selectable
리스트의 가장 첫 번째 컬럼에 체크박스를 표시하여 레코드를 다중 선택할 수 있도록 합니다.
5
Show Summary
리스트 레코드의 요약 정보 사용 여부입니다.
1
Field
컬럼에 사용된 필드 API Name을 보여줍니다.
✔️
2
Label
컬럼의 레이블입니다.
✔️
3
Column Align
컬럼의 정렬 기준입니다.
Left - 왼쪽 정렬
Right - 오른쪽 정렬
Center - 가운데 정렬
기본값 : Left
4
Column Width(px)
컬럼 너비를 지정합니다. 단위는 픽셀(px) 입니다.
5
Link
컬럼 값 클릭 시 이동할 Link입니다.
{$Current.필드명}
을 사용하여 리스트 대상 개체의 필드값을 바인딩하여 사용할 수 있습니다.
6
Image
컬럼을 이미지로 표시하려는 경우 활성화합니다.
1
Image Width
이미지 너비를 지정합니다. 단위는 픽셀(px) 입니다.
2
Image Height
이미지 높이를 지정합니다. 단위는 픽셀(px) 입니다.
1
Virtual Type
가상 컬럼의 유형을 선택합니다.
Text
Number
Currency
✔️
1 | Flow | 실행하고자 하는 Flow를 선택합니다. | ✔️ |
2 | Parameter Type | Flow 실행 시 전달할 파라미터 유형을 선택합니다.
| ✔️ |
3 | Parameter Name | Parameter Type이 SObject 또는 Record Id인 경우 Flow에서 받을 리소스를 선택해야 합니다. |
1 | URL | 이동할 URL(절대경로 또는 상대경로)를 입력합니다. | ✔️ |
2 | Parameter Field API Name | URL 이동 시 매개변수로 전달할 리스트 지정 개체의 필드를 선택합니다. 리스트에서 선택된 레코드의 필드값을 전달합니다. |
1
Summary
하단에 요약을 나타내고 싶은 경우 활성화합니다.
2
Summary Label
요약의 레이블입니다.
3
Summary Type
요약 유형을 선택합니다.
Sum - 컬럼의 총 합계를 표시합니다.
Average - 컬럼의 총 평균을 표시합니다.
1 | Label | 버튼의 레이블입니다. | ✔️ |
2 | Button Variant | 버튼의 모양을 지정합니다.
|
3 | Action Type | 작업의 유형을 선택합니다.
| ✔️ |
1 | External 유형 선택 | External 데이터소스 가져오는 방식은 두 가지 제공됩니다.
| ✔️ |
2 | 활성화 | 데이터소스를 활성화합니다. 활성화가 되어 있지 않으면 리스트 구성 시 작동되지 않습니다. |
3 | Description | 데이터소스에 대한 설명을 기입합니다. |
4 | Key Field | 데이터소스에서 가져온 데이터를 리스트 지정 개체의 어떠한 필드값으로 결합할지 지정합니다. | ✔️ |
5 | Parameters | 데이터소스에 리스트 지정 개체의 필드 값이 필요한 경우 필드를 선택합니다. |
6 | Input Variable |
7 | Output Variable | ✔️ |
1
Label
리스트의 타이틀을 지정합니다.
✔️
2
Object
리스트를 구성하는 표준 개체 또는 사용자 정의 개체를 지정합니다.
✔️
3
Description
리스트에 대한 설명을 기재합니다.
4
Allow Excel Export
리스트 레코드의 Excel Export 가능 여부입니다.
5
Show Icon
리스트 타이틀에 아이콘 표시 여부입니다.
6
아이콘 선택
리스트 타이틀에 표시할 아이콘을 선택합니다.
셋업이 완료되면 저장 후 빌더 상단의 Preview 기능이 활성화되어야 실제 사용할 준비가 완료됩니다.
빌더 상단의 Preview 기능을 활용하며 구현된 Schedule Configurator를 실행하여 볼 수 있습니다.
빌더 상단의 Clone기능을 활용하여 구현된 Schedule Configurator의 복사본을 생성할 수 있습니다.
수정 사항이 존재한다면 편집 계속하기, 저장하지 않고 복제, 저장 후 복제 중 선택합니다.
Clone버튼 클릭 이후 Configurator를 수정한 후 Save 버튼을 클릭하여 복제를 완료합니다.
빌더 상단의 Add Button 기능을 활용하여 구현된 Schedule Configurator를 원 클릭으로 Parent 개체의 Page Layout에 추가할 수 있습니다.
버튼 이외에 다른 곳에서 Schedule Configurator를 호출하고 싶은 경우 아래와 같이 <SBST:ScheduleConfigurator />
를 삽입해주면 됩니다.
현재는 Aura Component만 제공됩니다.
Schedule Configurator를 구현하기 위해서는 먼저 Parent 개체, Line-item 개체, Schedule 개체를 지정합니다.
참고로 기회에서 제품 Schedule Configurator를 구현하는 경우 Parent Object는 기회 개체로 Line-item 개체는 기회 제품으로 설정하며 OpportunityLineItemSchedule을 Schedule 개체로 설정합니다. ( Setup에서 Product Schedules Settings를 활성화해야 개체를 사용할 수 있습니다.)
항목 | 설명 | 필수 |
---|---|---|
Line-Item Editor에서 저장된 레코드 불러올 시 정렬 및 조건 등을 설정합니다.
저장 될 Schedule Object의 필드를 선택합니다.
Schedule Object의 필드 중에서 일정 편집 및 저장시 사용할 필드를 선택한다.
Schedule Object의 필드 중에서 일정 편집 및 저장시 사용할 필드를 선택한다.
설정 > 사용자로 들어가 할당하려는 사용자를 클릭하여 줍니다.
스크롤을 내려 권한 집합 할당 편집 버튼을 눌러줍니다.
사용자에 따라 SmallBuilder Forms Manager, SmallbuilderForms User를 할당해 줍니다.
빌더의 Side Panel에서 Schedule Configurator의 Name, Description 정보 등 기본 정보를 관리합니다.
Configurator의 이름, 설명 등 기본적인 설정을 합니다.
Configurator의 이름, 설명 등 기본적인 설정을 합니다.
게스트 사용자 프로필에 시스템 > 시스템 권한을 클릭해줍니다.
게스트 사용자가 설문 조사를 열람할 수 있게 '비공개 정적 자원 보기'를 활성화 합니다.
Opportunity - Opportunity Product - LineItemSchedule을 사용한 Schedule Configurator 사용법
Start Here 페이지를 참고하여 Sample Data를 생성해 줍니다.
Line-Item Object의 Name Field를 Product의 Name을 가지는 포뮬러 함수 필드로 변경 해줍니다.
Add Button을 사용하여 원하는 페이지 레이아웃에 Schedule Configurator 사용을 위한 Quick Action을 추가해 줍니다.
Parent Object의 record Detail 페이지에 추가한 'Schedule' 버튼을 클릭하여 Schedule Configurator를 사용합니다.
CreateAll 버튼을 눌러 모든 라인 아이템의 일정을 생성합니다.
Create 버튼을 눌러 왼쪽 Tab에 활성화된 LineItem에 대한 일정을 생성합니다.
ScheduleDate를 기준으로 일정 정렬이 가능합니다.
범위를 넘어서는 값을 입력할 시 붉은색 표기를 통해 유효하지 않은 값임을 사용자에게 알립니다.
'+'버튼과 휴지통 버튼을 사용하여 일정을 추가 삭제할 수 있습니다.
Schedule을 생성할 때 사용되는 값들을 설정합니다. 기본값과 날짜, 수량 및 금액 값을 가져올 필드를 선택합니다.
Schedule을 생성하는데 필요한 기본값을 설정합니다.
일정 생성을 위해 필요한 날짜관련 필드와 기본값을 설정합니다.
일정 생성을 위해 필요한 수량 및 금액 필드와 기본값을 설정합니다.
Schedule을 생성하는데 필요한 기본값을 설정합니다.
일정 생성을 위해 필요한 날짜 관련 필드와 기본값을 설정합니다.
일정 생성을 위해 필요한 수량 및 금액 필드와 기본값을 설정합니다.
Setup > All Sites > Workspace
Administrator 선택
Preferences > 아래 항목 활성화 후 저장
Let guest users view asset files, library files, and CMS content available to the site (To let guest users view CMS collections, also enable Allow guest users to access public APIs)
Let guest users see other members of this site
Setup > All Sites > Builder
설정 > 일반 > Public Access 아래 항목 활성화 후 저장
Guest users can see and interact with the site without logging in
게스트사용자가 SmallBuilder Forms을 사용할 수 있게 공유규칙 설정을 해줍니다.
설정 > 공유 설정으로 이동합니다.
SmallBuilder Forms 개체에 관하여 '새로 만들기' 버튼을 눌러 공유규칙을 새로 생성해줍니다.
게스트 사용자 액세스, 조건기반으로 특정 게스트 사용자에게 폼 개체의 읽기 권한을 주는 공유규칙을 생성한다.
하단의 표를 참고하여 '공유할 레코드 선택'을 작성한다.
※ 표의 6개의 개체에 대해서만 공유 규칙을 설정한다.
여러 폼 항목에서 공통적으로 쓸 수 있는 폼 선택 그룹을 생성합니다.
항목 | 설명 | 필수 |
---|---|---|
폼의 질문을 생성합니다.
항목 | 설명 | 필수 |
---|---|---|
폼의 버전관리를 위해 폼 버전을 생성합니다.
항목 | 설명 | 필수 |
---|---|---|
SmallBuilder Forms를 사용하여 설문을 위한 폼을 생성합니다.
번호 | 필드명 | 설명 | 필수 |
---|---|---|---|
SmallBuilder Forms를 통해 설정한 Form을 전송하기 위해 폼 요청을 생성합니다.
항목 | 설명 | 필수 |
---|---|---|
폼 선택의 항목들을 생성합니다.
항목 | 설명 | 필수 |
---|---|---|
💡 데이터테이블 기본 설정에서 'Show Summary'가 활성화되어야 합니다.
기본값 : Neutral
플로로 지정된 경우 플로에 전달할 파라미터 변수를 선택합니다. 파라미터가 필요 없는 경우 선택하지 않습니다. 💡 옵션에서 보여지는 값들은 지정된 플로에 있는 리소스(Available for input)입니다.
플로 결과 값을 가져올 변수를 선택합니다. 💡 옵션에서 보여지는 값들은 지정된 플로에 있는 리소스(Available for output)입니다.
항목 | 설명 |
---|---|
항목 | 설명 |
---|---|
항목 | 설명 | 필수 |
---|---|---|
번호 | 필드명 | 설명 | 필수 |
---|---|---|---|
항목 | 설명 | 필수 |
---|---|---|
항목 | 설명 | 필수 |
---|---|---|
항목 | 설명 | 필수 |
---|---|---|
개체이름 | 필드 | 연산자 | 값 |
---|---|---|---|
recordId
Schedule Configurator에서 설정한 Parent의 레코드 ID 입니다.
builderId
Schedule Configurator의 레코드 ID 입니다.
Order By
저장된 Line-Item의 레코드를 불러올 시 정렬을 설정합니다.
SOQL의 ORDER BY
절을 기재합니다.
예를 들어 최근에 생성된 날짜(필드: CreatedDate)순으로 내림차순 정렬하고 싶은 경우 CreatedDate DESC
로 기재하면 됩니다.
Advanced Condition
검색 조건을 미리 지정합니다.
SOQL의 WHERE
절을 기재합니다.
예를 들어 활성화(필드: IsActive)된 레코드만 조회하고 싶은 경우
IsActive = true
로 기재하면 됩니다.
Schedule Date Field
일정 날짜가 저장될 필드입니다.
✔️
Schedule Order Field
일정 순서가 저장될 필드입니다.
Schedule Description Field
일정 설명이 저장될 필드입니다.
Schedule Amount Field
일정 금액이 저장될 필드입니다.
✔️
Schedule Quantity Field
일정 수량이 저장될 필드입니다.
✔️
1
Name
Configurator의 이름을 지정합니다.
✔️
2
Description
Configurator에 대한 설명을 기재합니다.
Default Frequency
생성할 일정의 빈도입니다.
✔️
Default Installments
생성할 일정의 개수입니다.
✔️
Remain Installment
수량 혹은 금액이 나누어떨어지지 않을 때 남은 값을 추가하거나 제거할 회차입니다.
✔️
Schedule Type
생성할 일정의 종류입니다.
Amount - 금액, 날짜
Quantity - 수량, 날짜
Amount With Quantity - 금액, 수량, 날짜
Date - 날짜
✔️
Object
Parent, Line-Item 중 가져올 Field의 Object를 선택합니다.
✔️
Start Date Field
생성할 일정의 시작 날짜입니다.
✔️
End Date Field
생성할 일정의 종료 날짜입니다.
✔️
Date Rule
생성할 일정의 일자 계산규칙입니다.
First Day - 달의 첫날
Last Day - 달의 마지막 날
Fixed Day - 사용자가 설정한 날
✔️
Fixed Day
사용자 정의 일자 입니다.
Object
Parent, Line-Item중 가져올 Field의 Object를 선택합니다.
✔️
Quantity Field
생성할 일정들의 전체 수량이 될 필드 값입니다.
✔️
Amount Field
생성할 일정들의 전체 금액이 될 필드 값입니다.
✔️
Rounding Method
나눈 숫자가 딱 떨어지지 않을 때 반올림 방법을 선택합니다.
Round - 반올림
Round Up - 올림
Round Down - 내림
✔️
Level of precision
나누어떨어질 자릿수를 선택합니다.
폼
FormName
같지 않음
폼 문항 응답
No
같지 않음
폼 선택 그룹
Name
같지 않음
폼 요청
No
같지 않음
폼 전송 기록
No
같지 않음
폼 테마
Form Theme Name
같지 않음
Parent Object
기회, 견적, 계약 등 일정을 추가할 개체를 의미합니다.
✔️
Line-item Object
기회 제품, 견적 제품 등 Parent Object의 자식 개체를 의미합니다.
Schedule Object
일정이 저장될 개체를 의미합니다. 💡 Tip Line-Item을 사용할 경우 Line-Item과 Lookup 관계를 가져야 합니다. Line-Item을 사용하지 않을 경우 Parent Lookup 관계를 가져야 합니다. Schedule Configurator와 Lookup 관계를 가져야 합니다.
✔️
Name
폼 선택 그룹의 이름을 기재합니다.
✔️
폼버전
문항을 넣을 폼 버전을 기재합니다.
✔️
필수
문항에 대한 답을 필수로 입력받을지 기재합니다.
타입
문항의 타입을 선택합니다.
텍스트
체크박스-단일
체크박스-다중(가로)
라디오버튼(가로)
첨부파일
체크박스-다중(세로)
라디오버튼(세로)
섹션
레이블
질문 내용을 기재합니다.
순서
문항의 순서를 기재합니다.
Name
폼 버전의 이름을 기재합니다.
✔️
활성화 여부
한 폼에대한 여러 폼버전 중 실제로 사용할 폼일 경우에 활성화 합니다.
폼 테마
폼의 header, footer, style를 설정하는 개체를 의미합니다.
레이블
폼 버전의 레이블을 기재합니다.
버전
폼 버전의 버전을 기재합니다.
설명
폼 버전의 설명을 기재합니다.
폼
폼 버전의 부모인 폼을 의미합니다.
✔️
1
Form Name
폼 이름을 기재합니다.
✔️
2
레이블
폼 레이블을 기재합니다.
3
활성화 버전
폼 버전 중 실제로 사용할 버전을 기재합니다.
4
설명
폼에 대한설명을 기재합니다.
5
대상 오브젝트 이름
설문을 요청할 대상 오브젝트의 Api 이름을 기재합니다.
연락처
폼 전송시 사용될 연락처를 기재합니다.
폼 버전
전송할 폼의 버전을 선택합니다.
사이트
폼 요청시 사용할 사이트 Name을 기재합니다.
관련 대상 id
대상 Object의 특정 레코드를 기재합니다.
레이블
폼 선택 항목의 레이블을 기재합니다.
값
폼 선택 항목의 실제 저장될 값을 기재합니다.
순서
폼 선택 항목의 순서를 기재합니다.
폼 선택 그룹
폼 선택 항목의 부모인 폼 선택을 기재합니다.
Form Theme Name
폼 테마의 이름을 기재합니다.
✔️
머리글
폼의 머리글을 기재합니다.
바닥글
폼의 바닥글을 기재합니다.
테마 CSS
폼에 적용될 css를 기재합니다.
전송 버튼 레이블
전송 버튼의 레이블을 기재합니다.
Salesforce 내 관련 개체를 조회하여 데이터를 같이 표현하고 싶을 때 사용됩니다.
예를 들어 Lookup이 Product2로 지정된 경우 PricebookEntry에 있는 단가를 같이 표시하고 싶을 때 내부 데이터소스를 이용해 조건에 맞는 PricebookEntry를 조회하여 제품과 단가를 같이 표현할 수 있습니다.
Internal 데이터소스를 사용하기 위한 각 속성입니다.
데이터소스를 통해 가져온 데이터를 리스트와 결합하기 위한 작업으로 데이터소스 필드와 리스트의 필드를 매핑합니다.
데이터소스를 통해 가져온 데이터를 리스트와 결합하기 위한 작업으로 데이터소스 필드와 리스트의 필드를 매핑합니다.
리스트의 개체를 Product로 지정하여 제품 목록을 검색하려고 합니다. 해당 목록에 PricebookEntry 개체에 있는 단가를 함께 표시하려고 합니다.
(선택) Condition 란에 Product2Id IN {$Current.Id}
를 입력합니다. (SOQL Where
문과 동일)
Product에 맞는 PricebookEntry 데이터를 결합하기 위해 Key 행의 가장 우측에 있는 연필 버튼을 누릅니다.
열린 팝업창에서 아래와 같이 선택 후 저장합니다.
DataSource Field : Product2Id
Lists Field : Id
PricebookEntry의 단가를 리스트 컬럼에 표시하기 위해 'Add Action'을 누릅니다. (작업하기 전 데이터테이블 설정에서 Virtual Column을 생성합니다.)
열린 팝업창에서 아래와 같이 선택 후 저장합니다.
DataSource Field : UnitPrice
Virtual Field : SBLDVirtual1
번호 | 필드명 및 영역 | 설명 | 필수 |
---|---|---|---|
번호 | 필드명 및 영역 | 설명 | 필수 |
---|---|---|---|
번호 | 영역 | 설명 |
---|---|---|
버튼을 눌러 'PricebookEntry'를 검색 후 선택합니다.
1
Key
데이터소스와 리스트 레코드 간 연결을 위해 서로 같은 값을 가진 필드를 설정합니다.
✔️
2
Actions
데이터소스에서 가져온 데이터를 리스트 컬럼들에 매핑합니다.
✔️
3
버튼을 눌러 Action을 추가합니다.
1
DataSource Field
데이터소스에서 지정한 개체의 필드를 보여줍니다.
2
Lists Field
리스트에서 지정한 개체의 필드를 보여줍니다.
3
Virtual Field
리스트에서 생성한 가상 컬럼들을 보여줍니다.
4
결과
왼쪽이 데이터소스, 오른쪽이 리스트로 서로 간 어떤 필드로 매핑할 지 결과를 보여줍니다.
5
Add Virtual
데이터소스에 필요한 가상 열을 생성할 수 있습니다. 생성된 가상 열은 Lists Setup의 Datatable 설정에서 확인할 수 있습니다.
1
개체 검색
데이터소스 대상 개체를 검색 후 선택합니다.
✔️
2
활성화
데이터소스를 활성화합니다. 활성화가 되어 있지 않으면 리스트 구성 시 작동되지 않습니다.
3
Description
데이터소스에 대한 설명을 기입합니다.
4
Conditions
5
데이터소스를 통해 가져온 데이터를 리스트와 결합하기 위한 작업으로 데이터소스 필드와 리스트의 필드를 매핑합니다.
✔️
데이터소스 지정 개체 조회 시 조건이 필요한 경우 작성합니다. (SOQL의 Where
절에 해당합니다.)
Field API Name Finder를 이용해 조건문에 사용할 필드를 검색하여 쉽게 작성할 수 있습니다.
리스트 지정 개체의 필드를 이용해 조건문 작성 시
'='이 아닌 'IN'으로 작성해야 합니다.
$Current
는 리스트 지정 개체를 의미합니다.
올바른 예 Product2Id IN {$Current.Id}
잘못된 예 Product2Id = {$Current.Id}