如何向Salesforce中的选择列表添加更多值?

如何向Salesforce中的选择列表添加更多值?,salesforce,Salesforce,我必须在一个选择列表中显示许多值,并且在一定的限制下它可以工作。但是,当我分配给它时,当它达到某个限制时,它会抛出一个错误。那么,请帮助我,我如何在选择列表中存储更多的值 公式如下: CASE( Name, "Virgin Australia",HYPERLINK("http://www.virginaustralia.com/Personal/Bookings/Managebookings/index.htm","Virgin Australia"), "Virgin Atlantic",H

我必须在一个选择列表中显示许多值,并且在一定的限制下它可以工作。但是,当我分配给它时,当它达到某个限制时,它会抛出一个错误。那么,请帮助我,我如何在选择列表中存储更多的值

公式如下:

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个字符)。最大大小为5000个字符

您可以通过几种方式解决此问题

我的首选方法是使用工作流字段更新。您可以将案例语句拆分为单独的工作流,并使用正确的链接更新字段。这样,您就可以将公式计算拆分为两个工作流

例如:

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

以此类推……

在这个尺寸下,您将进入代码区。这是Apex和Visualforce的时候了,尽管您可能不想处理代码管理。不知道您的目标环境是什么,很难说最佳解决方案是什么。例如,如果您正在编写一个向他人销售的应用程序,或者您正在配置自己公司的Salesforce组织以满足您的需要,那么它会改变方法

如果您不想管理整个VisualPrimage页面来处理所有的详细字段和相关列表,请考虑只使用您需要的字段(如上面提到的海量列表)来做一个细长的、内嵌的VF页面。 例如:

顶点

公共列表自定义列表
{
得到
{
List retVal=新列表();
添加(新选择选项('value1','Label 1');
添加(新选择选项('value2','Label 2');
添加(新选择选项('value3','Label 3');
// ...            
返回返回;
}
私人设置;
}
视觉力

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

+1关于视觉力。另一种方法可能是使用字段依赖项拆分用户的选项。但在这个例子中,它听起来并不适用于您,因为您遇到的是代码墙,而不是“选项”墙


您可以像这样设置字段依赖项。控制字段=A-Z,家属是与该字母相关联的航空公司

另一种解决方案是使用AppExchange应用程序,与Salesforce state&Country pick list提供的336个州选择列表相比,ProvenWorks提供的AddressTools提供了3000多个州选择列表值。除此之外,它是完全可自定义的,并可用于自定义对象

有关更多信息,请查看列表:


希望这有帮助。

太长了b,因为我有50多个项目,所以我必须创建一个50多个工作流程,这太繁忙了。让我知道你的想法
<apex:selectList size="1" value="{!controller.theSelection}">
   <apex:selectOptions value="{!customList}"/>
</apex:selectList>