Labyrinth of Wisdom

-This is My Archive-


Salesforce

【Apex】複数条件での検索 (動的SOQL)

複数の入力フォームに値を入力し、その値を検索条件として値を取得するコードのサンプルです。 例えば下記の様なフォームがあるとします。 検索 このフォームの場合、レコードの検索条件としては下記の4パターンが考えられます。 ・名前も年齢も入力されてい…

【Visualforce】入力フォームの行追加と行削除サンプル

Visualforceでの行追加・削除機能のサンプルです。 結構色んな要素を使ってて思ったよりもややこしかったので、忘れないうちにメモします。 行追加 これは思ってたよりも簡単に実装できます。 Accountのリスト型変数accountListを作成して、コンストラクタで…

【Visualforce】renderedを使用した表示・非表示の判定

Visualforceで、ある条件の時に表示非表示にする機能、つまりVisualforce内でIf文みたいなものが出来ないか調べたのでメモ。 結論としてはoutputPanelタグのrendered属性を利用すればできました。renderedがtrueなら表示、falseなら非表示になります。(デフ…

【Apex】SOQL文での集計関数

SOQLで集計関数を使用する際に調べたことをメモしていきます。 今回の記事の説明用に下記のサンプルデータを使って例を記載していきます。 売上日/SalesDate 名前/Name 年齢/Age 性別/Gender 売上/Sales 2016-08-01 Tom 26 男性 280,000 2016-08-04 Mary 28 …

【Apex】レコードタイプのIDをSOQLで取得する

オブジェクトのレコードタイプのIDを取得したい時があったので、その時に調べたことをメモします。 レコードタイプはレコードタイプオブジェクトの中にあるレコードなので、そこからSOQLで引っ張ってくるような文を書きます。 下記のサンプルコードはContact…

メールアドレス不達フラグによるメール送信エラー

以前仕事でメール送信のタイマーセット機能を実装したんですが、セットした時間になっても送信されなかったことがあり、その時に色々調べたことをメモします。 過去にApexでメール送信機能(SingleEmail)についての記事を書きました。 この時に送信対象者の中…

レコードへのアクセス制限について(随時更新)

Salesforceのレコードへのアクセス制限がややこしかったので、使った範囲でメモしていきます。 新しいことが分かったら随時更新していくと思います。 プロファイル ユーザーの管理 > プロファイル 各オブジェクトへのアクセスを制限することができます。(下…

リードの取引開始時に取引先責任者でレコードタイプを引き継ぐ

リードオブジェクトのレコードタイプを、取引開始後の取引先責任者でも引き継ぎたくて下記の記事を参考にプロセスビルダーを触っていました。 www.systemforest.com この記事の中で「18桁のレコードタイプIDを指定する」的なことが書いてあるんですけど、通…

【Apex】取引開始をまとめて行う方法

Apexを使用して、リードから取引先責任者への移行(取引開始)をまとめて行うクラスのサンプルを作ってみました。 ただfor文の中でSOQL使用していたりするので、ガバナ制限には気を付けなければいけません。そこは注意してください。 // 取引開始メソッド publ…

Web To リード(ケース)でレコードタイプを指定する

Web To リード(ケース)で生成したフォームからレコードタイプも同時に指定したいな、と思って調べたのでメモ。 Web to リード(ケース)で生成したHTMLに下記のコードを入れてやると指定できます。 フォームの生成方法は過去記事を参照。特にSandBox環境の人は…

データ型「複数選択リスト」をWeb To リード(ケース)のフォームでチェックボックス表示

Salesforceにおいて、オブジェクトの項目タイプに複数選択リストというのがありますが、これをHTML上でチェックボックスで表現したい場合のメモ。 事前準備 Web ToリードのHTML生成方法は過去記事をチェックしてください。 複数選択リスト Web To リードでHT…

リストビューに「レコードを複数選択して削除するボタン」を追加する

はじめに Salesforceのリストビュー画面で、選択した複数のレコードを削除するボタンのサンプルを書きます。 標準だと一つづつレコードを消していくか全部消すしかないので、これがあると便利です。 オブジェクトの種類でアクセスする場所が違うので気を付け…

ワークフロー機能ざっくりまとめ

はじめに Salesforceのワークフローは使いこなせればとても便利な機能です。 プログラミングもしなくてもレコードの値を自動で変えたり、アラートメールを送ったりできるので、色んな使用方法が考えられます。 ただ設定方法がいまいち分かりにくいと思ったの…

【Apex】スケジュールを操作する

Apexコードを使ってスケジュールの作成・削除を行うことが出来ます。 これらを使えば、特定のクラスが呼び出された後にスケジュールをセットしたり削除したりすることが出来ます。 サンプルコード CreateScheduleクラスを呼び出すと、ジョブ名「3時のおやつ…

【Apex】クラス呼び出し後の画面遷移 (PageReference型の使い方)

クラス呼び出し後の画面遷移の仕方がよくわからなかったので調べてみました。 サンプルコードを使って、PageReference型の簡単な使い方を解説します。 VisualForceページ_Page1 コントローラにJumpTestを指定し、ボタンでjumpメソッドを呼び出します。 <apex:page controller="JumpTest"> <h1>ここ</h1></apex:page>…

Google Chromeでレポート作成がうまくできなかった話

なかなか同じ状態の人はいないと思うのですが、SalesForceのレポート作成が出来ない現象が起こりハマってしまったのでメモ。 すべてのタブ>レポート にアクセスしてレポートを作成しようと思ったら、ページ左部のフォルダの部分が延々とダウンロード中で、先…

【Apex】DB操作を取り消す方法(ロールバック)

データベースへの更新を取り消すロールバックをApexで実装したかったので、調べた結果をまとめたいと思います。 ついでにその際に起こった欠番現象にも少し触れています。 サンプルコード 複数のオブジェクトを更新するサンプルコード。 try文で一つでもDmlE…

【Apex】メール送信機能 (SingleEmail)

はじめに 仕事で触る機会があったので、Apexコードを使用したメール機能のサンプルを記事にしたいと思います。 ワークフロー機能等では出来ない複雑な条件時のメール送信も、ApexトリガやApexスケジュールなどと併用することで可能になります。 ※今回紹介し…

Sandbox環境時にWeb to リードでレコードが登録できない問題

設定 > カスタマイズ > リード > Web-to-リード >Web-to-リードフォームの作成 リードオブジェクトに登録したい情報を選択済みの項目に入れていきます 戻りURLにフォームの送信ボタンを押した後に遷移するページのURLを入れます 作成ボタンを押すとHTMLコー…

Sales Force Developersにカスタムアプリケーションを設定する方法

はじめに Sales Force Developersを触る機会があったんですが、用語やカスタムオブジェクトの設定方法が独特というかとてもとっつきにくい印象がありまして、理解に時間がかかったのでここにまとめようと思います。 間違っていたりする部分もあるかもしれま…