5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

salesforceで死なないためのナレッジメモ(ver.1.0)

Last updated at Posted at 2018-10-02

こんにちは!こんにちは!

・・・
・・・
クラウド系プラットフォームはエンジニアの負担だけでなく、全ジョブの人間を一部分の労から解放してくれます。salesforceもそうです。でも、はまるとつらい。知らないとはまる。はまるとつらい。無知だとはまる。そして死ぬ。salesforceで死んでしまうエンジニアにはなりたくはないので、ここに今までではまりかけたsalesforceの沼を列挙していきたいと思う。随時更新をする。これは、過去の自分から未来の自分への手記である。未来の自分へ。あなたはそこにいますか?
・・・
・・・

#レコードタイプをコピーした場合の制御(hamaruTime:3時間)

##前提
オブジェクトAにレコードタイプ:Aとレコードタイプ:Bが存在する。
レコードタイプ:Aの場合は、カスタム項目のtestPick__cを制御しているものとする。
レコードタイプ:Bはレコードタイプ:Aをコピーして作成している。

##起こること

レコードタイプ:Bで、カスタム項目testPick__cの制御をしたくないのに、レコードタイプ:Aと同じ制御が走る。

##解決方法

レコードタイプを新規作成する。
(もしくはレコードタイプの制御を見直す。とはいえ、なんか設定変えられなかった気が)

#Triggerを編集時の有効化ではまる(hamaruTime:0.5時間)
##前提

下記のtriggerとhandlerクラスがあったとする。

trigger testsTrigger on testObject (before insert) {
   hogehogeTesttriggerHandler handler = new hogehogeTesttriggerHandler();
   handler.OnBeforeInsert(Trigger.old);
}
public with sharing class hogehogeTesttriggerHandler {
    

 public void OnBeforeInsert(testObject[] oldtestObject){
 //なんもしない
 }

}

ちょっとHandler呼ぶ条件変えよう、と思って、salesforceの編集画面からTriggerを編集してテスト流す。

##起こること
Triggerが機能しない。

##解決方法
Triggerを編集するとしれっと有効化が解除されるので、salesforceのトリガ編集画面からトリガを有効化する

#オブジェクト一覧にないオブジェクトを探すのにはまる(hamaruTime:3時間)
##前提

shiranaiObj__c shiranai = new shiranaiObj__c();

このように突然、知らないオブジェクトがnewされているのに出くわす。

##起こること

ひえええ、どこにあるんやああああ、とずっと迷う。

##解決方法
たいがいは、salesforce->設定->カスタム設定にある、外部サービス用のオブジェクトだったりする。ので、固有の設定を呼び出して、ふにゃふにゃしている場合はここを探すべし。

#hamaranaiTime
合計6.5時間、きみははまらない。

5
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?