Customineはサイボウズスタートアップス株式会社様のプリントクリエイターと連携することができます。


プリントクリエイターをお使いの方で、以下のようなことをやりたいということはないでしょうか?

  • プロセス管理で、ステータスが特定の状態になったときだけ印刷できるようにしたい
  • 自分の担当のデータは印刷できるが、それ以外の人には印刷できないようにしたい

Customineと組み合わせることで、このようなことも簡単に実現できます。


プロセス管理で特定のステータスのときだけ印刷できるようにする


特定のステータスのときだけ印刷させたいということは、以下の2つのことをやれば実現できます

  • 印刷できるステータスのときは、印刷ボタンを表示する
  • 印刷できないステータスのときは、印刷ボタンを非表示にする


今回は、以下のようなアプリを用意しました。

kintoneに用意されているアプリストアの契約書管理にプロセス管理を追加した形になっています。



そして、プロセス管理はこのようになっています。



さて、「承認済み」のときだけ印刷したいわけですので、先程の2つやるべきことを書き換えると、こうなります。

  • ステータスが「承認済み」のときは、印刷ボタンを表示する
  • ステータスが「承認済み」以外のときは、印刷ボタンを非表示にする

これをCustomineで表現するとこうなります。



早速試してみましょう。

こちらは承認済みの場合です。出力ボタンが出ていますね。


では、承認済み以外の場合を見てみましょう。



ボタンがでていません。

このように、簡単にボタンの表示を制御することができます。


次は、もう1つのケースをやってみましょう。


自分の担当のデータは印刷できるが、それ以外の人には印刷できないようにしたい


では、同じような考え方で、違う条件の場合をやってみましょう。考え方は同じです。

このアプリでは、担当を示すのは「依頼者」というフィールドですので、これを条件に使います。つまり、

  • 「依頼者」が「ログインユーザー」と同じであれば印刷ボタンを表示する
  • 「依頼者」が「ログインユーザー」と個なるときは印刷ボタンを非表示にする

Customineで作るとこうなります。



ポイントは、ログインユーザーを条件に使うには、事前に「ログインユーザーを取得する」でログインユーザーを取得しておき、

取得が終わったら印刷ボタンの表示・非表示の制御を行うという点です。


また、「依頼者」はユーザ選択フィールドですので、複数人を選ぶことができます。このフィールドには、「ユーザーコード」の形でデータが格納されています。

さらに、kintoneのユーザー情報は「ユーザーコード」と「ユーザー名」という2つの情報で構成されているため、

「依頼者」が「ログインユーザー」と一致するかどうかを判定するためには、比較するときの条件を「等しい」ではなく「含まれる」「含まれない」を使うということと、

比較値として「ユーザーコード」を使うために、「${$4.code}」という形で入力しないといけないという点です。こう表記することで、

「4番のアクションの結果のうち、codeという情報」を示すことができます。


さて、動かしてみましょう。

ログインユーザーは、このTIPSの著者である「金春」です。



ボタンが表示されています。

依頼者が異なるデータをみてみましょう。



ボタンは出ていないですね。

ちなみに、このサンプルでは、上で作成したステータスによる制御は外してありますので、依頼者でのみ判定されています。


まとめ


いかがでしたでしょうか?

Customineではいろいろな条件で判定することができますので、ここであげた例だけでなく、


  • 特定のフィールドの値で、印刷可否を変える
  • ある日付を過ぎた場合だけ、印刷できるようにする

などができます。


ぜひ色々試してみてください。

もしわからないことがあれば、フォーラムにてご質問ください。