标签: apex-code

有没有人知道任何APEX重构工具?

拥有我所在公司的公司最近单方面决定salesforce.com和force.com平台是我们的目标.目前,我们是一家C#.NET商店,我们经常在日常工作中使用Visual Studio和Resharper.

我对这个决定并不满意,但是,就像任何优秀的开发者一样,我愿意给它一个机会并研究这项新技术,看看如果我被迫决定从一个过渡的话,会发生什么样的事情. NET到APEX开发人员.到目前为止,我必须承认不会对Force.com平台留下深刻的印象.公平地说,有些事情看起来很不错......但其他事情只是糟透了......只要看看他们关于什么构成良好的 单元测试的想法......幸运的是,这些错误是我可以避免的事实无论salesforce.com的文档背后的人多少,都要编写适当的单元测试....

然而,对于咆哮感到抱歉(我真的需要把它从我的胸口那里拿走),我发现的一件事,我知道我真正想念的是像Resharper这样的好的重构工具.作为一名.NET开发人员,Resharper可以做很多繁重的工作,否则我会犹豫不决.它还使得开发TDD样式变得更加容易,因为只需几次击键就可以轻松创建新的方法和属性.因此,我正在寻找可用于Eclipse和APEX编程语言的任何重构工具.我已经下载并安装了force.com开发者网站推荐的工具,但到目前为止,我看到很少有重构支持的方式.

有没有人知道是否存在与APEX编程语言一起使用的重构工具?

eclipse refactoring eclipse-plugin salesforce apex-code

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

CANNOT_UPDATE_CONVERTED_LEAD,无法引用转换后的潜在客户:[Lead__c]

当我尝试将自定义对象放入现有的主角对象时,我收到一条错误消息.

