Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
請求書バッチ実行のオートメーションの非同期への変換

請求書バッチ実行のオートメーションの非同期への変換

Billingオブジェクトの有効なフローとApexトリガーを識別し、請求書バッチの実行をスケジュールする前に非同期プロセスに変換します。同期オートメーションでは、実行が停止したり、請求書が [ドラフト処理中]、[転記処理中]、または [エラー] のままになることがあります。

必要なエディション

使用可能なインターフェース: Lightning Experience
使用可能なエディション: Revenue Cloud Advanced ライセンスまたは Revenue Cloud Billing ライセンスがある Enterprise Edition、Unlimited Edition、および Developer Edition
必要なユーザー権限
レコードトリガーフローを確認して変換する 「フローの管理」
Apex トリガーを表示する 「設定・定義の参照」
Apex トリガーを変換する 「Apex 開発」
行き詰まった請求書を復旧する

「請求管理者」権限セット

または

「請求業務ユーザー」権限セット

レコードトリガーフローまたは Apex トリガーは、請求書や請求書品目などのオブジェクトに関連付けられています。Flow Builder でそのオブジェクトのフローを定義して有効化します。「Apex の著者」権限を持つユーザーは、そのオブジェクトに対する Apex トリガーを定義して有効に設定します。これらの自動化はカスタムです。Billing では作成されません。「フローの有効化または無効化」および「Apex トリガーの定義」を参照してください。

請求書バッチの実行で請求書が生成されると、請求オブジェクトのレコードが作成または更新されます。これらのオブジェクトには、請求書、請求書品目、税金品目、デビットメモとクレジットメモ、請求スケジュール、請求期間品目が含まれます。Billing オブジェクトの有効なフローまたはトリガーは、請求書バッチの実行で保存されたすべてのレコードに対して実行されます。

同期自動化は、レコードの保存の一環として実行されます。請求書バッチの実行は、そのフローまたはトリガーが完了するまで請求書の保存を完了しません。オートメーションで請求書ごとに関連レコードを照会する場合、実行が処理制限に達したり、タイムアウトしたりする可能性があります。請求書は [ドラフト処理中]、[投稿処理中]、または [エラー] のままにできます。

非同期自動化は、請求書レコードが保存されるまで待機してから実行されます。一括処理の実行で請求書の生成を完了できます。請求書の保存中ではなく、フローまたはトリガーは引き続き実行されます。

  1. [設定] の [クイック検索] ボックスに「フロー」と入力し、[フロー] を選択します。
  2. これらの Billing オブジェクトの有効なレコードトリガーフローを確認します。
    • 請求書
    • 請求書品目
    • 請求書品目の税金
    • デビットメモ
    • デビットメモ品目
    • デビットメモ品目税
    • クレジットメモ
    • クレジットメモ品目
    • クレジットメモ品目税
    • 請求スケジュール
    • 請求期間項目
  3. [設定] から、[クイック検索] ボックスに「Apex トリガー」と入力し、[Apex トリガー] を選択します。
  4. 同じオブジェクトの有効なトリガーを確認します。
  5. SOQL を使用してオートメーションをリストするには、開発者コンソールクエリエディターを開きます。

    サンプルスクリプト:

    フロークエリで、[Use Tooling API] を選択します。Apex トリガー クエリの場合は、[Use Tooling API] をオフにしておきます。

    フロー:

    SELECT Id, IsActive, Label, ProcessType, ManageableState, TriggerObjectOrEventId, TriggerObjectOrEventLabel, TriggerType FROM FlowDefinitionView WHERE TriggerObjectOrEventId IN ('Invoice','InvoiceLine','DebitMemo','DebitMemoLine','CreditMemo','CreditMemoLine','InvoiceLineTax','DebitMemoLineTax','CreditMemoLineTax','BillingSchedule','BillingPeriodItem') AND IsActive = TRUE

    Apex トリガー:

    SELECT Id, TableEnumOrId, Name, Status FROM ApexTrigger WHERE TableEnumOrId IN ('Invoice','InvoiceLine','DebitMemo','DebitMemoLine','CreditMemo','CreditMemoLine','InvoiceLineTax','DebitMemoLineTax','CreditMemoLineTax','BillingSchedule','BillingPeriodItem') AND Status = 'Active'
  6. 保存後のレコードトリガーフローごとに、ロジックを [非同期で実行] パスに移動して、請求書の保存確定後に実行されるようにします。「トリガーフロー」を参照してください。
  7. Apexトリガーごとに、「Author Apex」権限を持つユーザーと協力して、ロジックをレコード保存外に移動します。保存の完了後に実行される変更イベントでキュー可能な Apex または Apex トリガーを使用します。「 Queueable Apex および Subscribe with Apex Triggers 」を参照してください。

オートメーションを変換したら、次の請求書バッチの実行をスケジュールします。「Generate Invoices Automatically Based on Billing Schedules」を参照してください。

以前の実行の請求書が [ドラフト処理中]、[転記処理中]、または [エラー] のままになっている場合は、請求書バッチの実行で [リカバリ] をクリックします。次に、請求書を再度生成します。

 
読み込み中
Salesforce Help | Article