0

理由はわかりませんが、force.comサイトにアクセスして、送信する「調査」を更新しようとしても、私の機会は更新されていません。

データはページに正しく入力されますが、送信時に商談に送信されません。

これが私が使用しているコントローラーです:

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ページは次のとおりです。

     <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>

あなたが私を正しい方向に向けることができればそれは素晴らしいことです。

4

2 に答える 2

0

SF では、標準オブジェクト (アカウント、商談、リードなど) のレコードを編集または更新することはできません。データを保持するカスタム オブジェクトを作成し、標準オブジェクトのデータを更新するトリガーを作成する必要があります。

標準オブジェクトにのみ新しいレコードを挿入できます。

于 2013-04-17T16:59:15.973 に答える
0

サイトのプロファイルを確認します (サイト構成のボタンの 1 つの下にあります)。「ゲストユーザー」には商談を更新する権限がないのでしょうか?

クラス定義を次のように変更した場合に何か変更があるかどうかを確認してくださいpublic without sharing class OpptyCont- おそらく彼はこの特定のレコードを編集する権限を持っていませんか?

最後になりましたが、[設定] -> [監視] -> [デバッグ ログ] で、ボックスにサイト名を入力できます (「MySiteName ゲスト ユーザー」のような名前が見つかるはずです)。

于 2013-03-21T21:12:11.183 に答える