Accel-Mart Quick チュートリアルガイド 第14版 2023-02-08

9.2. ワークフローの承認時にクラウドサインで契約書類を作成し、送信する

後処理の業務ロジックを利用してクラウドサイン上で契約書類を作成し、送信する方法を解説します。
このチュートリアルでは、クラウドサインに登録したテンプレートを使用して書類を作成します。
契約書類の会社名・住所の項目にはワークフローで入力した内容を自動で反映し、作成された書類はワークフローで指定した宛先に送信します。

9.2.1. 事前準備

  1. クラウドサインの設定」の手順に従ってクライアントIDを発行してください。

  2. クラウドサイン連携設定を行う」の手順に従ってクラウドサイン連携設定を行ってください。

    コラム

    「Accel-Mart Quick システム管理者」ロールを持つユーザで実施してください。

9.2.2. クラウドサインでテンプレートを作成する

クラウドサイン上で書類のテンプレートを作成します。
このチュートリアルで作成する業務ロジックでは、ここで作成するテンプレートを使用して契約書類を作成します。

コラム

  1. 管理画面から「テンプレートの新規作成」ボタンをクリックします。

    ../../_images/send_contract_using_cloudsign_1.png
    図:テンプレートの新規作成
  2. PDFファイルをアップロードします。
    本チュートリアルでは、以下のPDFファイルを使用しています。
  3. 宛先「受信者_1」を追加します。
    宛先の情報はこの後作成する業務ロジックで設定するため、ここでは設定しません。
  4. 入力項目を追加します。
    本チュートリアルでは、「契約者」の項目を受信者に記入させたいため、「フリーテキスト」の入力項目を追加します。
    ../../_images/send_contract_using_cloudsign_2.png
    図:「テンプレート:入力項目の編集」
  5. 追加した入力項目を「受信者_1」に割り当てます。

    コラム

    「会社名」・「住所」の項目は、この後作成する業務ロジックで送信者側の入力項目として追加します。
    ここでは入力項目の設定は不要ですが、入力項目を配置しておくと、業務ロジックで入力項目の座標を指定する際の目安にできます。
    (その場合、「会社名」・「住所」の入力項目は後ほど削除する必要があります。)
  6. 「編集終了」ボタンをクリックします。

  7. テンプレートが作成できました。

  8. 作成したテンプレートをクリックして「テンプレート概要」画面を開きます。

  9. 業務ロジック作成時に使用するため、テンプレートIDを控えておきます。
    テンプレートIDは、URLの template/ に続く文字列です。
    • template/<テンプレートID>/summary
  10. これで、テンプレートの準備は完了です。

9.2.3. ワークフローの作成

「Accel-Mart Quick ワークフロー管理者」ロールを持つユーザでワークフローを作成します。
テンプレートを利用せずに簡単なフォームを作成する」を参考に、ワークフローを作成してください。
作成するルート定義とフォームは以下の通りです。
../../_images/send_contract_using_cloudsign_3.png
図:作成するルート定義
ノード名 処理対象者
申請 Accel-Mart Quick ワークフロー管理者
承認1 申請者
承認2 申請者
../../_images/send_contract_using_cloudsign_4.png
図:作成するフォーム
ラベル・フィールド識別名 フィールド識別ID アイテム名
契約者名 name 文字列
会社名 company_name 文字列
住所 address 文字列
メールアドレス email 文字列

9.2.4. 業務ロジックの作成

クラウドサイン上で契約書類を作成し、送信する業務ロジックを作成します。

コラム

業務ロジックの作成は「Accel-Mart Quick アプリケーション管理者」ロールを持つユーザで行ってください。
作成する業務ロジックでは、以下の処理を行います。
  • 「書類の作成」タスクを用いて、事前に作成したクラウドサインのテンプレートを元に契約書類を作成します。

  • ワークフローで入力された契約者名・会社名・メールアドレスの情報を、「宛先の更新」タスクを利用して宛先に設定します。

  • ワークフローで入力された「会社名」・「住所」の情報を、送信者側の入力項目として契約書類に追加します。

  • 「送信またはリマインド」タスクを使用し、「宛先の更新」タスクで設定した宛先に作成した契約書類を送信します。

    ../../_images/send_contract_using_cloudsign_5.png
    図:作成する業務ロジック

