标签: apex-code

Salesforce:获取“已关闭”机会阶段的列表

在 Apex 中,我需要获取已关闭的机会阶段的列表。这些阶段在设置中属于“结束/获胜”或“结束/失败”类型。

我可以使用以下方法获取舞台名称列表:

Opportunity.StageName.getDescribe().getPicklistValues()

这会返回一个对象列表Schema.PicklistEntry,但它们不指示阶段的类型。

salesforce apex-code

3
推荐指数
1
解决办法
3941
查看次数

如何在 Visualforce 中设置两个页面块元素并行?

我想设置两个与 Visualforce 平行的页面块元素。我怎样才能做到这一点?

<apex:page>

<apex:pageblock title="titleA" id="blockA">

</apex:pageblock>

<apex:pageblock title="titleB" id="blockB">

</apex:pageblock>

</apex:page>
Run Code Online (Sandbox Code Playgroud)

谢谢

salesforce visualforce apex-code

3
推荐指数
1
解决办法
8404
查看次数

Visualforce自定义控制器列表

我要做的是创建一个自定义控制器列表,显示机会,案例和可能的另一个对象的混搭.我开始使用visualforce指南中的课程来帮助我:

public with sharing class CasePagination {
private final Case c;

public CasePagination(ApexPages.StandardSetController controller) {
this.c = (Case)controller.getRecord();
}
public ApexPages.StandardSetController CaseRecords{
get {
if(CaseRecords == null) {
return new ApexPages.StandardSetController(Database.getQueryLocator(
[SELECT c.CaseNumber, c.AccountId, c.Subject, c.Status FROM Case c]));
}
return CaseRecords;
}
private set;
}
public List<Case> getCasePagination() {
return (List<Case>) CaseRecords.getRecords();
}
}
Run Code Online (Sandbox Code Playgroud)

我调整了一些visualforce代码来显示现在的案例列表:

<apex:page standardController="Case" recordSetvar="cases" extensions="CasePagination">

<apex:pageBlock title="Viewing Cases">
<apex:form id="theForm">

<apex:pageBlockTable value="{!CasePagination}" var="c">
<apex:outputLink value="{!c.Id}">{!c.CaseNumber}</apex:outputLink>
<apex:column value="{!c.Id}"/>
<apex:column value="{!c.CaseNumber}" />
<apex:column value="{!c.Subject}" onclick="openCase"/>
<apex:column value="{!c.Status}" …
Run Code Online (Sandbox Code Playgroud)

salesforce visualforce apex-code

2
推荐指数
2
解决办法
1万
查看次数

SOQL - 查询当前用户关注的用户列表

在我的应用程序中,我显示当前用户的列表.我这样要求:

尝试1

List<User> Following = [SELECT Id, Name, SmallPhotoUrl 
  FROM User 
  WHERE Id IN (
      SELECT ParentId 
      FROM EntitySubscription 
      WHERE SubscriberId = :UserInfo.getUserId()) 
    AND Id != :UserInfo.getUserId() 
  LIMIT 96];
Run Code Online (Sandbox Code Playgroud)

这完全符合以管理员身份登录的情况,但我发现非管理员收到错误:

实施限制:EntitySubscription仅允许在指定LIMIT时对非管理员用户进行安全评估,最多为1000

好吧,没什么大不了的,我会像这样打一个极限:

尝试2

List<User> Following = [SELECT Id, Name, SmallPhotoUrl 
  FROM User 
  WHERE Id IN (
      SELECT ParentId 
      FROM EntitySubscription 
      WHERE SubscriberId = :UserInfo.getUserId() 
      LIMIT 1000) 
    AND Id != :UserInfo.getUserId() 
  LIMIT 96];
Run Code Online (Sandbox Code Playgroud)

容易,对吗?错误.这给出了以下内容:

期待一个正确的括号,发现'LIMIT'

好...

然后我试着把它分解出来:

尝试3

List<EntitySubscription> sub = [SELECT ParentId 
  FROM EntitySubscription 
  WHERE SubscriberId = :UserInfo.getUserId() 
  LIMIT 1000]; …
Run Code Online (Sandbox Code Playgroud)

salesforce soql apex-code salesforce-chatter

2
推荐指数
1
解决办法
1万
查看次数

