2013-04-20 33 views
1

我有下一個問題。 我有一個名爲'Application'的自定義對象,我有這樣的要求:在自定義對象字段中顯示機會相關的聯繫人

「顯示與應用程序相關的所有聯繫人。在Application對象上創建一個字段,必須是隻讀的。

我用頂點代碼解決它。 '應用程序'查找機會,賬戶機會,我的所有聯繫人都有AccountId,這樣我就可以在觸發器中使用頂點代碼獲取所有聯繫人。

但是,我被要求將其更改爲應用程序對象中的公式字段。 所以,我的問題是下一個。我無法使用高級公式編輯器獲取所有聯繫人,因爲它們不屬於任何對象。我沒有主從關係。

有沒有人知道我該如何實現這個使用配置?我不應該爲這個需求使用頂點代碼。 先謝謝你們。

回答

0

我不認爲你可以做到這一點。

在公式/合併字段語法中,沒有辦法「向上,然後向下」(應用程序 - >機會 - >帳戶 - >向下到聯繫人相關列表)。也沒有什麼可以讓你循環瀏覽聯繫人(並顯示什麼?Ids?姓名?電子郵件?)。粗略地說,你只能通過點。

您可能想探索「交叉對象工作流程」規則的路徑,但我想象當我將新的聯繫人添加到帳戶時,它應該以某種方式「自我傳播」到所有相關的應用程序?對於刪除工作流程沒有直接的方法 - 所以最終會導致列表不準確。

我會說觸發器是一個很好的解決方案。也許它沒有得到優化,但如果它必須在一個領域 - 艱難。


有可能實現,通過嵌入應用程序頁面佈局內的visualforce頁面的一個相當簡單的方式。

這應該是可行的純Visualforce(所以在技術上不會有任何的Apex代碼;)) 東西作爲

<apex:relatedList list="Contacts" subject="Application__c.Opportunity__r.AccountId" />

將是一個良好的開端(如果你想自己的佈局和簡單不是一個相關列表 - 你應該仍然能夠把它與<apex:repeat><apex:pageBlockTable>關閉。

有一個但這裏:它不是一個領域,只是一個顯示技巧。忘記在報告,移動應用程序等使用它。

另一種方式 - 離這些聯繫人只有一次點擊是否可以接受?您可以創建一個報告「帳戶與聯繫人」,通過一個帳戶的ID過濾,然後使用「網址黑客」來更改過濾器,具體取決於您將從哪個應用程序點擊它。該鏈接可以是公式字段,也可以是真正的自定義按鈕/鏈接。技術上 - 這是純粹的配置,沒有頂點& VF。

您可以在Ray Dehler's excellent post,特別是關於動態報告herehere詳細瞭解URL黑客行爲。

+0

嗨Eyescream,感謝您的評論和幫助。 我的觸發器解決方案使用VF頁面來顯示聯繫人列表。要顯示的聯繫人字段仍然沒有被客戶端定義,我的意思是,兩週前他們問我姓名和電話,上週姓名,電話,地址,電子郵件......上個星期四添加一些自定義字段...所以,只需準備好添加所需的所有聯繫人字段即可。 要添加聯繫人,我們有一個嵌入到機會中的音頻。據我所知,在該VF中創建了一個聯繫人並與機會賬戶關聯,然後插入。 – 2013-04-21 17:42:15

+0

我會嘗試你的VF方法來避免頂點代碼,也是報告,也許這個1點擊遠離解決方案將不被客戶接受,但現在,我認爲是僅通過配置實現這一點的最佳方法。 非常感謝您的幫助,只是爲了記錄,我會讓你知道這是如何結束。最好的祝福。 – 2013-04-21 17:46:21

+0

酷,一切順利:)請記住,回答自己的問題並接受它是可以的!但是,是的,雜亂......你「可以」把所有的聯繫人字段放到一個大型的textarea字段中(因爲我認爲255個字符是不夠的),但它非常混亂,價值不大。您浪費存儲空間來獲取基本上重複的信息(1個帳戶,數百個應用程序?)。考慮真正挑戰你的客戶爲什麼他們需要它:) – eyescream 2013-04-22 08:14:19

相關問題