2022-12-24|閱讀時間 ‧ 約 3 分鐘

為何無法新增RecurringDonation紀錄?

曾經在建立RecurringDonation時被阻止新增紀錄,並收到一個錯誤訊息:
System.SObjectException: Illegal assignment from Boolean to String (System Code)
這個錯誤第一眼猜測是資料類型有誤,可能在字串類型的欄位輸入了boolean值,但是在UI端幾乎不可能輸入錯誤的資料類型啊?這個錯誤是怎麼回事呢?
這跟Custom Field Mappings有關。

什麼是Recurring Donation Custom Field Mappings?
有些欄位在Recurring Donation跟機會底下同時都有。因此我們希望只要在建立RecurringDonation時輸入資料,salesforce能自動把資訊丟進機會對應的欄位中。人工就不用在機會頁面處再輸入一次。
要做到這件事情,只要到NPSP Settings中的Recurring Donation Custom Field Mappings設定兩邊對應的欄位,即可實踐。
Recurring Donation Custom Field Mappings
Recurring Donation Custom Field Mappings
但在Mapping時,須小心兩邊的欄位類型是否一致,否則系統會因為資料類型不同而無法將Recurring Donation的資料map到機會,也就不能新增紀錄。
我會收到錯誤訊息就是因為我把RecurringDonation原本文字類型的欄位改成了核取方塊,又沒有修改機會中對應的欄位。導致核取方塊的資料(Boolean)放不進機會中對應的欄位(要求是String),而被阻擋新增。

如何解決欄位類型不一致的問題?
  1. 建議是當修改Recurring Donation欄位類型時,也要同步修改機會中的欄位。保持欄位類型一致。
  2. 當然也可以直接delete掉兩邊的mapping關係。

分享至
成為作者繼續創作的動力吧!
Salesforce功能強大,但有時候要閱讀大量的資料才能知道自己下一步要如何操作,社群也幾乎是英文語系社群。有時候在想如果中文社群中有人可以分享他的經驗,我就會輕鬆很多了!於是這個專題就誕生了!
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

發表回應

成為會員 後即可發表留言