背景・実現したいこと
現在プロセス管理で【ステータス:作業待ち】にて「アクションが実行できる条件」に 「作業完了日」 が 「等しくない」 を設定することで、「作業完了日」を設定しないと 「作業完了」とさせないようにしています。
担当者が慣れれば良いのですが、「作業待ち」の状態の時に「作業完了」のボタンが出ませんという指摘に対して対応を行いたいです。
案1:「アクションが実行できる条件」をAPIで取得しハイライトさせる
JavaScriptでカスタマイズし、対象のフィールド(例であれば「作業完了日」)をハイライトさせるのが良いと考えております。
この場合 JavaScriptから、現在のステータスに応じた「アクションが実行できる条件」を取得できなければなのですが、この取得方法がわからず困っております。
案2:JavaScriptで頑張って書く
JavaScriptの中でゴリゴリと、【ステータス:作業待ち】の時に「作業完了日」をハイライトさせるであればできそうとは思ったのですが、現在のステータが【ステータス:作業待ち】であるというのは、どのように取得すべきでしょうか?
JavaScript API の一覧
https://developer.cybozu.io/hc/ja/articles/360000361686
には「プロセス管理のアクション実行」しか見つける事ができず、ご教示いただけると幸いです。
そもそも、このように設定する方が良いという方法がありましたら、お教え頂けますと幸いです。
6件のコメント
お疲れ様です。
上記の案1、案2のようなカスタマイズをせずとも、単純にアプリの説明を記載するだけで良いような気がします。
kintoneヘルプ:https://jp.cybozu.help/k/ja/user/app_settings/app_generalsettings/appearance.html
私は、ユーザーから操作の指摘をされそうな部分に関しては、アプリの説明を記載するか、以下添付の画像のように注釈のフィールドを設置するようにしています。
注釈のフィールドは、
①文字列フィールドの初期値に文章を入力し、編集不可にする。
②詳細画面と印刷画面、一覧画面で見えないようにする。
という感じで、ハイライト表示させるよりは簡単なカスタマイズでできると思います。
以上、参考になりましたら、幸いです。
ありがとうございます。
確かに注釈で対応可能ですね、JavaScriptでやらねばと思っていましたが、解決方法ありがとうございます!
これで対応します。
ちなみに後学のため、これを JavaScript等で汎用的に記述するのは、なかなか厳しいでしょうかね?
①の編集不可については、標準機能で設定できます。
②については、一覧画面と、他の画面では非表示のカスタマイズ方法が異なりますが、汎用的に記述する事は可能です。
・詳細画面と印刷画面
setFieldShownを使う事で非表示にできます。
汎用的に、他のアプリにも同じコードを使い回したいのであれば、フィールドコードを同じにすれば良いだけです。
今回の注釈を例にすると、AアプリもBアプリもフィールドコードを「注釈」に設定すれば、同じJavaScriptのコードを使い回せます。
・一覧画面
私は、こちらの投稿を参考にしました。
一覧画面についても、(すべて)の一覧はviewIdが全てのアプリで同じなので、汎用的に使用できます。
tomoyuki.k さん ありがとうございます。
頂いた情報確認させていただきます。
標準機能でできるのですね!! 状況に応じた編集不可ができるとかなり活用できると思います。
今少し標準機能も勉強致します。
林雅大さん
状況に応じた編集不可(例えば、作業待ちのステータスでは編集可能だが、作業完了のステータスでは編集不可)のような細かい編集の可不可を設定したいのであれば、JavaScriptでカスタマイズが必要です(disabledを使用)。
標準機能では、フィールドのアクセス権の設定で、Everyoneの権限を閲覧権限のみにすれば可能です。
tomoyuki.kさん ありがとうございます。いろいろ試してみます。
ご指摘いただいた注釈で対応が、もっとも簡単な暫定対応だと思うので、これはすぐに対応しようと思っております。