# 제품 소개

### 개요

SmallBuilder Line Items는 기회 및 견적 같은 표준 개체는 물론 사용자 정의 개체에서 할인율 계산기, 외부 데이터 연동을 지원하는 라인 아이템 편집기를 개발 없이 구현하도록 지원합니다.

### 왜 라인 아이템 편집기를 사용해야 하나요?

세일즈포스에서 대표적으로 Junction 관계를 맺은 개체로는 **기회, 견적, 주문**이 있습니다. 이들은 세일즈 클라우드에서 필수로 사용되는 개체들입니다. 세일즈포스에서 이러한 개체들의 라인 아이템을 추가하거나 변경할 때 제공되는 기본 기능들은 훌륭하지만, 일부 불편한 사항들이 존재합니다.

{% hint style="warning" %}
라인 아이템 편집기는 현재 :link:[**Junction 관계 (many-to-many)**](#junction-object) 개체들만 지원하고 있습니다.
{% endhint %}

예를 들어, 판매 가격이나 수량을 입력할 때 총액이 즉시 계산되지 않거나, 할인율을 사용자가 직접 계산해 입력해야 하는 부분이 있습니다. 또한, 많은 사용자들은 제품 선택이나 라인 아이템 입력 시 자체 서버에서 재고 데이터를 가져와 참고하고 싶어 합니다. 더불어, 다른 개체에서 계정별 할인율을 자동으로 적용하여 계산되길 원합니다. 이러한 요구 사항을 해결하려면 개발자의 도움이 필요하고, 기능을 추가하거나 변경할 때 어드민이 쉽게 커스터마이징할 수 없는 한계가 있습니다. 그러나 라인 아이템 편집기를 사용하면 개발 없이 포인트 & 클릭 방식으로 이와 같은 단점을 보완할 수 있습니다.

* 라인 아이템 추가 또는 편집 시 자동 계산, 외부 데이터 적용 등 **최소한의 개발 및 포인트 & 클릭만으로 기능 확장**이 가능합니다.
* 빌더를 이용하여 손쉽게 화면을 구현할 수 있어 **시간을 절약**할 수 있고 유지보수로서 **기능 추가 및 수정을 하는데 어려움이 없습니다.**
* 라인 아이템 편집기를 구현할 때 필요한 기본 설정은 개발이 필요하지 않아, **세일즈포스 기본 지식을 갖춘 어드민만으로도 화면을 구현**할 수 있습니다.

#### 세일즈포스 스탠다드 화면

<figure><img src="https://3985481653-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA2fSsDo5KsIVkUoDIV1b%2Fuploads%2Fz26VtPp2wySbeSYXVU7M%2FStandard%20Opportunity%20Line-Item.gif?alt=media&#x26;token=5bda1a15-588d-4aa5-816b-6c04aec65cd8" alt=""><figcaption><p>Standard 화면에서 제품 추가 후 단가 또는 수량 변경 시 총액이 자동 계산이 되지 않습니다.</p></figcaption></figure>

#### 라인 아이템 편집기 화면

<figure><img src="https://3985481653-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA2fSsDo5KsIVkUoDIV1b%2Fuploads%2FCjyMRWQzV3JvPK4HH2NT%2FLine-Item%20Configurator.gif?alt=media&#x26;token=217f6952-1a0a-488a-9c78-d4c2092d2131" alt=""><figcaption><p>라인 아이템 편집기로 스탠다드의 제품 편집을 재구현하여 재고 표시, 자동 계산, 할인율 등 기능을 확장합니다.</p></figcaption></figure>

### Junction Object란 무엇인가요?

라인 아이템 편집기는 Junction 관계를 맺은 개체들을 기반으로 구성됩니다. 앞서 말했듯이 대표적으로 기회, 견적, 주문이 있습니다. 이 중에서 기회의 라인 아이템 구조를 살펴봅시다.

우리는 기회(`Opportunity`)에서 제품을 추가하려고 합니다. 이때 제품의 정보와 가격 정보를 가져오기 위해서는 모든 관련 정보를 포함하는 가격 목록 항목(`PricebookEntry`) 개체가 필요합니다. 그런 다음, 제품을 추가할 때 입력하는 판매가, 수량 등의 정보를 함께 저장하는 개체가 바로 기회 제품(`OpportunityLineItem`)입니다.

<div data-full-width="false"><figure><img src="https://3985481653-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA2fSsDo5KsIVkUoDIV1b%2Fuploads%2FS4WGUfHdeu2Tmc81OH9f%2FJunction_Diagram.png?alt=media&#x26;token=5eb22b98-607c-46b2-99a7-805447600fd2" alt=""><figcaption></figcaption></figure></div>

**기회 제품(**`OpportunityLineItem`**)**&#xC740; 위의 그림과 같이 **기회(**`Opportunity`**)**&#xC640; **가격 목록 항목(**`PricebookEntry`**)**&#xC758; 정보를 모두 포함하고 있습니다. 기회 제품은 기회에 여러 가격 목록 항목을 등록할 수 있도록 연결해 주는 역할을 하며, 이러한 역할을 하는 개체를 **Junction 개체**라고 합니다.

위의 관계들만 맺고 있으면 언제든지 라인 아이템 편집기를 구현할 수 있습니다. 그리고 이러한 관계 속에 있는 각 개체들은 라인 아이템 편집기에서 아래와 같이 지칭하고 있습니다:

* 기회: 부모
* 가격 목록 항목: 조회
* 기회 제품: 라인 아이템

### 주요 기능

:heavy\_check\_mark: **모든 개체 지원**

SmallBuilder Line Items의 라인 아이템 편집기는 모든 개체를 지원합니다. 따라서 표준 기회 또는 견적뿐만 아니라 커스텀 개체에서도 제품 등 라인 아이템을 처리 하는 기능을 구현 시 더 이상 코딩은 필요 없습니다.

:heavy\_check\_mark: **포인트 & 클릭 기반 저작 툴**

기회, 제품 및 가격 목록과 같이 3개 이상의 개체로 이루어지는 복잡한 라인 아이템 편집기(Line Item Editor)를  손쉽게 구현할 수 있는 [**빌더**](https://help.smallbuilder.com/ko/smallbuilder-line-items/builder/getting-stared-with-the-builder)를 제공하고 있습니다.

:heavy\_check\_mark: **외부 데이터 실시간 연동**

외부 데이터의 실시간 연동이 필요한 경우 라인 아이템 편집기(Line Item Editor)는 연동을 담당하는 Apex Code를 호출하여 외부 데이터를 실시간으로 연동할 수 있도록 지원합니다.

:heavy\_check\_mark: **CPQ의 대안**

라인 아이템 편집기(Line Item Editor)는 Currency 필드에 할인율 계산기를 적용할 수 있습니다. 편리한 할인율 계산이 중요한 경우 훌륭한 CPQ의 대안으로 활용 가능합니다.
