Salesforceのリストビューからフローで帳票作成+商談更新を一括実行する(OFC Ver.2用) – Office File Creator応用編 –

今回、リストビューから選択したレコードの帳票作成+商談更新をフローで一括実行する手順をご紹介します。Office File Creatorは、画面フローに組み込むことが可能です。

※本手順はOffice File Creator Ver.2用です。Ver.1をご利用の場合は、Salesforceのリストビューからフローで帳票作成+商談更新を一括実行する(OFC Ver.1用) – Office File Creator応用編 –を参照してください。

 

完成イメージ

リストビューよりレコードを選択後、「帳票一括作成」ボタンをクリックでフロー実行画面が表示され、フローを実行すると帳票作成と商談更新が一括で実行されます。

 

デモ

 

 

 

フロー作成のポイント

  • リストビューから選択したレコードIdをフローで受け取るパラメータは、「ids」です。フローでテキスト型の変数「ids」、コレクション変数をチェックオンで作成します。他の変数名はリストビューからレコードIdを受け取ることができません。
  • Office File Creatorでの帳票出力は、ofcForFlowScreenコンポーネントを画面フローに配置します。ofcFowFlowScreenコンポーネントの処理終了後、成功Idリスト、エラーIdリスト、エラーメッセージなどの結果を返します。
  • ofcForFlowScreenコンポーネントのパラメータ、戻り値の詳細は、設定マニュアルを参照してください。

 

 

フロー処理概要

作成するフローの全体像です。

1. レコード選択有無判定

リストビューから選択されたレコードの有無を判定します。レコード有りの場合、2の処理へ進みます。無しの場合、1eの処理へ進みます。

1e. エラー画面(レコード選択無し)

レコードが選択されていないメッセージを表示する終了画面を表示し、フローを終了します。

2. 合計件数セット

リストビューから選択されたレコード数の合計件数を変数にセットします。

3. トップ画面

実行確認メッセージを表示し、「次へ」ボタンをクリックでOfcForFlowScreenコンポーネントより帳票を出力します。

4. 請求書出力日更新

OFCの結果が成功のレコードに対して、商談の請求書出力日に今日の日付で更新します。

5. 完了画面

完了メッセージを表示します。帳票出力でエラーがあった場合、エラーメッセージも表示します。

 

フロー作成

それでは、フローを作成していきましょう。設定よりフローを開き、「新規フロー」ボタンをクリックします。

 

「画面フロー」を選択し、「作成」ボタンをクリックします。

 

 

変数作成

まず、フローで使用する変数を作ります。作成する変数の一覧です。

変数名 説明
ids リストビューで選択されたレコードIdリスト
varTotalIdsCount 合計レコード件数

 

画面左上の「ツールボックスを切替」ボタンをクリックし、「新規リソース」ボタンをクリックします。

 

idsコレクション変数

レコードIdの変数を作成します。設定後、「完了」ボタンをクリックします。

リソース種別: 変数

API参照名: ids

説明: リストビューで選択されたレコードIdリスト

データ型: テキスト

複数の値を許可 (コレクション): チェックオン

入力で使用可能: チェックオン

idsはリストビューからのレコードIdを受け取る変数です。"ids"(すべて小文字)で設定してください。他の変数名はリストビューからのレコードIdを受け取ることができません。

 

varTotalIdsCount変数

合計レコード件数の変数を作成します。設定後、「完了」ボタンをクリックします。

リソース種別: 変数

API参照名: varTotalIdsCount

説明: 合計レコード件数

データ型: 数値

小数点の位置: 0

 

最初にフローを一度保存しておきます。「保存」ボタンをクリックします。

 

任意の名前で保存します。ここでは以下で保存しています。

フローの表示ラベル: 帳票一括出力画面フロー

フローのAPI参照名: OFC_MassOutputInvoiceScreenFlow

説明: 商談のリストビューから帳票出力

 

 

 

1. レコード選択有無判定

「画面フロー」の下の「+」マークをクリックします。

 

「決定」を選択します。

 

プロパティを設定します。

表示ラベル: レコード選択有無判定

