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...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
SmallBuilder๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ์ฌ์ ํตํ ์ค์ ์ ํ์ธํฉ๋๋ค.
์กฐ์ง์ด ์ฒ์ ์์ฑ๋ ํ ํตํ๊ฐ null๋ก ์ค์ ๋์ด ์์ ์ ์์ต๋๋ค. ํตํ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋์ง ์์ผ๋ฉด SmallBuilder๊ฐ ์ ๋๋ก ์๋ํ์ง ์์ ์ ์์ต๋๋ค. ์ ํ์ ์ฌ์ฉํ๊ธฐ ์ ์ ์กฐ์ง์ ํตํ๊ฐ ์ ๋๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํ์ธ์.
๋ค์ค ํตํ๊ฐ ํ์ฑํ๋์ด ์๋ ๊ฒฝ์ฐ, ํด๋น ๊ณผ์ ์ ํ์ธํ์ง ์์๋ ๋ฉ๋๋ค.
์ค์ ์์ ๋น ๋ฅธ ์ฐพ๊ธฐ ์์์ ํ์ฌ๋ฅผ ์ ๋ ฅํ ํ ํ์ฌ ์ ๋ณด๋ฅผ ์ ํํฉ๋๋ค.
ํธ์ง์ ํด๋ฆญํฉ๋๋ค.
ํตํ ์ค์ ์์ ์ฌ์ฉ ํตํ๊ฐ ์ ๋๋ก ์ ํ๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
null๋ก ๋์ด ์๋ ๊ฒฝ์ฐ, ์ฌ๋ฐ๋ฅธ ํตํ๋ฅผ ์ ํํด ์ฃผ์ธ์.
AppExchange์์ SmallBuilder๋ฅผ ์กฐ์ง์ ์ค์นํฉ๋๋ค.
SmallBuilder๋ 10๊ฐ์ ๋ผ์ด์ ์ค๋ฅผ ๋ฌด๋ฃ๋ก ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์ ํ์ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ฐ ์ฌ์ฉ์๊ฐ ์ ํ์ ์ ๊ทผํ ์ ์๋๋ก SmallBuilder ๊ด๋ จ ๋ผ์ด์ ์ค์ ๊ถํ ์งํฉ์ ํ ๋นํด์ผ ํฉ๋๋ค.
์กฐ์ง์ด ์ฒ์ ์์ฑ๋ ํ ํตํ๊ฐ null๋ก ์ค์ ๋์ด ์์ ์ ์์ต๋๋ค. ํตํ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋์ง ์์ผ๋ฉด SmallBuilder๊ฐ ์ ๋๋ก ์๋ํ์ง ์์ ์ ์์ต๋๋ค. ์ ํ์ ์ฌ์ฉํ๊ธฐ ์ ์ ์กฐ์ง์ ํตํ๊ฐ ์ ๋๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํ์ธ์.
SmallBuilder ์ ํ๋ค์ ์์ด์ ํ๊ตญ์ด๋ฅผ ์ง์ํฉ๋๋ค. ๊ธฐ๋ณธ ์ธ์ด๋ ์์ด์ด๋ฉฐ, ํ๊ตญ์ด ๋ฒ์ญ์ ์ฌ์ฉํ๋ ค๋ฉด ์กฐ์ง์์ ๋ฒ์ญ ๊ธฐ๋ฅ์ ํ์ฑํํด์ผ ํฉ๋๋ค.
SmallBuilder ์ ํ์์ ํ์ด์ง ๋ ์ด์์์ ๋ฒํผ ์ถ๊ฐ, ํญ ์์ฑ ๋ฑ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ จ ์์ ์ ์ํํ๋ ค๋ฉด SmallBuilder์ ์ฐ๊ฒฐ๋ ์ฑ์ ๋ํ ์ถ๊ฐ ์ค์ ์ด ํ์ํฉ๋๋ค.
SmallBuilder๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ์ฌ์ ํตํ ์ค์ ์ ํ์ธํฉ๋๋ค.
์กฐ์ง์ด ์ฒ์ ์์ฑ๋ ํ ํตํ๊ฐ null๋ก ์ค์ ๋์ด ์์ ์ ์์ต๋๋ค. ํตํ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋์ง ์์ผ๋ฉด SmallBuilder๊ฐ ์ ๋๋ก ์๋ํ์ง ์์ ์ ์์ต๋๋ค. ์ ํ์ ์ฌ์ฉํ๊ธฐ ์ ์ ์กฐ์ง์ ํตํ๊ฐ ์ ๋๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํ์ธ์.
๋ค์ค ํตํ๊ฐ ํ์ฑํ๋์ด ์๋ ๊ฒฝ์ฐ, ํด๋น ๊ณผ์ ์ ํ์ธํ์ง ์์๋ ๋ฉ๋๋ค.
์ค์ ์์ ๋น ๋ฅธ ์ฐพ๊ธฐ ์์์ ํ์ฌ๋ฅผ ์ ๋ ฅํ ํ ํ์ฌ ์ ๋ณด๋ฅผ ์ ํํฉ๋๋ค.
ํธ์ง์ ํด๋ฆญํฉ๋๋ค.
ํตํ ์ค์ ์์ ์ฌ์ฉ ํตํ๊ฐ ์ ๋๋ก ์ ํ๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
null๋ก ๋์ด ์๋ ๊ฒฝ์ฐ, ์ฌ๋ฐ๋ฅธ ํตํ๋ฅผ ์ ํํด ์ฃผ์ธ์.
SmallBuilder Line Items๋ ์์ด์ ํ๊ตญ์ด๋ฅผ ์ง์ํฉ๋๋ค. ๊ธฐ๋ณธ ์ธ์ด๋ ์์ด์ด๋ฉฐ, ํ๊ตญ์ด ๋ฒ์ญ์ ์ฌ์ฉํ๋ ค๋ฉด ์กฐ์ง์์ ๋ฒ์ญ ๊ธฐ๋ฅ์ ํ์ฑํํด์ผ ํฉ๋๋ค.
์ค์ ์์ ๋น ๋ฅธ ์ฐพ๊ธฐ ์์์ ๋ฒ์ญ์ ์ ๋ ฅํ ํ ๋ฒ์ญ ์ธ์ด ์ค์ ์ ์ ํํฉ๋๋ค.
ํ๊ตญ์ด ํธ์ง์ ํด๋ฆญํฉ๋๋ค.
ํ์ฑ์ ์ฒดํฌํฉ๋๋ค.
SmallBuilder Line Items๋ 10๊ฐ์ ๋ผ์ด์ ์ค๋ฅผ ๋ฌด๋ฃ๋ก ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์ ํ์ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ฐ ์ฌ์ฉ์๊ฐ ์ ํ์ ์ ๊ทผํ ์ ์๋๋ก SmallBuilder Line Items ๋ผ์ด์ ์ค์ ๊ถํ ์งํฉ์ ํ ๋นํด์ผ ํฉ๋๋ค.
SmallBuilder Line Items ์ ์ ๋ผ์ด์ ์ค๋ ์ฌ์ฉ์๋น ๋ถ์ฌ๋์ด์ผ ํฉ๋๋ค. ๋ผ์ด์ผ์ค๋ฅผ ๋ถ์ฌํ๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
๐ฆ Package Upgrade
๐๏ธ Release Date
2025. 4. 8.
๐ Bug Fixes
SmallBuilder Line Items์ ๋น๋ ํ๋ฉด์์ ๋ฒํผ ์์ฑ ๋ฐ ํ์ด์ง ๋ ์ด์์์ ๋ฒํผ ์ถ๊ฐ ๋ฑ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ จ ์์ ์ ์ํํ๋ ค๋ฉด SmallBuilder Line Items์์ ์ ๊ณตํ๋ ์ฐ๊ฒฐ๋ ์ฑ์ ๋ํ ์ถ๊ฐ ์ค์ ์ด ํ์ํฉ๋๋ค.
์ค์ ์์ ๋น ๋ฅธ ์ฐพ๊ธฐ ์์์ ์ฐ๊ฒฐ๋ ์ฑ์ ์ ๋ ฅํ ํ ์ฐ๊ฒฐ๋ ์ฑ ๊ด๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค.
๋น๋ ์ด๋ฆ, ์ค๋ช ๋ฑ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ค์ ๊ณผ ํจ๊ป, ์กฐํ ์ ํ๊ธฐ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ๋ณด์ฌ์ค์ง ์ฌ๋ถ, ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ์์ฝ์ ํ์ํ ์ง ์ฌ๋ถ ๋ฑ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ ์ค์ ์ ์ํํฉ๋๋ค.
์ด๋ฌํ ๊ธฐ๋ณธ ์ค์ ๋ค์ ๋น๋์ ์ฌ์ด๋ ํจ๋์์ ์ค์ ํฉ๋๋ค.
์ค์ ์์ ๋น ๋ฅธ ์ฐพ๊ธฐ ์์์ ์ค์น๋ ํจํค์ง๋ฅผ ์ ๋ ฅํ ํ ์ค์น๋ ํจํค์ง๋ฅผ ์ ํํฉ๋๋ค.
SmallBuilder Line Items๋ฅผ ์ฐพ์ ๋ผ์ด์ผ์ค ๊ด๋ฆฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ฌ์ฉ์ ์ถ๊ฐ๋ฅผ ๋๋ฌ ์ํ๋ ์ฌ์ฉ์๋ฅผ ์ ํํฉ๋๋ค.
์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
SmallBuilder Line Items๋ ๋ ๊ฐ์ง ๊ถํ ์งํฉ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์์ ์ญํ ์ ๋ง๋ ๊ถํ ์งํฉ์ ์ ์ ํ ํ ๋นํด ์ฃผ์ธ์. ์ ํ ๊ธฐ๋ฅ์ ์ํํ๊ฒ ์ฌ์ฉํ๋ ค๋ฉด ๋ฐ๋์ ๊ถํ ์งํฉ์ ํ ๋นํด์ผ ํฉ๋๋ค.
SmallBuilder Line Items Manager
SmallBuilder Line Items Manager ๊ถํ ์งํฉ์ ์กฐ์ง ๋ด ๊ด๋ฆฌ์๊ฐ SmallBuilder Line Items์ ์ ์ฒด ๊ด๋ฆฌ๋ฅผ ์ฝ๊ฒ ์ํํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด ๊ถํ ์งํฉ์ ํ ๋น๋ฐ์ ๊ด๋ฆฌ์๋ ๋น๋ ์ค์ ์ ๊ตฌ์ฑํ๊ฑฐ๋ ๋ผ์ธ ์์ดํ ๋ฒํผ์ ์ถ๊ฐํ๋ ๋ฑ์ ์์ ์ ์ํํ๊ฒ ์งํํ ์ ์์ต๋๋ค.
SmallBuilder Line Items User
SmallBuilder Line Items User ๊ถํ ์งํฉ์ ๋ผ์ธ ์์ดํ ์ ํธ์งํด์ผ ํ๋ ์ผ๋ฐ ์ฌ์ฉ์๋ค์ด ์ํํ๊ฒ ์์ ํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ฃผ๋ก ์์ ๋ด๋น์๋ ํ๋ก์ ํธ ๋งค๋์ ์ ๊ฐ์ด ๋ผ์ธ ์์ดํ ์ ๋ณด๊ณ ์์ ํ๋ ์ญํ ์ ๋งก์ ์ฌ์ฉ์์๊ฒ ํ ๋น๋ฉ๋๋ค. ์ด ๊ถํ ์งํฉ์ ํตํด ์ฌ์ฉ์๋ ๋ผ์ธ ์์ดํ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์กฐํํ๊ณ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
๋น๋
์กฐํ ์ ํ๊ธฐ ๋ฐ ๋ผ์ธ ์์ดํ
ํธ์ง๊ธฐ ์ค์ ๋จ๊ณ์์ ํ๋๋ฅผ ๋ชจ๋ ์ญ์ ํ ํ ๋ค์ ํ๋๋ฅผ ์ถ๊ฐํ์ฌ ์ ์ฅํ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๋ฌธ์ ํด๊ฒฐ
โ ๏ธ ๊ธฐ์กด์ ํจํค์ง๊ฐ ์ค์น๋ ์กฐ์ง์์๋ ๋ผ์ธ ์์ดํ
ํธ์ง๊ธฐ(SBLI__JunctionBuilder__c) ๊ฐ์ฒด ์ค์ ์์ ์๋ ํ์ธ ๊ท์น(Validation Rule)์ ๋นํ์ฑํ ํ์ธ์:
RequiredLookupFieldsAtLeastOne
RequiredLineItemFieldsAtLeastOne
ํธ์ง๊ธฐ
์ต์ ๊ฐ๊ฒฉ์ด ์์ ๋ ์ํ์์ ์ต์ ์ ํ๊ธฐ๋ฅผ ์ด๋ฉด ์์ ๋ ๊ฐ๊ฒฉ์ด ๋ฐ์๋์ง ์๋ ํ์ ํด๊ฒฐ
ํ๋ ๊ฐ์ ์ญ์ ํ ๋ค ์ ์ฅํ๊ณ ๋ค์ ํธ์ง๊ธฐ๋ฅผ ์ด์์ ๋, ๊ณต๋ ์ํ๊ฐ ๋ฐ์๋์ง ์๋ ๋ฌธ์ ํด๊ฒฐ
๋ชจ๋ฐ์ผ ํ๋ฉด:
๋ผ์ธ ์์ดํ ์ถ๊ฐ ์ Recalculation Formula ๊ด๋ จ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๋ฌธ์ ํด๊ฒฐ
์ฝ๊ธฐ ์ ์ฉ ํ๋์ ๊ฐ์ด ์์ ๋ ํ๋จ ํ๋์ ๊ฐ๊ฒฉ์ด ์์ด ๊ตฌ๋ถ์ด ์ด๋ ค์ ๋ ๋ฌธ์ ๊ฐ์
๋น๋ ์ด๋ฆ๊ณผ ์ค๋ช ๋ฑ ๊ธฐ๋ณธ ์ ๋ณด๋ฅผ ์ ๋ ฅํ์ฌ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ํ๋ฉด์ ๊ธฐ๋ณธ ์ค์ ์ ๊ตฌ์ฑํฉ๋๋ค.
๋ฐ์คํฌํฑ, ๋ชจ๋ฐ์ผ์ ๋ฐ๋ผ ๋ฐ์ํ ํ๋ฉด์ ์ ๊ณตํฉ๋๋ค.
ํ๋ฉด ํฌ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ, ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๊ฐ ํ๋์ ๋ณด๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ, ํ๋ฉด ๋น์จ ์ค์ ์ ํตํด ํธ์ง๊ธฐ์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํด ๋ณด์ธ์.
ํธ์ง๊ธฐ์ ํ์ดํ๊ณผ ๋ฒํผ ๋ ์ด๋ธ์ ์ํ๋ ๋ ์ด๋ธ๋ก ์์ ํ ์ ์์ต๋๋ค. ์ฌ์ฉ์ ์ธ์ด์ ๋ฐ๋ผ ๋ฒ์ญ์ด ํ์ํ ๊ฒฝ์ฐ,
๋น๋์ ๊ฐ์ฒด ์ฐ๊ฒฐ(Relate Objects) ๋จ๊ณ์์ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ์ฌ์ฉํ ๊ฐ์ฒด๋ค์ ๊ด๊ณ๋ฅผ ์ ์ํฉ๋๋ค.
ํธ์ง๊ธฐ์ ์์ ๊ฐ์ฒด์ธ ๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ์ค์ ํฉ๋๋ค. ๋ถ๋ชจ ๊ฐ์ฒด๋ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์ ๊ธฐ๋ฐ์ด ๋๋ ๊ฐ์ฒด๋ก, ํด๋น ๊ฐ์ฒด๋ฅผ ๊ธฐ์ค์ผ๋ก ํธ์ง๊ธฐ๊ฐ ์คํ๋ฉ๋๋ค.
๋ผ์ธ ์์ดํ ๊ฐ์ฒด๋ ํธ์ง๊ธฐ์์ ์ฐธ์กฐ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ณ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๋ ฅํ ํ ์ ์ฅํ๋ ์ญํ ์ ํฉ๋๋ค.
์กฐํ ๊ฐ์ฒด๋ ๋ผ์ธ ์์ดํ ์ด ์ฐธ์กฐํ๋ ๊ฐ์ฒด๋ก, ์ด ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ผ์ธ ์์ดํ ์ ๋ฐ์ดํฐ๋ฅผ ํธ์ง ๋ฐ ์ ์ฅํฉ๋๋ค.
๋น๋ ์คํ ๋ฐฉ๋ฒ๊ณผ ๋น๋์ ๊ตฌ์ฑ ์์์ ๋ํด ์ค๋ช ํฉ๋๋ค.




๋๋ฐ์ด์ค ์ ํ(๋ฐ์คํฌํฑ, ํ๋ธ๋ฆฟ, ๋ชจ๋ฐ์ผ)์ ๋ฐ๋ผ ๋ฐ์ํ UI๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋์คํ๋ ์ด ํ๊ฒฝ์ ๋ง์ถฐ ํธ์ง๊ธฐ์ ํฌ๊ธฐ์ ๊ตฌ์ฑ์ ์กฐ์ ํ์ฌ ์ต์ ์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ์คํฌํฑ์์๋ ๋ ๋ง์ ์ ๋ณด๋ฅผ ํ์ํ๊ณ , ๋ชจ๋ฐ์ผ์์๋ ๊ฐ์ํ๋ UI๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
๋ชจ๋ ๋๋ฐ์ด์ค์์ ๊ฐ์ํ๋ UI๋ก ๋ณด์ด๊ธฐ๋ฅผ ์ํ๋ค๋ฉด, ์ฅ์น๋ฅผ ๋ชจ๋ฐ์ผ๋ก ์ค์ ํ์ธ์. ์ด๋ฅผ ํตํด ๋๋ฐ์ด์ค ์๊ด ์์ด ๊ฐ๋จํ๊ณ ์ผ๊ด๋ UI๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ฌ์ด๋ ํจ๋์์๋ ์๋์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ค์ ์ ์ ๊ณตํฉ๋๋ค:
ํธ์ง๊ธฐ์ ํฌ๊ธฐ ๋น์จ์ ์กฐ์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋์คํ๋ ์ด๊ฐ ์์ ๊ฒฝ์ฐ UI๊ฐ ํ๋ฉด์ ๊ฐ๋ ์ฐจ์งํ์ฌ ๋ถํธํจ์ ์ค ์ ์์ต๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ, ํ๋ฉด ๋น์จ์ ๋ฎ๊ฒ ์ค์ ํ์ฌ ํธ์ง๊ธฐ UI์ ํฌ๊ธฐ๋ฅผ ์ค์ฌ๋ณด์ธ์.
์กฐํ ์ ํ๊ธฐ์ ๊ด๋ จ๋ ์ค์ ์ ๋๋ค. ๋ ์ฝ๋ ์ ํ ๋ฐฉ์ ๋ฐ ๊ฒ์ ๊ธฐ๋ฅ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์ ๊ด๋ จ๋ ์ค์ ์ ๋๋ค. ํ๋จ์ ์์ฝ์ ํ์ํ๊ฑฐ๋ ์ฒซ ๋ฒ์งธ ์ด์ ๊ณ ์ ํ๋ ๊ธฐ๋ฅ์ ์ค์ ํ ์ ์์ต๋๋ค.
ํธ์ง๊ธฐ ํ๋ฉด์ ํ์ดํ๊ณผ ์ผ๋ถ ๋ฒํผ ๋ ์ด๋ธ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ํ์์ ๋ฐ๋ผ ์ปค์คํ ๋ผ๋ฒจ์ ์ฝ์ ํ๋ฉด ์ฌ์ฉ์ ์ธ์ด์ ๋ง๊ฒ ์๋์ผ๋ก ๋ฒ์ญ์ด ์ ์ฉ๋์ด ๋ค์ํ ์ธ์ด ํ๊ฒฝ์์ ์ฌ์ฉ์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.

SmallBuilder Line Items
๊ธฐํ, ๊ฒฌ์ , ์ฃผ๋ฌธ์ ๋ํ ํ์ค ๋ผ์ธ ์์ดํ ์ ์ปค์คํฐ๋ง์ด์งํ๊ณ , Low/No-Code ๋ฐฉ์์ผ๋ก ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด์๋ ๋ผ์ธ ์์ดํ ์ ์์ฝ๊ฒ ๊ตฌํํฉ๋๋ค.
SmallBuilder Documents
์ฝ๊ฒ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฌธ์ ํ ํ๋ฆฟ์ ์์ฑํ๊ณ , ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด๋ฅผ ์ง์ํ๋ฉฐ, Low/No-Code ๋ฐฉ์์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค.
SmallBuilder Lists
ํํฐ, ๋๋ ์์ , ๋ค๋ฅธ ์์คํ ์์ ๋ฐ์ดํฐ ์กฐํ ๋ฑ์ ํฌํจํ์ฌ Low/No-Code ๋ฐฉ์์ผ๋ก ๋ง์ถคํ ๋ฆฌ์คํธ๋ฅผ ์์ฑํฉ๋๋ค.



