首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Force.com站点更新商机

通过Force.com站点更新商机
EN

Stack Overflow用户
提问于 2013-03-21 22:39:16
回答 2查看 1.2K关注 0票数 0

我不知道为什么,但当我转到force.com站点并尝试更新我们发送的“调查”时,它没有更新我的机会。

在页面上正确填充的数据不会在提交时发送到opportunity。

下面是我使用的控制器:

代码语言:javascript
复制
public class OpptyCont {
public Opportunity opportunity{ get
        {
        opportunity = [SELECT Id, Name ,X1__c,X2__c,X3__c,X4__c,X5__c,X6__c,X7__c,X8__c,X9__c FROM Opportunity
                WHERE Id = :ApexPages.currentPage().getParameters().get('Id')];
        return opportunity;
        }
             set;
    } 

    public OpptyCont() {
    }


     public PageReference save() {
     try{
           update opportunity;
        }catch(System.DMLException e) {
            ApexPages.addMessages(e);
            return null;
        }
        return null;
    }

}

这是Apex页面:

代码语言:javascript
复制
     <apex:page Controller="OpptyCont" showHeader="false" sidebar="false">

       <apex:pageBlock title="Survey Questions for {!Opportunity.Name}">
      <b>Please fill out the following Questions:</b>
       </apex:pageBlock>
    <apex:form >
    <br></br>
    <b>1.</b><apex:outputField value="{!Opportunity.X1__c}"/>
    <br></br>
    <br></br>
    <apex:inputTextarea label="{!Opportunity.X1__c}" value="{!Opportunity.X1__c}" id="X1__c" style="width:80%" />
    <br></br>
    <br></br>
   <b> 2.</b><apex:outputField value="{!Opportunity.X2__c}"/><br></br>
    <apex:inputTextarea label="{!Opportunity.X2__c}" value="{!Opportunity.X2__c}"    id="X2__c" style="width:80%" />
   <br></br>
   <br></br>
    <b>3.</b><apex:outputField value="{!Opportunity.X3__c}"/><br></br>
    <apex:inputTextarea label="{!Opportunity.X3__c}" value="{!Opportunity.X3__c}" id="X3__c" style="width:80%" />
   <br></br>
   <br></br>
    <b>4.</b><apex:outputField value="{!Opportunity.X4__c}"/><br></br>
    <apex:inputTextarea label="{!Opportunity.X4__c}" value="{!Opportunity.X4__c}"    id="X4__c" style="width:80%" />
   <br></br>
   <br></br>
    <b>5.</b><apex:outputField value="{!Opportunity.X5__c}"/><br></br>
    <apex:inputTextarea label="{!Opportunity.X5__c}" value="{!Opportunity.X5__c}" id="X5__c" style="width:80%" />
   <br></br>
   <br></br>
    <b>6.</b><apex:outputField value="{!Opportunity.X6__c}"/><br></br>
    <apex:inputTextarea label="{!Opportunity.X6__c}" value="{!Opportunity.X6__c}" id="X6__c" style="width:80%" />
   <br></br>
   <br></br>
    <b>7.</b><apex:outputField value="{!Opportunity.X7__c}"/><br></br>
    <apex:inputTextarea label="{!Opportunity.X7__c}" value="{!Opportunity.X7__c}" id="X7__c" style="width:80%" />
    <br></br>
    <br></br>
     <b>8.</b><apex:outputField value="{!Opportunity.X8__c}"/><br></br>
     <apex:inputTextarea label="{!Opportunity.X8__c}" id="X8__c" style="width:80%" />

    <br></br>
    <br></br>
    <apex:commandButton value="Submit" action="{!save}" />
    </apex:form>
    </apex:page>

如果你能给我指出正确的方向,那就太好了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-18 00:59:16

SF不允许您编辑或更新标准对象(客户、商机、销售线索等)上的记录。您需要创建一个保存数据的自定义对象,并创建一个更新标准对象上的数据的触发器。

只能在标准对象上插入新记录。

票数 0
EN

Stack Overflow用户

发布于 2013-03-22 05:12:11

检查站点的配置文件(在站点配置中的一个按钮下可用)。也许“访客用户”没有更新商机的权限?

如果您将类定义修改为public without sharing class OpptyCont,检查是否有任何变化-也许他没有编辑此特定记录的权限?

最后但并非最不重要-在设置->监控->调试日志中,您可以将您的站点名称放在框中(它应该会找到类似于"MySiteName访客用户“的内容),这应该有助于跟踪正在发生的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15550536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档