發表文章

目前顯示的是有「query」標籤的文章

如何在 SOQL 中將日期照著年份或月份分組 How to group by year or month in SOQL?

範例 SELECT count(id), CALENDAR_YEAR(createddate )  FROM Opportunity  group by CALENDAR_YEAR(createddate )  其它你可能不知道但很好用的 SOQL 函數 Count_Distinct() HOUR_IN_DAY() GROUPING() <---用來算 subtotal 的 參考資料 Aggregate Functions https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_agg_functions.htm Date Functions https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_date_functions.htm

[MongoDB] find 時只顯示出特定欄位 Return the Specified Fields when FIND()

範例 只顯示 name 欄位: db.counters.find({},{"name":1}).limit(50).pretty()

Knowledge 開發,再次踩坑再次記錄

  我還以為我跟 Knowledge 這個 module 已經算是混得很熟了……結果還是不小心為了一行 code ,debug de 了幾個小時…… 先講結論 如果想要 query archived 的 article,請記得加上 IsLatestVersion = False 的條件。 例如: list<Foo_Knowledge__kav> lstArchivedKB = [SELECT ID FROM Foo_Knowledge__kav WHERE KnowledgeArticleId =: article.KnowledgeArticleId and IsLatestVersion = False ]; 踩坑過程 我在 knowledge trigger 裡原本有一行 code: list<Foo_Knowledge__kav> lstPublishedKB = [SELECT ID FROM Foo_Knowledge__kav WHERE KnowledgeArticleId =: article.KnowledgeArticleId and (PublishStatus = ‘Online’ or PublishStatus = ‘Archived’)]; 用意是在一篇 article draft 被 created 的當下,去檢查這篇 article 是全新產生的亦或是從現有 article 衍生的。如果他是衍生的,那必定存在著至少一篇已經是 publish 或是 archived 的 record。 上面這行 code 也跑了幾個月了,UI上好像都運作正常。直到我這次試著使用 Python 打 API 的方式去 unpublish artilce,就出錯了……  unpublish API 示意: sf_api_call(‘/services/data/v51.0/knowledgeManagement/articleVersions/masterVersions/{}’.format(kavid), method=‘patch’, data={“publishStatus”: “draft”}) (相關紀錄請參見: Salesforce 之 Knowledge Object 之 mass update...