标签: visualforce

将Salesforce VisualForce页面视为外部窗口小部件

我想将Salesforce VisualForce页面转换为我公司网站的小部件.我想使用服务器端代码和服务帐户访问小部件.我将在我的网页中缓存,设置和输出小部件html.我知道我可以用服务器端代码和几个API调用来重现小部件,但我喜欢能够在Salesforce中管理小部件并让小部件可以在Salesforce中的其他地方重用.

在这种情况下,小部件将报告我们在Salesforce中跟踪的竞赛中的当前领导者.我计划将这种方法重用于其他"迷你报告小部件".这是一个非常有用的模式.我相信那里的人已经优雅地解决了它.到目前为止,我的搜索空洞.

我试图避开网站,因为用户点击我们的公司网站在Salesforce中没有用户帐户(现在我正在考虑允许匿名访问的网站).

我的第一次尝试看起来像这样(受SSO到自助服务门户的启发):

var ws = new sfapi.SforceService();
var lr = ws.login(Secrets.salesforce_user_name, Secrets.salesforce_password);
string url = "https://na6.salesforce.com/apex/mywidget?sessionId=" + lr.sessionId;
Run Code Online (Sandbox Code Playgroud)

我也试过了?sid和?csssid,但是这些网址只是让我跳到Salesforce登录页面:

https://na6.salesforce.com/apex/mywidget?sessionId=00D3000000myorg!my-session-id-from-logging-in-with-the-api-8_i2fX_9wnYdwnwatGVuX6jGjmVmnv50j78yfGF1aKHdoDFtIx_J9
Run Code Online (Sandbox Code Playgroud)

我可以使用标准的屏幕抓取技术,使用用户名和密码发布到标准的Salesforce登录表单,然后拉/ apex/mywidget页面.但这感觉笨拙且没有支持.

现在我正在考虑制作一个公开可用的新网站来公开我的小部件.至少我可以放心地屏幕抓住那页.

任何帮助表示赞赏.我现在打算使用匿名网站方法.

screen-scraping salesforce visualforce apex-code

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

测试在Salesforce中返回PageReference的方法

我在控制器中有一个方法

    public PageReference add() {
              insert technology;
              return null;
            }
Run Code Online (Sandbox Code Playgroud)

technology 是一个自定义对象.它有自己的getter和setter.如何测试这个方法

testing salesforce force.com visualforce apex-code

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

VisualForce DateFormat - 如何显示Day

我试图在VisualForce中格式化日期,使它看起来像这样:

Tuesday 02/22/11
Run Code Online (Sandbox Code Playgroud)

我在stackoverflow上找到了这个引用:

如何在VisualForce中格式化日期?

但我无法确定格式字符串中的内容.

我尝试使用e这里引用的:

http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html

但是当我这样做时:

<apex:outputText value="{0,date,MM'/'e'/'yy}">
        <apex:param value="{!od.PriceBookEntry.Product2.Start__c}" /> 
</apex:outputText>
Run Code Online (Sandbox Code Playgroud)

我收到一个保存错误:

保存错误:日期格式模式无效


<apex:outputText value="{0,date,EEE MM'/'yy}">
    <apex:param value="{!od.PriceBookEntry.Product2.Start__c}" /> 
</apex:outputText>
Run Code Online (Sandbox Code Playgroud)

datetime salesforce datetime-format visualforce apex-code

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

如何从Visualforce页面调用JavaScript?

我已将JavaScript文件存储到Salesforce的Static Resources中.但我不能从Visualfroce调用那些javascript文件.请给我任何解决方案如何从visualforce调用这些javascript文件.

谢谢

salesforce visualforce

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

我可以在salesforce中拥有包含多种数据类型的列表

我有一个字符串List time1的值(00:00 AM,00:30 AM,01:00 AM,01:30 AM ...........所以一直到晚上11:30)

我还有一个自定义对象预约_c的列表appList.

此列表仅包含设定约会的记录

即如果预约设定为上午8点至上午8点30分和上午10点至上午11点,则只能保留这2条记录

我需要创建一个网格或表来显示从凌晨00:00到晚上11:30的当天约会.

我需要读通在该时间点的每一行,并检查是否有相应匹配的APPLIST那个时候,如果发现的话,我需要显示从APPLIST细节否则它应该显示对时间自由.我还需要将它存储在列表中,以便我可以在VF页面中使用它.我该怎么定义这个清单?我可以将列表存储在一列中,并在其他列中包含约会对象列表

有没有更好的方法来接近这个?

salesforce visualforce apex-code

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

QueryString中的QueryString

我想做类似下面的事情:

<form action=www.domain.com?retURL=www.domain2.com?parameter=a method="POST">
Run Code Online (Sandbox Code Playgroud)

但这是不可能的.

我想要做的是我有一个联系我们表格.当用户点击提交到此表单时,它会被重定向到一个页面(我在此页面中无法控制 - domain.com),该页面提交此数据,然后将其重定向到retURL(我在此页面中有控制权).在这个retURL中,我想显示提交的数据.