List<Lead> leads =[select Id from Lead where Email =:lead.Email ];
if(leads.size()>0)
{
    Lead existing_lead = new Lead(Id = leads[0].id);
    social_account.Lead__c = existing_lead.Id; //social_account is a custom object that
                                               //has a child relationship to lead.
                                               //ie lead is a parent of social_accounts.
    update existing_lead;
    insert social_account; //if there is an existing lead with same same email,
                           //i'd like to insert new social_account to an exsiting lead.
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:


554 System.DmlException:更新失败.第0行的第一个例外,ID为00Q3000000WW3isEAD; 第一个错误:CANNOT_UPDATE_CONVERTED_LEAD,无法引用转换后的引导:[]

Class.ProcessContact.handleInboundEmail:第81行,第9列外部入口点


即使我注释掉'update existing_lead',我也会收到类似的错误消息.


554 System.DmlException:插入失败.第0行的第一个例外; 第一个错误:CANNOT_UPDATE_CONVERTED_LEAD,无法引用转换后的引线:[Lead__c]

Class.ProcessContact.handleInboundEmail:第82行,第9列外部入口点


我将不胜感激任何建议.

问候

foreign-keys salesforce foreign-key-relationship apex-code

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

使用 apex 以编程方式将记录添加/发布到 salsforce 中的工作区/库

我创建了一个自定义的visualforce 页面。在控制器类中,我允许用户创建文件夹。

我希望当用户单击“确定”(自定义按钮)时,新文件夹将作为工作区中的记录发布,但我找不到如何操作。

任何帮助表示赞赏。

salesforce visualforce apex-code

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

如何使用外部ID工作?

upsert如何在Salesforce API中工作?

我相信它会检查它是否存在具有唯一ID的记录.在它可用的情况下,它会更新记录,否则创建记录.

它是否正确?

我收到以下错误

  Upsert failed. First exception on row 1; first error: DUPLICATE_EXTERNAL_ID, Asset Tag: more than one record found for external id field: [a11M0000000CwJqIAK, a11M0000000CwJvIAK]: [Asset_Tag__c]
Run Code Online (Sandbox Code Playgroud)

我有一个包含项目的列表,并且没有重复的Asset_Tag值.

 system.debug('LstItem Asset_Tag__c'+LstItem );
    upsert  LstItem Asset_Tag__c;
Run Code Online (Sandbox Code Playgroud)

从调试日志

   LstItem Asset_Tag__c(Item_c__c:{Scanned_By__c=005M0000000IlxyIAC, Asset_Tag__c=12149, Status__c=Active, Scan_Location__c=001M0000008GzJXIA0, Last_Scan_Date__c=2011-12-17 06:08:47}, Item_c__c:{Scanned_By__c=005M0000000IlxyIAC, Asset_Tag__c=23157, Status__c=Active, Scan_Location__c=001M0000008GzJXIA0, Last_Scan_Date__c=2011-12-17 08:26:14})
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决这个问题?

api salesforce apex-code

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

您可以在Salesforce.com中创建整数自定义字段吗?

我想在对象上创建一个整数自定义字段.我看到我可以创建一个"数字"的自定义字段,但似乎返回一个十进制类型.大多数情况下这很烦人,因为我计划将该字段用作整数,并且我在代码中使用它时,我必须将其转换为整数.其他任何字段类型似乎都不是很接近 - 唯一似乎拥有数字类型的其他字段类型是Currency.

我已将小数字段后面的数字调整为(3,0) - 小数点前三位数,小数点后面的零数字.它仍然返回小数.

甚至可以创建一个整数?每当我需要它时,它是否被视为"最佳实践"?

salesforce custom-fields apex-code

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

我们如何获得当月的第一天和最后一天

我们如何获得该月的第一天和该月的最后一天.我在顶级课上使用它.

我可以通过使用获得今天的日期

date.today()
Run Code Online (Sandbox Code Playgroud)

但是我怎么能得到这个月的第一天和最后一天.

谢谢

salesforce apex-code

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

插入前没有返回lead.Id的引导触发器

我有一个简单的触发器,它从引导对象中提取数据,并在创建或更新引导时将其放入自定义的"财务"对象中.由于某种原因,Trigger.new [i] .Id在触发器中返回NULL,在插入之前触发.

我疯了,因为我看不出为什么Id会为NULL的原因......这是我的代码:

trigger FinanceNew on Lead (before insert) {

Map<String,User> userList = new Map<String,User>{};

// Places each returned user into a map with their sfID as the key
for(User tmp : [SELECT Id,Name,Email,Phone FROM User]){
  userList.put(tmp.Id,tmp);
}

for(integer i = 0; i<Trigger.new.size(); i++){

    string leadName = null;

    if(Trigger.new[i].FirstName != ''){
        leadName = Trigger.new[i].FirstName + ' ' + Trigger.new[i].LastName;
    }else{
        leadName = Trigger.new[i].LastName;
    }

    User ownerInfo = userList.get(Trigger.new[i].OwnerId);

    ID leadId = Trigger.new[i].Id; // THIS IS RETURNING NULL!!

    Finance__c financeRecord …
Run Code Online (Sandbox Code Playgroud)

salesforce apex-code

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

Salesforce Apex中的MIXED_DML_OPERATION错误更新用户对象时触发

我在Contact对象上有一个触发器,当我尝试在此触发器中更新用户记录时,我得到以下异常:

"MIXED_DML_OPERATION,更新非安装对象后,不允许对安装对象进行DML操作(反之亦然):用户,原始对象:联系人"

触发代码:

trigger UpdateContactTrigger on Contact (after update) {

    User u = [SELECT Id, IsActive FROM User WHERE IsActive = true];

    u.IsActive = false;
    update u;

}
Run Code Online (Sandbox Code Playgroud)

从Contact触发器更新用户记录的字段时,如何避免此错误?

salesforce dml apex-code

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

我可以通过 apex 代码创建新的远程站点设置吗?

我得到了必须在运行时发送请求的端点。后来我想向这个端点发送一个 HTTP post 请求,所以我也必须在运行时创建一个远程站点设置。

有没有办法通过 apex 代码创建远程站点设置?

salesforce apex-code

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

Salesforce如何取消排队的Apex Future Jobs

我正在为之工作的组织在一个名为Cases.cls的类中调用一些代码的情况下触发了一个触发器.我修改了代码,但在尝试部署时,我不断收到错误:挂起或未来的调用.

自2010年以来,我发现了17个排队的未来工作!有一个文本在其旁边有"中止",我能够这样做,但我没有看到任何方法取消其余的.

我尝试通过开发人员控制台检索其中一个作业,并且成功了,但它不允许任何dml语句.

有谁知道如何删除排队的作业,以便我可以部署我的更改?

jobs future salesforce apex-code

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