9.2.4.1. 後処理の業務ロジックを新規作成する

  1. 「IM-BIS-フロー編集」画面の「業務ロジック」をクリックします。

    ../../_images/send_contract_using_cloudsign_6.png
    図:「IM-BIS-フロー編集」

    コラム

    「業務ロジック」が表示されない場合は、「定義の反映」をクリックしてください。
    また、フォームを編集した場合も必ず「定義の反映」を実行してください。
  2. 「業務ロジック」画面が表示されます。

  3. 「後処理」の「新規作成」ボタンをクリックし、「業務ロジック登録 - 後処理」画面を開きます。

    ../../_images/send_contract_using_cloudsign_7.png
    図:「基本設定 - 後処理」
  4. 業務ロジック名を入力し、対象ノードを選択します。
    今回は、「承認1」ノードでの承認時にのみ業務ロジックを実行するようにしたいので、「承認1」にのみチェックを入れます。
    ../../_images/send_contract_using_cloudsign_8.png
    図:「業務ロジック登録 - 後処理」
  5. 「ロジックフロー定義編集」画面が表示されます。

    ../../_images/send_contract_using_cloudsign_9.png
    図:「ロジックフロー定義編集」

9.2.4.2. 定数を追加する

業務ロジックで使用する定数を追加します。
  1. 「ロジックフロー定義編集」画面上部、ヘッダ内の「定数設定」をクリックします。

    ../../_images/send_contract_using_cloudsign_10.png
    図:「ロジックフロー定義編集」
  2. 「定数設定」ダイアログが表示されます。「定数を追加」をクリックします。

    ../../_images/send_contract_using_cloudsign_11.png
    図:「定数設定」
  3. 下記の定数を追加します。

    定数ID 定数値 説明
    title
    【チュートリアル】サンプル契約書
    作成する書類のタイトルに設定する文字列を指定します。
    templateId
    (テンプレートID)
    クラウドサインでテンプレートを作成する」で控えたテンプレートIDを指定します。
    recipient
    ${im_cloudsignCreateDocument1.participants[1].id}
    「書類の作成」タスクの返却値から受信者の participantId を取得するために使用します。
    sender
    ${im_cloudsignCreateDocument1.participants[0].id}
    「書類の作成」タスクの返却値から送信者の participantId を取得するために使用します。
    0
    0
    タスクの入力値に指定するコード値として使用します。
    1
    1
    タスクの入力値に指定するコード値として使用します。
    companyX
    118
    「会社名」の入力項目のx座標を指定します。
    companyY
    204
    「会社名」の入力項目のy座標を指定します。
    addressX
    108
    「住所」の入力項目のx座標を指定します。
    addressY
    240
    「住所」の入力項目のy座標を指定します。

    コラム

    テンプレートに「会社名」・「住所」の入力項目を配置していた場合は、「デバッグ実行」を利用して入力項目の座標を確認できます。
    確認した座標と同じ値を入力項目の座標を指定する定数に設定すれば、同じ位置に配置できます。
    座標を確認する手順は以下の通りです。
    なお、デバッグ実行の際にもクラウドサイン上で書類の作成・送信は実行されますので、注意してください。
    1. 後述の「タスクを配置する」を実施します。
    2. タスクのマッピング設定をする」で「書類の作成」のマッピング設定をします。
    3. 「デバッグ」をクリックして「ロジックフロー定義のデバッグ」画面を開きます。
    4. 「ステップ実行」をクリックして、「デバッグの実行」ダイアログを開きます。
    5. 「入力値の設定」で imwActionProcess - resultStatusapprove を設定します。
    6. 「実行」ボタンをクリックします。
    7. 「ステップ実行」ボタンを2回クリックします。
    8. 「フロー定義の変数情報」を確認します。
    9. im_cloudsignCreateDocument1 - files - widgets 配下の変数を確認します。
    10. xy の値が入力項目の座標です。
    11. widgets は配列のため、「+(プラス)」ボタンをクリックすると全ての入力項目の座標を確認できます。
    12. 確認ができたら、「中止」をクリックしてデバッグを中止します。
    デバッグ機能の使い方は「ロジックフローのデバッグ」を参照してください。

9.2.4.3. タスクを配置する

業務ロジックで使用するタスクを配置します。
以下の図のように、タスクをつなぎ合わせてください。
今回は、初期設定されている分岐のうち、「分岐(承認)」しか使用しないため、不要な分岐は削除しています。
../../_images/send_contract_using_cloudsign_12.png
図:タスクの配置
使用するタスクは以下の通りです。
  • CloudSign > 書類の作成
  • CloudSign > 宛先の更新
  • CloudSign > 入力項目の追加
  • CloudSign > 送信またはリマインド