SmallBuilder๋ 10๊ฐ์ ๋ผ์ด์ ์ค๋ฅผ ๋ฌด๋ฃ๋ก ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์ ํ์ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ฐ ์ฌ์ฉ์๊ฐ ์ ํ์ ์ ๊ทผํ ์ ์๋๋ก SmallBuilder ๋ผ์ด์ ์ค์ ๊ถํ ์งํฉ์ ํ ๋นํด์ผ ํฉ๋๋ค.
SmallBuilder ์ ์ ๋ผ์ด์ ์ค๋ ์ฌ์ฉ์๋น ๋ถ์ฌ๋์ด์ผ ํฉ๋๋ค. ๋ผ์ด์ผ์ค๋ฅผ ๋ถ์ฌํ๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
์ค์ ์์ ๋น ๋ฅธ ์ฐพ๊ธฐ ์์์ ์ค์น๋ ํจํค์ง๋ฅผ ์ ๋ ฅํ ํ ์ค์น๋ ํจํค์ง๋ฅผ ์ ํํฉ๋๋ค.
SmallBuilder {์ ํ ์ด๋ฆ}์ ์ฐพ์ ๋ผ์ด์ผ์ค ๊ด๋ฆฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ฌ์ฉ์ ์ถ๊ฐ๋ฅผ ๋๋ฌ ์ํ๋ ์ฌ์ฉ์๋ฅผ ์ ํํฉ๋๋ค.
์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
SmallBuilder๋ ๋ ๊ฐ์ง ๊ถํ ์งํฉ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์์ ์ญํ ์ ๋ง๋ ๊ถํ ์งํฉ์ ์ ์ ํ ํ ๋นํด ์ฃผ์ธ์. ์ ํ ๊ธฐ๋ฅ์ ์ํํ๊ฒ ์ฌ์ฉํ๋ ค๋ฉด ๋ฐ๋์ ๊ถํ ์งํฉ์ ํ ๋นํด์ผ ํฉ๋๋ค.
SmallBuilder {์ ํ ์ด๋ฆ} Manager
SmallBuilder Manager ๊ถํ ์งํฉ์ ์ ํ์ ์ ์ฒด ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๋ ์ฌ์ฉ์์๊ฒ ํ ๋น๋ฉ๋๋ค. ์ฃผ๋ก ๊ด๋ฆฌ์์๊ฒ ํ ๋น๋๋ฉฐ, ์ด ๊ถํ์ ๋ฐ์ ๊ด๋ฆฌ์๋ ๋น๋ ์ค์ ๊ตฌ์ฑ, ๋ผ์ธ ์์ดํ ์ ๋ฒํผ ์ถ๊ฐ, ๋ฆฌ์คํธ ์ ํ์์ ํญ ์์ฑ ๋ฑ ๋ค์ํ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
SmallBuilder {์ ํ ์ด๋ฆ} User SmallBuilder User ๊ถํ ์งํฉ์ ์ฃผ๋ก ์์ ๋ด๋น์๋ ํ๋ก์ ํธ ๋งค๋์ ์ ๊ฐ์ ์ฌ์ฉ์์๊ฒ ํ ๋น๋ฉ๋๋ค. ์ด ๊ถํ ์งํฉ์ ํ ๋น๋ฐ์ ์ฌ์ฉ์๋ SmallBuilder๋ก ๊ตฌํ๋ ๋ฆฌ์คํธ๋ ๋ฌธ์๋ฅผ ๋ณด๊ณ , ๋ผ์ธ ์์ดํ ๋ฐ ์ค์ผ์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ ๋ฐ ์์ ํ ์ ์์ต๋๋ค.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
์์ด์ ๋ํด์๋ 1~4๋ฒ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
์ค์ ์์ ๋น ๋ฅธ ์ฐพ๊ธฐ ์์์ ์ฐ๊ฒฐ๋ ์ฑ์ ์ ๋ ฅํ ํ ์ฐ๊ฒฐ๋ ์ฑ ๊ด๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค.
SmallBuilder {์ ํ ์ด๋ฆ} OAuth ํธ์ง์ ํด๋ฆญํฉ๋๋ค.
ํ์ฉ๋ ์ฌ์ฉ์๋ฅผ ๊ด๋ฆฌ ์น์ธ ์ฌ์ฉ์๊ฐ ๋ฏธ๋ฆฌ ์ธ์ฆ๋จ์ผ๋ก ์ ํํฉ๋๋ค.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
์ค์ ์์ ๋น ๋ฅธ ์ฐพ๊ธฐ ์์์ ์ฐ๊ฒฐ๋ ์ฑ์ ์ ๋ ฅํ ํ ์ฐ๊ฒฐ๋ ์ฑ ๊ด๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค.
SmallBuilder {์ ํ ์ด๋ฆ} OAuth์ ํด๋ฆญํฉ๋๋ค.
ํ๋จ์ ํ๋กํ ๊ด๋ฆฌ ๋๋ ๊ถํ ์งํฉ ๊ด๋ฆฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋น๋ ์ค์ ์ ๋ด๋นํ๋ ํ๋กํ ๋๋ ๊ถํ ์งํฉ์ ์ ํํฉ๋๋ค.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
SmallBuilder Line Items OAuth ํธ์ง์ ํด๋ฆญํฉ๋๋ค.
ํ์ฉ๋ ์ฌ์ฉ์๋ฅผ ๊ด๋ฆฌ ์น์ธ ์ฌ์ฉ์๊ฐ ๋ฏธ๋ฆฌ ์ธ์ฆ๋จ์ผ๋ก ์ ํํฉ๋๋ค.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
์ค์ ์์ ๋น ๋ฅธ ์ฐพ๊ธฐ ์์์ ์ฐ๊ฒฐ๋ ์ฑ์ ์ ๋ ฅํ ํ ์ฐ๊ฒฐ๋ ์ฑ ๊ด๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค.
SmallBuilder Line Items OAuth์ ํด๋ฆญํฉ๋๋ค.
ํ๋จ์ ํ๋กํ ๊ด๋ฆฌ ๋๋ ๊ถํ ์งํฉ ๊ด๋ฆฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋น๋ ์ค์ ์ ๋ด๋นํ๋ ํ๋กํ ๋๋ ๊ถํ ์งํฉ์ ์ ํํฉ๋๋ค.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
์กฐ์ง์ด ์ฒ์ ์์ฑ๋ ํ ํตํ๊ฐ null๋ก ์ค์ ๋์ด ์์ ์ ์์ต๋๋ค. ํตํ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋์ง ์์ผ๋ฉด SmallBuilder Line Items๊ฐ ์ ๋๋ก ์๋ํ์ง ์์ ์ ์์ต๋๋ค. ์ ํ์ ์ฌ์ฉํ๊ธฐ ์ ์ ์กฐ์ง์ ํตํ๊ฐ ์ ๋๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํ์ธ์.
SmallBuilder Line Items๋ ์์ด์ ํ๊ตญ์ด๋ฅผ ์ง์ํฉ๋๋ค. ๊ธฐ๋ณธ ์ธ์ด๋ ์์ด์ด๋ฉฐ, ํ๊ตญ์ด ๋ฒ์ญ์ ์ฌ์ฉํ๋ ค๋ฉด ์กฐ์ง์์ ๋ฒ์ญ ๊ธฐ๋ฅ์ ํ์ฑํํด์ผ ํฉ๋๋ค.
๋น๋์์ ํ์ด์ง ๋ ์ด์์์ ๋ฒํผ ์ถ๊ฐ, ์ปค์คํ ๋ผ๋ฒจ ์กฐํ ๋ฑ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ จ ์์ ์ ์ํํ๋ ค๋ฉด SmallBuilder Line Items์ ์ฐ๊ฒฐ๋ ์ฑ์ ๋ํ ์ถ๊ฐ ์ค์ ์ด ํ์ํฉ๋๋ค.
๋ฐ์ดํฐ์์ค ๋ช ์นญ ๋ฐ UI/UX ๋ณ๊ฒฝ, ๋ผ์ธ ์์ดํ ๊ฐ์ ์ด(Virtual Column) ์ ๊ณต ๋ฑ
๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ๋ง์ด๊ทธ๋ ์ด์ ๊ธฐ๋ฅ ๊ตฌํ, ํ ์คํธ ์์ญ ํ๋ UI/UX ๊ฐ์ , ํํฐ ์ค๋ฅ ๋ฑ ์์
๋น์ฆ๋์ค ๊ท์น ๋ณ๊ฒฝ ๋ฐ ์ญ์ ๊ด๋ จ ์ค๋ฅ ์์ , ์ฝ๊ธฐ ์ ์ฉ ์ ์ด ์ ์ฉ ์ค๋ฅ ์์
ํจํค์ง ์ ๊ทธ๋ ์ด๋ ์ ์์ ํด์ ๋๋ ์ค๋ฅ ์์ , ๋ผ์ธ ์์ดํ ์ด์ ๋์๋ง ํ ์คํธ ํ์ ์ ๊ณต
์ปฌ๋ผ ์์ ๋ณ๊ฒฝ ์ JavaScript ์ค๋ฅ, ๋น์ฆ๋์ค ๊ท์น Key ๋งคํ ์ค๋ฅ ๋ฑ ์์ ์ต์ ๊ธฐ๋ฅ ๋นํ์ฑํ, ๋ผ์ธ ์์ดํ ๊ฐ์ ์ด ๊ณ์ฐ ๊ธฐ๋ฅ ์ง์
๋ชจ๋ฐ์ผ UI/UX ์ด์ ๋ฐ ์ผ๋ถ ์ ์ฅ ์ค๋ฅ ์์
๐ฆ Package Upgrade
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tPf000000VIv7IAG
๐๏ธ Release Date
2025. 6. 2.
๐ Bug Fixes
๋น๋
๋น์ฆ๋์ค ๊ท์น ์ค๋ฅ
๋น์ฆ๋์ค ๊ท์น ์ญ์ ํ ์ ์ฅ์ ๋๋ฅด๋ฉด 'SObject' ๊ด๋ จ ์ค๋ฅ๊ฐ ๋ฐ์๋๋ ๋ฌธ์ ํด๊ฒฐ
ํ๊ฐ ์ด๋ฒคํธ(Evaluation Event)๋ฅผ ๋ณ๊ฒฝํ ํ ๋น๋๋ฅผ ์ ์ฅํด๋ ๋ณ๊ฒฝ์ด ๋ฐ์๋์ง ์๋ ๋ฌธ์ ํด๊ฒฐ
๊ฐ์ฒด ๊ธฐ๋ฐ ๊ท์น์์ ์์ ์ ์ญ์ ํ๊ณ ๋น๋ ์ ์ฅํ๊ณ ๋ค์ ํ์ธํด๋ณด๋ฉด ์ญ์ ๊ฐ ๋ฐ์๋์ง ์๋ ๋ฌธ์ ํด๊ฒฐ
SmallBuilder ์ ํ๋ค์ ์์ด์ ํ๊ตญ์ด๋ฅผ ์ง์ํฉ๋๋ค. ๊ธฐ๋ณธ ์ธ์ด๋ ์์ด์ด๋ฉฐ, ํ๊ตญ์ด ๋ฒ์ญ์ ์ฌ์ฉํ๋ ค๋ฉด ์กฐ์ง์์ ๋ฒ์ญ ๊ธฐ๋ฅ์ ํ์ฑํํด์ผ ํฉ๋๋ค.
์ค์ ์์ ๋น ๋ฅธ ์ฐพ๊ธฐ ์์์ ๋ฒ์ญ์ ์ ๋ ฅํ ํ ๋ฒ์ญ ์ธ์ด ์ค์ ์ ์ ํํฉ๋๋ค.
ํ๊ตญ์ด ํธ์ง์ ํด๋ฆญํฉ๋๋ค.
ํ์ฑ์ ์ฒดํฌํฉ๋๋ค.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
์์ด์ ๋ํด์๋ 1~4๋ฒ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
v 2.0.1 - ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ๋ง์ด๊ทธ๋ ์ด์ ๊ธฐ๋ฅ ๊ตฌํ, ํ ์คํธ ์์ญ ํ๋ UI/UX ๊ฐ์ , ํํฐ ์ค๋ฅ ๋ฑ ์์
v 1.40.2 - ๋น์ฆ๋์ค ๊ท์น ๋ณ๊ฒฝ ๋ฐ ์ญ์ ๊ด๋ จ ์ค๋ฅ ์์ , ์ฝ๊ธฐ ์ ์ฉ ์ ์ด ์ ์ฉ ์ค๋ฅ ์์
- ํจํค์ง ์ ๊ทธ๋ ์ด๋ ์ ์์ ํด์ ๋๋ ์ค๋ฅ ์์ , ๋ผ์ธ ์์ดํ ์ด์ ๋์๋ง ํ ์คํธ ํ์ ์ ๊ณต ๋ฑ
- ์ปฌ๋ผ ์์ ๋ณ๊ฒฝ ์ JavaScript ์ค๋ฅ, ๋น์ฆ๋์ค ๊ท์น Key ๋งคํ ์ค๋ฅ ๋ฑ ์์ ์ต์ ๊ธฐ๋ฅ ๋นํ์ฑํ, ๋ผ์ธ ์์ดํ ๊ฐ์ ์ด ๊ณ์ฐ ๊ธฐ๋ฅ ์ง์
- ๋ชจ๋ฐ์ผ UI/UX ์ด์ ๋ฐ ์ผ๋ถ ์ ์ฅ ์ค๋ฅ ์์
- ๋ฐ์ดํฐ์์ค ๋ช ์นญ ๋ฐ UI/UX ๋ณ๊ฒฝ, ๋ผ์ธ ์์ดํ ๊ฐ์ ์ด(Virtual Column) ์ ๊ณต ๋ฑ
App Launcher( )์์ SmallBuilder Line Items๋ฅผ ์ฐพ์ ์ด๋ํฉ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ํญ์ผ๋ก ์ด๋ ํ ์๋ก ๋ง๋ค๊ธฐ๋ฅผ ๋๋ฌ ๋น๋๋ฅผ ์คํํฉ๋๋ค.
๋น๋์ ์๋จ์๋ ์ ์ฅ, ์ญ์ ๋ฐ ๋ฒํผ ์์ฑ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ฒํผ๋ค์ด ์์ต๋๋ค. ์ผ์ชฝ ์ฌ์ด๋ ํจ๋์์๋ ๋น๋์ ๊ธฐ๋ณธ ์ค์ ์ ๊ด๋ฆฌํ๊ณ ์ผ๋ถ ๋ ์ด๋ธ์ ๋ณ๊ฒฝํ ์ ์์ผ๋ฉฐ, ์ค๋ฅธ์ชฝ ํจ๋์์๋ ๋จ๊ณ๋ณ ์ค์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
๐ฆ Package Upgrade
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tPf000000MNh7IAG
๐๏ธ Release Date
2025. 4. 2.
โ๏ธ Features
๋ฐ์ดํฐ์์ค ๋ช ์นญ ๋ณ๊ฒฝ: ๋ฐ์ดํฐ์์ค์์ ๋น์ฆ๋์ค ๊ท์น(Business Rule)๋ก ๋ช ์นญ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
๋น์ฆ๋์ค ๊ท์น ์ค์ ํ๋ฉด(UI/UX) ๊ฐ์
Evaluation Event์ โOn Changeโ ์ต์ ์ถ๊ฐ: ํน์ ํ๋ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๋ ๋น์ฆ๋์ค ๊ท์น์ด ์๋์ผ๋ก ์คํ๋๋๋ก ์ค์ ํ ์ ์์ต๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง
๋ผ์ธ ์์ดํ ์ ๊ธฐ๋ฅ ์ ๊ณต (ํ์ฌ ๋น์ฆ๋์ค ๊ท์น(๋ฐ์ดํฐ์์ค) ์ฉ๋๋ก๋ง ์ฐ์)
๊ธฐ์กด์๋ ๋ฐ์ดํฐ์์ค ๋ ์ด์์์์ ์ง์ ๊ฐ์ ์ ๋ ฅํ์ฌ ์ค์ ํ๋ ๋ฐฉ์์ด์์ผ๋,UI ๋ณ๊ฒฝ๋ ๋ฒ์ ์์๋ ๋ณด๊ธฐ ํ๋ฉด๊ณผ ํธ์ง ํ๋ฉด์ด ๋ถ๋ฆฌ๋์ด ์์ต๋๋ค. ์ด์ ๋ฐ์ดํฐ์์ค๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ํธ์งํ ๋๋ ๋ชจ๋ฌ ์ฐฝ์ ํตํด ์์ ํ๊ฒ ๋ฉ๋๋ค.
์ค๋ช ๋์ ์ถ๊ฐํ์ฌ ํด๋น ๋น์ฆ๋์ค ๊ท์น(๋ฐ์ดํฐ์์ค)์ ๋ํ ์ ๋ณด๋ฅผ ๊ธฐ์ฌํ ์ ์๋๋ก ํ์์ต๋๋ค.
๊ธฐ์กด์๋ ํํฐ๋ฅผ ์ง์ ์ ๋ ฅํด์ผ ํ๋ ๋ถ๋ถ์ด ์ด๋๋ฏผ์๊ฒ ๋ค์ ์ด๋ ค์์ด ์์ด ํํฐ ์ค์ ๋๊ตฌ๋ฅผ ์ ๊ณตํ์์ต๋๋ค.
Apex ํด๋์ค๋ฅผ ์ฌ์ฉํ ๋น์ฆ๋์ค ๊ท์น(๋ฐ์ดํฐ์์ค ๊ณ ๊ธ)์์ ํ๋ผ๋ฏธํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ ๋ณด์ด์ง ์์ ๋ถํธํจ์ ๊ฐ์ ํ์์ต๋๋ค.
์กฐํ ํ๋ฉด
์ถ๊ฐ ๋๋ ํธ์ง ํ๋ฉด
๐ฆ Package Upgrade
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tPf000000ThrBIAS
๐๏ธ Release Date
2025. 4. 30.
๐ Bug Fixes
๋น๋
๋ฒ์ 1.39 ํจํค์ง ์ ๊ทธ๋ ์ด๋ ์ ์์ ์ ์ฉ์ด ์๋์ผ๋ก ํด์ ๋๋ ํ์ ์์
โ๏ธ Features
์ด์ ์๋ ์ ์ฉ๋ ๊ณ์ฐ์์ ํด์ ํ๋ ค๋ฉด ๋ค๋ฅธ ์ต์ ์ ์ ํํ๊ฑฐ๋ ํ๋๋ฅผ ์ ๊ฑฐํ๋ค๊ฐ ๋ค์ ์ถ๊ฐํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์์ต๋๋ค. ์ด๋ฒ ๋ฒ์ ๋ถํฐ๋ '๊ณ์ฐ์ ์ ์ฉ ํด์ ํ๊ธฐ' ๋ฒํผ์ ํตํด ๊ณ์ฐ์์ ๋ฐ๋ก ํด์ ํ ์ ์์ต๋๋ค.
์ปฌ๋ผ ์์ ๋์๋ง ํ ์คํธ๋ฅผ ํ์ํ์ฌ ์ฌ์ฉ์์๊ฒ ์ปฌ๋ผ์ ์ฉ๋๋ฅผ ์๋ดํ ์ ์์ต๋๋ค. ๋์๋ง ํ ์คํธ ๊ธฐ๋ฅ์ด ํ์ฑํ๋ ์ํ์์ ์ ๋ ฅํ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ, ๊ฐ์ฒด ํ๋์ ์ค์ ๋ ๋์๋ง ํ ์คํธ๊ฐ ํ์๋ฉ๋๋ค.
๐ฆ Package Upgrade
๐๏ธ Release Date
2025. 7. 3.
โ๏ธ Features
๐ง Improvement
์บ์ฑ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์กฐํํ๊ณ ์์ ์ ์ธ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ๋ค๋ง, ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ ์ต์ ์ํ๋ก ์กฐํ๋์ง ์์ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ๊ฐ ์ต์ ์ํ๋ก ๋ฐ์๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด, ์บ์ฑ ์ค์ ์ ๋นํ์ฑํํด ๋ณด์ธ์.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ๊ธฐ๋ฅ์ ๋ํ ๊ธฐ๋ณธ ์ค์ ์ ๋๋ค.
Apex ๊ธฐ๋ฐ ๊ท์น์์ ํ๊ฐ ์ด๋ฒคํธ(Evaluation Event)๊ฐ "๋ณ๊ฒฝ๋จ(On Change)"์ผ ๊ฒฝ์ฐ ํ๊ฐ ํ๋๋ฅผ ์ ํํ๋ ๋ชจ๋ฌ์ด ๋ก๋๊ฐ ๋์ง ์๋ ๋ฌธ์ ํด๊ฒฐ
๋ผ์ธ ์์ดํ ์ '์ญ์ ์ ์ด ํ๋'์ ๋ํ ๋์๋ง ๋ฌธ๊ตฌ๊ฐ ์๋ชป๋์ด ์์ด ์์
์ด์ ๋ด์ฉ: ๋ผ์ธ ์์ดํ ๊ฐ์ฒด์ ํ์ธ๋(Boolean ์ ํ) ํ๋์ฌ์ผ ํฉ๋๋ค. ์ง์ ํ ํ๋ ๊ฐ์ด ์ฐธ์ธ ๊ฒฝ์ฐ, ๋ ์ฝ๋์ ์ญ์ ๋ฒํผ์ด ํ์ฑํ ๋๊ณ ๊ฑฐ์ง์ธ ๊ฒฝ์ฐ ๋ฒํผ์ด ๋นํ์ฑํ ๋์ด ์ฌ์ฉ์๊ฐ ๋ ์ฝ๋๋ฅผ ์ญ์ ํ ์ ์๋๋ก ํฉ๋๋ค.
์์ ๋ ๋ด์ฉ: ์ง์ ํ ํ๋๋ ๋ผ์ธ ์์ดํ
๊ฐ์ฒด์ ํ์ธ๋(Boolean) ์ ํ ํ๋์ฌ์ผ ํฉ๋๋ค. ํด๋น ํ๋์ ๊ฐ์ด ์ฐธ(true)์ธ ๊ฒฝ์ฐ, ํด๋น ๋ ์ฝ๋์ ์ญ์ ๋ฒํผ์ด ๋นํ์ฑํ๋์ด ์ฌ์ฉ์๊ฐ ๋ ์ฝ๋๋ฅผ ์ญ์ ํ ์ ์๋๋ก ์ ์ด๋ฉ๋๋ค.
์ฝ๊ธฐ ์ ์ฉ ์กฐ๊ฑด์์ ์ฒดํฌ๋ฐ์ค(Boolean) ํ๋๋ฅผ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์ ๋๋ก ์ ์ฉ๋์ง ์๋ ๋ฌธ์ ํด๊ฒฐ

๋น๋
๋ผ์ธ ์์ดํ ์ด์์ ์ ์ฉ๋ ๊ณ์ฐ์์ ํด์ ํ ์ ์๋๋ก ์ค์ ์ ๊ณต
๋ผ์ธ ์์ดํ ์ด์ ๋์๋ง ํ ์คํธ๋ฅผ ํ์ํ ์ ์๋๋ก ๊ธฐ๋ฅ ์ ๊ณต




๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ํ๋จ์ ์์ฝ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ๊ฐ๋ก ์คํฌ๋กค ์, ์ฒซ ๋ฒ์งธ ์ด์ ๊ณ ์ ํฉ๋๋ค. ํ์ํ ์ด์ด ๋ง์ ๊ฒฝ์ฐ, ์ฒซ ๋ฒ์งธ ํ์ ๊ณ ์ ํด๋ณด์ธ์.











์ค๋น์ค์ ๋๋ค.
์ค๋น์ค์ ๋๋ค.
ํธ์ง๊ธฐ
ํ ์คํธ ์์ญ(Textarea) ํ๋ UI/UX ๊ฐ์
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ํ ์คํธ ์์ญ(Textarea) ํ๋์ ์ ๋ ฅ ๋ฐฉ์์ด ๊ฐ์ ๋์์ต๋๋ค.
๊ธฐ์กด์๋ ์ผ๋ฐ ํ ์คํธ ํ๋์ ๋์ผํ ๋จ์ผ ์ค ์ ๋ ฅ์ฐฝ์ผ๋ก ์ ๊ณต๋์ด ์ค๋ฐ๊ฟ์ด ๋ถ๊ฐ๋ฅํ์ผ๋, ์ด๋ฒ ๋ฒ์ ๋ถํฐ๋ ์ค๋ฐ๊ฟ์ด ๊ฐ๋ฅํ ๋ฉํฐ๋ผ์ธ ์ ๋ ฅ์ฐฝ์ผ๋ก ๋ณ๊ฒฝ๋์ด ๋ณด๋ค ํธ๋ฆฌํ ์ ๋ ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
๐ Bug Fixes
๋น๋
๋ผ์ธ ์์ดํ ์ ์ฝ๊ธฐ ์ ์ฉ ์ค์ ์ด ์ ์ฉ๋์ง ์์ ๋ฌธ์ ํด๊ฒฐ
ํํฐ ๋๊ตฌ์์ โํฌํจ๋์ง ์์โ ์กฐ๊ฑด์ด ์๋ ๊ฒฝ์ฐ โNotโ ๊ด๋ จ ์ค๋ฅ๊ฐ ๋ฐ์๋๋ ํ์ ํด๊ฒฐ
์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ์์ ์ด ์ถ๊ฐ ๋ชจ๋ฌ๋ด ํ๋ ๊ฒ์ ํ ํ๋ ์ ํ ์ ๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ์ด๊ธฐํ๋๋ ํ์ ํด๊ฒฐ
๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ๋ง์ด๊ทธ๋ ์ด์ ๊ธฐ๋ฅ ๊ตฌํ
1
์ข์ธก ์๋จ ํ์ดํ ์์ ํ์ฑํ ์ฌ๋ถ๋ฅผ ์ ์ ์์ผ๋ฉฐ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ, ๋ฒํผ ์ถ๊ฐ, ์ ์ฅ ๋ฐ ์ญ์ ๋ฑ ๋ฒํผ์ด ๋ชจ์ฌ์์ต๋๋ค.
๋ฒํผ ์ถ๊ฐ: ํ์ฑํ๋ ๋น๋ ์ค์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ฑ๊ธฐ์ ๋ฒํผ์ ์์ฑํฉ๋๋ค. ์ง์ ํ ๋ถ๋ชจ ๊ฐ์ฒด ๊ธฐ๋ฐ์ผ๋ก ์ํ๋ ํ์ด์ง ๋ ์ด์์์ ๋ฒํผ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
ํ์ฑํ: ๋น๋๋ฅผ ๊ตฌ์ฑ๊ธฐ๋ก ์ฌ์ฉํ๊ธฐ ์ํด ํ์ฑํ๋ฅผ ๋ฐ๋์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. ๋นํ์ฑํ ์ํ์ธ ๊ฒฝ์ฐ ๊ตฌ์ฑ๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ์ฅ: ๋น๋๋ฅผ ์ ์ฅํฉ๋๋ค.
๋ณต์ : ์ต์ข ์ ์ผ๋ก ์ ์ฅ๋ ๋น๋ ๊ธฐ๋ฐ์ผ๋ก ๋ณต์ ํฉ๋๋ค. ๋ณต์ ๋ฒํผ์ ๋๋ฅธ ํ '์ ์ฅ' ๋ฒํผ์ ๋๋ฌ์ผ ๋ณต์ ๊ฐ ์๋ฃ๋ฉ๋๋ค.
์ด๊ธฐํ: ํธ์ง ๊ณผ์ ์์ ์๋ ์ค์ ์ผ๋ก ๋ณต๊ตฌํ๊ณ ์ถ์ ๊ฒฝ์ฐ, Reset ๋ฒํผ์ ๋๋ฅด๋ฉด ์ต์ข ์ ์ผ๋ก ์ ์ฅ๋ ์ค์ ์ผ๋ก ๋ณต๊ตฌ๋ฉ๋๋ค.
๋์๋ง: SmallBuilder Line Items์ ํฌํ ๋ฌธ์๋ก ์ด๋ํฉ๋๋ค.
2
์ค์ ๋จ๊ณ๋ฅผ ํ์ํฉ๋๋ค. ๋จ๊ณ๋ 3๊ฐ์ง๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ ๊ฐ ์ค์ ์ ๋๋ฅด๋ฉด ๋ฒ ์์ญ์ด ํด๋น ํจ๋๋ก ์ ํ์ด ๋ฉ๋๋ค.
๊ฐ์ฒด ์ฐ๊ฒฐ: ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ ํฌ๊ฒ ๋ถ๋ชจ, ์กฐํ, ๋ผ์ธ ์์ดํ ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ด ๋จ๊ณ์์๋ ๋ถ๋ชจ, ์กฐํ, ๋ผ์ธ ์์ดํ ์ ์ด๋ ํ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ง ์ง์ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํด๋น ๊ตฌ์ฑ๋ค์ ์ค์ ํ๋ ค๋ ๊ฐ์ฒด๋ค์ ์๋ก Junction ๊ด๊ณ๋ก ๋งบ์ด์ ธ ์์ด์ผ ํ๊ณ ๊ฐ์ฒด๋ ์คํ ๋ค๋, ์ปค์คํ ๋ชจ๋ ์ง์ํฉ๋๋ค.
์กฐํ ์ ํ๊ธฐ ์ค์ : ์กฐํ๋ก ์ง์ ๋ ๊ฐ์ฒด์ ๋ํ์ฌ ํ๋๋ฅผ ์ถ๊ฐํ๊ณ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ๊ตฌ์ฑ ์ ์ปฌ๋ผ ๊ฐ ์ ๋ ฌ ๋ฐ ๋๋น ๋ฑ์ ์ค์ ํ๋ ๋จ๊ณ์ ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ์ค์ : ๋ผ์ธ ์์ดํ ์ผ๋ก ์ง์ ๋ ๊ฐ์ฒด์ ๋ํ์ฌ ํ๋๋ฅผ ์ถ๊ฐํ๊ณ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ๊ตฌ์ฑ ์ ์ปฌ๋ผ ๊ฐ ์ ๋ ฌ, ๋๋น, ๊ฐ ์ปฌ๋ผ์ ์์ฑ(์ซ์, ์กฐํ ํ๋ ๋ฑ)์ ๋ฐ๋ฅธ ๊ณ ๊ธ ์ค์ ์ ํ๋ ๋จ๊ณ์ ๋๋ค.
3
๋น๋์ ๊ธฐ๋ณธ ์ค์ ์ ํ๋ ํจ๋์ ๋๋ค. ๋น๋์ ์ด๋ฆ, ํ๋ฉด ๋น์จ, ์ฅ์น์ ๋ฐ๋ฅธ ํ๋ฉด UX ๋ฑ์ ์ค์ ํฉ๋๋ค.
4
๋ฒ์ ๋จ๊ณ์ ๋ฐ๋ผ ํด๋น ์ค์ ํจ๋๋ก ์ ํ๋ฉ๋๋ค.



๊ธฐ์กด์๋ SOQL ๋ฌธ์ ์ง์ ์ ๋ ฅํ์ฌ ํํฐ๋ฅผ ์ค์ ํ์ง๋ง, ์ด์ ๋ ์ ๊ณต๋๋ ํํฐ ์ค์ UI๋ฅผ ํตํด ํํฐ ํํ ์์ ๋ ์ฝ๊ณ ์ง๊ด์ ์ผ๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๋ผ์ธ ์์ดํ , ์กฐํ, ๋น์ฆ๋์ค ๊ท์น(๋ฐ์ดํฐ์์ค)์ ํํฐ ์ค์ ์ ์ ์ฉ๋์์ต๋๋ค.