API参照名: DecSelectedRecordExists

[結果の詳細] セクション

表示ラベル: 無し

結果のAPI参照名: decSelectedRecordExists_No

結果を実行する条件の要件: すべての条件に一致 (AND)

リソース: {!ids}

演算子: null

: {!$GlobalConstant.True}

※変数{!ids}をリソースより選択します。以降も同様に、{!XXX}の形式の設定は、リソースから選択します。

 

左サイドバーの「デフォルトの結果」をクリックします。

 

プロパティを設定後、「完了」ボタンをクリックします。

[結果の詳細] セクション

表示ラベル: 有り

 

 

1e. エラー画面(レコード選択無し)

「無し」の下の「+」マークをクリックし、「画面」を選択します。

 

プロパティを設定します。

表示ラベル: エラー画面(レコード選択無し)

API参照名: ErrorScreen_NoRecord

 

左のコンポーネント内の「表示テキスト」をクリックし、プロパティを設定します。

API参照名: dispNoRecordMsg

テキスト:

レコードが選択されていません。

1件以上のレコードを選択後、実行してください。

 

エラー画面(レコード選択無し)の下の「+」マークをクリックし、「終了」を選択します。

 

フローが2つに分岐されます。

 

 

2. 合計件数セット

「有り」の下の「+」マークをクリックし、「割り当て」を選択します。

 

プロパティを設定します。

表示ラベル: 合計件数セット

API参照名: SetTotalIdsCount

変数: {!varTotalIdsCount}

演算子: 次の数と一致する

: {!ids}

 

 

3. トップ画面

「合計件数セット」の下の「+」マークをクリックし、「画面」を選択します。

 

画面のプロパティを設定します。

表示ラベル: トップ画面

API参照名: TopScreen

フッターを表示: チェックオフ

 

左のコンポーネント内の「表示テキスト」をクリックし、プロパティを設定します。

API参照名: dispConfirmMsg

テキスト:

{!varTotalIdsCount} 件の帳票を作成します。

よろしいですか?

 

左のコンポーネントより、「ofcForFlowScreen」をクリックし、プロパティを設定します。設定後、「完了」ボタンをクリックします。

API参照名: OFC

recordId List: {!ids}

save: 空欄 ※ファイルに保存する場合は、fileまたはattを入力します。

template: OpportunityInvoice ※OFC_TemplateレコードのテンプレートApi名を入力します。

 

 

4. 請求書出力日更新

トップ画面の下の「+」マークをクリックし、「レコードを更新」を選択します。

 

各種プロパティを設定します。

表示ラベル: 請求書出力日更新

API参照名: UpdateBillOutputDate

更新するレコードを検索してその値を設定する方法: 「レコードを識別する条件を指定し、項目を個別に設定」にチェックオン

[このオブジェクト種別のレコードを更新] セクション

オブジェクト: 商談

[商談レコードを絞り込み] セクション

レコードを更新する条件の要件: すべての条件に一致 (AND)

項目: Id

演算子: 次に含まれる

: {!OFC.successIdList}

[商談の項目値をレコードに設定] セクション

項目: BillOutputDate__c

: {!$Flow.CurrentDate}

※商談に請求書出力日(API名:BillOutputDate__c)のカスタム項目(日付型)を作成しています。

 

 

5. 完了画面

「請求書出力日更新」の下の「+」マークをクリックし、「画面」を選択します。

 

プロパティを設定します。

表示ラベル: 完了画面

API参照名: CompletedScreen

 

左のコンポーネント内の「表示テキスト」をクリックし、プロパティを設定します。

API参照名: dispCompletedMsg

テキスト:

完了しました。

実行件数: {!OFC.totalCount}

成功件数: {!OFC.successCount}

エラー件数: {!OFC.errorCount}

 

左のコンポーネント内の「表示テキスト」をクリックし、プロパティを設定します。

API参照名: dispErrorMsg

テキスト:

エラーが発生しました。

{!OFC.errorMessages}​

※文字色は、カラーパレットより赤に設定します。

OFC.errorMessageではなくOFC.errorMessagesを選択してください。

 

