我无法在salesforce.com UI中找到可以在文件附件上添加触发器的位置.我几乎可以在其他所有东西上找到触发器,但是列表中似乎缺少附件(即使我在页面上查看源代码并进行搜索.有人知道我可以在哪里放置此触发器吗?
通常,当触发器运行时,我们检查用户具有哪种类型的配置文件,如果它是我们不希望触发器运行的类型,那么我们在运行任何其他代码之前退出触发器.
问题:我们安装了从其他公司购买的SF软件包,其所有代码对我们来说都是不可见的,并且不可编辑.除了通过UI手动禁用它们之外,我们如何阻止其中一些触发器运行?我想在运行测试类时暂时禁用它们.
正在考虑做这样的事情,但得到了一个错误,说"ApexTrigger上不允许使用DML".
ApexTrigger at = [select id from ApexTrigger where name='SomeTriggerName'];
at.status = 'Inactive';
update at;
Run Code Online (Sandbox Code Playgroud) 我有一个APEX课程,用于每天晚上7点发送电子邮件:
global class ReportBroadcaster implements Schedulable {
global ReportBroadcaster() {
}
global void execute(SchedulableContext sc) {
send();
}
global void send() {
PageReference page = new PageReference('/apex/nameofvfpage');
page.setRedirect(true);
Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
email.setSubject('Example Subject');
email.setHtmlBody(page.getContent().toString());
email.setToAddresses(new String[]{'test@test.com'});
Messaging.sendEmail(new Messaging.SingleEmailMessage[]{email});
}
}
当我通过匿名APEX通过ReportBroadcaster实例执行send()方法时,它按预期传递.但是,当我安排课程时,电子邮件将以空白正文发送.如果我将电子邮件正文切换为纯文本,它可以正常传送(但这对我不起作用).
我该如何工作?
更新:
你不能从调度的APEX或@future方法调用PageReference实例上的getContent()(我不确定为什么会这样,但它就是这样).我认为解决方案是创建一个我将从@future方法调用的Web服务.看起来令人难以置信的hacky,但我不确定我还能做些什么.
最终更新:这是如何从预定的APEX发送HTML电子邮件:
虽然这种方法很迂回,但它确实有效.
我想在运行时知道变量/属性的类.例如:
Integer i = 5;
//pseudo-code
if (i.className == 'Integer') {
System.debug('This is an integer.');
} else {
System.debug('This is not an integer, but a ' + i.className);
}
Run Code Online (Sandbox Code Playgroud)
我找不到在文档中返回类类型的方法/属性(假设它在那里).我错过了吗?
如果您导航到帐户/联系人/自定义对象,我们会有相关列表"相关内容"(如果启用了内容并且相关列表已添加到页面布局).
我的问题是存储了这些"相关内容"记录吗?在哪个对象?
使用apex我能够将文件上传到内容版本,但无法创建或找到存储"相关内容"信息的对象.
UPDATE
试图创建一个链接显示在帐户的"相关内容"部分,但没有成功.收到错误"插入失败.第0行出现第一个异常;第一个错误:FIELD_INTEGRITY_EXCEPTION,您无法通过api创建此类实体的链接:[LinkedEntityId]"
任何的想法?
ContentVersion cv = new ContentVersion(
versionData = EncodingUtil.Base64Decode(base64BlobValue),
Title = fileName,
PathOnClient = '/'+fileName,
FirstPublishLocationId = '058900000009KcL'
);
insert cv;
//fetch ContentDocumentId
cv = [Select Id,ContentDocumentId from ContentVersion where Id = :cv.Id];
insert new ContentDocumentLink(LinkedEntityId=parentId,ContentDocumentId=cv.ContentDocumentId,ShareType='V');
Run Code Online (Sandbox Code Playgroud)
**使用案例**
用例是允许用户直接从对象详细信息页面附加内容,例如说帐户将有按钮说"附加内容",这将带上传内容页面,一旦上传(我将创建内容版本记录 - 这种情况发生得很好,没有错误)然后我需要将上传的内容与帐户(来自哪个请求)相关联,即创建"相关内容"记录(这里我遇到困难,尝试创建contentdocumentlink记录,但它的错误输出).
用例只需一次点击就可以将内容附加到帐户或机会,而不是用户转到内容的长时间当前流程,首先在那里上传,然后返回到帐户/ opty并再次搜索内容,然后将其附加到帐户/联系人.
嗨,我正在尝试创建一个顶点休息服务,但得到错误Http*方法的无效类型:system.RestRequest
这是我收到此错误的函数.
@RestResource(urlMapping='/v.9/scorecard/*')
global with sharing class ScorecardRestSvc {
/**
* @date July 26, 2011
* @description Update a question answer.
* @return Map<String,String> - results and boolean success message
*/
@HttpPost
global Static Map<String,String> doPut(RestRequest req, RestResponse res) {
String answerId = req.requestURI.substring(req.requestURI.lastIndexOf('/')+1);
string updateResult = 'Waiting to run';
Map<String,String> returnMap = new Map<String,String>();
returnMap.put('Success','True');
// mark the participant as having no submission
if(req.params.containsKey('deleteSubmission') && req.params.get('deleteSubmission').toLowerCase() == 'true') {
markParticipantAsNoSubmission(req,res);
returnMap.put('Message','Participant marked as no submission.');
return returnMap;
}
try …Run Code Online (Sandbox Code Playgroud) 我想知道是否有一个顶点日期或日期时间函数来格式化日期/时间到ISO格式的时间戳"2007-04-05T12:30-02:00"或者这是否必须通过其他方式创建?
谢谢.
该公司最近发现需要在Visualforce/Apex中创建并排记录.我们通常需要将潜在客户合并到联系人中.以前这是在S-Controls处理的; 然而,最近的举措和希望在未来支持我们的代码,这促使我们将许多S-Controls转移到Visualforce页面和Apex代码中.
我们希望实现这样的目标:

我用apex:pageBlockTable标签做了一些尝试(运气不大); 但是,我不确定如何在需要单个SObject时获取两组数据.
我必须使用的所有先前代码都是使用JavaScript在S-Controls中完成的; 虽然这段代码现在可以正常工作 - 我们需要将它移植到VisualForce页面.显然我可以使用HTML表格等手动编写它,但我相信这会破坏使用Salesforce库存功能的目的.
我肯定对替代方法持开放态度 - 正如我所概述的那样,但需要几乎痛苦的编码才能使其可行(特别是在将来更新/删除/添加字段时).
我想在2行中显示apex:列标题.我的标题为"分布式总计"的列我希望以2行显示
<apex:column headerValue="Distributed Total$">
<apex:outputText value="${0, number, ###,##0.00}">
<apex:param value="{!item.Dtotal}"/>
</apex:outputText>
</apex:column>
Run Code Online (Sandbox Code Playgroud)
知道如何实现这一目标
谢谢
普拉迪普
我试图使用REST API从salesforce中的字段中获取所有选项列表值.有可能吗?如果它是如何做到的?
谢谢,
拉吉.
apex-code ×10
salesforce ×10
visualforce ×3
dml ×1
dynamic ×1
javascript ×1
jquery ×1
triggers ×1