SmallBuilder Line Items๋ ๊ธฐํ ๋ฐ ๊ฒฌ์ ๊ฐ์ ํ์ค ๊ฐ์ฒด๋ ๋ฌผ๋ก ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด์์ ํ ์ธ์จ ๊ณ์ฐ๊ธฐ, ์ธ๋ถ ๋ฐ์ดํฐ ์ฐ๋์ ์ง์ํ๋ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ฅผ ๊ฐ๋ฐ ์์ด ๊ตฌํํ๋๋ก ์ง์ํฉ๋๋ค.
์ธ์ผ์ฆํฌ์ค์์ ๋ํ์ ์ผ๋ก Junction ๊ด๊ณ๋ฅผ ๋งบ์ ๊ฐ์ฒด๋ก๋ ๊ธฐํ, ๊ฒฌ์ , ์ฃผ๋ฌธ์ด ์์ต๋๋ค. ์ด๋ค์ ์ธ์ผ์ฆ ํด๋ผ์ฐ๋์์ ํ์๋ก ์ฌ์ฉ๋๋ ๊ฐ์ฒด๋ค์ ๋๋ค. ์ธ์ผ์ฆํฌ์ค์์ ์ด๋ฌํ ๊ฐ์ฒด๋ค์ ๋ผ์ธ ์์ดํ ์ ์ถ๊ฐํ๊ฑฐ๋ ๋ณ๊ฒฝํ ๋ ์ ๊ณต๋๋ ๊ธฐ๋ณธ ๊ธฐ๋ฅ๋ค์ ํ๋ฅญํ์ง๋ง, ์ผ๋ถ ๋ถํธํ ์ฌํญ๋ค์ด ์กด์ฌํฉ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ ํ์ฌ ๐ ๊ฐ์ฒด๋ค๋ง ์ง์ํ๊ณ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ํ๋งค ๊ฐ๊ฒฉ์ด๋ ์๋์ ์ ๋ ฅํ ๋ ์ด์ก์ด ์ฆ์ ๊ณ์ฐ๋์ง ์๊ฑฐ๋, ํ ์ธ์จ์ ์ฌ์ฉ์๊ฐ ์ง์ ๊ณ์ฐํด ์ ๋ ฅํด์ผ ํ๋ ๋ถ๋ถ์ด ์์ต๋๋ค. ๋ํ, ๋ง์ ์ฌ์ฉ์๋ค์ ์ ํ ์ ํ์ด๋ ๋ผ์ธ ์์ดํ ์ ๋ ฅ ์ ์์ฒด ์๋ฒ์์ ์ฌ๊ณ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์ฐธ๊ณ ํ๊ณ ์ถ์ด ํฉ๋๋ค. ๋๋ถ์ด, ๋ค๋ฅธ ๊ฐ์ฒด์์ ๊ณ์ ๋ณ ํ ์ธ์จ์ ์๋์ผ๋ก ์ ์ฉํ์ฌ ๊ณ์ฐ๋๊ธธ ์ํฉ๋๋ค. ์ด๋ฌํ ์๊ตฌ ์ฌํญ์ ํด๊ฒฐํ๋ ค๋ฉด ๊ฐ๋ฐ์์ ๋์์ด ํ์ํ๊ณ , ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๋ณ๊ฒฝํ ๋ ์ด๋๋ฏผ์ด ์ฝ๊ฒ ์ปค์คํฐ๋ง์ด์งํ ์ ์๋ ํ๊ณ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ ์์ด ํฌ์ธํธ & ํด๋ฆญ ๋ฐฉ์์ผ๋ก ์ด์ ๊ฐ์ ๋จ์ ์ ๋ณด์ํ ์ ์์ต๋๋ค.
๋ผ์ธ ์์ดํ ์ถ๊ฐ ๋๋ ํธ์ง ์ ์๋ ๊ณ์ฐ, ์ธ๋ถ ๋ฐ์ดํฐ ์ ์ฉ ๋ฑ ์ต์ํ์ ๊ฐ๋ฐ ๋ฐ ํฌ์ธํธ & ํด๋ฆญ๋ง์ผ๋ก ๊ธฐ๋ฅ ํ์ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
๋น๋๋ฅผ ์ด์ฉํ์ฌ ์์ฝ๊ฒ ํ๋ฉด์ ๊ตฌํํ ์ ์์ด ์๊ฐ์ ์ ์ฝํ ์ ์๊ณ ์ ์ง๋ณด์๋ก์ ๊ธฐ๋ฅ ์ถ๊ฐ ๋ฐ ์์ ์ ํ๋๋ฐ ์ด๋ ค์์ด ์์ต๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ฅผ ๊ตฌํํ ๋ ํ์ํ ๊ธฐ๋ณธ ์ค์ ์ ๊ฐ๋ฐ์ด ํ์ํ์ง ์์, ์ธ์ผ์ฆํฌ์ค ๊ธฐ๋ณธ ์ง์์ ๊ฐ์ถ ์ด๋๋ฏผ๋ง์ผ๋ก๋ ํ๋ฉด์ ๊ตฌํํ ์ ์์ต๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ Junction ๊ด๊ณ๋ฅผ ๋งบ์ ๊ฐ์ฒด๋ค์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์์ ๋งํ๋ฏ์ด ๋ํ์ ์ผ๋ก ๊ธฐํ, ๊ฒฌ์ , ์ฃผ๋ฌธ์ด ์์ต๋๋ค. ์ด ์ค์์ ๊ธฐํ์ ๋ผ์ธ ์์ดํ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ด ์๋ค.
์ฐ๋ฆฌ๋ ๊ธฐํ(Opportunity)์์ ์ ํ์ ์ถ๊ฐํ๋ ค๊ณ ํฉ๋๋ค. ์ด๋ ์ ํ์ ์ ๋ณด์ ๊ฐ๊ฒฉ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด์๋ ๋ชจ๋ ๊ด๋ จ ์ ๋ณด๋ฅผ ํฌํจํ๋ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry) ๊ฐ์ฒด๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์, ์ ํ์ ์ถ๊ฐํ ๋ ์
๋ ฅํ๋ ํ๋งค๊ฐ, ์๋ ๋ฑ์ ์ ๋ณด๋ฅผ ํจ๊ป ์ ์ฅํ๋ ๊ฐ์ฒด๊ฐ ๋ฐ๋ก ๊ธฐํ ์ ํ(OpportunityLineItem)์
๋๋ค.
๊ธฐํ ์ ํ(OpportunityLineItem)์ ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ธฐํ(Opportunity)์ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)์ ์ ๋ณด๋ฅผ ๋ชจ๋ ํฌํจํ๊ณ ์์ต๋๋ค. ๊ธฐํ ์ ํ์ ๊ธฐํ์ ์ฌ๋ฌ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ์ ๋ฑ๋กํ ์ ์๋๋ก ์ฐ๊ฒฐํด ์ฃผ๋ ์ญํ ์ ํ๋ฉฐ, ์ด๋ฌํ ์ญํ ์ ํ๋ ๊ฐ์ฒด๋ฅผ Junction ๊ฐ์ฒด๋ผ๊ณ ํฉ๋๋ค.
์์ ๊ด๊ณ๋ค๋ง ๋งบ๊ณ ์์ผ๋ฉด ์ธ์ ๋ ์ง ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ๊ด๊ณ ์์ ์๋ ๊ฐ ๊ฐ์ฒด๋ค์ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ์๋์ ๊ฐ์ด ์ง์นญํ๊ณ ์์ต๋๋ค:
๊ธฐํ: ๋ถ๋ชจ
๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ: ์กฐํ
๊ธฐํ ์ ํ: ๋ผ์ธ ์์ดํ
โ๏ธ ๋ชจ๋ ๊ฐ์ฒด ์ง์
SmallBuilder Line Items์ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ์ง์ํฉ๋๋ค. ๋ฐ๋ผ์ ํ์ค ๊ธฐํ ๋๋ ๊ฒฌ์ ๋ฟ๋ง ์๋๋ผ ์ปค์คํ ๊ฐ์ฒด์์๋ ์ ํ ๋ฑ ๋ผ์ธ ์์ดํ ์ ์ฒ๋ฆฌ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํ ์ ๋ ์ด์ ์ฝ๋ฉ์ ํ์ ์์ต๋๋ค.
โ๏ธ ํฌ์ธํธ & ํด๋ฆญ ๊ธฐ๋ฐ ์ ์ ํด
๊ธฐํ, ์ ํ ๋ฐ ๊ฐ๊ฒฉ ๋ชฉ๋ก๊ณผ ๊ฐ์ด 3๊ฐ ์ด์์ ๊ฐ์ฒด๋ก ์ด๋ฃจ์ด์ง๋ ๋ณต์กํ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ(Line Item Editor)๋ฅผ ์์ฝ๊ฒ ๊ตฌํํ ์ ์๋ ๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
โ๏ธ ์ธ๋ถ ๋ฐ์ดํฐ ์ค์๊ฐ ์ฐ๋
์ธ๋ถ ๋ฐ์ดํฐ์ ์ค์๊ฐ ์ฐ๋์ด ํ์ํ ๊ฒฝ์ฐ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ(Line Item Editor)๋ ์ฐ๋์ ๋ด๋นํ๋ Apex Code๋ฅผ ํธ์ถํ์ฌ ์ธ๋ถ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฐ๋ํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
โ๏ธ CPQ์ ๋์
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ(Line Item Editor)๋ Currency ํ๋์ ํ ์ธ์จ ๊ณ์ฐ๊ธฐ๋ฅผ ์ ์ฉํ ์ ์์ต๋๋ค. ํธ๋ฆฌํ ํ ์ธ์จ ๊ณ์ฐ์ด ์ค์ํ ๊ฒฝ์ฐ ํ๋ฅญํ CPQ์ ๋์์ผ๋ก ํ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ํ๋จ์ ์์ฝ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค.
๋ผ์ธ ์์ดํ
ํธ์ง๊ธฐ์์ ์ถ๊ฐ๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ด์ก(TotalPrice) ํ๋(์ด) ๊ฐ์ ํฉ์ฐํ์ฌ ํ๋จ์ ํฉ๊ณ๋ฅผ ํ์ํ๋ ค๊ณ ํฉ๋๋ค.
๊ธฐ๋ณธ ์ค์ ์ ๋ผ์ธ ์์ดํ ์ต์ ์์ '์์ฝ ํ์'๋ฅผ ํ์ฑํํฉ๋๋ค.
๋ผ์ธ ์์ดํ
ํธ์ง๊ธฐ ์ค์ ๋จ๊ณ์์ ์ด์ก(TotalPrice) ํ๋(์ด)์ ์์ฝ ์์ฑ์ ํ์ฑํํฉ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ฅผ ์คํํ๋ฉด, ์ถ๊ฐ๋ ๋ฐ์ดํฐ์ ์ด์ก ํฉ๊ณ๊ฐ ํ๋จ์ ํ์๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์กฐํ ์ ํ๊ธฐ ํ๋ฉด์ด ๋ก๋๋ ๋ ์กฐ๊ฑด์ ๋ง๋ ์กฐํ ๊ฐ์ฒด์ ๋ ์ฝ๋๋ฅผ ๋ถ๋ฌ์ค๋ ค๋ฉด ํํฐ๋ฅผ ์ค์ ํ๊ณ , ์ํ๋ ๋ ์ฝ๋ ์์๋ฅผ ์ง์ ํ๋ ค๋ฉด ์ ๋ ฌ์ ์ค์ ํ์ธ์.
์กฐํ ์ ํ๊ธฐ ๋ก๋ ์ ์ํ๋ ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ๋ง ์กฐํ๋ฉ๋๋ค. ํํฐ ์ค์ ๋ฐฉ์์ SOQL์ WHERE์ ๊ณผ ๋์ผํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ํ์ฑํ๋ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ๋ง ์กฐํํ๋ ค๋ฉด IsActive = true๋ก ์์ฑํ๋ฉด ๋ฉ๋๋ค. ๋ํ, ์ง์ ์์ฑํ์ง ์๊ณ ์ฟผ๋ฆฌ ๋ง๋ฒ์ฌ(Query Wizard)๋ฅผ ์ด์ฉํด ํํฐ๋ฅผ ์๋์ผ๋ก ์์ฑํ ์๋ ์์ต๋๋ค.
์กฐํ ์ ํ๊ธฐ ๋ก๋ ์ ๋ฐ์ดํฐ๊ฐ ์ํ๋ ์์๋ก ์ ๋ ฌ๋๋๋ก ๋ฏธ๋ฆฌ ์ ์ํ ์ ์์ต๋๋ค. ์ ๋ ฌ ์ค์ ๋ฐฉ์์ SOQL์ ORDER BY์ ๊ณผ ๋์ผํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ์ ์ด๋ฆ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ ์ถ๋ค๋ฉด Name ASC๋ก ์์ฑํ๋ฉด ๋ฉ๋๋ค.
์กฐํ ์ ํ๊ธฐ์ ๋ฐ์ดํฐ ํ ์ด๋ธ์ ํ์ํ ์ด ๋ ์ด๋ธ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋ ํ๋์ ๋ ์ด๋ธ์ด ํ์๋๋ฉฐ, ๋ ์ด๋ธ ์ ๋ ฅ๋์ ๊ฐ์ ์ ๋ ฅํ๋ฉด ํด๋น ๊ฐ์ด ํ์๋ฉ๋๋ค. ๋ํ, ์ ๋ ฅ๋ ์์ ์์ด์ฝ( )์ ํด๋ฆญํ์ฌ ์ปค์คํ ๋ผ๋ฒจ์ ์ฝ์ ํ๋ฉด ์ฌ์ฉ์ ์ธ์ด ์ค์ ์ ๋ฐ๋ผ ๋ฒ์ญ๋ ๋ ์ด๋ธ์ด ํ์๋ฉ๋๋ค.
์กฐํ ์ ํ๊ธฐ์ ํ์ํ ํ๋(์ด)์ ์ค์ ํฉ๋๋ค. ๋ํ, ๋ฐ์ดํฐ์์ค์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ธฐ ์ํด ๊ฐ์ ์ด์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์กฐํ ์ ํ๊ธฐ ์ค์ ๋จ๊ณ์์ ์ด ์ถ๊ฐ ๋ฒํผ์ ํด๋ฆญํ์ฌ ์กฐํ ์ ํ๊ธฐ์ ํ์ํ ํ๋๋ฅผ ์ ํํฉ๋๋ค.
์กฐํ ๋ ์ฝ๋๋ฅผ ๊ฒ์ํ ๋ ๊ฒ์ํ ํค์๋์ ๋์ ํ๋๊ฐ์ ์ค์ ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฆ ํ๋๊ฐ ๊ฒ์ ๋์์ผ๋ก ์ง์ ๋๋ฉฐ, ์ผ์น ์กฐ๊ฑด์ ํฌํจ(Contains)์ ๋๋ค.
ํค์๋ ๊ฒ์ ํ๋๋ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry) ๊ฐ์ฒด์ ์ ํ ์ด๋ฆ(Name) ํ๋๋ก ์ค์ ๋์ด ์์ต๋๋ค. ๊ฒ์ ์กฐ๊ฑด์ ํฌํจ(Contains)์ด๋ฉฐ, ์
๋ ฅํ ๊ฒ์ ํค์๋๊ฐ ์ ํ ์ด๋ฆ ํ๋ ๊ฐ์ ํฌํจ๋ ๊ฒฝ์ฐ ์กฐํ๋ฉ๋๋ค.
ํธ์ง๊ธฐ์์ ์กฐํ ์ ํ๊ธฐ ํ๋ฉด์ โGenโ์ ์ ๋ ฅํ๋ฉด, ์ ํ ์ด๋ฆ์ โGenโ์ด ํฌํจ๋ ํญ๋ชฉ๋ง ๊ฒ์๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
ํ ํ์ด์ง(์คํฌ๋กค ๋ค์ด ์) ์กฐํํ ๋ ์ฝ๋ ์๋ฅผ ์ง์ ํฉ๋๋ค. ๊ธฐ๋ณธ ์ค์ ์ ํ์ด์ง(์คํฌ๋กค)๋น 50๊ฐ์ ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ํ๋จ์ ํฉ๊ณ๋ฅผ ํ์ํ ์ด์ ์ค์ ํฉ๋๋ค.
์์ฝ์ ํ์ํ๊ธฐ ์ ์, ๊ธฐ๋ณธ ์ค์ ์์ โ์์ฝ ํ์ํ๊ธฐโ ์ต์ ์ด ํ์ฑํ๋์ด ์์ด์ผ ํฉ๋๋ค.
์ด์ ๋๋น๋ ํฝ์ (pixel) ๋จ์๋ก ์ค์ ๋๋ฉฐ, ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ์ต์ ๋๋น๋ 150px๋ก ์๋ ์ ์ฉ๋ฉ๋๋ค.
์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด ๋๋ฆฌ์ ๊ฐ, ์ดํ๊ฐ, ์ฌ๊ณ , ์๋ ๋ฑ์ ์ด์ ๋ฐ์ดํฐ ๋ฐ ์ ๋ ฅ๋ ํฌ๊ธฐ์ ๋นํด ๋๋น๊ฐ ์๊ฑฐ๋ ํฝ๋๋ค. ์ด๋ฌํ ์ด์ ๋๋น๋ฅผ ๊ณ ์ ํ์ฌ ํฌ๊ธฐ๋ฅผ ์ผ์ ํ๊ฒ ๋ง์ถ๊ณ ์ ํฉ๋๋ค.
๋น๋์์ ๊ฐ ์ด์ ๋๋น๋ฅผ 150~200px ์ฌ์ด๋ก ์ค์ ํฉ๋๋ค.
์ด์ ๋ณด๋ค ์ด ๋๋น๊ฐ ๋ ์์ ์ ์ผ๋ก ๋ณด์ด๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๊ธฐํ ์ ํ์ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ํ ๊ฒฝ์ฐ, ํธ์ง๊ธฐ์์ ๋จ๊ฐ์ ์ด์ก์ ๋ชจ๋ ํ์ํ๋ ค๊ณ ํฉ๋๋ค. ๊ธฐํ ์ ํ์์ ๋จ๊ฐ์ ์ด์ก์ ํธ์ง ๊ฐ๋ฅํ ํ๋์ด์ง๋ง, ๋์์ ์ ์ฅํ ์๋ ์์ต๋๋ค. ์ด์ก์ ๋ด๋ถ์ ์ผ๋ก ๋จ๊ฐ์ ์๋์ ์ํด ์๋ ๊ณ์ฐ๋์ด ์ ์ฅ๋ฉ๋๋ค.
์ด๋, ์ด์ก์ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ์ค์ ํ๋ฉด ์ถฉ๋ถํ์ง ์์๊น ์๊ฐํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ ๋น๋ ์ค์ ์ ์์กดํ๊ธฐ ๋๋ฌธ์, ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ํ์๋๋๋ผ๋ ํด๋น ํ๋๊ฐ ํธ์ง ๊ฐ๋ฅํ ํ๋๋ก ์ค์ ๋์ด ์์ผ๋ฉด ๋ด๋ถ์ ์ผ๋ก ์ ์ฅ์ด ์ด๋ฃจ์ด์ง๋๋ค.
๋ฐ๋ผ์, ์์ ํ๋์ ๊ฐ์ ์ฝ๊ธฐ ์ ์ฉ ํ๋๋ฅผ ์ ์ธํ๊ณ , ์ ์ฅํ์ง ์์์ผ ํ๋ ํ๋์ธ ๊ฒฝ์ฐ ๋ฐ๋์ โ์ ์ฅ ์ ํจโ ์ค์ ์ ํ์ฑํํด์ผ ํฉ๋๋ค.
์ด ๊ฐ์ ์ ๋ ฌ์ ์ค์ ํ ์ ์์ต๋๋ค. ์ ๋ ฌ ์ต์ ์ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ, ๊ฐ์ด๋ฐ ์ธ ๊ฐ์ง๊ฐ ์์ผ๋ฉฐ, ๊ธฐ๋ณธ๊ฐ์ ์ผ์ชฝ ์ ๋ ฌ์ ๋๋ค.
๋น๋ ์ค์ ์ด ์๋ฃ๋๊ณ , ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํตํด ์ ์์ ์ผ๋ก ๋์ํ๋ ๊ฒ์ ํ์ธํ ํ, ๋น๋๋ฅผ ํ์ฑํํ์ฌ ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ ์ค๋น๋ฅผ ํฉ๋๋ค.
๋น๋๊ฐ ํ์ฑํ๋์ด์ผ ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ฑํ๋ฅผ ํด์ผ ํธ์ง๊ธฐ ๋ฒํผ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ๋ผ์ธ ์์ดํ ํ๋๋ ์์ ํ๋๋ฅผ ์ ์ธํ๊ณ ๊ฐ์ ์ ๋ ฅ๋ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฐ์ดํฐ ํ์ ์ฉ๋๋ก ์ฌ์ฉ๋๋ ํ๋๋ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ์ค์ ํ์ธ์.
๋ผ์ธ ์์ดํ ํ๋(์ด)์ ๊ณ ๊ธ ์ค์ ๋ฉ๋ด์์ โ์ฝ๊ธฐ ์ ์ฉ ๊ณ ๊ธ ์ค์ โ์ ํตํด ์ค์ ํ ์ ์์ต๋๋ค. ํด๋น ๊ธฐ๋ฅ์ ๋ํ ์์ธํ ๋ด์ฉ์ โโ ๋งค๋ด์ผ์ ์ฐธ๊ณ ํ์ธ์.
๊ฐ์ ์ด์ ๋น์ฆ๋์ค ๊ท์น(๋ฐ์ดํฐ์์ค)์ ํตํด ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ ๋จ์ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ํ๋ฉด์ ํ์ํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
๊ฐ์ ์ด ์ถ๊ฐ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉํ API๋ช ์ ์ ๋ ฅํ๊ณ ํ์ํ ๋ฐ์ดํฐ์ ์ ํ์ ์ ํํฉ๋๋ค. (API๋ช ์ค๋ณต์ ํ์ฉ๋์ง ์์ต๋๋ค.)
ํ๋ฉด์ ํ์ํ ๋ ์ด๋ธ์ ์ ๋ ฅํฉ๋๋ค.
๋น๋ ์ค์ ์ ์์ ์ค ์ ์ฅํ์ง ์์ ์ํ์์, ๋ณ๊ฒฝ ์ฌํญ์ ์ทจ์ํ๊ณ ์ค์ ์ ์๋ ์ํ๋ก ๋ณต์ํ๊ณ ์ถ๋ค๋ฉด ์ด๊ธฐํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ธ์.
์ด๊ธฐํ๋ ์ ์ฅ๋์ง ์์ ๋ณ๊ฒฝ ์ฌํญ๋ง ๋ณต์ํ๋ฉฐ, ์ด๋ฏธ ์ ์ฅ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋๋๋ฆด ์ ์์ต๋๋ค. ์์ ํ๊ฒ ์ค์ ์ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด, ๋น๋๋ฅผ ๋ณต์ ํ์ฌ ์งํํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
๐ฆ Package Upgrade (v1.39.1)
๐๏ธ Release Date
2025. 4. 28.
๐ Bug Fixes
โ๏ธ
์กฐํ ์ ํ๊ธฐ์ ๊ด๋ จ๋ ์ค์ ์ ๋๋ค. ๋ ์ฝ๋ ์ ํ ๋ฐฉ์ ๋ฐ ๊ฒ์ ๊ธฐ๋ฅ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์กฐํ ์ ํ๊ธฐ ํ๋ฉด ๋ก๋ ์, ๋ฐ์ดํฐ๊ฐ ์๋์ผ๋ก ์กฐํ๋๋๋ก ์ค์ ๋ฉ๋๋ค. ์ด ์ค์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค.
ํํฐ ๊ฒ์์ ๊ธฐ๋ณธ์ผ๋ก ํผ์ณ ํ์ํฉ๋๋ค. ํํฐ๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์ด ๊ธฐ๋ฅ์ ํ์ฑํํ์ธ์.
๋์ผํ ๋ ์ฝ๋๋ฅผ ์ฌ๋ฌ ๊ฐ ์ค๋ณต ์ ํํ ์ ์๋๋ก ํ์ฉํฉ๋๋ค.
ํธ์ง๊ธฐ ์คํ ์ ์กฐํ ์ ํ๊ธฐ์ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์ ํ์ดํ์ ์ฌ์ฉ์๊ฐ ์ํ๋ ๋ ์ด๋ธ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๋์ผํ ๊ฐ์ฒด์ ๋ํด ์ฌ๋ฌ ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ๋๋ผ๋, ํธ์ง๊ธฐ์ ์ฉ๋์ ๋ฐ๋ผ ํ์ดํ์ ๋ค๋ฅด๊ฒ ํ์ํ๊ณ ์ถ๋ค๋ฉด ๋ ์ด๋ธ์ ์์ ํ ์ ์์ต๋๋ค. ๋ํ, ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ์กฐํ ์ ํ๊ธฐ๋ก ์ด๋ํ๋ ๋ฒํผ ๋ ์ด๋ธ๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํฉ๋๋ค.
ํด๋น ๋ ์ด๋ธ ๋ณ๊ฒฝ์ ์ฌ์ด๋ ํจ๋์์ ๋ ์ด๋ธ ๋ฉ๋ด๋ฅผ ํด๋ฆญํ์ฌ ๊ฐ๋จํ ์ค์ ํ ์ ์์ต๋๋ค.
์กฐํ ์ ํ๊ธฐ์ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์ ๊ฐ๊ฐ์ ํ์ดํ ๋ ์ด๋ธ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ํ,
๋์ผํ ๋ ์ฝ๋๋ฅผ ์ฌ๋ฌ ๊ฐ ์ค๋ณต ์ ํํ ์ ์๋๋ก ํ์ฉํฉ๋๋ค.
์ผ๋ฐ ์ ํ
์ผ๋ฐ์ ์ผ๋ก ๋ ์ฝ๋๋ฅผ ์ ํํ๋ฉด ์ ํ๋๊ฑฐ๋ ํด์ ๋ฉ๋๋ค.
์ค๋ณต ์ ํ
์ค๋ณต ์ ํ์ ๊ฒฝ์ฐ, ๋์ผํ ๋ ์ฝ๋๋ฅผ ์ฌ๋ฌ ๋ฒ ์ ํํ๋ฉด ์ ํํ ํ์๋งํผ ๋ผ์ธ ์์ดํ ์ ์ถ๊ฐ๋ฉ๋๋ค.
๋ถ๋ชจ ๊ฐ์ฒด๋ ๋ผ์ธ ์์ดํ ๊ฐ์ฒด์ ์์ ๊ฐ์ฒด๋ก, Master-Detail ๋๋ Lookup ๊ด๊ณ๋ฅผ ๊ฐ์ง๋๋ค. ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ ๋ถ๋ชจ ๊ฐ์ฒด์ ๋ ์ฝ๋ ํ์ด์ง์์ ์คํ๋ฉ๋๋ค. ๋น๋์์ ๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ๊ฒ์ํ ๋, ํ์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด๋ง ๊ฒ์์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ถ๋ชจ ๊ฐ์ฒด์ ๋ ์ฝ๋ ํ์ด์ง์์ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ฅผ ์คํํฉ๋๋ค.
์กฐํ ์ ํ๊ธฐ๋ฅผ ๊ฑด๋๋ฐ๊ณ ๋ฐ๋ก ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ก ์ ํํ๊ณ ์ถ์ ๊ฒฝ์ฐ, ์กฐํ ์ ํ๊ธฐ ์ฐจ๋จ ๊ธฐ๋ฅ์ ํ์ฑํํ์ธ์. ๋ํ, ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์กฐํ ์ ํ๊ธฐ๋ฅผ ์ฐจ๋จํ ์๋ ์์ต๋๋ค.
์ฐจ๋จ ์กฐ๊ฑด์ ์ค์ ํ๋ ค๋ ๊ฒฝ์ฐ, ๋ถ๋ชจ ๊ฐ์ฒด์ ํน์ ํ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ด๋ฉ๋๋ค. ํด๋น ํ๋๋ Boolean ์ ํ์ด์ด์ผ ํ๋ฉฐ, ๊ฐ์ด true์ธ ๊ฒฝ์ฐ ์กฐํ ์ ํ๊ธฐ๊ฐ ์ฐจ๋จ๋ฉ๋๋ค.
๋ผ์ธ ์์ดํ
ํธ์ง๊ธฐ์์ ๊ฐฑ์ ๋ ๊ธฐํ์ธ ๊ฒฝ์ฐ ์ ํ ์ถ๊ฐ(๋ผ์ธ ์์ดํ
์ถ๊ฐ)๋ฅผ ์ฐจ๋จํ๋ ค๊ณ ํฉ๋๋ค. ์์์์๋ ๊ธฐํ์ ๊ฐฑ์ ๋จ(IsRenewal__c) ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ๋จ ์กฐ๊ฑด์ ์ค์ ํฉ๋๋ค.
๋ผ์ธ ์์ดํ ์ ์ฅ ์ ์๋ ๋ฒํธ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ํนํ ์ ํ ์ต์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ๊ฐ ๋ผ์ธ ์์ดํ ์ ๊ตฌ๋ถํ๊ณ ๊ด๋ฆฌํ๊ธฐ์ ์ ์ฉํฉ๋๋ค.
์๋ ๋ฒํธ๋ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ํ๋ฉด์์ ์ ์ฅํ๋ ๊ฒฝ์ฐ์๋ง ํด๋น๋๋ฉฐ, Salesforce ๋ด๋ถ ํธ๋์ญ์ (์: API, ๋ฐ์ดํฐ ๋ก๋, ๋๋ ์๋ ์ญ์ )์์๋ ์๋์ผ๋ก ๋ฒํธ๊ฐ ํ ๋น๋์ง ์์ต๋๋ค.
๋ผ์ธ ์์ดํ ์ถ๊ฐ ์, ๋ถ๋ชจ ๊ฐ์ฒด ๋๋ ์กฐํ ๊ฐ์ฒด์ ํน์ ํ๋ ๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ํ ๋นํ ์ ์์ต๋๋ค.
์์ค ํ๋ ๊ฐ์ ๋ผ์ธ ์์ดํ ์ด ์ต์ด ์ถ๊ฐ๋ ๋๋ง ํ ๋น๋ฉ๋๋ค.
๋ผ์ธ ์์ดํ ์ ๋ฑ๋กํ๊ธฐ ์ํด์๋ ๋จผ์ ์ ํ๊ณผ ๊ฐ์ ์กฐํ ๊ฐ์ฒด๋ฅผ ๊ฒ์ํ๊ณ ๊ฒ์ ๊ฒฐ๊ณผ ์ค ์ํ๋ ๋ ์ฝ๋๋ฅผ ์ ํํ๊ณ ์๋ ๋ฑ์ ์ค์ ํ์ฌ ๋ผ์ธ ์์ดํ ์ ๋ฑ๋กํฉ๋๋ค. ๊ฒ์ ์ค์ ์ ์กฐํ ๊ฐ์ฒด ๊ฒ์ ์ ๊ฒ์ ๊ฒฐ๊ณผ ๋ ์ด์์์ ์ค์ ํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
์กฐํ ๊ฐ์ฒด๋ ๋ผ์ธ ์์ดํ ๊ฐ์ฒด์์ ์ฐธ์กฐํ๋ ๊ฐ์ฒด๋ก, ์ฌ์ฉ์๋ ์กฐํ ๋ ์ฝ๋๋ฅผ ์ ํํ์ฌ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ผ์ธ ์์ดํ ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
์จ๊น ์ค์ ์ ์๋์ ๊ฐ์ ๊ฒฝ์ฐ์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค:
๊ณ์ฐ์์ ํ์ํ ํ๋ ๊ฐ ์ฒ๋ฆฌ
๊ณ ๊ธ ์ค์ ์์ ๊ณ์ฐ์์ ์ฌ์ฉํด์ผ ํ๋ ํ๋ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ, ํด๋น ํ๋๋ ๋ผ์ธ ์์ดํ ์ด์ ์ถ๊ฐ๋์ด์ผ ํฉ๋๋ค. ํ์ง๋ง ์ฌ์ฉ์๊ฐ ๋ชจ๋ ํ๋๋ฅผ ํ๋ฉด์์ ๋ณผ ํ์๋ ์๊ธฐ ๋๋ฌธ์, ํ๋๋ฅผ ์จ๊น ์ฒ๋ฆฌํ์ฌ ํ๋ฉด์ ๋ ธ์ถ๋์ง ์๋๋ก ์ค์ ํฉ๋๋ค.
์์ ํ๋ ์ค๋ฅ ๋ฐฉ์ง
๋ผ์ธ ์์ดํ ๊ฐ์ฒด์ ์์ ํ๋๋ ์ ์ฅ ์ ๋ชจ๋ ์์์ ์ฌ๊ณ์ฐํฉ๋๋ค. ์ด๋, ํน์ ์์์ ํ์ํ ํ๋ ๊ฐ์ด Null์ด๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์จ๊น ์ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ํ๋๋ฅผ ์ด์ ์ถ๊ฐํ๊ณ ํ์ํ ๊ฐ์ ํ ๋นํฉ๋๋ค.
์ ์ฅ๋ ๋ผ์ธ ์์ดํ
์ ์ํ์ ๋ฐ๋ผ ์ญ์ ๋ฅผ ์ ์ดํ๊ณ ์ถ๋ค๋ฉด, Boolean ์ ํ์ ํ๋๋ฅผ ์ง์ ํ์ฌ ์ญ์ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ์ง์ ๋ ํ๋ ๊ฐ์ด true(์ฐธ)์ธ ๊ฒฝ์ฐ, ํด๋น ๋ผ์ธ ์์ดํ
์ ๋ํด ์ญ์ ๋ฒํผ์ ๋นํ์ฑํํ ์ ์์ต๋๋ค.
์ญ์ ์ ์ด๋ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ํ๋ฉด์์๋ง ์๋ํ๋ฉฐ, Salesforce ๋ด๋ถ ํธ๋์ญ์ (์: API, ๋ฐ์ดํฐ ๋ก๋, ๋๋ ์๋ ์ญ์ )์์๋ ์ ์ด๋์ง ์์ต๋๋ค.
์ ํ ์ต์ ์ ์ฌ์ฉํ๋ ค๋ฉด ๋น๋์์ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ํ์ฑํํด์ผ ํฉ๋๋ค. ํด๋น ์ค์ ์ ๊ฐ์ฒด ์ฐ๊ฒฐ ๋จ๊ณ์ ์กฐํ ๊ฐ์ฒด ์์ญ์์ ํ์ฑํํ ์ ์์ต๋๋ค.
๋จ, ์ ํ ์ต์ ์ค์ ์ ์คํ ๋ค๋ ์ค์ (๊ธฐํ, ๊ฒฌ์ , ์ฃผ๋ฌธ)์ธ ๊ฒฝ์ฐ์๋ง ๊ฐ๋ฅํฉ๋๋ค.
์์ ์๋ดํ ๊ฒ์ฒ๋ผ, ์ ํ ์ต์ ์ ์คํ ๋ค๋ ์ค์ ์์๋ง ํ์ฑํํ ์ ์์ต๋๋ค.
์ ํ ์ต์
์ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)์ ๊ธฐ์ค์ผ๋ก ์ ํ๊ณผ ๋จ๊ฐ ์ ๋ณด๋ฅผ ์กฐํํ๊ธฐ ๋๋ฌธ์, ์ธ์ผ์ฆํฌ์ค์์ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ๊ณผ ์ ์ผํ๊ฒ ๊ด๊ณ๋ฅผ ๋งบ๊ณ ์๋ ๊ธฐํ(
๋๋ฐ์ด์ค ์ ํ(๋ฐ์คํฌํฑ, ๋ชจ๋ฐ์ผ)์ ๋ฐ๋ผ ๋ฐ์ํ ํ๋ฉด์ ์ ๊ณตํฉ๋๋ค. ๋์คํ๋ ์ด ํ๊ฒฝ์ ๋ง์ถฐ ํธ์ง๊ธฐ์ ํฌ๊ธฐ์ ๊ตฌ์ฑ์ ์กฐ์ ํ์ฌ ์ต์ ์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ์คํฌํฑ์์๋ ๋ ๋ง์ ์ ๋ณด๋ฅผ ํ์ํ๊ณ , ๋ชจ๋ฐ์ผ์์๋ ๊ฐ์ํ๋ ํ๋ฉด์ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
๋ชจ๋ ๋๋ฐ์ด์ค์์ ๊ฐ์ํ๋ ํ๋ฉด์ผ๋ก ๋ณด์ด๊ธฐ๋ฅผ ์ํ๋ค๋ฉด, ์ฅ์น๋ฅผ ๋ชจ๋ฐ์ผ๋ก ์ค์ ํ์ธ์. ์ด๋ฅผ ํตํด ๋๋ฐ์ด์ค ์๊ด ์์ด ๊ฐ๋จํ๊ณ ์ผ๊ด๋ ํ๋ฉด์ ์ ๊ณตํฉ๋๋ค.
๋ผ์ธ ์์ดํ ์ ํ์ ์ต์ ์ ํ์ ์ถ๊ฐํ ์ ์๋ ๊ธฐ๋ฅ์ผ๋ก ํน์ ์ ํ์ ๊ตฌ์ฑ ์์(์: ์ถ๊ฐ ์๋น์ค, ๋ถ๊ฐ ์ ํ)๋ฅผ ํจ๊ป ๋ฑ๋กํ๊ฑฐ๋ ๊ด๋ฆฌํ๊ณ ์ ํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
์ ํ ์ต์ ๊ธฐ๋ฅ์ ์ผ๋ถ ์คํ ๋ค๋ ๊ฐ์ฒด์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค:
๊ธฐํ
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์๋ ๋ค์์ ์ ์ฐจ๋ฅผ ์ํํฉ๋๋ค:
๋น๋์์ ์ค์ ํด์ผ ํ๋ ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ์ฌ์ฉํ ๊ฐ์ฒด๋ค์ ๊ด๊ณ๋ฅผ ์ ์ํ๋ ๊ฒ์ ๋๋ค. ์ด ๊ด๊ณ๋ ๋ฐ๋์ Junction ๊ด๊ณ ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ผ์ผ ํ๋ฉฐ, ๋ถ๋ชจ(Parent), ๋ผ์ธ ์์ดํ (Line Item), ์กฐํ(Lookup) ๊ฐ์ฒด๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.
๋ผ์ธ ์์ดํ ์ ๋ฑ๋กํ๊ธฐ ์ํด์๋ ๋จผ์ ์ ํ๊ณผ ๊ฐ์ ์กฐํ ๊ฐ์ฒด๋ฅผ ๊ฒ์ํ๊ณ ๊ฒ์ ๊ฒฐ๊ณผ ์ค ์ํ๋ ๋ ์ฝ๋๋ฅผ ์ ํํ๊ณ ์๋ ๋ฑ์ ์ค์ ํ์ฌ ๋ผ์ธ ์์ดํ ์ ๋ฑ๋กํฉ๋๋ค. ๊ฒ์ ์ค์ ์ ์กฐํ ๊ฐ์ฒด ๊ฒ์ ์ ๊ฒ์ ๊ฒฐ๊ณผ ๋ ์ด์์์ ์ค์ ํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
ํธ์ง๊ธฐ๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ๊ธฐ ์ ์, ๋น๋์์ ์ค์ ํ ๋ด์ฉ์ด ์ด๋ป๊ฒ ํธ์ง๊ธฐ๋ก ๊ตฌํ๋๋์ง ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํตํด ํ์ธํฉ๋๋ค.
ํ์ฌ๋ ๋ณ๊ฒฝ๋ ์ค์ ์ ๋ฐ๋์ ์ ์ฅํด์ผ๋ง, ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํตํด ๋ณ๊ฒฝ๋ ์ฌํญ์ด ๋ฐ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ ๋น๋ ์ค์ ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋ ์ฌ์ฉ์ ๋ง์ถคํ ํธ์ง๊ธฐ์ ๋๋ค. ์ด ํธ์ง๊ธฐ๋ฅผ ํตํด ์คํ ๋ค๋ ํธ์ง ํ๋ฉด์์ ์ ๊ณต๋์ง ์๋ ์๋ ๊ณ์ฐ, ์ถ๊ฐ ์ฐธ์กฐ ๋ฐ์ดํฐ ํ์ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์์ต๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ ํฌ๊ฒ ๋ ๊ฐ์ง ํ๋ฉด์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค:
์กฐํ ์ ํ๊ธฐ ํ๋ฉด์์๋ ๋ผ์ธ ์์ดํ ์ ์ถ๊ฐํ ํญ๋ชฉ์ ์ ํํ๋ ์ญํ ์ ํฉ๋๋ค. ์ฌ๋ฌ ๊ฐ์ ์์ดํ ์ ์ ํํ์ฌ ๋ผ์ธ ์์ดํ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๊ธฐํ์์ ๊ธฐํ ์ ํ์ ์ถ๊ฐํ ๋ ์ ํ์ ์ ํํ๋ ํ๋ฉด์ ๋ ์ฌ๋ฆฌ๋ฉด ๋ฉ๋๋ค. ์ด ํ๋ฉด์ด ๋ฐ๋ก ์กฐํ ์ ํ๊ธฐ์ ํด๋นํฉ๋๋ค.
์กฐํ ์ ํ๊ธฐ ํ๋ฉด ๋ก๋ ์, ๋ฐ์ดํฐ๊ฐ ์๋์ผ๋ก ์กฐํ๋๋๋ก ์ค์ ๋ฉ๋๋ค. ์ด ์ค์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค.
๋ก๋ ์ ๋ฐ์ดํฐ๊ฐ ์๋์ผ๋ก ์กฐํ๋์ง ์์ผ๋ฉฐ, ํค์๋ ๊ฒ์์ ํตํด์๋ง ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค. ์ด๋ ๋ฐ์ดํฐ ์กฐํ๊ฐ ๋๋ฆฌ๊ฑฐ๋, ๋ฐ์ดํฐ์์ค ๊ณ ๊ธ ์ค์ ์ ๋ณต์กํ ์์ ๋๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ์์ ์ด ํฌํจ๋ ๊ฒฝ์ฐ ํด๋น ๊ธฐ๋ฅ์ ๋นํ์ฑํํฉ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ์ค์
๋ผ์ธ ์์ดํ ํ๋์ ์์ฑ์ ์ค์ ํฉ๋๋ค. ์์ ์ ํ ์กฐํ ๋ ์ฝ๋๋ณ๋ก ๊ฐ๊ฒฉ, ํ ์ธ์จ, ์๋ ๋ฑ์ ์์ฑ ํ๋๋ฅผ ์ ์ํฉ๋๋ค.
๋น๋ ์ค์ ์ ์๋ฃํ ํ, ํ์ฑํํ๊ธฐ ์ ์ ๋ฐ๋์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํตํด ์ค์ ๋ ๊ธฐ๋ฅ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋์ง ํ์ธํ์ธ์. ์ด๋ฅผ ํตํด ์์์น ๋ชปํ ์ค๋ฅ๋ ๋ถ์์ ํ ์ค์ ์ ์ฌ์ ์ ๋ฐ๊ฒฌํ ์ ์์ต๋๋ค.
๋น๋ ์ค์ ์ด ์๋ฃ๋๋ฉด ํ์ฑํ(Activate)๋ฅผ ์งํํฉ๋๋ค. ํ์ฑํ๋ฅผ ํตํด ํธ์ง๊ธฐ ๊ธฐ๋ฅ์ด ์ ์ฉ๋๋ฉฐ, ์ดํ ํธ์ง๊ธฐ๋ฅผ ์คํํ๋ ๋ฒํผ์ ์์ฑํ ์ ์์ต๋๋ค.
์ค์ ์ ์๋ฃํ ํ, ๋ฒํผ์ ์์ฑํ์ฌ ๋ถ๋ชจ ๊ฐ์ฒด์ ํ์ด์ง ๋ ์ด์์์ ์ถ๊ฐํฉ๋๋ค. ๋ฒํผ์ ์ถ๊ฐํ๋ฉด ์ฌ์ฉ์๋ ํด๋น ๋ฒํผ์ ํด๋ฆญํ์ฌ ํธ์ง๊ธฐ๋ฅผ ์คํํ ์ ์์ต๋๋ค.




์ฑ๋ฅ ํฅ์์ ์ํ ์บ์ฑ ์บ์ฑ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์กฐํํ๊ณ ์์ ์ ์ธ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ๋ค๋ง, ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ ์ต์ ์ํ๋ก ์กฐํ๋์ง ์์ ์ ์์ต๋๋ค.
ํ์ด์ง๋ณ ๋ ์ฝ๋ ์ ํ ํ์ด์ง(์คํฌ๋กค)์ ํ์ํ ๋ ์ฝ๋ ์๋ฅผ ์ง์ ํฉ๋๋ค. ๊ธฐ๋ณธ ์ค์ ์ ํ์ด์ง(์คํฌ๋กค)๋น 50๊ฐ์ ๋๋ค.



1
์กฐํ ์ ํ๊ธฐ์์ ๊ฒ์ ๊ฒฐ๊ณผ์ ํ์ํ ํ๋(์ด)๋ฅผ ์ถ๊ฐํ๊ณ , ๊ฐ ํ๋(์ด)์ ์์ฑ์ ์ค์ ํ ์ ์์ต๋๋ค.
๋ํ, ๋ฐ์ดํฐ ์์ค์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ธฐ ์ํด ๊ฐ์ ์ด์ ์ถ๊ฐํ ์๋ ์์ต๋๋ค.
2
์กฐํ ๊ฐ์ฒด ๋ ์ฝ๋ ์ธ์ ์ถ๊ฐ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ณ ์ถ์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ์์ค๋ฅผ ํ์ฉํ์ฌ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์กฐํํ๊ฑฐ๋ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
๋ํ, Apex Class๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ๋ก์ง์ด๋ ์ธ๋ถ ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์กฐํ ์ ํ๊ธฐ์์ ํ์ํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.


๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ํ๋ฉด์์๋ ์ถ๊ฐ๋ ๋ผ์ธ ์์ดํ ์ ๊ด๋ฆฌ ๋ฐ ํธ์งํฉ๋๋ค. ๋ผ์ธ ์์ดํ ๋ณ ์ธ๋ถ ์ ๋ณด๋ฅผ ์์ ํ๊ฑฐ๋ ๊ณ์ฐ๋ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์๋ ์ฃผ์ ์์ ๊ณต๊ฐ์ ๋๋ค.
(์ด๋ฏธ์ง)








































1
๋ผ์ธ ์์ดํ ๊ฐ์ฒด์์ ์กฐํ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ํ๋๋ฅผ ์ค์ ํฉ๋๋ค.
2
์กฐํ ๋ ์ฝ๋๋ฅผ ๊ฒ์ํ ๋, ์ด๋ค ํ๋๊ฐ์ ๊ธฐ์ค์ผ๋ก ๊ฒ์ํ ์ง๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์กฐํ ๊ฐ์ฒด์ Name ํ๋๊ฐ ๊ฒ์ ๊ธฐ์ค์ผ๋ก ์ค์ ๋ฉ๋๋ค.
3
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ์กฐํ ์ ํ๊ธฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , ๋ผ์ธ ์์ดํ ํธ์ง๋ง ์ํ๋ ๊ฒฝ์ฐ, ์กฐํ ์ ํ๊ธฐ๋ฅผ ์ฐจ๋จํ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค. ๋ํ, ์กฐ๊ฑด์ ๋ฐ๋ผ ์กฐํ ์ ํ๊ธฐ๋ฅผ ์ฐจ๋จํ๊ฑฐ๋ ํ์ฑํํ ์๋ ์์ต๋๋ค.
4

ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ ๋ฐ์ดํฐ๋ง ์กฐํํ๊ณ , ์กฐํ๋ ๋ฐ์ดํฐ์ ๋ํด ์ํ๋ ์ ๋ ฌ ์์๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
๊ณตํต
๋ฒ์ 1.39๋ถํฐ ์ต์ ๊ธฐ๋ฅ ๋นํ์ฑํ ๊ธฐ์กด์ ์ต์ ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์ธ ๊ฒฝ์ฐ ๊ธฐ๋ฅ์ ๊ณ์ ์ ์ง๋ฉ๋๋ค.
๋น๋
๋ผ์ธ ์์ดํ ์ ๊ฐ์ ์ด์ด ์ซ์ ๋๋ ํตํ ์ ํ์ธ ๊ฒฝ์ฐ, ์๋ฆฟ์ ํ์ ๋ฐ ๊ณ์ฐ์ ์ ์ฉ ๊ธฐ๋ฅ ์ ๊ณต
๋ผ์ธ ์์ดํ ์ด์์ ํ์ ๋ฐ ์ฝ๊ธฐ ์ ์ฉ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ ์ดํ ์ ์๋๋ก ์ค์ ์ ๊ณต
๋ผ์ธ ์์ดํ ์ ์ฐธ์กฐํ ์ปฌ๋ผ ์ค์ ์์ ํํฐ ๋๊ตฌ ์ ๊ณต
ํํฐ ๋๊ตฌ์์ SOQL ์กฐ๊ฑด์ด ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ํํฐ ์ค์ ๊ณผ โANDโ ์กฐ๊ฑด์ผ๋ก ์๋ ๊ฒฐํฉ๋๋๋ก ์์
ํธ์ง๊ธฐ
๋ผ์ธ ์์ดํ ์ด์ ๋๋น๊ฐ ์ค์ ๋์ด ์์ง ์์ ๊ฒฝ์ฐ, ๊ธฐ๋ณธ์ ์ผ๋ก ์ต์ ๋๋น 150px๋ก ์ ์ฉ๋์ด ์ง๋์น๊ฒ ์ข๊ฒ ํ์๋๋ ํ์ ํด์
๊ธฐ์กด์๋ ๋ผ์ธ ์์ดํ ๊ฐ์ ์ด์ ๊ทธ์ ๋น์ฆ๋์ค ๊ท์น(๋ฐ์ดํฐ์์ค)์ ๋ฐ์ดํฐ ํ์ ์ฉ๋๋ก๋ง ์ฌ์ฉ๋์์ต๋๋ค. ํด๋น ๋ฒ์ ์์๋ ๊ฐ์ ์ด ์ ํ์ด ํตํ ๋๋ ์ซ์์ธ ๊ฒฝ์ฐ ์๋ฆฟ์ ํ์(Scale)์ ๊ณ์ฐ์(์์, ํ ์ธ์จ, ๊ธฐ๊ฐ)์ ์ ์ฉํ ์ ์๋๋ก ์ค์ ํ ์ ์์ต๋๋ค.
๋ถ๋ชจ, ์กฐํ, ๋ผ์ธ ์์ดํ ์ ํ๋ ๊ฐ์ ๋ฐ๋ผ ํ์ ์ฌ๋ถ์ ์ฝ๊ธฐ ์ ์ฉ ์ํ๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. ๋ผ์ธ ์์ดํ ์ ๊ฒฝ์ฐ ์ปฌ๋ผ์ ์ถ๊ฐ๋์ด ์๋ ํ๋๊ฐ ๋ณ๊ฒฝ๋์์ ๋ ์กฐ๊ฑด์ ํ๊ฐํฉ๋๋ค.
๊ธฐ์กด์๋ SOQL์ ์ง์ ์
๋ ฅํ๋ ๊ฒฝ์ฐ AND ๋๋ OR๋ฅผ ์์ ์์ฑํด์ผ ํ์ต๋๋ค.
ํ์ง๋ง ์ด๋ฒ ๋ฒ์ ๋ถํฐ๋ ์๋์ผ๋ก AND ์กฐ๊ฑด์ผ๋ก ๊ฒฐํฉํ๊ฒ ๋ฉ๋๋ค.
๋น๋
Apex ํด๋์ค๋ฅผ ์ด์ฉํ ๋น์ฆ๋์ค ๊ท์น์์ Key ์ ํ ์, ๋ผ์ธ ์์ดํ ํ๋๊ฐ ๊ฒ์๋์ด ์๋ชป ๋งคํ๋์๋ ๋ฌธ์ ์์
์กฐํ ๋ฐ ๋ผ์ธ ์์ดํ ์์ ์ปฌ๋ผ ์์๋ฅผ ๋ณ๊ฒฝํ ๋ ๋ฐ์ํ๋ JavaScript ์ค๋ฅ ์์
๊ฐ์ฒด ๊ธฐ๋ฐ ๋น์ฆ๋์ค ๊ท์น์์ ํํฐ ์ค์ ์ ์กฐํ ๊ฐ์ฒด ํ๋ ๋ฐ์ธ๋ฉ ๊ธฐ๋ฅ ์ ๊ฑฐ -> ํด๋น ๊ธฐ๋ฅ์ ๋ด๋ถ์ ์ผ๋ก ์ด์๊ฐ ์์ด ๊ธฐ๋ฅ์ ์ ๊ฑฐํจ ์ถํ ๋ณ๋์ UI/UX๋ฅผ ํตํด ๋ค์ ์ ๊ณต๋ ์์ ์ ๋๋ค.
ํธ์ง๊ธฐ
ํจํค์ง ๋ผ์ด์ ์ค๊ฐ ์๋ ๊ฒฝ์ฐ, โInternal Errorโ ๋์ โ๋ผ์ด์ ์ค๊ฐ ํ์ํฉ๋๋คโ ๋ฉ์์ง๋ฅผ ํ์ํ์ฌ ์ฌ์ฉ์ ํผ๋ ํด์
ํ์๋ก ์ค์ ๋ ์ผ๋ถ ์ปฌ๋ผ๋ค์ด ํ๋ฉด ์์ ํ์ ํ์๊ฐ ๋ํ๋์ง ์๋ ๋ฌธ์ ์์
ํธ์ง๊ธฐ๊ฐ ํ๋ก์ ์ฝ์ ๋์ด ์๋ ์ํ์์ ์ ์ฅ์ ์งํํ๋ฉด ๋ก๋ฉ ํ๋ฉด์ด ์ฌ๋ผ์ง์ง ์๋ ํ์ ํด๊ฒฐ
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ์กฐํ ์ ํ๊ธฐ๋ก ์ด๋ํ๋ ๋ฒํผ ๋ ์ด๋ธ๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ํ์ดํ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฐ์ธก ์์ด์ฝ ๋ฒํผ( )์ ํด๋ฆญํ์ฌ ์ปค์คํ ๋ผ๋ฒจ์ ์ฝ์ ํ๋ฉด, ์ฌ์ฉ์์ ์ธ์ด ์ค์ ์ ๋ฐ๋ผ ๋ฒ์ญ๋ ๋ ์ด๋ธ์ ํ์ํ ์ ์์ต๋๋ค.
์ปค์คํ ๋ผ๋ฒจ ์ ์ฉ ์์๋ฅผ ํ์ธํ๊ณ ์ถ์ ๊ฒฝ์ฐ, ๋ ์ด๋ธ์ ์ปค์คํ ๋ผ๋ฒจ ์ฝ์ ํ๊ธฐ ๋ฉ๋ด๋ฅผ ์ฐธ๊ณ ํ์ธ์. ์ด ๋ฉ๋ด์์๋ ์ปค์คํ ๋ผ๋ฒจ์ ์ฌ์ฉํ๋ ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ๊ณผ ์์๋ฅผ ์ ๊ณตํฉ๋๋ค.



ํธ์ง๊ธฐ์ ํ์๋๋ ์ด์ด ๋ง์ ๊ฒฝ์ฐ, ํ๋ฉด ๋น์จ์ ๋ฎ์ถ๋ฉด ํ ํ๋ฉด์์ ๋ ๋ง์ ์ด์ ํ์ธํ ์ ์์ต๋๋ค.


๊ฐฑ์ ๋จ(IsRenewal__c)์ด true์ผ ๋ ํธ์ง๊ธฐ์์ ์กฐํ ์ ํ๊ธฐ ํ๋ฉด์ผ๋ก ์ ํํ๋ ๋ฒํผ์ด ํ์๋์ง ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.

๊ธฐํ ์์ธ ํ์ด์ง์์ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํด ๊ธฐํ ์ ํ์ ์ ์ฅํ๊ณ , ๊ธฐํ์์ ๊ฒฌ์ ์ ์์ฑํ ๋ค, ์์ ๋ ๋ด์ฉ์ ๋ค์ ๊ธฐํ์ ๋๊ธฐํ(Sync)ํ๋ ๊ณผ์ ์ ์งํํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
๊ทธ๋ฌ๋ ์์ ์ ๋ ฌ(SortOrder) ํ๋๊ฐ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ฅํ์ง ์์ผ๋ฉด, ์ ํ ์ต์
์ ๋ํ ๋ผ์ธ ์์ดํ
๋ค์ด ์๋ชป๋ ์์๋ก ์ ๋ ฌ๋์ด ์ฌ์ฉ์์๊ฒ ํผ๋์ ์ค ์ ์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ ์ ๋ ฌ(SortOrder) ํ๋์ ์๋ ๋ฒํธ๋ฅผ ํ ๋นํ์ฌ, ๋๊ธฐํ(Sync) ์ ์์๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ ฌ๋๋๋ก ์ค์ ํฉ๋๋ค.
๋น๋์์ ๊ฐ์ฒด ์ฐ๊ฒฐ ๋จ๊ณ์์ ์๋ ๋ฒํธ ํ๋์ ์์ ์ ๋ ฌ ํ๋์ API๋ช
(SortOrder)๋ฅผ ์
๋ ฅํฉ๋๋ค.
์ ๋ ฌ ์์๋ฅผ ํ์ํ๊ธฐ ์ํด ๋ผ์ธ ์์ดํ
ํธ์ง๊ธฐ ์ค์ ๋จ๊ณ์์ ์ ๋ ฌ ์์(SortOrder)๋ฅผ ์ถ๊ฐํฉ๋๋ค.
๋ผ์ธ ์์ดํ
ํธ์ง๊ธฐ๋ฅผ ์คํํ๋ฉด, ์ ๋ ฌ ์์(SortOrder) ์ปฌ๋ผ์ ์๋ ๋ฒํธ๊ฐ ํ ๋น๋ ๊ฒ์ ๋ณด์ค ์ ์์ต๋๋ค.
์ต์ ๋ผ์ธ ์์ดํ ์ ๊ฒฝ์ฐ, ํธ์ง๊ธฐ์์๋ ์๋ ํ๋ ์ ๋ณด๋ง ๋ ธ์ถ๋ฉ๋๋ค:
์ ํ๋ช
์ ๊ฐ
๋จ๊ฐ
์๋
์ด์ก
ํ ์ธ์จ/ํ ์ธ์ก

๋ผ์ธ ์์ดํ
์ ์ ๊ฐ(ListPrice)์ ํ๋งค ๊ฐ๊ฒฉ(UnitPrice) ํ๋๊ฐ ์ถ๊ฐ๋์ด ์์ต๋๋ค. ํด๋น ํ๋์ ์กฐํ ๊ฐ์ฒด์ธ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)์ ์ ๊ฐ(UnitPrice) ํ๋ ๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํ๋ ค๊ณ ํฉ๋๋ค.
์ ๊ฐ์ ํ๋งค ๊ฐ๊ฒฉ์ ์์ค ํ๋์์ ์ฒซ ๋ฒ์งธ ์ต์ ์ โ์กฐํโ๋ก ์ ํํฉ๋๋ค.
๋ ๋ฒ์งธ ์ต์ ์์ โ์ ๊ฐโ๋ฅผ ์ ํํฉ๋๋ค.
์ ํํ ์ ํ๋ค์ ๋จ๊ฐ๊ฐ ๋ผ์ธ ์์ดํ ์ ์ ๊ฐ์ ํ๋งค ๊ฐ๊ฒฉ ํ๋์ ๊ฐ์ผ๋ก ํ ๋น๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.