我怎样才能做到这一点?

长话短说,我正在为SalesForce做一个感谢页面.

我非常感谢你的推荐.

html salesforce visualforce apex-code

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

Salesforce(Visualforce):重新渲染 - 从页面中提取值,而不是记录?

我在这里坚持我的渲染论点 - 我非常积极地从记录本身而不是从visualforce页面中提取值.当我将值(are_you_kp__c)从记录更改为"否"时 - 页面块部分应该呈现,但由于某种原因它不会.有人知道为什么吗?

我想我需要一些控制器工作 - 但不知道从哪里开始......

<apex:pageBlock title="New Bid" mode="maindetail" tabStyle="Proposal__c">
    <apex:messages/>
    <apex:actionRegion>
    <apex:pageBlockSection columns="2" title="Bid Information" collapsible="false" showHeader="true">
        <apex:inputField value="{!rfp.Bid_Amount__c}"/>
        <apex:outputField value="{!rfp.Bid_Date__c}"/>
        <apex:inputField value="{!rfp.Bid_Deliver_By__c}"/>
        <apex:inputField value="{!rfp.Bid_Comments__c}"/>
        <apex:pageBlockSectionItem>
               <apex:outputLabel value="Are you the Key Appraiser?"/>
               <apex:outputPanel>             
                   <apex:inputField value="{!rfp.are_you_kp__c}" required="true">
                       <apex:actionSupport status="StatusChange" event="onchange" rerender="PageErrors, appraiserInfo"/>
                       <apex:actionStatus startText="Updating page ..." id="StatusChange"/>
                   </apex:inputField>  
               </apex:outputPanel>
        </apex:pageBlockSectionItem> 
    </apex:pageBlockSection>
    </apex:actionRegion>
    <apex:pageBlockSection title="Testing" columns="2" rendered="{!rfp.are_you_kp__c == 'No'}" id="appraiserInfo">
        <apex:pageBlockSectionItem>
            <apex:outputLabel value="Single Point of Contact" for="spoc"/>
                <apex:selectList id="spoc" value="{!rfp.SPOCL__c}" size="1" title="Single Point of Contact Select">
                    <apex:selectOptions value="{!SPOCS}"></apex:selectOptions> …
Run Code Online (Sandbox Code Playgroud)

salesforce visualforce rerender

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

从visualforce页面获取javascript中的表单字段值

我有需要检查是否需要检查apex:inputCheckbox是否被检查,如果没有,则提出一个警告,说明它未被检查.

 <apex:inputCheckbox value="{!check}"/>
Run Code Online (Sandbox Code Playgroud)

我正在从java脚本中提出警报.警报提出后,我正在使用actionfunction来调用apex方法.

我需要的是一种检查是否在javascript中选中复选框的方法

谢谢

Prady

salesforce visualforce

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

当在String中遇到换行符时,Javascript无法在Visual Force页面上运行

所以我注意到我的VisualForce页面上的一段Javascript在某些情况下正在运行,而在其他情况下却没有.JS正在从我们拥有的一个自定义对象的textArea字段上执行一些操作.我意识到只要textArea字段中有一个新的行或回车字符(\n和\ r),JS就会破坏.

所以我最终在页面控制器中使用了replaceAll()方法,并在页面加载时从该textArea字段中删除了所有这些字符.当它到达JS时,它是一个合法的字符串.

在VF PAGE上:

<script language="JavaScript">
function someFunction() {
    var leftOver = 220;           

    if('{!shippingAddress.Delivery_Requirements__c}'.length > 0){
        leftOver -= '{!shippingAddress.Delivery_Requirements__c}'.length;
    }                                             
}            
</script>
Run Code Online (Sandbox Code Playgroud)

在控制器中:

//a fix for the text area field - '\n' and '\r' breaks JS on the VF page        
shippingAddress.Delivery_Requirements__c = shippingAddress.Delivery_Requirements__c.replaceAll('\r\n', ' ');
Run Code Online (Sandbox Code Playgroud)

发布此信息是为了遇到JS工作某些记录而不是其他人的人.

如果您对它破裂的原因有所了解,请告诉我们.

javascript salesforce visualforce

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

Salesforce:使用SOQL强制执行安全性并限制记录访问权限是一个好主意吗?

这更像是一个最佳实践问题.我们的组织目前对我们的自定义对象的组织默认值具有"公共读取"权限.我们不能把这个私有化,因为它现在为内部员工工作的方式,或者我们试图避免这种情况.

我还创建了一个带有自定义可视化强制页面的客户门户...我使用SOQL查询显示数据.

在SOQL查询上添加一个子句以仅返回帐户ID与登录用户的帐户ID匹配的记录是一个好主意吗?

我做到了,它工作得很好......但是我忽略了这种方法的任何陷阱吗?

谢谢你,凯文

salesforce visualforce apex-code

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