2012-04-06 225 views
1

我必須在選項列表中顯示很多值,並且達到某個限制值。但是,當它分配給它時,它在達到某個限制時會引發錯誤。所以幫助我,我怎樣才能設法將更多的價值存儲在一個揀選清單中?如何向Salesforce中的選擇列表添加更多值?

式是象下面這樣:

CASE(Name, 
"Virgin Australia",HYPERLINK("http://www.virginaustralia.com/Personal/Bookings/Managebookings/index.htm","Virgin Australia"), 
"Virgin Atlantic",HYPERLINK("https://www.virgin-atlantic.com/en/us/manageyourflights/updatebooking/index.jsp","Virgin Atlantic"), 
"Virgin America",HYPERLINK("http://www.virginamerica.com/view-itinerary.html","Virgin Australia"), 
"US AIR",HYPERLINK("http://reservations.usairways.com/Default.aspx","Virgin America"), 
"United Airlines",HYPERLINK("http://www.united.com/page/genericpage/0,,52172,00.html?navSource=dropDown&linkTitle=itineraries","United Airlines"), 
"Turkish Air",HYPERLINK("http://www4.thy.com/mybookings/reservations.tk?target=view&lang=en","Turkish Air"), 
"Turkish Air",HYPERLINK("http://www.thaiair.com/AWR_PREM/view-trip.jsp","Turkish Air"), 
"Swiss Airlines",HYPERLINK("http://www.swiss.com/web/EN/Pages/index.aspx?Country=US","Swiss Airlines"), 
"Southwest Airlines",HYPERLINK("https://www.southwest.com/flight/lookup-air-reservation.html?int=GSUBNAV-AIR-RETRIEVE&forceNe...","Southwest Airlines"), 
"South African",HYPERLINK("https://www.flysaa.com/Journeys/reservation/searchpnr.action?nameSpace=reservation","South African"), 
"Singapore Airlines",HYPERLINK("https://www.singaporeair.com/manageBooking-flow.form?execution=e1s1","Singapore Airlines"), 
"QATAR AIRWAYS",HYPERLINK("http://www.qatarairways.com/us/en/homepage.page","QATAR AIRWAYS"), 
"Qantas Airlines",HYPERLINK("http://www.qantas.com.au/travel/airlines/your-booking/global/en","Qantas Airlines"), 
"Malaysia",HYPERLINK("https://book.malaysiaairlines.com/itd/itd/lang/en/reservations","Malaysia"), 
"Lufthansa",HYPERLINK("http://www.lufthansa.com/online/portal/lh/us/my_account/my_bookings","Lufthansa"), 
"KLM - Royal Dutch Airlines",HYPERLINK("http://www.klm.com/travel/us_en/index.htm#tab=db_mmb","KLM - Royal Dutch Airlines"), 
"Japan Air",HYPERLINK("http://www.5971.jal.co.jp/eng/SearchReservation.do","Japan Air"), 
"Etihad Airlines",HYPERLINK("http://www.etihadairways.com/sites/etihad/_layouts/etihad/obe/RetrieveBooking.aspx","Etihad Airlines"), 
"Emirates",HYPERLINK("https://fly.emirates.com/MYB/MMBLogin.aspx","Emirates"), 
"Delta Airlines",HYPERLINK("http://www.delta.com/","Delta Airlines"), 
"Copa Airlines",HYPERLINK("http://www.copaair.com/sites/US/EN/Pages/homepage.aspx","Copa Airlines"), 
"Continental Airlines",HYPERLINK("http://www.continental.com/web/en-US/apps/reservation/default.aspx","Continental Airlines"), 
"") 

獲取錯誤:編譯式太大執行(5171個字符)。最大尺寸爲5,000個字符

回答

2

您可以通過幾種方法解決此問題。

我的首選方法是使用工作流程域更新。您可以將案例分析分解爲單獨的工作流程,並使用正確的鏈接更新字段。這樣你就可以將公式計算分成幾個工作流程。

例子:

Workflow A: 
If "Virgin Atlantic" OR "Virgin Atlantic" OR... 
THEN Update the field 

Workflow B: 
If "Swiss Airlines" OR "Southwest Airlines" OR... 
THEN Update the field 

等等....

+0

其過於長b,cuse iy有abotu 50 +項目,那麼我必須創建50個工作流程,這太忙碌了。我知道你的想法 – Deepakmahajan 2012-04-09 07:22:38

1

在這個大小自己輸入的代碼區。這就是Apex和Visualforce的時候了,儘管你可能不想處理代碼管理。不知道你的目標環境是什麼,很難說最佳的解決方案是什麼。例如,如果您正在編寫一個應用程序以向其他人出售信息,或者您只是配置自己公司的Salesforce組織以滿足您的需求,則會改變方法。

如果您不想管理整個Visualforce頁面來處理所有的細節字段和相關列表,請考慮只使用您需要的字段來完成一個纖細的內聯音頻頁面(如提到的大量選項列表以上)。

例如:

的Apex

public List<SelectOption> customList 
{ 
    get 
    { 
     List<SelectOption> retVal = new List<SelectOption>(); 

     retVal.add(new SelectOption('value1', 'Label 1')); 
     retVal.add(new SelectOption('value2', 'Label 2')); 
     retVal.add(new SelectOption('value3', 'Label 3')); 
     // ...    

     return retVal; 
    } 
    private set; 
} 

Visualforce

<apex:selectList size="1" value="{!controller.theSelection}"> 
    <apex:selectOptions value="{!customList}"/> 
</apex:selectList> 
0

1上視覺力。另一種方法可能是使用字段依賴性爲用戶分配選項。但在這種情況下,它聽起來並不適用於你,因爲你正在觸摸代碼牆 - 而不是「選項」牆。

您可以像這樣設置字段相關性。控制字段= AZ和家屬與該字母相關航空公司

相關問題