๊ธฐํ์ ๋ผ์ธ ์์ดํ
์ธ ๊ธฐํ ์ ํ์ด ์น์ธ๋ ๊ฒฝ์ฐ, ์ญ์ ๊ฐ ๋ถ๊ฐ๋ฅํ๋๋ก ์ค์ ํ๋ ค๊ณ ํฉ๋๋ค. ์ด๋ฅผ ์ํด ์น์ธ๋จ(Approved__c) ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ญ์ ์ ์ด๋ฅผ ๊ตฌ์ฑํ์์ต๋๋ค.
์ญ์ ์ ์ด ํ๋์ ์น์ธ๋จ(Approved__c) ํ๋ API๋ช
์ ์
๋ ฅํฉ๋๋ค.
์น์ธ๋จ(Approved__c) ํ๋๊ฐ์ด true์ธ ๊ฒฝ์ฐ์๋ง ์ญ์ ๋ฒํผ์ด ๋
ธ์ถ๋์ง ์๋ ๊ฒ์ ํ์ธํ์ค ์ ์์ต๋๋ค.

OpportunityQuoteOrder
๋ชจ๋ฐ์ผ ํ๋ฉด์์๋ ์๋์ ๊ฐ์ ์ผ๋ถ ๊ธฐ๋ฅ์ด ์ง์๋์ง ์์ต๋๋ค:
์กฐํ ์ ํ๊ธฐ์์ ํํฐํ๋ ๊ธฐ๋ฅ
์ ํ ์ต์ ๊ธฐ๋ฅ
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ๋ค์ค ์ญ์ ๊ธฐ๋ฅ
๋ฐ์ํ
๋๋ฐ์ด์ค ํ๊ฒฝ์ ๋ง์ถฐ ์๋์ผ๋ก ์ต์ ํ๋ ํ๋ฉด์ ์ ๊ณตํฉ๋๋ค.
๋ฐ์คํฌํฑ
๋๋ฐ์ด์ค์ ์๊ด์์ด ๋ฐ์คํฌํฑ ๋ชจ๋์ ํ๋ฉด์ผ๋ก ๊ณ ์ ๋ฉ๋๋ค.
๋ชจ๋ฐ์ผ
๋๋ฐ์ด์ค์ ์๊ด์์ด ๋ชจ๋ฐ์ผ ๋ชจ๋์ ํ๋ฉด์ผ๋ก ๊ณ ์ ๋ฉ๋๋ค.

๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ์ค์ ๋จ๊ณ์์ [์ด ์ถ๊ฐ] ๋ฒํผ์ ํด๋ฆญํ์ฌ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์ ์์ ํ ํ๋๋ฅผ ์ ํํฉ๋๋ค.

๊ฒฌ์
์ฃผ๋ฌธ
๋น๋์ ๋ผ์ธ ์์ดํ ๊ฐ์ฒด ์ค์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์ >
์ ํ ์ต์ ์ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ๋น๋์์ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ํ์ฑํํ๊ณ , ํ์ํ ์ค์ ๊ณผ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ์๋ ์ฐธ์กฐ ๋ฌธ์์ ์ ์ ์ ์ฐจ๋ฅผ ๋ฐ๋ผ ์ค์ ์ ์งํํ์ธ์.
์ต์ ์ด ๋ผ์ธ ์์ดํ ์ ์ด๋ป๊ฒ ํ์๋๊ณ ์ ์ฅ๋๋์ง ํ์ธํ์ธ์.

๋์ ๋ ์ฝ๋ ์ ํ
๋ฏธ๋ฆฌ ๋ณด๊ณ ์ถ์ ๋์ ๋ ์ฝ๋๋ฅผ ์ ํํฉ๋๋ค. ์ ํํ ๋ ์ฝ๋๋ ๋ถ๋ชจ ๊ฐ์ฒด์ ๋ ์ฝ๋์ ๋๋ค.
1
์ฅ์น
์ฅ์น์ ๋ฐ๋ผ ํธ์ง๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ณผ ์ ์์ต๋๋ค.


2
๋น๋์์ ์๋ ํ๋(์ด)์ ๊ธฐ๋ณธ๊ฐ์ 1๋ก ์ค์ ํฉ๋๋ค.
๋ผ์ธ ์์ดํ ์ถ๊ฐ ์, ์๋์ด ์๋์ผ๋ก 1๋ก ํ ๋น๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.








๋ผ์ธ ์์ดํ ํ๋์ ์์ฑ์ ์ค์ ํฉ๋๋ค. ์์ ์ ํ ์กฐํ ๋ ์ฝ๋๋ณ๋ก ๊ฐ๊ฒฉ, ํ ์ธ์จ, ์๋ ๋ฑ์ ์์ฑ ํ๋๋ฅผ ์ ์ํฉ๋๋ค.
1
Line-item ๊ฐ์ฒด์ ๋ชจ๋ ํ๋ ์ค์์ ํธ์ง ์ ์ฌ์ฉํ ํ๋๋ฅผ ์ ํํ๊ณ ๊ฐ ํ๋์ ๊ธฐ๋ณธ๊ฐ ๋ฐ ์์ฑ์ ์ค์ ํฉ๋๋ค.
2
์กฐํ ๊ฐ์ฒด ๋ ์ฝ๋ ์ธ์ ์ถ๊ฐ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ณ ์ถ์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ์์ค๋ฅผ ํ์ฉํ์ฌ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์กฐํํ๊ฑฐ๋ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
๋ํ, Apex Class๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ๋ก์ง์ด๋ ์ธ๋ถ ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์กฐํ ์ ํ๊ธฐ์์ ํ์ํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.
์ ํ ์ต์ ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ ์ ์ ์ฐจ๋ฅผ ์งํํด์ผ ํฉ๋๋ค:
์ ํ ์ต์ ์ ์ฌ์ฉํ๋ ค๋ฉด ๋น๋์์ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ํ์ฑํํด์ผ ํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์คํ ๋ค๋ ์ค์ (๊ธฐํ, ๊ฒฌ์ , ์ฃผ๋ฌธ)์์๋ง ์ ๊ณต๋ฉ๋๋ค.
๋น๋์์ ์ ํ ์ต์ ์ ์ฌ์ฉํ๋ ค๋ฉด ํ์ํ ์ค์ ์ ์๋ฃํด์ผ ์ ๋๋ก ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ ํ ์ต์ ์ ์ ๋ณด๋ฅผ ์ด๋ค ๋ผ์ธ ์์ดํ ํ๋์ ์ ์ฅํ ์ง, ์ด๋ค ๊ธฐ์ค์ผ๋ก ์ ํ ์ต์ ์ ์กฐํํ ์ง์ ๊ฐ์ ํํฐ ์ค์ ๋ฑ์ด ํ์ํฉ๋๋ค.
๋น๋์์ ์ค์ ํด์ผ ํ๋ ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ์ฌ์ฉํ ๊ฐ์ฒด๋ค์ ๊ด๊ณ๋ฅผ ์ ์ํ๋ ๊ฒ์ ๋๋ค. ์ด ๊ด๊ณ๋ ๋ฐ๋์ Junction ๊ด๊ณ ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ผ์ผ ํ๋ฉฐ, ๋ถ๋ชจ(Parent), ๋ผ์ธ ์์ดํ (Line Item), ์กฐํ(Lookup) ๊ฐ์ฒด๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.
๊ธฐํ(Opportunity)๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฌ๋ฌ ์ ํ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ๊ธฐํ ์ ํ(OpportunityLineItem)์ด๋ผ๋ ๊ฐ์ฒด๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐํ ์ ํ์ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)์ ์ฐธ์กฐํ์ฌ ์ ํ ๋ฐ ๊ฐ๊ฒฉ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ์ด๋ฌํ ์คํ ๋ค๋ ๊ธฐํ ์ ํ ๋ฑ๋ก ํ๋ฉด์ SmallBuilder Line Items๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๊ตฌ์ฑํ๋ ค๊ณ ํฉ๋๋ค.
๋ถ๋ชจ ๊ฐ์ฒด: ๊ธฐํ
์ฌ๋ฌ ์ ํ์ ์ฐ๊ฒฐํ๋ ์์ ๊ฐ์ฒด๋ก, ๊ธฐํ ์ ํ๊ณผ Master-Detail ๊ด๊ณ๋ฅผ ๊ฐ์ง๋๋ค.
๋ผ์ธ ์์ดํ ๊ฐ์ฒด: ๊ธฐํ ์ ํ
ํ๋งค ๊ฐ๊ฒฉ, ์๋, ์ด ๊ธ์ก ๋ฑ ์ ํ ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉฐ, ๊ธฐํ์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
์กฐํ ๊ฐ์ฒด: ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ
๋ผ์ธ ์์ดํ ๊ฐ์ฒด๋ ์ฐธ์กฐ ๋ฐ์ดํฐ๋ฅผ ์ ํํ์ฌ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๊ณ ์ ์ฅํ๋ ์ญํ ์ ํ๋ ๊ฐ์ฒด์ ๋๋ค. ์ด ๊ฐ์ฒด๋ ๋ถ๋ชจ ๊ฐ์ฒด์ ํ์ ๊ฐ์ฒด์ฌ์ผ ํ๋ฉฐ, ๋น๋์์ ๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ์ ํํ๋ฉด ํด๋น ๋ถ๋ชจ ๊ฐ์ฒด์ ์ฐ๊ด๋ ํ์ ๊ฐ์ฒด๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค. ํด๋น ๋จ๊ณ์์๋ ํํฐ, ์ ๋ ฌ, ์๋ ๋ฒํธ ๋ฑ์ ์ค์ ๋ค์ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
1
๋ผ์ธ ์์ดํ ์ผ๋ก ์ฌ์ฉ๋ ๊ฐ์ฒด๋ฅผ ์ ํํ๊ณ , ํด๋น ๊ฐ์ฒด๋ฅผ ๋ถ๋ชจ ๊ฐ์ฒด์ ์ฐ๊ฒฐํ ํ๋๋ฅผ ์ง์ ํฉ๋๋ค. ์คํ ๋ค๋ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์๋ ์ค์ ์ต์ ์ ํตํด ํ์ํ ์ค์ ์ ๊ฐํธํ๊ฒ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
2
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ์คํ ์ ์กฐ๊ฑด์ ๋ง๋ ์ ์ฅ๋ ๋ผ์ธ ์์ดํ ์ ๋ถ๋ฌ์ค๊ณ ์ถ๋ค๋ฉด, ํํฐ์ ์ ๋ ฌ ์์๋ฅผ ์ค์ ํด๋ณด์ธ์. ์ด๋ฅผ ํตํด ์ํ๋ ๋ฐ์ดํฐ๋ง ํ์ํ๊ณ , ๋ถ๋ฌ์ค๋ ์์๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค.
3
๋ผ์ธ ์์ดํ
์ ์ญ์ ํ ๋ ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ ์ดํ๋ ค๋ฉด, ์กฐ๊ฑด์ ๊ฒฐ๊ณผ๊ฐ(true ๋๋ false)์ ์ ์ฅํ๋ ํ๋๋ฅผ ์ง์ ํ์ธ์. ์ด ํ๋๋ ์ญ์ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
4
๋ผ์ธ ์์ดํ ์ ์ฅ ์ ์๋ ๋ฒํธ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ํนํ ์ ํ ์ต์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ฐ ๋ผ์ธ ์์ดํ ์ ๊ตฌ๋ถํ๊ณ ๊ด๋ฆฌํ๊ธฐ์ ์ ์ฉํฉ๋๋ค.
์ ํ ์ต์ ์ ํ์ฑํํ๋ฉด ๋น๋ ์๋จ์ โ์ ํ ์ต์ ์ค์ โ ๋จ๊ณ๊ฐ ์ถ๊ฐ๋ฉ๋๋ค. ํด๋น ๋จ๊ณ์์ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํ ์ค์ ์ ์งํํฉ๋๋ค.
์ ํ ์ต์ ์ค์ ์ ํฌ๊ฒ ๊ธฐ๋ณธ ์ค์ ๊ณผ ๋ผ์ธ ์์ดํ ์ค์ ์ผ๋ก ๋๋ฉ๋๋ค.
๋น๋๊ฐ ํ์ฑํ๋๋ฉด, ํธ์ง๊ธฐ๋ฅผ ์คํํ ๋ฒํผ์ ์์ฑํ์ฌ ๋ถ๋ชจ ํ์ด์ง ๋ ์ด์์์ ์ถ๊ฐํฉ๋๋ค.
1
๋ฒํผ ๋ ์ด๋ธ
ํธ์ง๊ธฐ ๋ฒํผ์ ๋ ์ด๋ธ์ ๋๋ค.
๋น๋์์ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ๋ฒํผ์ ์์ฑํ๋ฉด, ์๋์ ๊ฐ์ Aura Component๊ฐ ์์ฑ๋ฉ๋๋ค. ๋ฒํผ์ ์ฐ๊ฒฐ๋ ํธ์ง๊ธฐ๋ฅผ ๋ค์ํ๊ฒ ํ์ฉํ๊ณ ์ถ๋ค๋ฉด, ๋ฒํผ์ด ํธ์ถํ๋ Aura Component๋ฅผ ์์ ํ๋ฉด ๋ฉ๋๋ค.
ํ์ฌ ์กฐ์ง์ ๋ฆฌ์คํธ ๊ตฌ์ฑ๊ธฐ ์ค์ ์ JSON ํ์ผ๋ก ๋ด๋ณด๋ด๊ฑฐ๋, ๋ค๋ฅธ ์กฐ์ง์์ ์์ฑํ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ค์ JSON ํ์ผ์ ๊ฐ์ ธ์ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ค์ ์ ์์ฝ๊ฒ ๋ค๋ฅธ ์กฐ์ง์ผ๋ก ์ด์ ํ ์ ์์ต๋๋ค.
๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ๋ด ํญ ์์ฑ ์ ๋ณด๋ ๋ง์ด๊ทธ๋ ์ด์ ๋์ง ์์ต๋๋ค.
๋น๋์์ ํํฐ ์ค์ ์ ๋ณดํต SOQL์ WHERE ์ ์ ํด๋นํ๋ ๊ตฌ๋ฌธ์ ์ ๋ ฅํฉ๋๋ค. ๊ทธ๋ฌ๋ SOQL์ ์ ๋ชจ๋ฅด๋ ๊ด๋ฆฌ์๋ผ๋ฉด ์ด ๊ณผ์ ์ ์ด๋ ต๊ฒ ๋๋ ์ ์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฟผ๋ฆฌ ๋ง๋ฒ์ฌ๋ฅผ ์ ๊ณตํ์ฌ ๊ด๋ฆฌ์๊ฐ SOQL ๋ฌธ๋ฒ์ ๋ํ ๊น์ ์ง์ ์์ด๋ ๊ฐ๋จํ๊ฒ ํํฐ ์กฐ๊ฑด์ ์ค์ ํ ์ ์๋๋ก ์ง์ํฉ๋๋ค. ์ฟผ๋ฆฌ ๋ง๋ฒ์ฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์กฐ๊ฑด์ ์ ํํ๊ณ ๊ฐ์ ์ ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก ํํฐ๋ฅผ ์ค์ ํ ์ ์์ด ํํฐ ์์ฑ์ด ํจ์ฌ ์ฌ์์ง๋๋ค.
์ฟผ๋ฆฌ ๋ง๋ฒ์ฌ์์ ์ฌ๋ฌ ํํฐ๋ฅผ ์ค์ ํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์กฐ๊ฑด์ด โANDโ๋ก ๋ฌถ์ฌ ์์ฑ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ฟผ๋ฆฌ ๋ง๋ฒ์ฌ์์ 3๊ฐ์ ํํฐ๋ฅผ ์ถ๊ฐํ์์ ๋:
์ฟผ๋ฆฌ ๋ง๋ฒ์ฌ์์ ์ค์ ํ 1~3๋ฒ ํํฐ๋ ๋ค์๊ณผ ๊ฐ์ด ๋ชจ๋ โANDโ๋ก ๋ฌถ์ฌ ์์ฑ๋ฉ๋๋ค.
๋ก์ง์ ๋ณ๊ฒฝํ๋ ค๋ฉด ๋ก์ง ํธ์ง์ ๋๋ฌ ํํฐ ๋ฒํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ก์ง์ ์์ ํ์ธ์.
์๋ฅผ ๋ค์ด, ๋ชจ๋ ์กฐ๊ฑด์ OR๋ก ๋ณ๊ฒฝํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ์ ๋ ฅํฉ๋๋ค:
์์ ํ ๋ก์ง๋๋ก ํํฐ๊ฐ ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
ํํฐ๋ฅผ ์ค์ ํ ๋, ์กฐ๊ฑด๊ฐ์ ๋ถ๋ชจ ๊ฐ์ฒด์ ํ๋ ๊ฐ๊ณผ ๋ฐ์ธ๋ฉํ ์ ์์ต๋๋ค. ๊ฐ ์ ๋ ฅ๋ ์์ ์๋ ์ต์ ์์ ๋ถ๋ชจ๋ฅผ ์ ํํ๋ฉด, ํด๋น ๋ถ๋ชจ ๊ฐ์ฒด์ ํ๋๋ฅผ ์ ํํ์ฌ ํํฐ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ํตํด ๋ถ๋ชจ ๊ฐ์ฒด์ ๋์ ์ธ ํ๋ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํํฐ๋ฅผ ์ค์ ํ ์ ์์ด ๋์ฑ ์ ์ฐํ ๋ฐ์ดํฐ ์กฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ์ ๊ฐ๊ฒฉ ๋ชฉ๋ก(Pricebook2Id)์ด ๋ถ๋ชจ ๊ฐ์ฒด์ธ ๊ธฐํ์ ๊ฐ๊ฒฉ ๋ชฉ๋ก(Pricebook2Id)๊ณผ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋๋ก ํํฐ๋ฅผ ์ค์ ํ๋ ค๊ณ ํฉ๋๋ค.
๊ฐ์ฒด ์ฐ๊ฒฐ ๋จ๊ณ์์ ์กฐํ ๊ฐ์ฒด์ ํํฐ ์ค์ (Filter by Query)์์ ์ฟผ๋ฆฌ ๋ง๋ฒ์ฌ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
๊ฐ ์ ๋ ฅ๋ ์์ ์ต์ ์์ ๋ถ๋ชจ(Parent)๋ฅผ ์ ํํฉ๋๋ค.
์
๋ ฅ๋์ ๊ฐ๊ฒฉ ๋ชฉ๋ก(Pricebook2Id)๋ฅผ ๊ฒ์ํ์ฌ ๋ถ๋ชจ ๊ฐ์ฒด์ ๊ฐ๊ฒฉ ๋ชฉ๋ก ID๋ฅผ ์ ํํฉ๋๋ค.
ํํฐ ์กฐ๊ฑด์ด {$Parent.Pricebook2Id}๋ก ์๋ ๋ฐ์ธ๋ฉ๋์ด ์ถ๊ฐ๋ ๊ฒ์ ํ์ธํฉ๋๋ค.
์ด ์ค์ ์ ํตํด ๋ถ๋ชจ ๊ฐ์ฒด์ ๊ฐ๊ฒฉ ๋ชฉ๋ก๊ณผ ์ผ์นํ๋ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ ์ ์์ต๋๋ค. ์ฟผ๋ฆฌ ๋ง๋ฒ์ฌ๋ฅผ ์ฌ์ฉํ๋ฉด ํํฐ ๊ตฌ๋ฌธ์ด ์๋์ผ๋ก ์์ฑ๋์ด, ์กฐ๊ฑด์ ์ฝ๊ณ ํธ๋ฆฌํ๊ฒ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ ํ ์ถ๊ฐ ์ ์ต์ ์ ํ ๊ฑด๋๋ฐ๊ธฐ, ์ ํํ ์ ์๋ ์ต์ ํํฐํ๊ธฐ ๋ฑ ๊ธฐ๋ณธ์ ์ธ ์ค์ ์ ์งํํฉ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ฅผ ๋ก๋ํ๋ฉด, ๊ธฐ๋ณธ์ ์ผ๋ก ๊ตฌ์ฑ ์ ํ์ ์ถ๊ฐ๋ ์ต์ ๋ค์ด ๋ชจ๋ ํ์๋๋๋ก ์ต์ ๋ผ์ธ ์์ดํ ๋ชฉ๋ก์ด ํ์ฅ๋์ด ์์ต๋๋ค.
๋ง์ฝ ํธ์ง๊ธฐ ๋ก๋ ์ ์ต์ ๋ชฉ๋ก์ ์จ๊ธฐ๊ณ ์ถ๋ค๋ฉด, โ๊ธฐ๋ณธ ํผ์น๊ธฐโ ์ค์ ์ ๋นํ์ฑํํ์ธ์.
๊ธฐ๋ณธ ํผ์น๊ธฐ๊ฐ ๋นํ์ฑํ๋ ๊ฒฝ์ฐ, ์ต์ ๋ชฉ๋ก์ด ์จ๊ฒจ์ ธ ์์ต๋๋ค. ํ์ฅ ์์ด์ฝ()์ด ์๋ ๋ผ์ธ ์์ดํ ํ์ ํด๋ฆญํ๋ฉด ์ต์ ๋ชฉ๋ก์ ํผ์ณ์ ํ์ธํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ ์ต์ ์ด ํ์ฑํ๋๋ฉด, ์กฐํ ์ ํ๊ธฐ์์ ์ ํ์ ์ ํํ ํ ๋ค์ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์ต์ ์ ํ ๋จ๊ณ๊ฐ ๋ํ๋ฉ๋๋ค.
ํ์ง๋ง, ์ ํ์ ์ถ๊ฐํ ๋๋ง๋ค ์ต์ ์ ํ ๋จ๊ณ๊ฐ ๋ํ๋๋ ๊ฒ์ด ๋ฒ๊ฑฐ๋กญ๊ฑฐ๋ ๋ถํ์ํ๋ค๊ณ ๋๋ ๊ฒฝ์ฐ, โ์ต์ ์ ํ ๊ฑด๋๋ฐ๊ธฐโ ์ค์ ์ ํ์ฑํํ์ฌ ํด๋น ๋จ๊ณ๋ฅผ ๊ฑด๋๋ธ ์ ์์ต๋๋ค.
์ต์ ์ ํ์ ๊ฑด๋๋ฐ๋ ์ค์ ์ ํ์ฑํํ๋ฉด, ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด ์ ํ ์ ํ ํ ์ต์ ์ ํ ๋จ๊ณ๊ฐ ์๋ต๋ฉ๋๋ค. ์ต์ ์ ํ ๋จ๊ณ๋ฅผ ์คํตํ๋๋ผ๋ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ์ต์ ์ ์ ํํ๊ฑฐ๋ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ต์
์ ์ ํํ ์ ํ๊ณผ ๋ถ๋ชจ(๊ธฐํ, ๊ฒฌ์ , ์ฃผ๋ฌธ)์ ๊ฐ๊ฒฉ ๋ชฉ๋ก(Pricebook2Id)์ ๊ธฐ๋ฐ์ผ๋ก ์กฐํ๋ฉ๋๋ค.
์ถ๊ฐ์ ์ผ๋ก ์ต์
์กฐํ ์กฐ๊ฑด์ ์ค์ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ, ์ต์
ํํฐ๋ฅผ ์ค์ ํ์ธ์. ํํฐ ์์ฑ ๋ฐฉ์์ SOQL์ WHERE ์ ๊ณผ ๋์ผํ๋ฉฐ, ํํฐ ๊ธฐ์ค์ด ๋๋ ๊ฐ์ฒด๋ ์ ํ ์ต์
(SBLI__ProductOption__c)์
๋๋ค.
์์
๋ํ, ์ง์ ์์ฑํ์ง ์๊ณ ๋ฅผ ์ด์ฉํด ํํฐ๋ฅผ ์๋์ผ๋ก ์์ฑํ ์๋ ์์ต๋๋ค.
๋ฒํผ ์ธ์ ๋ค๋ฅธ ์์น์์ ๋ผ์ธ ์์ดํ
ํธ์ง๊ธฐ๋ฅผ ํธ์ถํ๋ ค๋ฉด, Aura Component์ธ <SBLI:LineItemConfigurator />๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
ํ์ฌ๋ Aura Component๋ง ์ ๊ณต๋ฉ๋๋ค.
๋น๋์์ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ๋ฒํผ์ ์์ฑํ๋ฉด, ์๋์ ๊ฐ์ Aura Component๊ฐ ์์ฑ๋ฉ๋๋ค. ๋ฒํผ์ ์ฐ๊ฒฐ๋ ํธ์ง๊ธฐ๋ฅผ ๋ ์ปค์คํฐ๋ง์ด์งํ๊ณ ์ถ๋ค๋ฉด, ๋ฒํผ์ด ํธ์ถํ๊ณ ์๋ Aura Component๋ฅผ ์์ ํ๋ฉด ๋ฉ๋๋ค.
๋ณต์ ๊ธฐ๋ฅ์ ๋ ๊ฐ์ง ์ฃผ์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค:
๋ฒ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์, ํ์ฌ ์ค์ ์ ๋ณต์ ํ์ฌ ์์ ํ๊ฒ ์์ ํ๊ณ ํ ์คํธํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์๋ ์ค์ ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ์๋ํ ์ ์์ต๋๋ค.
๋น์ทํ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ฅผ ์ถ๊ฐ๋ก ๊ตฌํํ ํ์๊ฐ ์์ ๋, ๋ณต์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ ํธ์ง๊ธฐ๋ฅผ ์ ์ํ๊ฒ ์์ฑํ๊ณ ์กฐ์ ํ ์ ์์ต๋๋ค.
๋น๋ ์๋จ์ ์๋ ๋ณต์ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
๋ณต์ ๋ ๋น๋ ํ๋ฉด์์ ํ์ํ ์ถ๊ฐ ์ค์ ๋ฐ ๋ณ๊ฒฝ์ ํฉ๋๋ค.
์ ์ฅ์ ๋๋ฌ ๋ณต์ ์์ ์ ์๋ฃํฉ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์ ํ์๋๋ ์ด ๋ ์ด๋ธ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋ ํ๋์ ๋ ์ด๋ธ์ด ํ์๋๋ฉฐ, ๋ ์ด๋ธ ์ ๋ ฅ๋์ ๊ฐ์ ์ ๋ ฅํ๋ฉด ํด๋น ๊ฐ์ด ํ์๋ฉ๋๋ค. ๋ํ, ์ ๋ ฅ๋ ์์ ์์ด์ฝ( )์ ํด๋ฆญํ์ฌ ์ปค์คํ ๋ผ๋ฒจ์ ์ฝ์ ํ๋ฉด ์ฌ์ฉ์ ์ธ์ด ์ค์ ์ ๋ฐ๋ผ ๋ฒ์ญ๋ ๋ ์ด๋ธ์ด ํ์๋ฉ๋๋ค.
JSON ๋ด๋ณด๋ด๊ธฐ๋ ๋ฆฌ์คํธ ๊ตฌ์ฑ๊ธฐ์ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํ๋ JSON ํ์์ผ๋ก ๋ณํํ์ฌ, ์ฌ์ฉ์๊ฐ ์ด๋ฅผ ํ์ผ๋ก ์ ์ฅํ๊ฑฐ๋ ์ธ๋ถ ์์คํ ์ ์ ๋ฌํ ์ ์๋๋ก ์ง์ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ด ๊ธฐ๋ฅ์ ํตํด ๊ตฌ์ฑ๋ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ ์ค์ ์ ๋ณด๋ฅผ ๋ค๋ฅธ ํ๊ฒฝ์ผ๋ก ์์ฝ๊ฒ ์ด์ ํ๊ฑฐ๋, ๋ฐฑ์ ๋ฐ ๊ณต์ ๋ชฉ์ ์ผ๋ก ํ์ฉํ ์ ์์ต๋๋ค.
1. ๋ง์ด๊ทธ๋ ์ด์ ํญ์์ Export JSON ์์ํ๊ธฐ(Start Json Export) ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
2. ๋น๋๋ฅผ ์ ํํ๊ณ Export ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
3. JSON์ผ๋ก ๋ณํ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๊ณ ์ด์์ด ์์ผ๋ฉด Download ๋ฒํผ์ ํด๋ฆญํ์ฌ Json ํ์ผ์ ๋ด๋ ค๋ฐ์ต๋๋ค.
๋น๋๋ ์คํ ๋ค๋ ๊ธฐํ(Opportunity), ๊ฒฌ์ (Quote), ์ฃผ๋ฌธ(Order)์ ํํด ์๋ ์ค์ ์ ์ง์ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ๊ธฐํ, ๊ฒฌ์ , ์ฃผ๋ฌธ ์ค ํ๋๋ก ์ง์ ํ ๊ฒฝ์ฐ, ์๋ ๋ ๊ฐ์ง ์ค์ ๋ฐฉ๋ฒ ์ค ์ ํํ ์ ์์ต๋๋ค:
์ปค์คํ ๋ผ๋ฒจ ์ ์ฉ์ด ๊ฐ๋ฅํ ๊ณณ์๋ ์์ด์ฝ์ด ํ์๋ฉ๋๋ค. ํด๋น ์์ด์ฝ์ ํด๋ฆญํ๋ฉด ์ปค์คํ ๋ผ๋ฒจ์ ์ ํํ ์ ์๋ ๋ชจ๋ฌ ์ฐฝ์ด ๋ํ๋๋ฉฐ, ์ํ๋ ๋ผ๋ฒจ์ ์ ํํ์ฌ ์ ์ฉํ ์ ์์ต๋๋ค.
์ปค์คํ ๋ผ๋ฒจ์ ์ ์ฉํ ๋, ๋์ ๊ฐ์ด ์ต๋ ๊ธธ์ด๋ฅผ ์ด๊ณผํ๋ฉด ์ปค์คํ ๋ผ๋ฒจ ๋ฐ์ธ๋ฉ์ด ์๋ ค์ ์ ๋๋ก ์ ์ฉ๋์ง ์์ ์ ์์ต๋๋ค.
๋ผ๋ฒจ ์ ์ฉ ์ ์ต๋ ๊ธธ์ด ์ ํ์ ๊ณ ๋ คํ์ฌ ์ค์ ํ์ธ์.
ํํฐ ์ค์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ํํฐ๋ฅผ ์์ฝ๊ฒ ์ถ๊ฐ, ์์ ๋ฐ ์ญ์ ํ ์ ์์ต๋๋ค. ํํฐ ๊ฐ์๋ ๋ถ๋ชจ ๋๋ ์กฐํ ํ๋๋ฅผ ๋ฐ์ธ๋ฉํ ์ ์์ด ๋์ ์ธ ์กฐ๊ฑด ์ค์ ๋ ๊ฐ๋ฅํฉ๋๋ค. ๋ณด๋ค ๋ณต์กํ ์กฐ๊ฑด์ด ํ์ํ ๊ฒฝ์ฐ, SOQL ๋ฌธ์ ์ง์ ์ ๋ ฅํ์ฌ ํํฐ๋ฅผ ๊ตฌ์ฑํ ์๋ ์์ต๋๋ค.
๋ณต์กํ ์กฐ๊ฑด(์: ์๋ธ์ฟผ๋ฆฌ)์ด๋ ํํฐ ๋๊ตฌ์์ ์ ๊ณตํ์ง ์๋ ํ๋, ์ฐ์ฐ์, ๊ฐ์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ, ์ง์ SOQL ์กฐ๊ฑด์ ์ ์ ๋ ฅํ ์ ์์ต๋๋ค.
ํํฐ ๋๊ตฌ๋ก ์กฐ๊ฑด์ ์ค์ ํ ๊ฒฝ์ฐ, ํด๋น ์กฐ๊ฑด์ด SOQL ์ ๋ ฅ๋์ ์๋์ผ๋ก ํ์๋ฉ๋๋ค.
์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ๊ณผ ๊ด๋ จ๋ ๊ฐ์ฒด๋ ์ธ๋ถ API ์๋ฒ์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ฑฐ๋, ๋ณต์กํ ๋ก์ง์ด๋ ๊ณ์ฐ์์ ์ฌ์ฉํด ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ํ์ํ๊ฑฐ๋ ์ผ๋ถ ํ๋์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํ ๋ ์ฌ์ฉํฉ๋๋ค.
์กฐํ ์ ํ๊ธฐ ์ค์ (Setup Lookup Selector) ๋๋ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ์ค์ (Setup Line Item Editor) ๋จ๊ณ๋ก ์ด๋ํ๋ฉด ํ๋จ์ ๋น์ฆ๋์ค ๊ท์น์ ์ค์ ํ ์ ์๋ ๋ ์ด์์์ด ๋ํ๋ฉ๋๋ค.
๋ผ์ธ ์์ดํ ์ ์ต์ ๊ฐ์ ํ์ ๋ฐ ์ ์ฅ ๋ฐฉ์์ ์ผ๋ถ ์ต์ ๊ฐ๊ณผ ๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ์ค์ ๋จ๊ณ์์ ์ถ๊ฐ๋ ํ๋ ์ค์ ์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค.
ํธ์ง๊ธฐ์์ ์ต์ ์ ๋ชจ๋ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ํ์๋ฉ๋๋ค. ํ์ง๋ง ์๋๊ณผ ๊ฐ๊ฒฉ์ ์ต์ ๋ฐ์ดํฐ ์ค์ ์์ โ์๋/๊ฐ๊ฒฉ ํธ์ง ๊ฐ๋ฅโ ์ต์ ์ ํ์ฑํํ๋ฉด ์์ ํ ์ ์์ต๋๋ค.
JSON ๋ด๋ณด๋ด๊ธฐ๋ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ JSON์ผ๋ก ๋ณํํ์ฌ, ํ์ผ ์ ์ฅ์ด๋ ์ธ๋ถ ์์คํ ์ ๋ฌ ๋ฑ์ ํ์ฉํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
JSON ๊ฐ์ ธ์ค๊ธฐ๋ JSON ํ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ง์ ๋ถ๋ฌ์์, ํด๋น ๋ฐ์ดํฐ๋ฅผ ํด์ํ๊ณ ์ ์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ๊ธฐ์กด์ ์ ์ฅ๋ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์ ์ค์ ์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.




















