2018-05-30

機翻的教學文章真是太誤人子弟了

身為一個新手,想要查點資料,看到免強可以接受的語言張貼了內容,想說那就點進去看看,結果發現是  TrailHead 內容的機翻(機器翻譯)版本。

專有名詞如果沒有用「尋找取代」去替換的話,真的是讓人很一個頭兩個大。

2018-05-10

Execute Apex Class right away/scheduled/delayed in Developer console

如果要測試的 Apex/Bech 是排程執行的,可以不用傻傻等系統幫你執行。

直接在 Developer Console -> Debug -> Open execute anonymous window

輸入以下指令,好直接執行該 Apex:


YourScheduleApexClass s=new YourScheduleApexClass();
s.execute(null) ;


把 YourScheduleApexClass 改成目標 Apex Class 名稱,當然,也要該 Class 是執行的 interface 才可以。

2018-05-07

Result: [OPERATION FAILED]: classes/LeadProcessor.cls: Invalid loop variable type expected SObject was Lead

來,先上error_msg:
Result: [OPERATION FAILED]: classes/LeadProcessor.cls: Invalid loop variable type expected SObject was Lead

然後是code:
    global void execute(Database.BatchableContext BC, List l_scope) {
List l_scope_new = new List();
for(Lead l : l_scope)
{
l.leadsource = 'Dreamforce';
l_scope_new.add(l);
count++;
}
update l_scope_new;
}

原因:compiler期待型態: Lead的變數,但是接到的是型態為sObject的變數的時候,就會跳這個error。

2018-04-30

Failed to save xxx.cmp: Invalid Descriptor Format

Failed to save campingListItem.cmp: Invalid Descriptor Format: Camping_Item__c [TYPE]: Source

這是因為在console介面所使用的object的名字與系統內的名字不同造成的。

因為“空白、換行、標點”都會算入,所以通常檢查拼寫跟標點就可以解決了。

2018-04-25

Salesforce Lightning 的 Object Manager 中 無法顯示 compound Field


此問題目前無解,在 Lightning 介面的 Object Manager ,就是不會顯示 compound Field。
即,Setup -> Object Manager -> Fields & Relationship 的頁面,依然無法看到 compound Field 中東西。

所以,目前(2018/04/25)唯一解是切回 Classic 介面進行操作。


會有這個疑問的原因:在做Trailhead練習時,發現自己一直在對(Lightning)看不到的欄位塞東西,感覺疑惑。
然後就發現,我果然不是第一個遇到這個問題的,已經有人問過這個問題了


名詞解釋:
Compound Field 

由系統打包處理的多個元素。
目前最常見的應該是Name:  Salutation + First Name + Last Name。





2018-04-20

Salesforce Visualforce Page 寫註解的方法

當成一般網頁就可以了,所以註解就是像下面這樣:

Salesforce Apex Developer Console 自動縮排

搜尋後發現英文關鍵字是:Formatter(這個比較接近排版), auto-indent(自動縮排)

Salesforce Developer Console有自動縮排功能,快鍵是: [Shift] + [Tab]  (Mac也適用)

這個功能還滿 by IDE的,所以沒有看到什麼universal hot key,所以用便條紙記下來叭,等3M便條紙爛了,或是電腦記憶體不足需要清理電子便利貼的時候,應該也記得起來了。





因為超懷念 gg=G 這種功能,所以寫了幾天Apex就馬上開始找熱鍵。



剛剛測試,在目前最新的API:42版本中,只有自動縮排,不會取消空行、刪掉多餘的空白。

I know, I know, 用自己電腦裡的IDE有很多套鍵可以使用(還有多變數自動對齊、變數前後自動只留一個空白、標色補完等等這樣那種酷炫的套件),但如果只是看一下簡單的code,那自動縮排應該就夠了。

Source: https://stackoverflow.com/questions/42572049/any-shortcut-key-to-indent-code-in-developer-console-in-salesforce