キントーンの一括承認

色々やっている内に一括承認が出来ました!
ただ、別の問題が起きていまして、私の作っている交通費精算のプロセスとしては
申請者:arrow_right:総務部:arrow_right:代表者という2段階の承認を行う予定です。

今回、私は「総務部」の所に一括承認のボタンを設けており、そこで一括承認をクリックすると、代表へと承認権限が移っていくというつもりでした。

でしたが、今のソースコードでは総務部が一括承認をすると、代表者へ承認が行かずに、総務部で全ての承認が完了してしまうのです。

これを一括承認したら代表者へ承認が行くような追加のソースコードなどご教示いただけますと幸いです。

下記が今使っているプロセス管理とソースコードです

画像に個人情報が含まれていたため運営により削除しました

 * ワンクリックで一括承認するプログラム
 * Copyright (c) 2016 Cybozu
 *
 * Licensed under the MIT License
*/
(() => {
  'use strict';
  kintone.events.on('app.record.index.show', (event) => {
    const appId = kintone.app.getId();
    if (event.viewId !== 5528405) {
      return event;
    }
    const el = kintone.app.getHeaderSpaceElement();
    if (el.querySelector('.header-contents')) {
      return event;
    }
    const headerDiv = document.createElement('div');
    headerDiv.className = 'header-contents';
    // make a button for approval.
    const balusButton = document.createElement('button');
    balusButton.className = 'approval-button';
    balusButton.textContent = '一括承認!';
    balusButton.addEventListener('click', () => {
      if (event.records.length > 0) {
        window.swal({
          title: '本当に全て承認して良いですか?',
          text: '表示されているレコードを全て承認します',
          type: 'warning',
          showCancelButton: true,
          confirmButtonColor: '#DD6B55',
          confirmButtonText: '承認!',
          cancelButtonText: 'やっぱりやめる',
          closeOnConfirm: false
        },
        () => {
          const records = event.records.map(record => ({
            id: record.$id.value,
            action: '確認依頼する'
          }));
          const requestObj = {
            app: appId,
            records: records
          };
          kintone.api(kintone.api.url('/k/v1/records/status', true), 'PUT', requestObj, () => {
            window.swal({
              title: '承認に成功しました!',
              text: 'お疲れ様でした。',
              // eslint-disable-next-line max-nested-callbacks
              type: 'success'}, () => {
              location.reload();
            });
          });
        });
      } else {
        window.swal({
          title: '申請中のレコードがありません',
          type: 'warning'
        });
      }
    });
    headerDiv.appendChild(balusButton);
    headerDiv.appendChild(document.createElement('br'));
    el.appendChild(headerDiv);

    return event;
  });
})();

はじめまして 解決策でなく申し訳ないのですが
添付されているワークフローの画像に記載のあるお名前は
公開して大丈夫な内容でしょうか、、?:sweat_drops:
問題があるようであれば削除や編集で情報を隠してからあげなおし
されることをお勧めいたします…

1 Like

ご指摘ありがとうございます。
編集や削除をしたいのですが、編集ボタンなどが出てこないのですが
どうしたら良いですかね?

自身の投稿した内容下の【返信】というボタンの隣に鉛筆マークはありませんか?そちらから投稿内容の修正ができると思います。

API ドキュメントを見る限り、アクション実行した後のステータスを指定する必要があるようです。
詳細は、次のページの「 kintone.api()を使ったリクエスト」をご参考ください。
https://cybozu.dev/ja/id/044d255131483eaf4fe66756/#sample-code

なので、id: record.$id.value,の後にassignee: '次の承認者のログイン名',を追加すればいいかなぁと思います。
次の承認者のログイン名は、実際の承認者のログイン名に書き換えてください。

不思議な事に無いんですよ

katty 様

お世話になっております。
cybozu developer network運営局です。

画像については、こちらで削除いたしました。

編集方法につきましては、右下にある鉛筆マークから行うことができます。
こちらの投稿を編集していただいているようですので、次回からは再度同じ手順で編集をお願いいたします。

ありがとうございます。

出来ました!
本当に助かりました!
ご助言ありがとうございました!

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。