์ ํ ์ด๋ฆ๊ณผ ๊ฐ๊ฒฉ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ์ฐธ์กฐ ๊ฐ์ฒด๋ก, ๊ธฐํ ์ ํ์์ Lookup ๊ด๊ณ๋ฅผ ๊ฐ์ง๋๋ค.



2
ํ์ด์ง ๋ ์ด์์
๋ฒํผ ์์ฑ ํ, ์ถ๊ฐํ ํ์ด์ง ๋ ์ด์์์ ์ ํํฉ๋๋ค.






ํ์ฌ ํ๋ ๋ณด์ ์์ค(Field-Level Security)์ ๋ฐ๋ผ ํ๋๊ฐ ์ ์ด๋์ง ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ํด๋น ํ๋์ ๋ํ ๊ถํ์ด ์์ ๊ฒฝ์ฐ, ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ถํ์ ๊ฐ์ ๋ ์์ ์ ๋๋ค.


ํ์ฌ ํ๋ ๋ณด์ ์์ค(Field-Level Security)์ ๋ฐ๋ผ ํ๋๊ฐ ์ ์ด๋์ง ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ํด๋น ํ๋์ ๋ํ ๊ถํ์ด ์์ ๊ฒฝ์ฐ, ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ถํ์ ๊ฐ์ ๋ ์์ ์ ๋๋ค.
<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId" >
<SBLI:LineItemConfigurator builderId="XXX..." recordId="{!v.recordId}" />
</aura:component>builderId
๋น๋์ ๋ ์ฝ๋ ID ์ ๋๋ค.
โ๏ธ
recordId
๋์ ๋น๋์ ๋ถ๋ชจ ๋ ์ฝ๋ ID์ ๋๋ค.
โ๏ธ
2
์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ํธ์ง๊ธฐ๋ฅผ ๊ตฌ์ฑํ๋ ค๋ฉด ์ง์ ์ ํ์ ์ ํํด์ผ ํฉ๋๋ค. ์ด ์ต์ ์ ํตํด ๋ถ๋ชจ ๊ฐ์ฒด, ๋ผ์ธ ์์ดํ ๊ฐ์ฒด, ์กฐํ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ์ ์ํ์ฌ ํธ์ง๊ธฐ๋ฅผ ์ ์ฐํ๊ฒ ์ค๊ณํ ์ ์์ต๋๋ค.
์คํ ๋ค๋ ์ค์ ์ ๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ผ์ธ ์์ดํ ๊ณผ ์กฐํ ๊ฐ์ฒด์ ํ์ํ ์ค์ ์ ์๋์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค. ์ด๋ฅผ ํตํด ํธ์ง๊ธฐ๋ฅผ ๋น ๋ฅด๊ณ ๊ฐํธํ๊ฒ ์ค์ ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๊ธฐํ(Opportunity)์ ๋ํด ์คํ ๋ค๋ ์ค์ ์ ์ ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์๋ ๊ตฌ์ฑ๋ฉ๋๋ค:
๋ผ์ธ ์์ดํ ๊ฐ์ฒด(Line Item Object):
๊ธฐํ ์ ํ(OpportunityLineItem)์ผ๋ก ์ค์ ๋ฉ๋๋ค.
๋จ๊ฐ, ์๋, ์ด ๊ธ์ก ๋ฑ ํ์ ํ๋๊ฐ ์๋์ผ๋ก ์ถ๊ฐ๋ฉ๋๋ค.
์กฐํ ๊ฐ์ฒด(Lookup Object):
๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)์ผ๋ก ์ค์ ๋ฉ๋๋ค.
์กฐํ ์ ํ์ํ ํ๋(์: ์ ํ๋ช , ๋จ๊ฐ) ๋ฐ ํํฐ ์กฐ๊ฑด(์: Pricebook2Id)์ด ์๋์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ํธ์ง๊ธฐ๋ฅผ ๊ตฌ์ฑํ๋ ค๋ฉด ์ง์ ์ค์ ์ ์ ํํด์ผ ํฉ๋๋ค. ์ด ์ต์ ์ ํตํด ๋ถ๋ชจ ๊ฐ์ฒด, ๋ผ์ธ ์์ดํ ๊ฐ์ฒด, ์กฐํ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ์ ์ํ์ฌ ํธ์ง๊ธฐ๋ฅผ ์ ์ฐํ๊ฒ ์ค๊ณํ ์ ์์ต๋๋ค.
์ง์ ์ ํ ์ต์ ์ ์ ํํ๊ฑฐ๋, ๋ถ๋ชจ ๊ฐ์ฒด๊ฐ ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด(Custom Object)์ธ ๊ฒฝ์ฐ, ์๋์ ๊ฐ์ ์ค์ ์ต์ ์ด ์ ๊ณต๋ฉ๋๋ค:
1
๊ฐ์ฒด (Object)
๋ผ์ธ ์์ดํ ์ผ๋ก ์ฌ์ฉํ ๋ถ๋ชจ์ ํ์ ๊ฐ์ฒด๋ฅผ ์ ํํฉ๋๋ค. ์ด ๋จ๊ณ๋ ๋ถ๋ชจ ๊ฐ์ฒด์ ์ฐ๊ฒฐ๋ ํ์ ๊ฐ์ฒด ์ค์์ ๋ผ์ธ ์์ดํ ์ผ๋ก ์ฌ์ฉํ ์ ์ ํ ๊ฐ์ฒด๋ฅผ ์ง์ ํ๋ ๊ณผ์ ์ ๋๋ค.
2
๋ถ๋ชจ ์ฐธ์กฐ ํ๋ (Parent Reference Field)
์ ํํ ๋ผ์ธ ์์ดํ ๊ฐ์ฒด์์ ๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ํ๋๋ฅผ ์ง์ ํฉ๋๋ค. ์ด ํ๋๋ ๋ผ์ธ ์์ดํ ์ ์ฅ ์ ๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ํ ๋นํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
1

์คํ ๋ค๋ ์ค์ ์ ๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ผ์ธ ์์ดํ ๊ณผ ์กฐํ ๊ฐ์ฒด์ ํ์ํ ์ค์ ์ ์๋์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค. ์ด๋ฅผ ํตํด ํธ์ง๊ธฐ๋ฅผ ๋น ๋ฅด๊ณ ๊ฐํธํ๊ฒ ์ค์ ํ ์ ์์ต๋๋ค.
์กฐํ ๊ฐ์ฒด ์ด๋ฆ์ด ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ์ผ๋ก ์ค์ ๋์ด ์กฐํ ์ ํ๊ธฐ ๋ฒํผ์ ์ด๋ฆ๋ ์กฐํ ๊ฐ์ฒด ์ด๋ฆ์ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค. ํ์ง๋ง ์ด๋ฌํ ๋ฒํผ ์ด๋ฆ์ ์ฌ์ฉ์์๊ฒ ์ด์ํ๊ฒ ๋ณด์ผ ์ ์์ต๋๋ค. ์ธ์ผ์ฆํฌ์ค ์ค์ ์์ ๊ฐ์ฒด ๋ ์ด๋ธ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋นํจ์จ์ ์ ๋๋ค. ํด๋น ๊ฐ์ฒด๋ ์ฌ๋ฌ ๊ณณ์์ ๋ค์ํ๊ฒ ์ฌ์ฉ๋๋ฏ๋ก, ๋ค๋ฅธ ํ๋ฉด์๋ ์ํฅ์ ๋ฏธ์น ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฌ์ด๋ ํจ๋์์ ๋ ์ด๋ธ ๋ฉ๋ด๋ก ์ด๋ํฉ๋๋ค.
์กฐํ ๋ฒํผ ๋ ์ด๋ธ ์ ๋ ฅ๋ ์์ ์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค.
๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋ ์ปค์คํ
๋ผ๋ฒจ โ์ ํ ์ถ๊ฐ(SmallBuilder_AddProducts)โ์ ์ ํํฉ๋๋ค.
์
๋ ฅ๋์ ์ปค์คํ
๋ผ๋ฒจ({$CustomLabel.SmallBuilder_AddProducts})์ด ๋ฐ์ธ๋ฉ๋ ๊ฒ์ ํ์ธํฉ๋๋ค.
ํธ์ง๊ธฐ๋ฅผ ์คํํ์ฌ ์กฐํ ์ ํ๊ธฐ ๋ฒํผ์ด ์ ๋๋ก ๋ณ๊ฒฝ๋์๋์ง ํ์ธํฉ๋๋ค.
์ฌ์ฉ์์ ์ธ์ด ์ค์ ์ ๋ฐ๋ผ ์ปค์คํ ๋ผ๋ฒจ์ด ๋ฒ์ญ๋์ด ํ์๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ ํ ์ถ๊ฐ(SmallBuilder_AddProducts) ๋ ์ด๋ธ์ ๋ํ ๋ฒ์ญ
์์ด
Add Products
ํ๊ตญ์ด
์ ํ ์ถ๊ฐ
์ฌ์ฉ์์ ์ธ์ด๊ฐ ํ๊ตญ์ด์ธ ๊ฒฝ์ฐ ๋ฒํผ ๋ ์ด๋ธ์ด '์ ํ ์ถ๊ฐ'๋ก ๋ณด์ด๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ฌ์ฉ์์ ์ธ์ด๊ฐ ์์ด์ธ ๊ฒฝ์ฐ ๋ฒํผ ๋ ์ด๋ธ์ด 'Add Products'๋ก ๋ณด์ด๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.


AND๋ง์ฝ ํ๋๋ ๋ฐ์ธ๋ฉํ ๋ถ๋ชจ ๋ฐ ์กฐํ ํ๋๋ฅผ ์ฝ์ ํด์ผ ํ๋๋ฐ ํ๋ API๋ช ์ ์ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ ์ฐ์ธก ์๋จ์ โํํ์ ์ฝ์ โ ๋ฒํผ์ ํด๋ฆญํ์ฌ ๋์์ ๋ฐ์ ์ ์์ต๋๋ค.
ํํฐ๋ฅผ ์ค์ ํ ๋, ์กฐ๊ฑด๊ฐ์ ๋ถ๋ชจ ๊ฐ์ฒด์ ํ๋ ๊ฐ๊ณผ ๋ฐ์ธ๋ฉํ ์ ์์ต๋๋ค. ๊ฐ ์ ๋ ฅ๋ ์์ ์๋ ์ต์ ์์ ๋ถ๋ชจ๋ฅผ ์ ํํ๋ฉด, ํด๋น ๋ถ๋ชจ ๊ฐ์ฒด์ ํ๋๋ฅผ ์ ํํ์ฌ ํํฐ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ํตํด ๋ถ๋ชจ ๊ฐ์ฒด์ ๋์ ์ธ ํ๋ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํํฐ๋ฅผ ์ค์ ํ ์ ์์ด ๋์ฑ ์ ์ฐํ ๋ฐ์ดํฐ ์กฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ์ ๊ฐ๊ฒฉ ๋ชฉ๋ก(Pricebook2Id)์ด ๋ถ๋ชจ ๊ฐ์ฒด์ธ ๊ธฐํ์ ๊ฐ๊ฒฉ ๋ชฉ๋ก(Pricebook2Id)๊ณผ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋๋ก ํํฐ๋ฅผ ์ค์ ํ๋ ค๊ณ ํฉ๋๋ค.
๊ฐ์ฒด ์ฐ๊ฒฐ ๋จ๊ณ์์ ์กฐํ ๊ฐ์ฒด์ ํํฐ ์ค์ (Filter by Query) ํญ๋ชฉ์ผ๋ก ์ด๋ํ ํ, ํ๋์ ๊ฐ๊ฒฉ ๋ชฉ๋ก(Pricebook2Id)์ ๊ฒ์ํ์ฌ ์ ํํฉ๋๋ค.
๊ฐ ์ ๋ ฅ๋ ์์ ์ต์ ์์ ๋ถ๋ชจ(Parent)๋ฅผ ์ ํํฉ๋๋ค.
๊ฐ ์
๋ ฅ๋์ ๋ค์ ๊ฐ๊ฒฉ ๋ชฉ๋ก(Pricebook2Id)์ ๊ฒ์ํ์ฌ, ๋ถ๋ชจ ๊ฐ์ฒด์ ๊ฐ๊ฒฉ ๋ชฉ๋ก ID๋ฅผ ์ ํํฉ๋๋ค.
SOQL ํธ์ง๊ธฐ๋ฅผ ์ด์ด๋ณด๋ฉด, ๊ฐ๊ฒฉ ๋ชฉ๋ก ์กฐ๊ฑด์ด ๋ถ๋ชจ์ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํ๋์ ๋ฐ์ธ๋ฉ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ด ์ค์ ์ ํตํด ๋ถ๋ชจ ๊ฐ์ฒด์ ๊ฐ๊ฒฉ ๋ชฉ๋ก๊ณผ ์ผ์นํ๋ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ ์ ์์ต๋๋ค. ํํฐ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์กฐ๊ฑด์ ์ฝ๊ณ ํธ๋ฆฌํ๊ฒ ์ถ๊ฐํ ์ ์์ต๋๋ค.



๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ๋ ํ๊ฐ ์ด๋ฒคํธ(Evaluation Event)๋ฅผ ํ์๋ก ์ค์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. ํ๊ฐ ์ด๋ฒคํธ(Evaluation Event)๋ ์๋์ ๊ฐ์ด ์ ๊ณต๋ฉ๋๋ค.
์ด๊ธฐํ ์(On Initialization): ๋ผ์ธ ์์ดํ ๋ ์ฝ๋๊ฐ ์๋ก ์ถ๊ฐ๋์์ ๋ ์คํ๋ฉ๋๋ค.
๋ก๋ฉ ์(On Loading): ๋ผ์ธ ์์ดํ ํ๋ฉด์ด ๋ก๋๋ ๋๋ง๋ค ์คํ๋ฉ๋๋ค.
๋ณ๊ฒฝ ์(On Change): ๋ผ์ธ ์์ดํ ์ ํน์ ํ๋๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ์คํ๋ฉ๋๋ค.
์ ์ฅ ์ (Before Save): ๋ผ์ธ ์์ดํ ๋ ์ฝ๋๋ค์ด ์ ์ฅ๋๊ธฐ ์ ์คํ๋ฉ๋๋ค.
๋จ์ํ ๊ด๋ จ๋ ๊ฐ์ฒด๋ฅผ ์กฐํํ๋ ค๋ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ์์ค ๊ธฐ๋ณธ ์ค์ ์ ์ฌ์ฉํด๋ณด์ธ์. ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ๊ณผ ๊ด๋ จ๋ ๊ฐ์ฒด๋ฅผ ์ ํํ๊ณ , ๋ฐ์ดํฐ์์ค๋ฅผ ํตํด ๊ฐ์ ธ์จ ๊ฐ์ฒด์ ํ๋ ๊ฐ์ ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ํ๋์ ๋งคํํ ์ ์์ต๋๋ค.
์ธ๋ถ API ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ฑฐ๋, ๋ฐ์ดํฐ ์กฐํ ๋ฐ ๊ฒฐํฉ ์ ๋ณต์กํ ๋ก์ง์ด ์๊ตฌ๋๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ์ดํฐ์์ค ๊ณ ๊ธ์ ์ค์ ํ๋ ค๋ฉด Apex ํด๋์ค๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. Apex ํด๋์ค๋ฅผ ์ฌ์ฉํด ๊ตฌํํ๋ฏ๋ก, ๋ฐ์ดํฐ์์ค ๊ธฐ๋ณธ๋ณด๋ค ๋ฐ์ดํฐ๋ฅผ ๋ ์์ ๋กญ๊ฒ ๊ฐ์ ธ์ฌ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
๋น์ฆ๋์ค ๊ท์น์ ๊ด๋ จ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๊ท์น(Basic)์ด ๋จผ์ ์คํ๋ ํ, Apex ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ท์น(Advanced)์ด ์คํ๋ฉ๋๋ค.
๊ด๋ จ ๊ฐ์ฒด๋ฅผ ์ด์ฉํ ๊ท์น (Basic)
์ถ๊ฐ๋ ์์๋๋ก ์คํ๋ฉ๋๋ค.
Apex ํด๋์ค๋ฅผ ์ฌ์ฉํ ๊ท์น (Advanced)
์ผ๋ฐ์ ์ผ๋ก ์ถ๊ฐ๋ ์์๋๋ก ์คํ๋์ง๋ง, ์คํ ์์๋ ๋ณด์ฅ๋์ง ์์ ์ ์์ต๋๋ค.

Line-Item Configurator๋ ํ์ค ๊ฐ์ฒด๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด๋ฅผ ์ด์ฉํด์ ์ธ์ผ์ฆํฌ์ค์ ์ฝ๊ฒ Line-Item ์ ๋ ฅ์ ํ ์ ์๋๋ก ์ ๊ณตํฉ๋๋ค.
์๋ ์์์์๋ ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด์ธ '๋น์ฆ๋์ค ์ถ์ฅ'์ ์ด์ฉํ์ฌ Line-Item Configurator๋ฅผ ๊ตฌํํ์์ต๋๋ค. ๊ธฐ์กด์๋ ํ์ค ํ๋ฉด์ ์ด์ฉ ์ Line-Item ์ถ๊ฐํ๋ ค๋ฉด ํ ๊ฑด์ฉ ์ฒ๋ฆฌํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์ต๋๋ค. ๋ํ, ์ ๋ ฅ ํ๋ฉด์ ํ๋๋ค์ ์์ ๋กญ๊ฒ ์ปค์คํ ํ๋๊ฒ ์ฝ์ง ์์ต๋๋ค. Configurator๋ฅผ ํตํด ์ด๋ป๊ฒ ๊ตฌํ๋์๋์ง ์์์ ํตํด ๋ณด์ฌ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
Quantity
๊ตฌ์ฑ ์ ํ์ ์๋๊ณผ ์ต์ ์ ์๋์ ๊ณฑํ์ฌ ๊ณ์ฐ๋ ๊ฐ์ผ๋ก ํํ๋ฉ๋๋ค.
Total Price
์ต์ ์ ๋จ๊ฐ์ ์๋์ ๊ณ์ฐํ ๊ฒฐ๊ณผ ๊ฐ์ผ๋ก ํํ๋ฉ๋๋ค.
ํด๋น ์ด๋ฏธ์ง์ ๊ฐ์ด ์ถ๊ฐ๋ ์ต์ ์ ์๋์ 2์ด๊ณ , ์ด์ก์ $90์ ๋๋ค. ๊ณ์ฐ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
์๋
๊ตฌ์ฑ ์ ํ ์๋ ร ์ต์ ์๋ = ์ต์ ์ ์ด ์๋
2 (๊ตฌ์ฑ ์ ํ ์๋) ร 1 (์ต์ ์๋) = 2 (์ต์ ์ด ์๋)
์ด์ก
์ต์ ์ด ์๋ ร ์ต์ ๋จ๊ฐ = ์ต์ ์ ์ด์ก
2 (์ต์ ์ด ์๋) ร $45.00 (์ต์ ๋จ๊ฐ) = $90.00 (์ต์ ์ด์ก)
์ต์ ๊ฐ์ด ๋งคํ๋ ํ๋๊ฐ ๋ผ์ธ ์์ดํ ์ด๋ก ์ถ๊ฐ๋ ๊ฒฝ์ฐ, ํด๋น ์ด์ โ์ ์ฅ ์ ํจโ ์ค์ ์ด ํ์ฑํ๋์ด ์๋ค๋ฉด ํด๋น ์ค์ ์ ๋ฐ๋ฆ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ผ์ธ ์์ดํ ์ด์ ์ถ๊ฐ๋์ง ์์ ํ๋๋ ํธ์ง๊ธฐ์์ ํ์๋์ง ์์ง๋ง ๋ด๋ถ์ ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.
๋งคํ๋ ๋ผ์ธ ์์ดํ ์ ํ๋๊ฐ ์ธ์ผ์ฆํฌ์ค ํ๋ ๊ถํ์์ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ์ค์ ๋ ๊ฒฝ์ฐ, ํด๋น ํ๋๋ ์ ์ฅ๋์ง ์์ต๋๋ค.
๋ผ์ธ ์์ดํ
ํธ์ง๊ธฐ ์ค์ ์์ ์ด์ก(TotalPrice) ํ๋์ โ์ ์ฅ ์ ํจโ ์ค์ ์ด ํ์ฑํ๋ ์ํ์
๋๋ค.
์ ํ ์ต์
์ Total Price ๊ฐ์ด ๋ผ์ธ ์์ดํ
์ ์ด์ก(TotalPrice) ํ๋๋ก ๋งคํ๋์ด ์์ต๋๋ค.
ํธ์ง๊ธฐ์์ ์ต์
์ ์ถ๊ฐํ ํ ์ ์ฅ ์, ์ต์
์ ์ด์ก(TotalPrice) ํ๋๋ ๋ผ์ธ ์์ดํ
์ด ์ค์ ์ ๋ฐ๋ผ ์ ์ฅ๋์ง ์์ต๋๋ค.
์ ํ ์ถ๊ฐ ์ ์ต์ ์ ํ ๊ฑด๋๋ฐ๊ธฐ, ์ ํํ ์ ์๋ ์ต์ ํํฐํ๊ธฐ ๋ฑ ๊ธฐ๋ณธ์ ์ธ ์ค์ ์ ์งํํฉ๋๋ค.
๊ตฌ์ฑ ์ ํ๊ณผ ์ต์ ์ ํ ๊ฐ์ ๋ผ์ธ ์์ดํ ์ ์ฐ๊ฒฐํ ํ๋๋ฅผ ์ค์ ํ๊ฑฐ๋, ์ต์ ์ ๋ณด๋ฅผ ์ ์ฅํ ๋ผ์ธ ์์ดํ ํ๋๋ฅผ ๋งคํํ๋ ์์ ์ ์ํํฉ๋๋ค.






























