やること「フィールド値をクリアする」などでルックアップフィールドの値をクリアし、そのままレコードを保存しようとすると、下記のようなエラーが表示され、レコードを保存できません。


エラーメッセージ:

 値を削除する場合は、[クリア]を押し、参照先から取得した値をクリアしてください。



エラーを回避するには、手動でのルックアップのクリア操作が必要となります。


手動での操作なしでレコードを保存するには、あらかじめルックアップ対象となるアプリに「未定」のような規定値を登録しておき、その値をルックアップすることでクリアと類似の機能を利用できます。

ただ、この場合ルックアップフィールドを空白にはできないのでご注意ください。


以下に、値のクリアの代わりにルックアップフィールドに「未定」セットし、「未定」を”入力されていない”とみなすことで、クリアの代わりとするカスタマイズ例をご紹介します。


カスタマイズ例:

「商品発注」アプリで「全てクリア」ボタンをクリックすると、ルックアップフィールドを除くフィールドの値がクリアされます。

ルックアップフィールドには、クリアの代わりに「未定」をセットし、ルックアップを再取得します。



ここでは、あらかじめ「取引先マスタ」アプリに「未定」のレコードを登録しておき、そのレコードをルックアップすることで、ルックアップフィールドのクリアの際に発生するエラーを回避しています。

なお、このままレコードの保存を行っても、エラーにはなりません。



ルックアップフィールドの取得元である「取引先マスタ」アプリでは、下記のようなレコードをあらかじめ登録しています。



「商品発注」アプリのルックアップフィールドの設定は、下記の通りです。


では、上記例のカスタマイズをCustomineで行っていきます。


Customineでのカスタマイズ作成例:

Customineで「商品発注」アプリのカスタマイズを作成します。

なお、「商品発注」アプリ、「取引先マスタ」アプリ共に、フィールドコードはフィールド名と同じに設定してあります。

また、「商品発注」アプリのテーブルのフィールドコードは「HachuList」と指定しました。


「全てクリア」ボタンを追加画面・編集画面に表示する


やること

ボタンをメニュー位置に配置する」を指定します。

今回は、追加画面・編集画面にボタンを表示したいので、場所は「レコード詳細メニューの上側」を指定しました。

ラベルは「全てクリア」です。


条件

追加画面・編集画面の時だけボタンを表示したいので「追加画面・編集画面を表示した時」を指定します。



ルックアップフィールド以外のフィールドをクリアする


やること

ルックアップフィールド以外のフィールドをまとめてクリアしたいので「フィールド値をクリアする」を指定します。

フィールドには、ルックアップフィールド「発注取引先コード」以外のフィールドを指定しました。


条件

「全てクリア」ボタンをクリックしたときに処理を行いたいので「ボタンを押した時」を指定します。

ボタンは、「全てクリア」ボタンを作成したアクションNo「1」を指定しました。


これで、ルックアップフィールド以外のクリアは完了です。

次に、ルックアップフィールドにクリアの代わりに「未定」をセットし、値を取得するカスタマイズを作成していきます。


ルックアップフィールドに、クリアの代わりの値「未定」をセットする


やること

フィールドに値をセットする」を指定します。

フィールドは、ルックアップフィールド「発注取引先コード」を指定します。

値は、あらかじめ「取引先マスタ」アプリに登録しておいた、クリア用の「取引先コード」フィールドの値である「未定」を指定します。


条件

ルックアップフィールド以外のフィールドのクリアが終わってから処理を行いたいので、「他のアクションの実行が完了した時」を指定します。

アクションは、フィールドクリアを行うアクションNo「2」を指定しました。


「取引先マスタ」アプリから「未定」のレコードの情報をルックアップする


やること

発注取引先コードフィールドに指定した「未定」をキーに、「取引先マスタ」アプリから、空の「発注取引先名」の値をルックアップしたいので「ルックアップを取得しなおす」を指定します。

ルックアップフィールドは「発注取引先コード」です。


条件

値「未定」のセットが終わってから処理を行いたいので、「他のアクションの実行が完了した時」を指定します。

アクションは、フィールドクリアを行うアクションNo「4」を指定しました。



以上でカスタマイズは完了です。


kintoneの「商品発注」アプリに戻り、「全てクリア」ボタンをクリックして、手動でのルックアップの取得を行わずにレコードを保存してみてください。

ルックアップフィールドに「未定」がセットされ、エラーにならず保存できるようになりました。