「コンポーネントの表示を設定」をクリックし、条件を設定します。

コンポーネントを表示するタイミング: すべての条件に一致 (AND)

リソース: {!OFC.errorMessages}

演算子: 次の文字列と一致しない

: {!$GlobalConstant.EmptyString}

 

これでフローは完成です。

 

「保存」ボタンをクリックします。

 

 

フローをデバッグ

「デバッグ」ボタンをクリックします。

 

以下のように表示され、デバッグ時にレコードIdの入力欄がありません。レコードが選択されていない状態でのテストとのみとなります。

まずは、レコードが選択されていない状態をテストします。実行ボタンをクリックします。

 

「レコードが選択されていません。」のエラーメッセージが表示されます。

 

次に、デバッグ時のみ、デバッグ用のレコードIdids変数に割り当てます。「開始フロー」の下の「+」マークをクリックし、「割り当て」を選択します。

※この割り当ては、デバッグ完了後に削除します。

 

プロパティを設定します。

表示ラベル: デバッグ用Idセット

API参照名: SetIdsForDebug

変数: {!ids}

演算子: 追加

: ※テスト用の商談レコードIdをセットします。

例では、商談レコードId2件追加します。

 

「開始フロー」の下に「デバッグ用Idセット」が追加されていることを確認します。

 

「保存」ボタンをクリック後、「デバッグ」ボタンをクリックします。

 

「実行」ボタンをクリックします。

 

「次へ」ボタンをクリックします。

 

ファイルが出力されることを確認します。また、レコード詳細画面より、請求書出力日が更新されていることを確認します。

 

次に、エラー有りの場合をテストします。フロー編集画面に戻り、「デバッグ用Idセット」をクリックし、存在しないレコードIdを追加します。

演算子: 追加

: ※存在しない商談IdのレコードIdをセットします。

例では、存在しない商談レコードId3件追加します。

 

「保存」ボタンをクリック後、「デバッグ」ボタンをクリックします。

 

「実行」ボタンをクリックします。

 

「次へ」ボタンをクリックします。

 

エラーメッセージが3件表示されることを確認します。

 

デバッグ完了後、「デバッグ用Idセット」をクリックします。

 

「要素を削除」をクリックします。

 

削除されたことを確認します。

 

「保存」ボタンをクリック後、「有効化」ボタンをクリックします。フロー画面を閉じます。

 

 

カスタムボタン作成

リストビューに配置する帳票出力用のカスタムボタンを作成します。

設定のオブジェクトマネージャより、対象のオブジェクトを開きます。左サイドバーの「ボタン、リンク、およびアクション」をクリックし、「新規ボタンまたはリンク」ボタンをクリックします。

 

各種設定を入力します。

表示ラベル: 帳票一括出力

名前: MassOutputInvoiceFlow

表示の種類: リストボタン

チェックボックスの表示(複数レコード選択用): チェックオン

動作: 現在のウィンドウにサイドバー付きで表示

コンテンツソース: URL

URL: /flow/フローAPI名?retURL=/Object Prefix?fcf=filterId

*retURLは、フロー完了後、リストビュー画面へ遷移するURLです。

*Object Prefixは、対象オブジェクトのレコードIDの先頭3桁です。

*filterIdは、リストビュー画面のURLの「filterName=」の後ろのIdです。

 

例では、以下をセットしています。

/flow/OFC_MassOutputInvoiceScreenFlow?retURL=/006?fcf=00B5g00000nJvrCEAS

 

左サイドバーの「リストビューボタンレイアウト」をクリックし、「▼」より「編集」をクリックします。

 

作成したボタンを「選択したボタン」へ移動し、「保存」ボタンをクリックします。

 

 

フローを実行

リストビューよりレコードを選択し、「帳票一括出力」ボタンをクリックします。

 

「次へ」ボタンをクリックします。

 

順次ファイルが出力されます。

 

「完了」ボタンをクリックで、リストビュー画面へ遷移します。

 

請求書出力日が更新されています。

 

 

参考

画面フローで使用

 

タイトルとURLをコピーしました