๋ถ๋ชจ ๊ฐ์ฒด์์ ์์ํ์ฌ ํ์ ๊ฐ์ฒด์ธ ๋ผ์ธ ์์ดํ ์ ์ ํํ๊ณ , ๋ผ์ธ ์์ดํ ์ด ์ฐธ์กฐํ๊ณ ์๋ ์กฐํ ๊ฐ์ฒด๋ฅผ ์ค์ ํฉ๋๋ค. ์กฐํ ๊ฐ์ฒด๋ฅผ ์ง์ ํ ๋๋, ๋ผ์ธ ์์ดํ ์์ ์กฐํ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ํ๋๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
๊ธฐํ(Opportunity)์ ๋ํ ๊ธฐํ ์ ํ(OpportunityLineItem)์ ๊ธฐ๋ฐ์ผ๋ก ๋น๋๋ฅผ ์ค์ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์๋ ๊ฐ์ฒด ๊ตฌ์กฐ ์ด๋ฏธ์ง์ ๊ฐ์ด ๊ธฐํ ์ ํ์ ๋ ๊ฐ์ง ์ฃผ์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋๋ค:
๊ธฐํ(Opportunity)
๊ธฐํ ์ ํ์ ์์ ๊ฐ์ฒด๋ก ๊ธฐํ ID(OpportunityId) ํ๋๋ก ์ฐธ์กฐ๋ฉ๋๋ค.
๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)
๊ธฐํ ์ ํ์ด ์ฐธ์กฐํ๊ณ ์๋ ๊ฐ์ฒด๋ก ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ ID(PricebookEntryId) ํ๋๋ก ์ฐธ์กฐ๋ฉ๋๋ค.
๋ถ๋ชจ ๊ฐ์ฒด๋ ๊ธฐํ(Opportunity)๋ก ์ ํํฉ๋๋ค.
๋ผ์ธ ์์ดํ
๊ฐ์ฒด๋ ๊ธฐํ ์ ํ(OpportunityLineItem)์ผ๋ก ์ ํํฉ๋๋ค.
๊ธฐํ ์ ํ(OpportunityLineItem)์ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)์ ์ฐธ์กฐํ์ฌ ์์ฑ๋๊ธฐ ๋๋ฌธ์, ์กฐํ ์ฐธ์กฐ ํ๋๋ก ๊ธฐํ ์ ํ์ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ ID(PricebookEntryId) ํ๋๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
1 AND 2 AND 31 OR 2 OR 3IsActive__c = true์กฐํ: ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)
์กฐํ: ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)
์กฐํ: ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)
์กฐํ: ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)
์กฐํ: ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)
์กฐํ: ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)




์กฐํ: ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)




์กฐํ: ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)






๋ฒ์ 1.39๋ถํฐ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ๋ ์ด์ ์ง์ํ์ง ์์ต๋๋ค. ๋จ, ๊ธฐ์กด์ ์ค์น๋์ด ์ ํ ์ต์ ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์ธ ์กฐ์ง์์๋ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฒ์ 1.39๋ถํฐ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ๋ ์ด์ ์ง์ํ์ง ์์ต๋๋ค. ๋จ, ๊ธฐ์กด์ ์ค์น๋์ด ์ ํ ์ต์ ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์ธ ์กฐ์ง์์๋ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฒ์ 1.39๋ถํฐ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ๋ ์ด์ ์ง์ํ์ง ์์ต๋๋ค. ๋จ, ๊ธฐ์กด์ ์ค์น๋์ด ์ ํ ์ต์ ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์ธ ์กฐ์ง์์๋ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฒ์ 1.39๋ถํฐ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ๋ ์ด์ ์ง์ํ์ง ์์ต๋๋ค. ๋จ, ๊ธฐ์กด์ ์ค์น๋์ด ์ ํ ์ต์ ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์ธ ์กฐ์ง์์๋ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.




๋ฒ์ 1.39๋ถํฐ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ๋ ์ด์ ์ง์ํ์ง ์์ต๋๋ค. ๋จ, ๊ธฐ์กด์ ์ค์น๋์ด ์ ํ ์ต์ ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์ธ ์กฐ์ง์์๋ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.


๋ฒ์ 1.37๋ถํฐ โ๋ฐ์ดํฐ์์ค(Data Source)โ๊ฐ โ๋น์ฆ๋์ค ๊ท์น(Business Rule)โ์ผ๋ก ๋ช ์นญ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.



๋ฒ์ 1.39๋ถํฐ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ๋ ์ด์ ์ง์ํ์ง ์์ต๋๋ค. ๋จ, ๊ธฐ์กด์ ์ค์น๋์ด ์ ํ ์ต์ ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์ธ ์กฐ์ง์์๋ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ตฌ์ฑ ์ ํ์ ๋ผ์ธ ์์ดํ ๊ณผ ์ต์ ์ ํ์ ๋ผ์ธ ์์ดํ ๊ฐ ์ฐ๊ฒฐํ ํ๋๋ฅผ ์ค์ ํ๊ณ ์ต์ ์ ๋ณด๋ฅผ ์ ์ฅํ ๋ผ์ธ ์์ดํ ํ๋๋ฅผ ๋งคํํ๋ ์์ ์ ์ํํฉ๋๋ค.
๊ตฌ์ฑ ์ ํ ๋ผ์ธ ์์ดํ ๊ณผ ํด๋น ์ต์ ๋ผ์ธ ์์ดํ ์ ์ฐ๊ฒฐํ ํ๋๋ฅผ ์ค์ ํฉ๋๋ค. ์ด ํ๋๋ Self-Relationship์ด์ฌ์ผ ํ๋ฉฐ, Self-Relationship์ ๋์ผํ ๊ฐ์ฒด ๋ด์์ ๋ ์ฝ๋ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ๊ตฌ์กฐ๋ก, ํ ๋ ์ฝ๋๊ฐ ๊ฐ์ ๊ฐ์ฒด์ ๋ค๋ฅธ ๋ ์ฝ๋๋ฅผ ์ฐธ์กฐํ ์ ์๋๋ก ์ค์ ํ๋ ๊ด๊ณ์ ๋๋ค.
์์ ๋ผ์ธ ์์ดํ
ํ๋๋ฅผ Base Line Item for Option(SBLI__BaseLineItemForOption__c)๋ก ์ค์ ํ๋ค๊ณ ๊ฐ์ ํ๋ฉด, ์๋ ๋ค์ด์ด๊ทธ๋จ๊ณผ ๊ฐ์ Self-Relationship ๊ตฌ์กฐ๊ฐ ํ์ฑ๋ฉ๋๋ค.
์ด ์ค์ ์ ํตํด ์ต์ ์ผ๋ก ์์ฑ๋ ๊ธฐํ ์ ํ ๋ ์ฝ๋๊ฐ ๊ตฌ์ฑ ์ ํ์ ๊ธฐํ ์ ํ ๋ ์ฝ๋๋ฅผ ํด๋น ํ๋๋ฅผ ํตํด ์ฐธ์กฐํ๊ฒ ๋ฉ๋๋ค.
์ ํํ ์ต์ ์ ๋ณด๋ฅผ ๋ผ์ธ ์์ดํ ์ ์ด๋ ํ๋์ ๋งคํํ ์ง ์ค์ ํฉ๋๋ค. ์ต์ ์์๋ ๋ค์๊ณผ ๊ฐ์ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค:
๊ธฐํ ์ ํ์ ์ต์ ๊ฐ์ ์๋์ ๊ฐ์ด ๋งคํํ์์ต๋๋ค:
๊ตฌ์ฑ ์ ํ์ธ Desktop PC Intel i3์ RAM ์ต์ ์ผ๋ก RAM 8GB๋ฅผ ์ ํํฉ๋๋ค. ํด๋น ์ต์ ์ ์๋์ 1์ด๋ฉฐ, ์ ๊ฐ์ ๋จ๊ฐ๋ ๋์ผํ๊ฒ $45์ ๋๋ค.
์ ํํ ํ ์ถ๊ฐ๋ ๋ผ์ธ ์์ดํ ์ ํ์ธํ๋ฉด, ์์ ๋งคํํ ํ๋์ ์๋, ์ ๊ฐ, ๋จ๊ฐ, ์ด์ก์ ๊ฐ์ด ํ ๋น๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
JSON ๊ฐ์ ธ์ค๊ธฐ๋ ์ธ๋ถ์์ ์ ๊ณต๋ JSON ํ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ง ๋ด๋ก ๋ถ๋ฌ์ ์ด๋ฅผ ํด์ํ๊ณ ์์คํ ์ ์ ์ฉํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ฌ์ฉ์๋ ์ด ๊ธฐ๋ฅ์ ํตํด ๊ธฐ์กด์ ์ ์ฅํด๋ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์ ์ค์ ์ ์์ฝ๊ฒ ๋ถ๋ฌ์ค๊ฑฐ๋, ์๋ก์ด ์ค์ ์ ์ถ๊ฐ ๋ฐ ๊ฐฑ์ ํ์ฌ ํจ์จ์ ์ผ๋ก ๊ตฌ์ฑ ํ๊ฒฝ์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
Import JSON ์์ํ๊ธฐ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ๋ค๋ฅธ ์กฐ์ง์์ ๋ด๋ณด๋ธ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ค์ ์ ๊ฐ์ ธ์ค๋ ์์ ์ด ์์๋ฉ๋๋ค.
JSON ํ์ผ ์ ๋ก๋
๊ฐ์ ธ์ค๋ ค๋ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ค์ ์ ๋ณด๊ฐ ๋ด๊ธด JSON ํ์ผ์ ์ ํํ์ฌ ์ ๋ก๋ ํฉ๋๋ค.
๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์์ฑ ๋ฐ ์ ๋ฐ์ดํธ
๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ๋ Migration Key ์ฐ๊ฒฐ ์ฌ๋ถ์ ๋ฐ๋ผ ์๋ก ์์ฑ๋๊ฑฐ๋, ๊ธฐ์กด ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ๊ฐ ์ ๋ฐ์ดํธ๋ฉ๋๋ค. Migration Key๋ ๊ฐ์ ธ์จ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์ ๋ ์ฝ๋ ID ์ ๋๋ค.
๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ ์กฐ์ง๊ณผ ํ์ฌ ์กฐ์ง์ SmallBuilder Line Items ํจํค์ง ๋ฒ์ ์ด ๋ค๋ฅผ ๊ฒฝ์ฐ, ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์ ์ผ๋ถ ๊ฐ์ฒด๋ ํ๋๊ฐ ๋๋ฝ๋ ์ ์์ต๋๋ค.
๊ฒฐ๊ณผ ํ์ธ
๊ฐ์ ธ์จ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ค์ ์ ๋ณด์ ์์ฑ ๋ฐ ์ ๋ฐ์ดํธ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํฉ๋๋ค.
๋๋ฝ๋ ๊ฐ์ฒด ๋ฐ ํ๋๊ฐ ์์ ๊ฒฝ์ฐ
๋ง์ด๊ทธ๋ ์ด์ ์ด ์ฑ๊ณตํ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์๋ ๋๋ฝ๋ ๊ฐ์ฒด ๋ฐ ํ๋ ์ ๋ณด๊ฐ ํฌํจ๋์ง ์์ผ๋ฉฐ, ์ด๋ฌํ ๋๋ฝ ํญ๋ชฉ์ ๊ฒฐ๊ณผ ํ๋ฉด ํ๋จ์ ๋ณ๋๋ก ํ์๋ฉ๋๋ค. ๊ฐ์ฒด ๋ฐ ํ๋ ๋๋ฝ์ SmallBuilder List ํจํค์ง ๋ฒ์ ๋ถ์ผ์น ๋๋ ํ๋ ๊ถํ ๋ถ์กฑ์ผ๋ก ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก, ํจํค์ง ๋ฒ์ ๋ฐ ํ๋ ๊ถํ์ ํ์ธํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
์คํจํ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ
์ด ๋๋น๋ฅผ ๊ณ ์ ํ ์ ์์ต๋๋ค. ๋จ์๋ ํฝ์ (pixel)์ ๋๋ค.
๋ฒ์ 1.39๋ถํฐ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ๋ ์ด์ ์ง์ํ์ง ์์ต๋๋ค. ๋จ, ๊ธฐ์กด์ ์ค์น๋์ด ์ ํ ์ต์ ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์ธ ์กฐ์ง์์๋ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋จ์ํ ๊ด๋ จ๋ ๊ฐ์ฒด๋ฅผ ์กฐํํ๋ ค๋ ๊ฒฝ์ฐ, ํด๋น ๋น์ฆ๋์ค ๊ท์น์ ์ฌ์ฉํด๋ณด์ธ์. ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ๊ณผ ๊ด๋ จ๋ ๊ฐ์ฒด๋ฅผ ์ ํํ๊ณ , ๋น์ฆ๋์ค ๊ท์น์ ํตํด ๊ฐ์ ธ์จ ๊ฐ์ฒด์ ํ๋ ๊ฐ์ ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ํ๋์ ๋งคํํ ์ ์์ต๋๋ค.
์ ํ ์ต์
๋ฐ์ดํฐ๋ ์ ํ ๊ตฌ์ฑ(SBLI__ProductFeature__c)๊ณผ ์ ํ ์ต์
(SBLI__ProductOption__c) ๊ฐ์ฒด๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ ๊ฐ์ฒด๋ ์ ํ(Product2)๋ฅผ ์ฐธ์กฐํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ์ญํ ์ ํฉ๋๋ค:
์ฃผ์ ๋ฐ์ดํฐ ๊ตฌ์ฑ์ ์ ํ ์ต์ ์ ์ค์ฌ์ผ๋ก ์ด๋ฃจ์ด์ง๋ฉฐ, ์ ํ ๊ตฌ์ฑ์ ํ์์ ๋ฐ๋ผ ์ถ๊ฐ๋ก ์ค์ ๋ฉ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ์์ ์คํ ์ ์กฐ๊ฑด์ ๋ง๋ ์ ์ฅ๋ ๋ผ์ธ ์์ดํ ์ ๋ถ๋ฌ์ค๊ณ ์ถ๋ค๋ฉด, ํํฐ์ ์ ๋ ฌ ์์๋ฅผ ์ค์ ํด๋ณด์ธ์. ์ด๋ฅผ ํตํด ์ํ๋ ๋ฐ์ดํฐ๋ง ํ์ํ๊ณ , ๋ถ๋ฌ์ค๋ ์์๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค.
ํธ์ง๊ธฐ ์คํ ์, ์ ์ฅ๋ ๋ผ์ธ ์์ดํ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ์ฌ ์ํ๋ ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ๋ง ํ์ํ ์ ์์ต๋๋ค. ํํฐ ์ค์ ๋ฐฉ์์ SOQL์ WHERE์ ๊ณผ ๋์ผํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๊ธฐํ์์ ๊ธฐํ ์ ํ์ ์ผ๋ฐ ์ ํ๊ณผ ๊ตฌ๋
์ ํ์ผ๋ก ๋๋ ์ ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ, ๊ฐ ํธ์ง๊ธฐ์ ํํฐ๋ฅผ ์ ์ฉํฉ๋๋ค. ๊ตฌ๋
ํ ๊ธฐํ ์ ํ์ ๋ํ ํธ์ง๊ธฐ์ ๊ฒฝ์ฐ, ๊ตฌ๋ถ์ ์ํด ๋ง๋ ํ๋์ธ ์ ํ(Type__c)์ด โ๊ตฌ๋
โ์ธ ๊ธฐํ ์ ํ ๋ ์ฝ๋๋ง ํธ์ง ๋์์ผ๋ก ํ๋ ค๋ฉด, ํํฐ๋ฅผ ์๋์ ๊ฐ์ด ์์ฑํ๋ฉด ๋ฉ๋๋ค:
๋ํ, ์ง์ ์์ฑํ์ง ์๊ณ ๋ฅผ ์ด์ฉํด ํํฐ๋ฅผ ์๋์ผ๋ก ์์ฑํ ์๋ ์์ต๋๋ค.
๋ฐ์ดํฐ์์ค์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ธฐ ์ํด ์์ ๊ฐ์ ๋ด์ ์ ์๋ ๊ฐ์ ์ด์ ์์ฑํฉ๋๋ค. ๊ฐ์ ์ด์ ๊ฐ์ ์ด ์ถ๊ฐ ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ถ๊ฐํ ์ ์์ผ๋ฉฐ, ๊ฐ ์ ํ์ผ๋ก ํ ์คํธ, ์ซ์, ํตํ๋ฅผ ์ง์ํฉ๋๋ค.
๊ฐ์ ์ด์ ๋ฐ์ดํฐ์์ค ์ฉ๋๋ก ์ฌ์ฉ๋๋ฏ๋ก, ์์ธํ ๋ด์ฉ์ ๋ฐ์ดํฐ์์ค ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.


Quantity
์๋์ ๋งคํํ๋ ค๋ ๊ฒฝ์ฐ, ๋ผ์ธ ์์ดํ ์์ ์ ์ฅํ ์๋ ํ๋๋ฅผ ์ ํํฉ๋๋ค.
์ซ์
Total Price
์ต์ ์ ๋จ๊ฐ์ ์๋์ ๊ณ์ฐํ์ฌ ์ฐ์ถ๋ ์ด์ก์ ๋๋ค. ํด๋น ๊ฐ์ ์ ์ฅํ๋ ค๋ฉด ๋ผ์ธ ์์ดํ ์์ ์ ์ฅํ ์ด์ก ํ๋๋ฅผ ์ ํํ์ธ์.
๋ง์ฝ ํธ์ง๊ธฐ์์ ํ์ ์ฉ๋๋ก๋ง ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ, ๋ผ์ธ ์์ดํ ์ ์ถ๊ฐํ ์ด ์ค ์ด์ก์ผ๋ก ์ฌ์ฉ๋ ํ๋๋ฅผ ์ง์ ํ๋ฉด ๋ฉ๋๋ค.
ํตํ
Discount (%)
ํ ์ธ์จ(%)์ ๋งคํํ๋ ค๋ ๊ฒฝ์ฐ, ๋ผ์ธ ์์ดํ ์์ ์ ์ฅํ ํ ์ธ์จ(%) ํ๋๋ฅผ ์ ํํฉ๋๋ค.
๋ฐฑ๋ถ์จ
Discount (Amount)
ํ ์ธ๊ฐ์ ๋งคํํ๋ ค๋ ๊ฒฝ์ฐ, ๋ผ์ธ ์์ดํ ์์ ์ ์ฅํ ํ ์ธ๊ฐ ํ๋๋ฅผ ์ ํํฉ๋๋ค.
ํตํ
Description
์ต์ ์ค๋ช ์ ๋ํ ์ ๋ณด๋ฅผ ๋งคํํ๋ ค๋ ๊ฒฝ์ฐ, ๋ผ์ธ ์์ดํ ์์ ์ ์ฅํ ์ค๋ช ํ๋๋ฅผ ์ ํํฉ๋๋ค.
๊ธด ํ ์คํธ ์์ญ(1000)
Option Record Id
์ ํํ ์ ํ ์ต์ ์ ๋ ์ฝ๋ ID์ ๋๋ค. ํด๋น ๊ฐ์ ๋ผ์ธ ์์ดํ ์ ์ ์ฅ๋๋ฉฐ, ํธ์ง๊ธฐ์์ ๋ผ์ธ ์์ดํ ์ ์กฐํํ ๋ ์ด ์ต์ ๋ ์ฝ๋ ID๋ฅผ ์ฐธ์กฐํ์ฌ ํ์ํ ์ต์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
โน๏ธ ๊ธฐํ ์ ํ์์๋ Product Option(SBLI__ProductOption__c) ํ๋๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํฉ๋๋ค. ๊ธฐํ์ ๋ํ ์คํ ๋ค๋ ์ค์ ์ ์งํํ ๊ฒฝ์ฐ, ์ด ํ๋๊ฐ ์๋์ผ๋ก ์ค์ ๋ฉ๋๋ค. ํ์์ ๋ฐ๋ผ ๋ค๋ฅธ ํ๋๋ก ๋์ฒดํ ์ ์์ต๋๋ค.
์กฐํ(์ ํ ์ต์ )
โ
Original Price
์ ๊ฐ๋ฅผ ๋งคํํ๋ ค๋ ๊ฒฝ์ฐ, ๋ผ์ธ ์์ดํ ์์ ์ ์ฅํ ์ ๊ฐ ํ๋๋ฅผ ์ ํํฉ๋๋ค. ๋ง์ฝ ํธ์ง๊ธฐ์์ ํ์ ์ฉ๋๋ก๋ง ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ, ๋ผ์ธ ์์ดํ ์ ์ถ๊ฐํ ์ด ์ค ์ ๊ฐ๋ก ์ฌ์ฉ๋ ํ๋๋ฅผ ์ง์ ํ๋ฉด ๋ฉ๋๋ค.
ํตํ
Unit Price
๋จ๊ฐ๋ฅผ ๋งคํํ๋ ค๋ ๊ฒฝ์ฐ, ๋ผ์ธ ์์ดํ ์์ ์ ์ฅํ ๋จ๊ฐ ํ๋๋ฅผ ์ ํํฉ๋๋ค.
ํตํ
Option Record ID
์ ํ ์ต์
SBLI__ProductOption__c
Original Price
์ ๊ฐ ListPrice
Unit Price
๋จ๊ฐ UnitPrice
Quantity
์๋ Quantity
Total Price
์ด์ก TotalPrice








๊ธฐํ
๊ธฐํ
Opportunity
๊ธฐํ ์ ํ
OpportunityLineItem
๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ
PricebookEntry
๊ฒฌ์
๊ฒฌ์
Quote
๊ฒฌ์ ์ ํ ์์ดํ
QuoteLineItem
๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ
PricebookEntry
์ฃผ๋ฌธ
์ฃผ๋ฌธ
Order
์ฃผ๋ฌธ ์ ํ
OrderItem
๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ
PricebookEntry
๊ธฐํ
๊ธฐํ
Opportunity
๊ธฐํ ์ ํ
OpportunityLineItem
๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ
PricebookEntry
๊ฒฌ์
๊ฒฌ์
Quote
๊ฒฌ์ ์ ํ ์์ดํ
QuoteLineItem
๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ
PricebookEntry
์ฃผ๋ฌธ
์ฃผ๋ฌธ
Order
์ฃผ๋ฌธ ์ ํ
OrderItem
๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ
PricebookEntry
์ด์ ๋ฒํผ
JSON ํ์ผ ์ ๋ก๋ ํ๋ฉด์ผ๋ก ๋์๊ฐ ์ ์์ต๋๋ค. ์๋ชป๋ ํ์ผ์ ์ ํํ ๊ฒฝ์ฐ, ํด๋น ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ด์ ํ๋ฉด์ผ๋ก ๋์๊ฐ ์ ๋ก๋ ๊ณผ์ ์ ๋ค์ ์์ํ ์ ์์ต๋๋ค.
๊ฐ์ ธ์จ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ ๋ณด
ํ์ฌ ์กฐ์ง์ ์์ฑ๋๊ฑฐ๋ ์ ๋ฐ์ดํธ๋ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ ๋ณด๋ฅผ ํ์ธํฉ๋๋ค.
ํ์ฌ ์กฐ์ง์ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ ๋ณด
ํ์ฌ ์กฐ์ง์ Migration Key๊ฐ ์ฐ๊ฒฐ๋ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ๊ฐ ์๋ ๊ฒฝ์ฐ ํด๋น ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์ ์ด๋ฆ์ด ์๋์ผ๋ก ํ์๋๋ฉฐ, ์ฐ๊ฒฐ๋ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ๊ฐ ์๋ ๊ฒฝ์ฐ ๊ฒ์์ฐฝ์ด ๋ํ๋ฉ๋๋ค๋ค.
๊ฒ์์ฐฝ์์ Migration Key๊ฐ ์ฐ๊ฒฐ๋์ง ์์ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค. ์กฐํ๋ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ค ํ๋๋ฅผ ์ ํํ๋ฉด ํด๋น ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ๊ฐ ์ ๋ฐ์ดํธ ๋๋ฉฐ, ์๋ฌด๊ฒ๋ ์ ํํ์ง ์์ผ๋ฉด๋ฉด ์๋ก์ด ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ๊ฐ ์์ฑ๋ฉ๋๋ค.
๋ณ๊ฒฝ์ฌํญ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
ํ์ฌ ์กฐ์ง์ ์๋ ๊ธฐ์กด ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ค์ ์ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ ๋ณ๊ฒฝ๋๋ ํญ๋ชฉ๋ค์ ํ๋ฉด์์ ํ์ธํ ์ ์์ต๋๋ค.
์์ฑ ๋ฐ ์ ๋ฐ์ดํธ ๋ฒํผ
๊ฐ์ ธ์จ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ค์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์์ฑ ๋ฐ ์ ๋ฐ์ดํธ๊ฐ ์์๋ฉ๋๋ค.
Migration Key ์๋ ์ฐ๊ฒฐํ๊ธฐ
๋ค๋ฅธ ์กฐ์ง์์ ํ์ฌ ์กฐ์ง์ผ๋ก ์ฒ์ ๊ฐ์ ธ์ค๋ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์ ๊ฒฝ์ฐ Migration Key๊ฐ ์ฐ๊ฒฐ๋์ด ์์ง ์์ต๋๋ค. ๊ฐ์ ธ์จ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์ ์ค์ ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ ์กฐ์ง์ ์กด์ฌํ๋ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ๋ฅผ ์ ๋ฐ์ดํธ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ ๊ฒ์์ ํตํด Migration Key๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
๋ณ๊ฒฝ์ฌํญ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
Migration Key๊ฐ ์ฐ๊ฒฐ๋์ด ์ ๋ฐ์ดํธ ๋๋ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์ ๊ฒฝ์ฐ ๊ธฐ์กด ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ค์ ์์ ๋ณ๊ฒฝ๋๋ ํญ๋ชฉ๋ค์ ํ๋ฉด์์ ํ์ธํ ์ ์์ต๋๋ค.
๋ชฉ๋ก ํ ๊ธ
์คํจํ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ๋ชฉ๋ก์ ์ด๊ณ ๋ซ์ ์ ์์ต๋๋ค.
๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ ํ
์คํจํ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ค ๋ค์ JSON ํ์ผ๋ก ๋ด๋ณด๋ผ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ๋ฅผ ์ ํํ ์ ์์ต๋๋ค๋ค.
์คํจํ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ ๋ณด
์คํจํ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
์คํจ ์ฌ์ ์์ฝ
์คํจํ ์ฌ์ ๋ฅผ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ ์ค์ ๊ฐ์ฒด๋ณ๋ก ์์ฝํ์ฌ ๋ํ๋ ๋๋ค.
์คํจ ์ฌ์ ์์ธ
์คํจํ ์ฌ์ ๋ฅผ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ๋ณ๋ก ์์ธํ๊ฒ ํ์ธ ํ ์ ์์ต๋๋ค.
๐ป ์คํจ ์ฌ์ ์์ธ
๋ง์ด๊ทธ๋ ์ด์ ์ด ์คํจํ ์ฌ์ ๋ฅผ ์์ธํ๊ฒ ํ์ธํ ์ ์์ผ๋ฉฐ, Migration Key๋ฅผ ํตํด ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฐ์ฒด๋ฅผ ์ฝ๊ฒ ํ์ ํ ์ ์์ต๋๋ค.






