μ μ₯λ λΌμΈ μμ΄ν
μ μνμ λ°λΌ μμ λ₯Ό μ μ΄νκ³ μΆλ€λ©΄, Boolean μ νμ νλλ₯Ό μ§μ νμ¬ μμ κ°λ₯ μ¬λΆλ₯Ό μ€μ ν μ μμ΅λλ€. μ§μ λ νλ κ°μ΄ true
(μ°Έ)μΈ κ²½μ°, ν΄λΉ λΌμΈ μμ΄ν
μ λν΄ μμ λ²νΌμ λΉνμ±νν μ μμ΅λλ€.
μμ μ μ΄λ λΌμΈ μμ΄ν νΈμ§κΈ° νλ©΄μμλ§ μλνλ©°, Salesforce λ΄λΆ νΈλμμ (μ: API, λ°μ΄ν° λ‘λ, λλ μλ μμ )μμλ μ μ΄λμ§ μμ΅λλ€.
κΈ°νμ λΌμΈ μμ΄ν
μΈ κΈ°ν μ νμ΄ μΉμΈλ κ²½μ°, μμ κ° λΆκ°λ₯νλλ‘ μ€μ νλ €κ³ ν©λλ€. μ΄λ₯Ό μν΄ μΉμΈλ¨(Approved__c
) νλλ₯Ό μ¬μ©νμ¬ μμ μ μ΄λ₯Ό ꡬμ±νμμ΅λλ€.
μμ μ μ΄ νλμ μΉμΈλ¨(Approved__c
) νλ APIλͺ
μ μ
λ ₯ν©λλ€.
μΉμΈλ¨(Approved__c
) νλκ°μ΄ true
μΈ κ²½μ°μλ§ μμ λ²νΌμ΄ λ
ΈμΆλμ§ μλ κ²μ νμΈνμ€ μ μμ΅λλ€.
λΌμΈ μμ΄ν κ°μ²΄λ μ°Έμ‘° λ°μ΄ν°λ₯Ό μ ννμ¬ μΆκ° μ 보λ₯Ό μ λ ₯νκ³ μ μ₯νλ μν μ νλ κ°μ²΄μ λλ€. μ΄ κ°μ²΄λ λΆλͺ¨ κ°μ²΄μ νμ κ°μ²΄μ¬μΌ νλ©°, λΉλμμ λΆλͺ¨ κ°μ²΄λ₯Ό μ ννλ©΄ ν΄λΉ λΆλͺ¨ κ°μ²΄μ μ°κ΄λ νμ κ°μ²΄λ₯Ό κ²μν μ μμ΅λλ€. ν΄λΉ λ¨κ³μμλ νν°, μ λ ¬, μλ λ²νΈ λ±μ μ€μ λ€μ μ 곡νκ³ μμ΅λλ€.
1
λΌμΈ μμ΄ν μΌλ‘ μ¬μ©λ κ°μ²΄λ₯Ό μ ννκ³ , ν΄λΉ κ°μ²΄λ₯Ό λΆλͺ¨ κ°μ²΄μ μ°κ²°ν νλλ₯Ό μ§μ ν©λλ€. μ€ν λ€λ κ°μ²΄λ₯Ό μ¬μ©νλ κ²½μ°, μλ μ€μ μ΅μ μ ν΅ν΄ νμν μ€μ μ κ°νΈνκ² κ΅¬μ±ν μ μμ΅λλ€.
2
λΌμΈ μμ΄ν νΈμ§κΈ°μμ μ€ν μ 쑰건μ λ§λ μ μ₯λ λΌμΈ μμ΄ν μ λΆλ¬μ€κ³ μΆλ€λ©΄, νν°μ μ λ ¬ μμλ₯Ό μ€μ ν΄λ³΄μΈμ. μ΄λ₯Ό ν΅ν΄ μνλ λ°μ΄ν°λ§ νμνκ³ , λΆλ¬μ€λ μμλ₯Ό μ μ΄ν μ μμ΅λλ€.
3
λΌμΈ μμ΄ν
μ μμ ν λ νΉμ 쑰건μ λ°λΌ μ μ΄νλ €λ©΄, 쑰건μ κ²°κ³Όκ°(true
λλ false
)μ μ μ₯νλ νλλ₯Ό μ§μ νμΈμ. μ΄ νλλ μμ κ°λ₯ μ¬λΆλ₯Ό κ²°μ νλ λ° μ¬μ©λ©λλ€.
4
λΌμΈ μμ΄ν μ μ₯ μ μλ λ²νΈλ₯Ό μ€μ ν μ μμ΅λλ€. μ΄ κΈ°λ₯μ νΉν μ ν μ΅μ μ μ¬μ©νλ κ²½μ° κ° λΌμΈ μμ΄ν μ ꡬλΆνκ³ κ΄λ¦¬νκΈ°μ μ μ©ν©λλ€.
λΌμΈ μμ΄ν νΈμ§κΈ°μμ μ€ν μ 쑰건μ λ§λ μ μ₯λ λΌμΈ μμ΄ν μ λΆλ¬μ€κ³ μΆλ€λ©΄, νν°μ μ λ ¬ μμλ₯Ό μ€μ ν΄λ³΄μΈμ. μ΄λ₯Ό ν΅ν΄ μνλ λ°μ΄ν°λ§ νμνκ³ , λΆλ¬μ€λ μμλ₯Ό μ μ΄ν μ μμ΅λλ€.
νΈμ§κΈ° μ€ν μ, μ μ₯λ λΌμΈ μμ΄ν
λ°μ΄ν°λ₯Ό νν°λ§νμ¬ μνλ 쑰건μ λ§λ λ°μ΄ν°λ§ νμν μ μμ΅λλ€. νν° μ€μ λ°©μμ SOQLμ WHERE
μ κ³Ό λμΌν©λλ€.
μλ₯Ό λ€μ΄, κΈ°νμμ κΈ°ν μ νμ μΌλ° μ νκ³Ό ꡬλ
μ νμΌλ‘ λλ μ νΈμ§κΈ°λ₯Ό μ¬μ©νλ €λ κ²½μ°, κ° νΈμ§κΈ°μ νν°λ₯Ό μ μ©ν©λλ€. ꡬλ
ν κΈ°ν μ νμ λν νΈμ§κΈ°μ κ²½μ°, ꡬλΆμ μν΄ λ§λ νλμΈ μ ν(Type__c
)μ΄ βꡬλ
βμΈ κΈ°ν μ ν λ μ½λλ§ νΈμ§ λμμΌλ‘ νλ €λ©΄, νν°λ₯Ό μλμ κ°μ΄ μμ±νλ©΄ λ©λλ€:
λν, μ§μ μμ±νμ§ μκ³ μΏΌλ¦¬ λ§λ²μ¬(Query Wizard)λ₯Ό μ΄μ©ν΄ νν°λ₯Ό μλμΌλ‘ μμ±ν μλ μμ΅λλ€.
νΈμ§κΈ° μ€ν μ, μ μ₯λ λΌμΈ μμ΄ν
λ°μ΄ν°λ₯Ό μνλ μμλ‘ μ λ ¬ν μ μμ΅λλ€. μ λ ¬ μ€μ λ°©μμ SOQLμ ORDER BY
μ κ³Ό λμΌν©λλ€.
μλ₯Ό λ€μ΄, λΌμΈ μμ΄ν
μ μ΅κ·Ό μμ±λ μμλ‘ μ λ ¬νκ³ μΆλ€λ©΄ CreatedDate DESC
λ‘ μμ±νλ©΄ λ©λλ€.
λΉλλ μ€ν λ€λ κΈ°ν(Opportunity
), 견μ (Quote
), μ£Όλ¬Έ(Order
)μ νν΄ μλ μ€μ μ μ§μν©λλ€. λ°λΌμ λΆλͺ¨ κ°μ²΄λ₯Ό κΈ°ν, 견μ , μ£Όλ¬Έ μ€ νλλ‘ μ§μ ν κ²½μ°, μλ λ κ°μ§ μ€μ λ°©λ² μ€ μ νν μ μμ΅λλ€:
1
μ€ν λ€λ μ€μ μ λΆλͺ¨ κ°μ²΄λ₯Ό κΈ°λ°μΌλ‘ λΌμΈ μμ΄ν κ³Ό μ‘°ν κ°μ²΄μ νμν μ€μ μ μλμΌλ‘ ꡬμ±ν©λλ€. μ΄λ₯Ό ν΅ν΄ νΈμ§κΈ°λ₯Ό λΉ λ₯΄κ³ κ°νΈνκ² μ€μ ν μ μμ΅λλ€.
2
μ¬μ©μ μ μ κ°μ²΄λ₯Ό μ¬μ©νμ¬ νΈμ§κΈ°λ₯Ό ꡬμ±νλ €λ©΄ μ§μ μ νμ μ νν΄μΌ ν©λλ€. μ΄ μ΅μ μ ν΅ν΄ λΆλͺ¨ κ°μ²΄, λΌμΈ μμ΄ν κ°μ²΄, μ‘°ν κ°μ²΄λ₯Ό μλμΌλ‘ μ μνμ¬ νΈμ§κΈ°λ₯Ό μ μ°νκ² μ€κ³ν μ μμ΅λλ€.
μ€ν λ€λ μ€μ μ λΆλͺ¨ κ°μ²΄λ₯Ό κΈ°λ°μΌλ‘ λΌμΈ μμ΄ν κ³Ό μ‘°ν κ°μ²΄μ νμν μ€μ μ μλμΌλ‘ ꡬμ±ν©λλ€. μ΄λ₯Ό ν΅ν΄ νΈμ§κΈ°λ₯Ό λΉ λ₯΄κ³ κ°νΈνκ² μ€μ ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, κΈ°ν(Opportunity
)μ λν΄ μ€ν λ€λ μ€μ μ μ μ©νλ©΄ λ€μκ³Ό κ°μ΄ μλ ꡬμ±λ©λλ€:
λΌμΈ μμ΄ν κ°μ²΄(Line Item Object):
κΈ°ν μ ν(OpportunityLineItem
)μΌλ‘ μ€μ λ©λλ€.
λ¨κ°, μλ, μ΄ κΈμ‘ λ± νμ νλκ° μλμΌλ‘ μΆκ°λ©λλ€.
μ‘°ν κ°μ²΄(Lookup Object):
κ°κ²© λͺ©λ‘ νλͺ©(PricebookEntry
)μΌλ‘ μ€μ λ©λλ€.
μ‘°ν μ νμν νλ(μ: μ νλͺ , λ¨κ°) λ° νν° μ‘°κ±΄(μ: Pricebook2Id)μ΄ μλμΌλ‘ ꡬμ±λ©λλ€.
μ¬μ©μ μ μ κ°μ²΄λ₯Ό μ¬μ©νμ¬ νΈμ§κΈ°λ₯Ό ꡬμ±νλ €λ©΄ μ§μ μ€μ μ μ νν΄μΌ ν©λλ€. μ΄ μ΅μ μ ν΅ν΄ λΆλͺ¨ κ°μ²΄, λΌμΈ μμ΄ν κ°μ²΄, μ‘°ν κ°μ²΄λ₯Ό μλμΌλ‘ μ μνμ¬ νΈμ§κΈ°λ₯Ό μ μ°νκ² μ€κ³ν μ μμ΅λλ€.
μ§μ μ ν μ΅μ μ μ ννκ±°λ, λΆλͺ¨ κ°μ²΄κ° μ¬μ©μ μ μ κ°μ²΄(Custom Object)μΈ κ²½μ°, μλμ κ°μ μ€μ μ΅μ μ΄ μ 곡λ©λλ€:
κ°μ²΄ (Object) λΌμΈ μμ΄ν μΌλ‘ μ¬μ©ν λΆλͺ¨μ νμ κ°μ²΄λ₯Ό μ νν©λλ€. μ΄ λ¨κ³λ λΆλͺ¨ κ°μ²΄μ μ°κ²°λ νμ κ°μ²΄ μ€μμ λΌμΈ μμ΄ν μΌλ‘ μ¬μ©ν μ μ ν κ°μ²΄λ₯Ό μ§μ νλ κ³Όμ μ λλ€.
λΆλͺ¨ μ°Έμ‘° νλ (Parent Reference Field)
μ νν λΌμΈ μμ΄ν κ°μ²΄μμ λΆλͺ¨ κ°μ²΄λ₯Ό μ°Έμ‘°νλ νλλ₯Ό μ§μ ν©λλ€. μ΄ νλλ λΌμΈ μμ΄ν μ μ₯ μ λΆλͺ¨ κ°μ²΄λ₯Ό μλμΌλ‘ ν λΉνλ λ° μ¬μ©λ©λλ€.
κΈ°ν
κΈ°ν
Opportunity
κΈ°ν μ ν
OpportunityLineItem
κ°κ²© λͺ©λ‘ νλͺ©
PricebookEntry
견μ
견μ
Quote
견μ μ ν μμ΄ν
QuoteLineItem
κ°κ²© λͺ©λ‘ νλͺ©
PricebookEntry
μ£Όλ¬Έ
μ£Όλ¬Έ
Order
μ£Όλ¬Έ μ ν
OrderItem
κ°κ²© λͺ©λ‘ νλͺ©
PricebookEntry
μ΄ μμμμλ κΈ°ν μ νμ λν λΌμΈ μμ΄ν νΈμ§κΈ°λ₯Ό μ€μ νμμ΅λλ€.
λΆλͺ¨: κΈ°ν(Opportunity
)
λΌμΈ μμ΄ν
: κΈ°ν μ ν(OpportunityLineItem
)
μ‘°ν: κ°κ²© λͺ©λ‘ νλͺ©(PricebookEntry
)
λΌμΈ μμ΄ν μ μ₯ μ μλ λ²νΈλ₯Ό μ€μ ν μ μμ΅λλ€. μ΄ κΈ°λ₯μ νΉν μ ν μ΅μ μ μ¬μ©νλ κ²½μ°, κ° λΌμΈ μμ΄ν μ ꡬλΆνκ³ κ΄λ¦¬νκΈ°μ μ μ©ν©λλ€.
μλ λ²νΈλ λΌμΈ μμ΄ν νΈμ§κΈ° νλ©΄μμ μ μ₯νλ κ²½μ°μλ§ ν΄λΉλλ©°, Salesforce λ΄λΆ νΈλμμ (μ: API, λ°μ΄ν° λ‘λ, λλ μλ μμ )μμλ μλμΌλ‘ λ²νΈκ° ν λΉλμ§ μμ΅λλ€.
μ΄ μμμμλ κΈ°ν μ νμ λν λΌμΈ μμ΄ν νΈμ§κΈ°λ₯Ό μ€μ νμμ΅λλ€.
λΆλͺ¨: κΈ°ν(Opportunity
)
λΌμΈ μμ΄ν
: κΈ°ν μ ν(OpportunityLineItem
)
μ‘°ν: κ°κ²© λͺ©λ‘ νλͺ©(PricebookEntry
)
κΈ°ν μμΈ νμ΄μ§μμ λΌμΈ μμ΄ν νΈμ§κΈ°λ₯Ό μ¬μ©ν΄ κΈ°ν μ νμ μ μ₯νκ³ , κΈ°νμμ 견μ μ μμ±ν λ€, μμ λ λ΄μ©μ λ€μ κΈ°νμ λκΈ°ν(Sync)νλ κ³Όμ μ μ§ννλ€κ³ κ°μ ν΄ λ³΄κ² μ΅λλ€.
κ·Έλ¬λ μμ μ λ ¬(SortOrder
) νλκ°μ μ¬λ°λ₯΄κ² μ μ₯νμ§ μμΌλ©΄, μ ν μ΅μ
μ λν λΌμΈ μμ΄ν
λ€μ΄ μλͺ»λ μμλ‘ μ λ ¬λμ΄ μ¬μ©μμκ² νΌλμ μ€ μ μμ΅λλ€. μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ μμ μ λ ¬(SortOrder
) νλμ μλ λ²νΈλ₯Ό ν λΉνμ¬, λκΈ°ν(Sync) μ μμκ° μ¬λ°λ₯΄κ² μ λ ¬λλλ‘ μ€μ ν©λλ€.
λΉλμμ κ°μ²΄ μ°κ²° λ¨κ³μμ μλ λ²νΈ νλμ μμ μ λ ¬ νλμ APIλͺ
(SortOrder
)λ₯Ό μ
λ ₯ν©λλ€.
μ λ ¬ μμλ₯Ό νμνκΈ° μν΄ λΌμΈ μμ΄ν
νΈμ§κΈ° μ€μ λ¨κ³μμ μ λ ¬ μμ(SortOrder
)λ₯Ό μΆκ°ν©λλ€.
λΌμΈ μμ΄ν
νΈμ§κΈ°λ₯Ό μ€ννλ©΄, μ λ ¬ μμ(SortOrder
) 컬λΌμ μλ λ²νΈκ° ν λΉλ κ²μ λ³΄μ€ μ μμ΅λλ€.
λΌμΈ μμ΄ν μ μλ λ²νΈλ κΈ°λ³Έμ μΌλ‘ 100, 200, 300κ³Ό κ°μ΄ 100 λ¨μλ‘ μλ²μ΄ 맀겨μ§λλ€. κ΅¬μ± μ νμ μ΅μ λΌμΈ μμ΄ν μ μ£Ό λΌμΈ μμ΄ν μ λ²νΈλ₯Ό κΈ°μ€μΌλ‘ 101, 102μ κ°μ΄ νμ λ²νΈκ° ν λΉλ©λλ€.
μ΅μ λΌμΈ μμ΄ν μ κ²½μ°, νΈμ§κΈ°μμλ μλ νλ μ λ³΄λ§ λ ΈμΆλ©λλ€:
μ νλͺ
μ κ°
λ¨κ°
μλ
μ΄μ‘
ν μΈμ¨/ν μΈμ‘