Memos About Salesforce

Salesforceにハマってたこと!

SFDC VF側 クエリ操作

スキルアップと高単価案件ならフューチャリズム

こんにちは、管理人の@Salesforce.Zです。

たまにVF側でクエリしたいでしょうか

自分がこんな時あった

そこで、

今回、VF側でどうやってクエリできるか

について共有したいと思います。

欲しけりゃくれてやる・・・。

探せ!

この世の全てをそこに置いてきた〜笑



目次


サンプルコード

取引先詳細ページに下記VFを呼び出すボタン用意

f:id:jude2016:20180801122757p:plain

VFページ側
<apex:page standardController="Account" showHeader="false" sidebar="false">
    <head>
        <title>sforce connection query</title>
        // jsでクエリするため、AJAXが必要
        <script src="/soap/ajax/28.0/connection.js" type="text/javascript"></script>
    	<script src="/soap/ajax/28.0/apex.js" type="text/javascript"></script>
        <script type="text/javascript">
        	// セッションIDないとエラーなので、この行を記載しとくこと
        	sforce.connection.sessionId='{!GETSESSIONID()}';
        	//ボタン押下時にコールjs関数
        	function jsQuery() {
                // 例とする取引先のID
                var addId = '0017F00000asFFp';
                // クエリ文字列
            	var queryStr = "Select Id,Name From Account where Id = '" + addId + "'";
                // クエリ発行
                var result = sforce.connection.query(queryStr);
                // レコード取得
                var records = result.getArray("records");
                // クエリ結果捜査
                for (var i=0; i<records.length; i++) {
                    // 取引先名
                    var recordname = records[i].Name;
		    alert(recordname);                
                }
            }
        </script>
    </head>
       
    <apex:form >
    <apex:pageBlock id="button" title="test query">
        <apex:commandButton value="jsQuery" onClick="jsQuery();{return false;}"/>
    </apex:pageBlock>
        
    </apex:form>
</apex:page>

操作

1:任意取引先の詳細ページへ移動
2:詳細ページトップの実装したボタンJSQueryを押下
f:id:jude2016:20180801122952p:plain
3:ボタン押下後に出るVF画面にあるjsQueryボタンを押下

結果

f:id:jude2016:20180801132107p:plain