1

Visualforce と Salesforce を使用するのは初めてなので、ご容赦ください...営業担当者が受け取った注文を文書化するために使用するフォームを複製して、visualforce ページを作成する方法を独学しています。いくつかの(おそらく)非常に基本的なことを行う方法を理解するのに非常に苦労しています。誰かが私を正しい方向に向けるのを手伝ってくれることを願っています. やりたいことの一部または類似のことを行う方法についての多くの指示を見つけましたが、探しているものではありません。この特定の目標を達成するために何をする必要があるかについて非常に混乱しています。仕事。

これが私がこれまでに行ったことです...

ユーザーが (User オブジェクトを使用して) 営業担当者を入力できるように、自分のページにルックアップ フィールドを設定しました。テキストボックスと検索ボタンが表示され、選択する担当者のドロップダウンボックスが表示されるだけでなく、なぜ私は混乱していますが、それはここでもそこでもないと思います...

<apex:page standardController="Order__c" extensions="OrderNewExtension">
<apex:actionRegion >
    <apex:inputField value="{!Order__c.User__c}" required="true" id="userID">
        <apex:actionSupport event="onchange" reRender="salesRepDetails" />
    </apex:inputField>
</apex:actionRegion>

<apex:outputPanel id="salesRepDetails" rendered="true">
    <table border="0" cellspacing="0" cellpadding="5" width="75%" style="border: 1px solid magenta;">
        <tr>
            <td colspan="2" width="50%">&nbsp;</td>
            <td><apex:outputLabel value="Phone: " for="repPhone" /></td>
            <td class="data">***Something needs to go here***</td>
        </tr>
        ...
    </table>
</apex:outputPanel>

私はこれで2つのことをしたいと思います -

1) ユーザーが営業担当者を選択した後、選択した担当者の電子メールと電話番号を表示します。2) (オプション) このフィールドに現在のユーザーの名前とデータを事前に入力しておきたいと思います。そうすれば、担当者を検索する必要があるのは、サポート スタッフの 1 人が何かを入力するときだけです。他の誰か。これは理にかなっていますか?

誰かが私を助けるために他に何が必要かはわかりませんが、ここでその情報を得ることが私の力の範囲内であれば、私はそうします.

4

2 に答える 2

4

あなたのコントローラー:

public with sharing class yourController
{
    // Defining objects
    public User selectedUser { get; set; }
    public Order__c order { get; set; }

    // Constructor where the user data will be pre-populated
    public yourController()
    {
        order = new Order__c();
        order.User__c = UserInfo.getUserId();
        selectedUser = [ Select Id, Email, Phone From User Where Id = :UserInfo.getUserId() ];
    }

    // Method for reading selected user data
    public pageReference readUser()
    {
        selectedUser = [ Select Id, Email, Phone From User Where Id = :order.User__c ];
        return null;
    } 
}

Visualforce ページ:

<apex:outputPanel id="userDetails">
    <apex:pageBlock>
        <apex:pageBlockSection columns="1">
            <apex:inputField value="{!order.User__c}">
                <apex:actionSupport event="onchange" action="{!readUser}" reRender="userDetails"/>
            </apex:inputField>
            <apex:outputField value="{!selectedUser.email}"/>
            <apex:outputField value="{!selectedUser.phone}"/>
        </apex:pageBlockSection>
    </apex:pageBlock>    
</apex:outputPanel>
于 2012-11-01T19:11:52.243 に答える
-2

予測ルックアップ フィールドのようなものが必要だと思います。http://tweaksalesforce.blogspot.in/2015/06/simple-lookup-field-with-drop-down-list.html?m=1に役立つものを作成しました

于 2015-06-15T20:23:05.497 に答える