コラム

タスクを配置する詳しい操作方法は「エレメントを配置する」を参照してください。

9.2.4.4. タスクのマッピング設定をする

各タスクに入力値として渡す値を設定するため、マッピング設定を行います。

コラム

マッピング設定の詳しい操作方法は「マッピング設定を行う」を参照してください。

  1. 使用するテンプレートのテンプレートIDと、作成する書類のタイトルを指定します。
  2. 「書類の作成(im_cloudsignCreateDocument1)」タスクのマッピング設定を以下の通り行います。
    定数を追加する」で設定した定数を使用します。
    書類の作成(im_cloudsignCreateDocument1)
    始点 終点
    定数<object> - templateId<string> im_cloudsignCreateDocument1<object> - templateId<string>
    定数<object> - title<string> im_cloudsignCreateDocument1<object> - title<string>
    ../../_images/send_contract_using_cloudsign_13.png
    図:書類の作成(im_cloudsignCreateDocument1)のマッピング設定
  3. クラウドサインでテンプレートを作成する」で設定した「受信者_1」に、契約者の氏名・会社名・メールアドレスを設定します。
    「宛先の更新(im_cloudsignUpdateParticipant1)」タスクのマッピングを以下の通り行います。
    宛先の更新(im_cloudsignUpdateParticipant1)
    始点 終点
    im_cloudsignCreateDocument1<object> - id<string> im_cloudsignUpdateParticipant1<object> - documentId<string>
    入力<object> - imwUserParameter<object> - email<string> im_cloudsignUpdateParticipant1<object> - email<string>
    入力<object> - imwUserParameter<object> - name<string> im_cloudsignUpdateParticipant1<object> - name<string>
    入力<object> - imwUserParameter<object> - company_name<string> im_cloudsignUpdateParticipant1<object> - organization<string>
    (※コラムに記載) im_cloudsignUpdateParticipant1<object> - participantId<string>

    コラム

    participantId には、「書類の作成(im_cloudsignCreateDocument1)」タスクの返却値に含まれる participants の情報を使用します。
    participants は配列になっており、配列の0番目には送信者の情報、1番目には「受信者_1」の情報が格納されています。
    今回は、「受信者_1」のIDを取得したいため、以下のEL式を解決した値を participantId にマッピングします。
    • ${im_cloudsignCreateDocument1.participants[1].id}
    定数を追加する」で定数 recipient に上記内容を設定しています。
    ただし、そのままマッピングしてもEL式を解決できないため、マッピング関数「 el 」を使用します。
    • EL式の詳細は「EL式」を参照してください。
    • マッピング関数の使い方については「マッピング関数の利用」を参照してください。

    コラム

    im_cloudsignUpdateParticipant1<object> は初期状態ではマッピング設定の入力値に設定されていません。
    様々な入力情報の利用」を参考に、マッピング設定の入力値に追加してください。
    ../../_images/send_contract_using_cloudsign_14.png
    図:宛先の更新(im_cloudsignUpdateParticipant1)のマッピング設定
  4. ワークフローで入力した会社名を契約書類の「会社名」の項目に表示するようにします。
    送信者側の入力項目を追加し、ワークフローで入力された会社名を内容に設定します。
  5. 分かりやすくするために、「入力項目の追加(im_cloudsignAddWidget1)」タスクのラベルを「入力項目の追加:会社名」に変更します。
  6. 「入力項目の追加:会社名(im_cloudsignAddWidget1)」タスクのマッピングを以下の通り行います。
    入力項目の追加:会社名(im_cloudsignAddWidget1)
    始点 終点
    im_cloudsignCreateDocument1<object> - id<string> im_cloudsignAddWidget1<object> - documentId<string>
    im_cloudsignCreateDocument1<object> - files<object[]> - id<string> im_cloudsignAddWidget1<object> - fileId<string>
    定数<object> - 0<string> im_cloudsignAddWidget1<object> - page<string>
    (※コラムに記載) im_cloudsignAddWidget1<object> - participantId<string>
    入力<object> - imwUserParameter<object> - company_name<string> im_cloudsignAddWidget1<object> - text<string>
    定数<object> - 1<string> im_cloudsignAddWidget1<object> - type<string>
    定数<object> - companyX<string> im_cloudsignAddWidget1<object> - x<string>
    定数<object> - companyY<string> im_cloudsignAddWidget1<object> - y<string>

    コラム

    participantId には、入力項目の割り当て先を指定するため、今回は送信者のIDを取得してマッピングします。
    「宛先の更新」で「受信者_1」のIDを取得したように、今度は定数 sender に設定したEL式を解決した値を participantId にマッピングします。

    コラム

    • page にはPDFファイルのページ番号を指定します。最初のページが 0 です。
    • type には入力項目の種類を指定します。入力項目の種類とコード値の対応は以下の通りです。今回は「フリーテキスト」を追加するため、 1 を指定します。
      • 0 :押印
      • 1 :フリーテキスト
      • 2 :チェックボックス
    ../../_images/send_contract_using_cloudsign_15.png
    図:入力項目の追加:会社名(im_cloudsignAddWidget1)のマッピング設定
  7. 同様に、ワークフローで入力した住所を契約書類の「住所」の項目に表示するようにします。
  8. 「入力項目の追加(im_cloudsignAddWidget2)」タスクのラベルを「入力項目の追加:住所」に変更します。
  9. 「入力項目の追加:住所(im_cloudsignAddWidget2)」タスクのマッピング設定を、「入力項目の追加:会社名(im_cloudsignAddWidget1)」タスクと同様に行います。
    以下の項目のみ、マッピング設定が「入力項目の追加:会社名」タスクと異なります。
    入力項目の追加:住所(im_cloudsignAddWidget2)
    始点 終点
    入力<object> - imwUserParameter<object> - address<string> im_cloudsignAddWidget2<object> - text<string>
    定数<object> - addressX<string> im_cloudsignAddWidget2<object> - x<string>
    定数<object> - addressY<string> im_cloudsignAddWidget2<object> - y<string>
  10. 作成した契約書類を送信します。
    「送信またはリマインド(im_cloudsignSendOrRemind1)」タスクのマッピングを以下の通り行います。
    送信またはリマインド(im_cloudsignSendOrRemind1)
    始点 終点
    im_cloudsignCreateDocument1<object> - id<string> im_cloudsignSendOrRemind1<object> - documentId<string>
    ../../_images/send_contract_using_cloudsign_16.png
    図:送信またはリマインド(im_cloudsignSendOrRemind1)のマッピング設定
  11. 以上で業務ロジックの設定は全て完了です。業務ロジックを保存してください。

    コラム

    この段階で業務ロジックをデバッグ実行することをおすすめします。
    デバッグ機能の使い方は「ロジックフローのデバッグ」を参照してください。
    なお、デバッグ実行の際にもクラウドサイン上で書類の作成・送信は実行されますので、注意してください。

    注意

    入力項目の座標を確認するために、テンプレートに「会社名」・「住所」の入力項目を配置していた場合は、この時点で削除してください。

