はじめに
自動採番を行った値が誤って修正されてしまうと、重複しない値が入らない運用をせっかく採番にて実現できていたのに、これが崩れてしまうといった課題が発生する事があります。
この記事ではそういった際に有効な「フィールドの値を守る」カスタマイズについて記載します。
元々運用されていた表計算ソフト
運用:取引先ごとに、取引先コードを手入力またはオートフィルで採番していた。
課題:取得した取引先コードを誤って上書きしてしまう。
検討:基本機能だけで実現できないか?
※注:この検討はうまくいかないので、結論となるカスタマイズを知りたい方は次の「アプリの準備」節からご覧ください。
「取引先コード」フィールドの自動採番が行えている状況だと、このフィールドを手入力する必要が無くなります。
そこで、「取引先コード」フィールドを編集できないようにしたいと考えました。
まずはkintone基本機能での実現を考えてみます。
具体的にはkintoneのフィールドのアクセス権を設定することで、「取引先コード」フィールドを編集できなくする方法を試してみました。すると、思惑通り「取引先コード」フィールドが無効化されるため、これで課題が解決したように思えます。
ところが、フィールドのアクセス権を設定したため、せっかくカスタマイズで自動採番した結果さえも、「取引先コード」にセットされなくなってしまいました。これでは本末転倒です。
ということで、現時点では基本機能だけだと自動採番でコードを採番しているフィ-ルドを守ることはできません。
アプリの準備
まず、次の要領でアプリを作成してください。
※この記事内で必要となるフィールドのみ記載しています
取引先マスタ
※フィールド名とフィールドコードは同じものを指定
課題を解決するカスタマイズ
課題を解決する(自動で採番したフィールドの値を修正できないようにする)ため、カスタマイズを設定します。
カスタマイズは1アクションです。
やること「フィールドを無効化する」、条件「追加画面・編集画面を表示した時」を使います。
実行結果
まとめ
表計算ソフトでの運用の場合、セルへの入力内容をコントロールさせたい時に、入力規則機能を使って編集を制限したり、いっそのこと所定のセルを編集できないように制御する場合があるかと思います。
ところが実際に運用してみると、制限したはずがされていない、制限しすぎてかえって非効率になってしまうといった課題も生まれやすいのではないでしょうか。
そのような課題に対してカスタマインでは、やること「フィールドを無効化する」を用いる事で、任意のフィールドを無効化し編集できなくすることができます。
kintoneのフィールドのアクセス権を使うことで、フィールドの編集ができないように制限することはできますが、以下のような違いがあります。
フィールドのアクセス権を使用する場合
取引先コードを編集してしまうミスを防ぐことはできますが、いかなる場合でも閲覧しかできないため、カスタマイズで自動採番した結果を取引先コードフィールドにセットすることができません。
これは、kintoneに登録された画面のカスタマイズの実行は、ログインユーザー(kintone の画面を開いているユーザー)の権限で実行されるため、必ずkintoneのアクセス権の設定に従って動きます。またカスタマイズで、このアクセス権の設定を無視したり、飛び越えてレコード操作するようなことはできません。
やること「フィールドを無効化する」を使用する場合(フィールドのアクセス権は使用しません)
編集画面からの編集をできなくするため、ユーザーによる取引先コードの編集は防ぎつつ、自動採番の結果を取引先フィールドにセットすることができます。(課題:自動採番の結果を「取引先コード」フィールドにセットできなくなった)
参考:
フィールドにアクセス権を設定する | kintone ヘルプ
カスタマインに設定するkintone接続ユーザーの権限・カスタマイズの実行権限について
おわりに
この記事では、kintoneとカスタマインによるカスタマイズで、採番したフィールドを守るカスタマイズを実現してみました。
どうでしたか? 採番したフィールドを守りたくなったなった時は、この記事を参考にしてみてください!
また、ご不明点等ございましたら、チャットにてご質問ください!


