Pages

Wednesday, 7 September 2016

SALESFORCE : Mengecek Ketersediaan Ruangan Yang Disewakan

Sebuah perusahaan menyewakan ruang kerja. Sales yang akan membuat Opportunity harus mengetahui ruangan mana yang tersedia untuk disewakan pada tanggal tersebut.
Apabila Opportunity telah mencapai stage Deal Win atau Closed Won, maka product pada opportunity tersebut tidak bisa disewa pada tanggal yang bersamaan.


Berikut langkah-langkah yang harus dibuat :
  1. Membuat beberapa field baru di Opportunity untuk menampung tanggal mulai dan selesai penyewaan 
  2. Membuat beberapa field baru di Opportunity List Item (Opportunity Products)  untuk menampung tanggal mulai dan selesai penyewaan (Dikarenakan object ini merupakan junction object antara Opportunity dengan Product, langkah pertama adalah update object ini terlebih dahulu sebagai trigger untuk bisa update Product)
  3. Membuat beberapa field baru di Product untuk menampung tanggal mulai dan selesai penyewaan 
  4. Membuat Process Builder untuk update beberapa field di Opportunity List Item.
  5. Membuat Process Builder untuk update  beberapa field di Product.
  6. Membuat Validation Rule di Opportunity Product.
Untuk langkah 1-3, buatlah Field sebagai berikut di ketiga object tersebut : Opportunity , (Opportunity Products) dan Product :
  1. Commencing Date (Tipe : Date)
  2. Contract Expired Date (Tipe : Date)
Pada Object Product, tambahkan object Opportunity ID untuk menampung ID dari opportunity yang sedang menggunakan product tersebut. Tujuannya adalah apabila Opportunity ID yang sedang menggunakan product tersebut diupdate, tidak ada pesan error bahwa product tersebut telah disewakan.

4. Membuat Process Builder untuk update beberapa field di Opportunity List Item.
Buatlah process builder baru dengan object Opportunity dengan dua kondisi logic sebagai berikut :
  1. Update Commencing date dan  Contract Expired Date di Opportunity Product sesuai dengan tanggal di Opportunity apabila Opportunity di simpan dengan status Deal Win atau Closed Lost
  2. Berikan nilai null pada Commencing date dan  Contract Expired Date di Opportunity Product apabila statusnya berubah menjadi Closed Lost.

5. Process Builder untuk update  beberapa field di Product. 
Buatlah process builder baru dengan object Product Opportunity dengan dua kondisi logic sebagai berikut :
  1. Update Commencing date, Contract Expired Date, Opportunity ID di Product sesuai dengan tanggal di Opportunity apabila Opportunity di simpan dengan status Deal Win atau Closed Lost.
  2. Berikanlah nilai null pada Commencing date dan  Contract Expired Date di  Product apabila statusnya berubah menjadi Closed Lost.

Keterangan Field :
  1. Opportunity.StageName
  2. Opportunity.StageName
  3. Abaikan poin nomor tiga, ini digunakan karena penulis memfilter jenis product yang hanya disewakan berupa ruangan saja.

Keterangan Value :
  1. Opportunity.CommencingDate
  2. Opportunity.ExpiredDate
  3. Left([OpportunityLineItem].OpportunityId)

Keterangan Field :
  1. Opportunity.StageName




6. Membuat Validation Rule di Opportunity Product.

 Buatlah process builder dengan Condition Formula sebagai berikut :

AND(Opportunity.Id  <>  Product2.Opportunity_ID__c
    ,OR(
         AND(Opportunity.Commencing_Date__c >= Product2.Commencing_Date__c
             , Opportunity.Commencing_Date__c <= Product2.Contract_Expired_Date__c
         )
         ,AND(Opportunity.Contract_Expired_Date__c >= Product2.Commencing_Date__c
               , Opportunity.Contract_Expired_Date__c <= Product2.Contract_Expired_Date__c
          )
    )
)


Dan Error Message :
This product is not available for that date.




No comments:

Post a Comment