Salesforce:检查ApexTrigger在测试方法中是否处于活动状态

我有一个测试方法,根据在插入记录之前运行的触发器进行断言.

在某些情况下,触发器将处于非活动状态,从而导致测试用例失败.

如何在测试用例中检查触发器的状态?

tdd triggers salesforce apex-code

2
推荐指数
1
解决办法
1095
查看次数

关于so​​ql查询的调控器限制的澄清

建立:

假设我有五个我创建的联系人sObjects和apex.当您一次插入一个联系人时,您通过触发器和它使用的东西进行x soql查询.

问题:

  1. 因此,如果您在代码中一次插入一个联系人,则会获得5x soql查询(对吗?).

  2. 现在假设您将这5个人放入一个数组并使用一个插入插入数组.有多少个soql查询?

  3. 关于2,如果它是5倍,我们为什么要打扰?那么我们可以将DML的数量减少4?

谢谢,

这个半新人

salesforce soql apex-code

2
推荐指数
1
解决办法
2955
查看次数

SOQL聚合查询:计算返回的行数

以下是我的SOQL查询:

select COUNT(Id) FROM Payroll_Group_Detail__c where Tax_Batch__c=null and CreatedDate >=2012-07-21T00:00:00-05:00 and Total_Tax_Amount__c!=null GROUP By Company__c,Name,Payment_Date__c,Pay_Cycle_Type__c;
Run Code Online (Sandbox Code Playgroud)

我正在尝试计算此group by子句返回的行数.但是我没有得到一个计数,而是获得了多行.如何获取此分组返回的行的总计数?

谢谢你,凯文

salesforce force.com soql apex-code

2
推荐指数
1
解决办法
3万
查看次数

APEX Salesforce中的最大列表大小

我创建了一个DataBase.Batchable类,我在其中插入一个名为Event__c的自定义对象

public class BatchCreateGCalendars implements Database.Batchable<SObject>, Database.Stateful, Database.AllowsCallouts {
 private List<Event__c> event_id;
}
Run Code Online (Sandbox Code Playgroud)

例如,我创建了1000个类型事件记录,然后使用该语句

insert event_id;
Run Code Online (Sandbox Code Playgroud)

这是好的,还是逐个插入每个元素更合适?在我的自定义对象中,我只创建了一个text类型的自定义字段(255),列表的最大大小是多少?

salesforce soql apex-code

2
推荐指数
1
解决办法
1万
查看次数

在apex salesforce中按名称获取字段的值

在我的visualforce页面中我有一些活动对象第一个用户选择一个对象,然后有一个多选项列表.在这个选项列表中有用于选择某些字段的所有字段的标签然后我必须在所选的活动对象中显示这些字段的值以显示多个选项列表我的顶点功能是

 public List<SelectOption> getOptionalFields(){


   Map <String, Schema.SObjectField> fieldMap= Campaign.sObjectType.getDescribe().fields.getMap();
       List<SelectOption> fieldsName =new List<SelectOption>();

   for(Schema.SObjectField sfield : fieldMap.Values())
{
schema.describefieldresult dfield = sfield.getDescribe();
fieldsName.add(new SelectOption(dfield.getName(),dfield.getLabel()));

}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何显示该字段的值为例如我有对象实例

Campaign c;
Run Code Online (Sandbox Code Playgroud)

现在我必须获取其名称为字符串form.how的任何字段的值,以获得该字段的相应值.一个解决方案只是写就像说

String fieldName;
Run Code Online (Sandbox Code Playgroud)

并使用多个if

if(fieldName=='Name')
c.Name=
if(fieldName=='Id')
c.Id=
Run Code Online (Sandbox Code Playgroud)

还有其他方便的方法吗?请说明!!

salesforce soql apex-code

2
推荐指数
1
解决办法
3万
查看次数

保存错误:无效的类型:int

public int getSelected2()
{
    //selectedAssets.clear(); //
    for(assetswrapper accwrapper : assetsList)
        if(accwrapper.selected == true)
            selectedAssets.add(accwrapper.acc);
    int a;
    a = selectedAssets.size();
    return a;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译以下代码时,我收到此错误:

保存错误:Inavlid类型:int.

这是在Salesforce中.我不确定问题是什么?

java int salesforce apex-code

2
推荐指数
1
解决办法
1275
查看次数