1
์์ค ๊ฐ์ฒด
๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๊ฐ์ฒด๋ฅผ ์ ํํฉ๋๋ค.
โ
2
์ค๋ช
๋น์ฆ๋์ค ๊ท์น์ ๋ํ ์ค๋ช ์ ๊ธฐ์ฌํฉ๋๋ค.
3
ํํฐ ์กฐ๊ฑด
ํํฐ ์ค์ ๋ฐฉ๋ฒ
4
ํ๊ฐ ์ด๋ฒคํธ
๋น์ฆ๋์ค ๊ท์น์ ์คํ ์์ ์ ์ค์ ํฉ๋๋ค.
์ด๊ธฐํ ์(On Initialization): ๋ผ์ธ ์์ดํ ๋ ์ฝ๋๊ฐ ์๋ก ์ถ๊ฐ๋ ๋ ์คํ๋ฉ๋๋ค.
๋ก๋ฉ ์(On Loading): ๋ผ์ธ ์์ดํ ํ๋ฉด์ด ๋ก๋๋ ๋๋ง๋ค ์คํ๋ฉ๋๋ค.
๋ณ๊ฒฝ ์(On Change): ๋ผ์ธ ์์ดํ ์ ํน์ ํ๋๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ์คํ๋ฉ๋๋ค.
๋น์ฆ๋์ค ๊ท์น์ ํตํด ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ํ๋์ ๋งคํํ๋ ์์ ์ ๋๋ค. ์ด ์์ ์ ํตํด ๋น์ฆ๋์ค ๊ท์น ๊ฐ์ด ์ง์ ๋ ํ๋์ ๋ฐ์๋ฉ๋๋ค.
1
Key
๋น์ฆ๋์ค ๊ท์น๊ณผ ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ๊ฐ ๋ฐ์ดํฐ ๋งคํ ์ ์ฌ์ฉํ ๊ณ ์ ์๋ณ ๊ฐ์ ๋๋ค. Key๋ฅผ ๊ธฐ์ค์ผ๋ก ๋น์ฆ๋์ค ๊ท์น ๊ฐ์ด ๋งคํ๋ ๋์์ ๊ฒฐ์ ํฉ๋๋ค.
2
๊ท์น ํ๋
๋น์ฆ๋์ค ๊ท์น์ ์์ค ๊ฐ์ฒด์์ ๊ฐ์ ธ์ฌ ํ๋๋ฅผ ์ ํํฉ๋๋ค.
โ
3
์กฐํ/๋ผ์ธ ์์ดํ ํ๋
์กฐํ ๊ฐ์ฒด๋ฅผ ์ ํ(Product2)์ผ๋ก ์ค์ ํ ๊ฒฝ์ฐ, ์ฌ์ฉ์๋ค์ ์ผ๋ฐ์ ์ผ๋ก ๋จ๊ฐ(UnitPrice) ์ ๋ณด๋ฅผ ํจ๊ป ํ์ํ๊ณ ์ถ์ดํฉ๋๋ค. ํ์ง๋ง ์ธ์ผ์ฆํฌ์ค์์๋ ๋จ๊ฐ ์ ๋ณด๊ฐ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry) ๊ฐ์ฒด์ ์ ์ฅ๋์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ์ ์ ํ์ ํ์ ๊ฐ์ฒด๋ก, ๋จ๊ฐ ์ ๋ณด๋ฅผ ์์ ํ๋๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ ํ๊ณผ ์ฐ๊ฒฐ๋ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ ๋ฐ์ดํฐ๋ฅผ ๋น์ฆ๋์ค ๊ท์น์ ์ด์ฉํด ์กฐํํ๋ ค๊ณ ํฉ๋๋ค.
์กฐํ ์ ํ๊ธฐ ์ค์ ๋จ๊ณ์์ ์กฐํ ํ๋์ ํตํ ์ ํ์ ๊ฐ์ ์ด์ ์ถ๊ฐํฉ๋๋ค.
๋ฐ๋ก ํ๋จ์ ๋น์ฆ๋์ค ๊ท์น์ โ๊ด๋ จ ๊ฐ์ฒด์์ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐโ ๋ ์ด์์์์ ๋น์ฆ๋์ค ๊ท์น ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋น์ฆ๋์ค ๊ท์น์์ ์์ค ๊ฐ์ฒด(Source Object)๋ฅผ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(PricebookEntry)๋ก ์ง์ ํฉ๋๋ค.
ํํฐ ์ค์ ์์ ๊ฐ์ฒด ์กฐํ ์กฐ๊ฑด์ ์ค์ ํฉ๋๋ค.
ํ์ฑํ
ํ๋: ํ์ฑ(IsActive)
์ฐ์ฐ์: ๊ฐ์(equals)
๊ฐ: ์ฐธ(true)
์์ (Action) ์ค์ ์์ ๊ฐ ์ ํ์ ํด๋น๋๋ ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐํฉํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํฉ๋๋ค:
๊ท์น: Product2Id
์กฐํ: Id
๋จ๊ฐ๋ฅผ ์ ํ ๋ฐ์ดํฐ์ ๊ฐ์ด ํ์ํ๊ธฐ ์ํด ์์ (Action)์ ์ถ๊ฐํ์ฌ ์กฐํ ํ๋()์ ์ง์ ํฉ๋๋ค.
๊ท์น: UnitPrice
์กฐํ: SBLI_Virtual1
์กฐํ ์ ํ๊ธฐ์์ ์ ํ์ ๋ํ ๋ฐ์ดํฐ์์ค๋ฅผ ํตํด ๊ฐ์ ธ์จ ๋จ๊ฐ ์ ๋ณด๊ฐ ํจ๊ป ํ์๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.


๋ฒ์ 1.37๋ถํฐ โ๋ฐ์ดํฐ์์ค(Data Source)โ๊ฐ โ๋น์ฆ๋์ค ๊ท์น(Business Rule)โ์ผ๋ก ๋ช ์นญ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
์ ํ ์ต์ ์ ์นดํ ๊ณ ๋ฆฌ๋ณ๋ก ๊ทธ๋ฃนํํฉ๋๋ค.
๋ ์ด๋ธ
์ ํ ๊ตฌ์ฑ(Product Feature)
API๋ช
SBLI__ProductFeature__c
์์
SBLI__Order__c
์ต์ ์ ํ ํ๋ฉด์์ ๋์ด๋ ์์๋ฅผ ์ค์ ํฉ๋๋ค.
๊ธฐ๋ณธ ์ ํ
SBLI__Product__c
ํด๋น ์ต์ ์ ๊ตฌ์ฑ ์ ํ์ ์ง์ ํฉ๋๋ค
โ
์ค๋ช
SBLI__Description__c
์ ํ ๊ตฌ์ฑ์ ๋ํ ์ค๋ช ์ ์ ๊ณตํฉ๋๋ค.
์ต์ ์ ์ฃผ์ ๊ฐ์ฒด๋ก, ์ต์ ์ ํ๊ณผ ๊ด๋ จ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
๋ ์ด๋ธ
์ ํ ์ต์ (Product Option)
API๋ช
SBLI__ProductOption__c
์์
SBLI__Order__c
์ต์ ์ ํ ํ๋ฉด์์ ๋์ด๋ ์์๋ฅผ ์ค์ ํฉ๋๋ค.
์ ํ ๊ตฌ์ฑ
SBLI__Feature__c
์ ํ ๊ตฌ์ฑ์ ์ฐธ์กฐํ๋ ๊ด๊ณ ํ๋์ ๋๋ค. ๊ตฌ์ฑ์ ์ต์ ์ ์ถ๊ฐํ๋ ค๋ฉด ํด๋น ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐํ์ธ์.
๊ธฐ๋ณธ ์ ํ
SBLI__Product__c
๊ตฌ์ฑ ์ ํ์ ๋ํ๋ ๋๋ค.
์ ํ ๊ตฌ์ฑ
์ ํ ์ต์ ์ ๊ทธ๋ฃนํํ๋ ค๋ ๊ฒฝ์ฐ ์ฌ์ฉ๋๋ ์ ํ์ ์ธ ๊ฐ์ฒด์ ๋๋ค.
์ ํ ์ต์
์ฃผ์ ๊ฐ์ฒด๋ก, ์ต์ ์ ํ๊ณผ ๊ด๋ จ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
๋ฒ์ 1.39๋ถํฐ ์ ํ ์ต์ ๊ธฐ๋ฅ์ ๋ ์ด์ ์ง์ํ์ง ์์ต๋๋ค. ๋จ, ๊ธฐ์กด์ ์ค์น๋์ด ์ ํ ์ต์ ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์ธ ์กฐ์ง์์๋ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํธ์ง๊ธฐ ์คํ ์, ์ ์ฅ๋ ๋ผ์ธ ์์ดํ ๋ฐ์ดํฐ๋ฅผ ์ํ๋ ์์๋ก ์ ๋ ฌํ ์ ์์ต๋๋ค. ์ ๋ ฌ ์ค์ ๋ฐฉ์์ SOQL์ ORDER BY์ ๊ณผ ๋์ผํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ผ์ธ ์์ดํ
์ ์ต๊ทผ ์์ฑ๋ ์์๋ก ์ ๋ ฌํ๊ณ ์ถ๋ค๋ฉด CreatedDate DESC๋ก ์์ฑํ๋ฉด ๋ฉ๋๋ค.
Type__c = '๊ตฌ๋
'๋ด๋ณด๋ด๊ธฐ
์ ํํ ๋ผ์ธ ์์ดํ ๊ตฌ์ฑ๊ธฐ์ JSON ํ์ผ์ ๋ด๋ ค๋ฐ์ ์ ์์ต๋๋ค.




๊ธฐํ์ ๋์ผํ ๊ฐ๊ฒฉ ๋ชฉ๋ก
ํ๋: ๊ฐ๊ฒฉ ๋ชฉ๋ก(Pricebook2Id)
์ฐ์ฐ์: ๊ฐ์(equals)
๊ฐ: ๋ถ๋ชจ/๊ฐ๊ฒฉ ๋ชฉ๋ก(Pricebook2Id)
โ ๋ผ์ธ ์์ดํ ์์๋ง ์ ๊ณต๋๋ ์ค์ ์ ๋๋ค.
โ
5
๋น์ฆ๋์ค ๊ท์น์ผ๋ก ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ํ๋์ ๋งคํํฉ๋๋ค.
โ
๋ฐ์ดํฐ๋ฅผ ๋งคํํ ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ์ ํ๋๋ฅผ ์ ํํฉ๋๋ค.
โ







๋ค์ค ์ ํ ๊ฐ๋ฅ
SBLI__MultiSelectable__c
ํด๋น ๊ตฌ์ฑ์์ ์ฌ๋ฌ ์ต์ ์ ์ ํํ ์ ์๋๋ก ํ์ฉํ ์ง ์ฌ๋ถ๋ฅผ ์ค์ ํฉ๋๋ค.
โ
์ต์ ์ ํ
SBLI__OptionalProduct__c
์ต์ ์ผ๋ก ์ฌ์ฉํ ์ ํ์ ์ง์ ํฉ๋๋ค.
โ
์๋
SBLI__Quantity__c
์ต์ ์ ์๋์ ๋ํ๋ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 1๋ก ์ค์ ๋ฉ๋๋ค.
๋จ๊ฐ
SBLI__UnitPrice__c
์ต์
์ ๋จ๊ฐ๋ฅผ ์ง์ ํฉ๋๋ค. ๋จ๊ฐ๋ฅผ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ, ๊ฐ๊ฒฉ ๋ชฉ๋ก ํญ๋ชฉ(Pricebook Entry)์์ ๋จ๊ฐ๋ฅผ ์ฐธ์กฐํฉ๋๋ค.
ํ ์ธ์จ(%)
SBLI__Discount__c
์ต์ ์ ํ ์ธ์จ์ ๋ํ๋ ๋๋ค. ํ ์ธ์จ์ด ์ค์ ๋ ๊ฒฝ์ฐ, ์ด์ก์ ๋ฐ์๋ฉ๋๋ค.
ํ ์ธ๊ฐ
SBLI__DiscountAmount__c
์ต์ ์ ํ ์ธ ๊ธ์ก์ ๋ํ๋ ๋๋ค. ํ ์ธ๊ฐ๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ, ์ด์ก์ ๋ฐ์๋ฉ๋๋ค.
ํ์
SBLI__Required__c
์ต์ ์ ํ ์ ํ์๋ก ์ ํํด์ผ ํ๋ ํญ๋ชฉ์ผ๋ก ์ค์ ํฉ๋๋ค.
์ ํ๋จ
SBLI__Selected__c
์ต์ ์ ํ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋ ์ํ๋ก ์ค์ ๋ฉ๋๋ค.
ํฌํจ๋จ
SBLI__Included__c
์ต์ ์ด ํฌํจ๋ ์ํ๋ก ์ค์ ๋ฉ๋๋ค. ํฌํจ๋ ์ต์ ์ ๊ธ์ก์ด ๋จ๊ฐ ๋ฐ ์ด์ก์ ๋ฐ์๋์ง ์์ผ๋ฉฐ, ํธ์ง๊ธฐ์์ Included๋ก ํ์๋ฉ๋๋ค.
๋จ๊ฐ ํธ์ง ๊ฐ๋ฅ
SBLI__PriceEditable__c
์ต์ ๋จ๊ฐ๋ฅผ ์ฌ์ฉ์๊ฐ ์์ ํ ์ ์๋๋ก ํ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ต์ ๋จ๊ฐ๋ ์์ ํ ์ ์์ต๋๋ค.
์๋ ํธ์ง ๊ฐ๋ฅ
SBLI__QuantityEditable__c
์ต์ ์๋์ ์ฌ์ฉ์๊ฐ ์์ ํ ์ ์๋๋ก ํ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ต์ ์๋์ ์์ ํ ์ ์์ต๋๋ค.
์ต์ ์๋
SBLI__MinQuantity__c
์ต์ ์์น ์์ ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ, ์ต์ ์ ํ ๋จ๊ณ์์ ์ค์ ํ ์ต์ ์๋์ ๋๋ค.
์ต๋ ์๋
SBLI__MaxQuantity__c
์ต์ ์์น ์์ ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ, ์ต์ ์ ํ ๋จ๊ณ์์ ์ค์ ํ ์ต๋ ์๋์ ๋๋ค.
์ค๋ช
SBLI__Description__c
์ต์ ์ ๋ํ ์์ธ ์ค๋ช ์ ์ ๊ณตํฉ๋๋ค.



๋ฒ์ 1.37๋ถํฐ โ๋ฐ์ดํฐ์์ค(Data Source)โ๊ฐ โ๋น์ฆ๋์ค ๊ท์น(Business Rule)โ์ผ๋ก ๋ช ์นญ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
์ธ๋ถ API ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ฑฐ๋, ๋ฐ์ดํฐ ์กฐํ ๋ฐ ๊ฒฐํฉ ์ ๋ณต์กํ ๋ก์ง์ด ์๊ตฌ๋๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. ํด๋น ๋น์ฆ๋์ค ๊ท์น์ ์ค์ ํ๋ ค๋ฉด Apex ํด๋์ค๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. Apex ํด๋์ค๋ฅผ ์ฌ์ฉํด ๊ตฌํํ๋ฏ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ ์์ ๋กญ๊ฒ ๊ฐ์ ธ์ฌ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
Apex ํด๋์ค ์์ฑ
Apex ํด๋์ค๋ฅผ ์์ฑํ ๋, SmallBuilder์์ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค.
๋น์ฆ๋์ค ๊ท์น ์ค์
Apex ํด๋์ค ๊ตฌํ์ด ์๋ฃ๋๋ฉด, ๋น๋์์ ๋น์ฆ๋์ค ๊ท์น ์ค์ ์ ์งํํฉ๋๋ค.
๋น์ฆ๋์ค ๊ท์น ์ค์ ์์ ์ฌ์ฉํ Apex ํด๋์ค๋ฅผ ์์ฑํ๋ ค๋ฉด ๋ฐ๋์ SBLI.DataSourceService.Fetchable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค.
์ด ์ธํฐํ์ด์ค์๋ execute ๋ฉ์๋๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ, ํด๋น ๋ฉ์๋์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ก์ง ๊ตฌํ ํ ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ์ ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ
๊ฐ์ ๋งคํ ์ ๋ณด๋ฅผ ๋ด์ SBLI.DataSourceService.Result ๊ฐ์ฒด๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค.
ํด๋น ์์ ์ฝ๋๋ ์ธ๋ถ API๋ฅผ ํธ์ถํ์ฌ ์ ํ ์ฝ๋๋ณ ์ฌ๊ณ ์๋์ ๊ฐ์ ธ์จ ํ, ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ
์ ์ฌ๊ณ ํ๋(Inventory__c)์ ๋งคํํ๋ค๊ณ ๊ฐ์ ํ์์ต๋๋ค.
SBLI.DataSourceService.Fetchable ์ธํฐํ์ด์ค๋ ํจํค์ง์์ ์ ๊ณต๋๋ ์ธํฐํ์ด์ค์ด๋ฏ๋ก, ํจํค์ง ์ธ๋ถ์์ ์ ๊ทผํ๋ ค๋ฉด Apex ํด๋์ค์ ์ ๊ณต๋๋ ๋ฉ์๋ ๋ชจ๋ global๋ก ์ ์ธํด์ผ ํฉ๋๋ค.
๋น๋์์ ์ค์ ํ ๋ถ๋ชจ์ ์กฐํ ํ๋ผ๋ฏธํฐ ์ ๋ณด๋ฅผ ๊ฐ์ง ๊ฐ์ฒด์ ๋๋ค.
SObject getParentRecord()
๋ถ๋ชจ ๋ ์ฝ๋๋ฅผ ๋ฐํํฉ๋๋ค. ๋น๋์์ ์ถ๊ฐํ ๋ถ๋ชจ ํ๋ผ๋ฏธํฐ๊ฐ ์๋ ๊ฒฝ์ฐ, ๊ฐ์ ๋น์ด ์์ต๋๋ค.
List<SObject> getLookupRecords()
์กฐํ ๋ ์ฝ๋๋ฅผ ๋ฐํํฉ๋๋ค. ๋น๋์์ ์ถ๊ฐํ ์กฐํ ํ๋ผ๋ฏธํฐ๊ฐ ์๋ ๊ฒฝ์ฐ, ๊ฐ์ ๋น์ด ์์ต๋๋ค.
์กฐํ ๋๋ ๋ผ์ธ ์์ดํ
๊ณผ ๋น์ฆ๋์ค ๊ท์น ๊ฐ์ ๋ชจ๋ ๋งคํ ์ ๋ณด๋ฅผ ๋ด์ ํธ์ง๊ธฐ๋ก ๋ฐํํ๋ ๊ฐ์ฒด์
๋๋ค. ๋งคํ ์ ๋ณด๋ ๊ฐ์ฒด์ ์ ์ฅํ ๋ค, SBLI.DataSourceService.Result ๊ฐ์ฒด์ ์ถ๊ฐํ์ฌ ๋ฐํํฉ๋๋ค.
addAction(SBLI.DataSourceService.Action action)
๋งคํ ์ ๋ณด๊ฐ ๋ด๊ธด Action ๊ฐ์ฒด๋ฅผ Result ๊ฐ์ฒด์ ์ถ๊ฐํฉ๋๋ค.
์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ๊ณผ ๋น์ฆ๋์ค ๊ท์น ๊ฐ์ ๋งคํํ ์ ๋ณด๋ฅผ ๋ด์ ๊ฐ์ฒด์ ๋๋ค.
setKeyValue(Object keyValue)
์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ์ Key์ ์ผ์นํ๋ ๋น์ฆ๋์ค ๊ท์น์ Key ๊ฐ์ ์ค์ ํฉ๋๋ค.
putSourceToTargetField(Object sourceValue, String targetFieldApiName)
๋น์ฆ๋์ค ๊ท์น ๊ฐ์ ์ํ๋ ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ํ๋์ ํ ๋นํฉ๋๋ค.
๋ผ์ธ ์์ดํ ํธ์ง๊ธฐ ์ค์ ๋จ๊ณ์์ ๋น์ฆ๋์ค ๊ท์น์ โApex ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐโ ๋ ์ด์์์์ โ๋น์ฆ๋์ค ๊ท์น ์ถ๊ฐโ๋ฅผ ํด๋ฆญํฉ๋๋ค.
Apex ํด๋์ค๋ฅผ ์ ํํ ํ, ํด๋์ค์์ ๋ถ๋ชจ์ ์กฐํ ์ ๋ณด๊ฐ ํ์ํ ๊ฒฝ์ฐ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ ํ๋๋ค์ ์ ํํฉ๋๋ค.
๋ฐ์ดํฐ์์ค๋ฅผ ์ค์ ํ๊ธฐ ์ ์ ํ์ธ์.
๋น์ฆ๋์ค ๊ท์น์ ์ฌ์ฉํ๋ ค๋ฉด ํ์ฑํ๊ฐ ํ์ํฉ๋๋ค. ๋น์ฆ๋์ค ๊ท์น์ด ๋นํ์ฑํ๋์ด ์๋ ๊ฒฝ์ฐ, ์ค์ ๋ ๊ท์น์ ์ ์ฉ๋์ง ์์ต๋๋ค.
params.getLookupRecords(): ์กฐํ ๊ฐ์ฒด์ ๋ ์ฝ๋ ๋ชฉ๋ก์ ๊ฐ์ ธ์ต๋๋ค.
SBLI.DataSourceService.Action ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ๋น์ฆ๋์ค ๊ท์น ๊ฐ(์ฌ๊ณ ์ ๋ณด)๊ณผ ์กฐํ ํ๋(Inventory__c)๋ฅผ ๋งคํํฉ๋๋ค.
์์ฑ๋ Action ๊ฐ์ฒด๋ฅผ ์ ์ถ๊ฐํฉ๋๋ค.
โ
5
์์ ํค
๋น์ฆ๋์ค ๊ท์น์ ํตํด ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ๋ ์ฝ๋์ ๋งคํํ๊ธฐ ์ํด Key ํ๋๋ฅผ ์ค์ ํฉ๋๋ค.
Key ํ๋๋ ์กฐํ ๊ฐ์ฒด์ ํ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๐ ๋ผ์ธ ์์ดํ ์์ ์กฐํ ๊ฐ์ฒด์ ํ๋๋ฅผ Key๋ก ์ฌ์ฉํ๋ ์ด์ ๋, ๋ผ์ธ ์์ดํ ์ด ์ ์ฅ๋์ง ์์ ๋ ์ฝ๋์ผ ์๋ ์์ด ์ ์ผํ Key ๊ฐ์ ํ๋จํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ค.
โ
action
์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ๊ณผ ๋น์ฆ๋์ค ๊ท์น ๊ฐ์ ๋งคํํ ์ ๋ณด๋ฅผ ๋ด์ ๊ฐ์ฒด์ ๋๋ค.
keyValue
Object
๋น์ฆ๋์ค ๊ท์น์ Key ๊ฐ์ ๋๋ค.
sourceValue
Object
๋น์ฆ๋์ค ๊ท์น ๊ฐ์ ๋๋ค.
targetFieldApiName
String
์กฐํ ๋๋ ๋ผ์ธ ์์ดํ ์ ํ๋ API๋ช ์ ๋๋ค.
1
Apex Class
๋น์ฆ๋์ค ๊ท์น์ ์ฌ์ฉํ Apex ํด๋์ค๋ฅผ ์ ํํฉ๋๋ค.
โ
3
ํ๋ผ๋ฏธํฐ
๋น์ฆ๋์ค ๊ท์น์ ๊ตฌํํ Apex ํด๋์ค์์ ๋ถ๋ชจ ๋๋ ์กฐํ ๊ฐ์ฒด์ ํ๋ ๊ฐ์ด ํ์ํ ๊ฒฝ์ฐ, ํด๋น ํ๋๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ๊ธฐ ์ํด ์ถ๊ฐํฉ๋๋ค.
4
ํ๊ฐ ์ด๋ฒคํธ




๋น์ฆ๋์ค ๊ท์น์ ์คํ ์์ ์ ์ค์ ํฉ๋๋ค.
์ด๊ธฐํ ์(On Initialization): ๋ผ์ธ ์์ดํ ๋ ์ฝ๋๊ฐ ์๋ก ์ถ๊ฐ๋ ๋ ์คํ๋ฉ๋๋ค.
๋ก๋ฉ ์(On Loading): ๋ผ์ธ ์์ดํ ํ๋ฉด์ด ๋ก๋๋ ๋๋ง๋ค ์คํ๋ฉ๋๋ค.
๋ณ๊ฒฝ ์(On Change): ๋ผ์ธ ์์ดํ ์ ํน์ ํ๋๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ์คํ๋ฉ๋๋ค.
global class DataSourceInventory implements SBLI.DataSourceService.Fetchable {
global SBLI.DataSourceService.Result execute(SBLI.DataSourceService.Parameter params) {
// ๋ถ๋ชจ ๋ ์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ
SObject parentRecord = params.getParentRecord();
// ์กฐํ ๊ฐ์ฒด ๋ ์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ
List<SObject> lookupRecords = params.getLookupRecords();
// ์ธ๋ถ API๋ฅผ ํธ์ถํ์ฌ ์ฌ๊ณ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ
// ํค: ์ ํ ์ฝ๋, ๊ฐ: ์ฌ๊ณ ์๋
Map<String, Integer> inventoryData = new Map<String, Integer>();
inventoryData.put('Product001', 10);
inventoryData.put('Product002', 20);
// ๊ฒฐ๊ณผ ๊ฐ์ฒด ์์ฑ
SBLI.DataSourceService.Result result = new SBLI.DataSourceService.Result();
// ์กฐํ/๋ผ์ธ ์์ดํ
๊ฐ์ฒด์ ๊ฒฐ๊ณผ ๊ฐ ๋งคํ
for (String productCode : inventoryData.keySet()) {
SBLI.DataSourceService.Action action = new SBLI.DataSourceService.Action();
action.setKeyValue(productCode); // ์กฐํ/๋ผ์ธ ์์ดํ
๋ ์ฝ๋์ ๋งคํํ Key ๊ฐ ์ค์
action.putSourceToTargetField(
inventoryData.get(productCode), // ๊ฒฐ๊ณผ ๊ฐ: ์ฌ๊ณ ์ ๋ณด
'Inventory__c' // ์กฐํ/๋ผ์ธ ์์ดํ
ํ๋ API๋ช
);
result.addAction(action); // Action ์ถ๊ฐ
}
return result; // ๊ฒฐ๊ณผ ๋ฐํ
}
}global SBLI.DataSourceService.Result execute(SBLI.DataSourceService.Parameter params) {
SObject parentRecord = params.getParentRecord();
List<SObject> lookupRecords = params.getLookupRecords();
...
}SBLI.DataSourceService.Result result = new SBLI.DataSourceService.Result();
for(String productCode : inventoryData.keySet()) {
// SBLI.DataSourceService.Action ๊ฐ์ฒด์ ๋งคํ ์ ๋ณด ์ ์ฅ
SBLI.DataSourceService.Action action = new SBLI.DataSourceService.Action();
action.setKeyValue(productCode);
action.putSourceToTargetField(
inventoryData.get(productCode),
'Inventory__c'
);
result.addAction(action); // ๋งคํ ์ ๋ณด๊ฐ ๋ด๊ธด Action์ Result์ ์ถ๊ฐ
}
return result;SBLI.DataSourceService.Result result = new SBLI.DataSourceService.Result();
// ๋น์ฆ๋์ค ๊ท์น์์ ๊ฐ ์ ํ์ฝ๋์ ์ฌ๊ณ ์ ๋ณด๋ฅผ ๋ฐ๋ณต ์ฒ๋ฆฌ
for(String productCode : inventoryData.keySet()) {
SBLI.DataSourceService.Action action = new SBLI.DataSourceService.Action();
// ์ ํ์ฝ๋๋ฅผ Key ๊ฐ์ผ๋ก ์ค์ ํ์ฌ ์กฐํ/๋ผ์ธ ์์ดํ
๊ณผ ๋งคํ
action.setKeyValue(productCode);
// ์ฌ๊ณ ์ ๋ณด๋ฅผ ์กฐํ/๋ผ์ธ ์์ดํ
์ Inventory__c ํ๋์ ๋งคํ
action.putSourceToTargetField(
inventoryData.get(productCode), // ๋ฐ์ดํฐ์์ค ๊ฐ: ์ฌ๊ณ
'Inventory__c' // ํ๋ API๋ช
);
result.addAction(action); // ๋งคํ ์ ๋ณด ์ถ๊ฐ
}
return result; // ์ต์ข
๊ฒฐ๊ณผ ๋ฐํ// ๋ถ๋ชจ ๋ ์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ
SObject parentRecord = params.getParentRecord();
// ์กฐํ ๊ฐ์ฒด ๋ ์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ
List<SObject> lookupRecords = params.getLookupRecords();โ ๋ผ์ธ ์์ดํ ์์๋ง ์ ๊ณต๋๋ ์ค์ ์ ๋๋ค.
Map<String, Integer> inventoryData = new Map<String, Integer>();
inventoryData.put('Product001', 10);
inventoryData.put('Product002', 20);// ๊ฒฐ๊ณผ ๊ฐ์ฒด ์์ฑ
SBLI.DataSourceService.Result result = new SBLI.DataSourceService.Result();
// ์กฐํ/๋ผ์ธ ์์ดํ
๊ฐ์ฒด์ ๋น์ฆ๋์ค ๊ท์น์ผ๋ก ๊ฐ์ ธ์จ ๊ฐ ๋งคํ
for (String productCode : inventoryData.keySet()) {
SBLI.DataSourceService.Action action = new SBLI.DataSourceService.Action();
action.setKeyValue(productCode); // ์กฐํ/๋ผ์ธ ์์ดํ
๋ ์ฝ๋์ ๋งคํํ Key ๊ฐ ์ค์
action.putSourceToTargetField(
inventoryData.get(productCode), // ๋น์ฆ๋์ค ๊ท์น ๊ฐ: ์ฌ๊ณ ์ ๋ณด
'Inventory__c' // ์กฐํ/๋ผ์ธ ์์ดํ
ํ๋ API๋ช
);
result.addAction(action); // Action ์ถ๊ฐ
}