9.2.5. 作成したワークフローを申請・承認する

作成したワークフローを申請してみましょう。
  1. メニューの「申請」から、「申請一覧」画面を表示します。

  2. 作成したワークフローを選択します。

  3. 「契約者名」・「会社名」・「住所」・「メールアドレス」の各項目を入力します。

    ../../_images/send_contract_using_cloudsign_17.png
    図:「クラウドサイン連携」

    注意

    「メールアドレス」の項目に入力したメールアドレス宛に実際に契約書類が送付されます。
  4. 「申請」ボタンをクリックして、申請します。

  5. メニューの「承認」から「案件一覧」画面を表示します。

  6. 申請した案件にマウスカーソルを重ねて、「処理」アイコンをクリックします。

  7. 「承認」ボタンをクリックして、承認します。

  8. ワークフローの「メールアドレス」の項目に入力したメールアドレス宛にクラウドサインからメールが送信されていることを確認します。

  9. メール内のリンクをクリックして、契約書を表示します。

    コラム

    クラウドサインにログインした状態でリンクをクリックすると、受信者側の画面が表示されません。
    クラウドサインをログアウトするか、ブラウザのシークレットモード等を使用してください。
  10. クラウドサインでテンプレートを作成する」で作成したテンプレートに、ワークフローで入力した「会社名」・「住所」が追加されていることを確認します。

    ../../_images/send_contract_using_cloudsign_18.png
    図:「書類内容の確認」