2012-07-30 15 views
0

我有一個自定義對象(零件順序),用於創建零件順序。每個訂單項都有3個字段(零件類型,數量和零件號),每個零件訂單最多可以有10個訂單項。我似乎無法找到實現這一目標的好方法。我想一種辦法是創建30個獨立的領域,但我不禁感到必須有更好的方法。我可以將3個字段放入一個字段集,但是有沒有辦法將一個FieldSets數組輸入到頁面上?如果還有其他建議,我將不勝感激。輸出他們VisualForce通過循環作爲如何在Salesforce中實現FieldSets陣列

+1

您是否有零件訂單行項目的單獨對象?聽起來這就是你需要的。 – 2012-07-30 23:54:09

+0

grigriforce - 你就在這裏,我建議你把它寫成答案! – 2012-07-31 00:42:39

回答

0

如果你指的是「字段集」,你可以如下:

<apex:repeat value="{!$ObjectType.Object__c.FieldSets.FieldSet1}" var="f"> 
<apex:outputField value="{!currentObject[f]}" /> 
<apex:inputField value="{!currentObject[f]}" required="{!f.required}" /> 
</apex:repeat> 

<apex:repeat value="{!$ObjectType.Object__c.FieldSets.FieldSet2}" var="f"> 
<apex:outputField value="{!currentObject[f]}" /> 
<apex:inputField value="{!currentObject[f]}" required="{!f.required}" /> 
</apex:repeat> 

<apex:repeat value="{!$ObjectType.Object__c.FieldSets.FieldSet2}" var="f"> 
<apex:outputField value="{!currentObject[f]}" /> 
<apex:inputField value="{!currentObject[f]}" required="{!f.required}" /> 
</apex:repeat> 

哪裏FieldSet1..n是與當前OBJECTTYPE的頁面相關的字段集的名稱,Object__c可能是任何標準或自定義對象

根據您創建該對象的任何其他標準,您可以混合並匹配「呈現」而不是「呈現」的任何子集。

但是,有關創建第二個對象的註釋可能更加簡潔,請記住,跨多個對象關係進行報告有點困難。

如果您使用的是標準音頻頁面,也許我會建議使用多種記錄類型,每種都有自己的頁面佈局

0

由於一個零件訂單可能有許多行項目,因此您應該創建一個零件訂單行項目對象,該零件訂單行項目對象是零件訂單的子件(就像機會和OpportunityLineItem一樣)。

要了解如何創建多編輯頁面,以便人們可以輕鬆地添加/編輯多個行項目,您應該查看文檔中出色的visualforce list controller example

+0

我真的很感謝所有的反饋!我確實創建了一個單獨的行項目對象作爲相關列表,但我沒有 – 2012-07-31 16:33:41

+0

(oops)將它帶到下一個級別。我將閱讀所有建議的文檔。再次感謝! – 2012-07-31 16:34:26

+0

很高興幫助。如果這個答案適合你,你可以將其標記爲已接受。 – 2012-07-31 17:43:20

0

正如grigriforce所說,您需要一個Line Item自定義對象來表示訂單和所訂購商品之間的關係。這種對象稱爲自定義連接對象。使用自定義連接對象比具有10個查找字段的可擴展性要高得多;如果你明年需要20條線呢?您可以非常快地用完查找字段。

當前的force.com工作簿將引導您完成創建這種類型的倉庫應用程序。行項目對象在教程2的步驟2中進行了說明。http://www.salesforce.com/us/developer/docs/workbook/index.htm