今回初めてアプリ同士が繋がりを持つ処理を作成しようとしています。
アプリの情報をやり取りさせるためのJavaScriptを作成しておりますが上手く行かず、解決の為この場にて質問させて頂きます。
作成にあたって参考にしたアプリは「安全に在庫管理を行うテクニック2 - リビジョンを試そう -」になります。
以下の様なアプリを作成しております。
在庫アプリ :現在の在庫状況を管理するアプリ。フィールドとして
商品コード、商品名(ルックアップ)、保管場所(ルックアップ)、在庫数を持ちます。
出庫アプリ :商品名をキーに在庫アプリ内レコードに入力した在庫数分を増やす。
入庫アプリ :商品名をキーに在庫アプリ内レコードに入力した在庫数分を増やす。
保管場所アプリ:保管場所、保管場所コードを持つアプリ。ルックアップされるアプリ。
在庫移動アプリ:同一の商品を保管場所をAからBに移動させるためのアプリ。
購入アプリ :商品名、保管場所をキーに在庫アプリ内レコードに入力した在庫数分を増やす。
商品アプリ :商品名、商品コードを持つアプリ。ルックアップされるアプリ。
現在つまづいている点としまして、
・出庫アプリ、入庫アプリ、購入アプリにて在庫数の増減が出来ない。
という点になります。
・出庫アプリ、入庫アプリ、購入アプリにて在庫数の増減が出来ない。
上記についてはルックアップの重複禁止を商品名(商品アプリ)と保管場所(保管場所アプリ)に設定しましたが、GoogleChromeのデバッグではルックアップの重複禁止を確認するエラーが返ってくるため、ルックアップが2つあるとKintoneでは情報のやり取りが出来ないのではないかと考えています。
齋藤 さん
ルックアップが複数あっても、レコード更新は可能です。
具体的には下記のようなエラーメッセージでしょうか?
・ルックアップの参照先から値をコピーできません。「コピー元のフィールド」に指定したフィールドの設定で「値の重複を禁止する」を選択しておく必要があります。
このメッセージであれば、メッセージの通り「値の重複を禁止する」が外れていると思われます。
念のため、ルックアップのキーになっている商品アプリの商品名と保管場所アプリの保管場所を確認してみてください。
あとは、他にルックアップの設定があれば、そちらも確認してみてください。
rex0220 様
>具体的には下記のようなエラーメッセージでしょうか?
まさしくそのエラーメッセージでした。今後はエラーメッセージも詳細に載せて行きます。
商品アプリの商品名と保管場所アプリの保管場所、「値の重複を禁止する」にチェックが入っている状態に変更致しましたが、デバッグにて同様のエラーメッセージが出ました。
現状、出庫アプリによって在庫アプリにある商品の数を減らそうとしたとき、ルックアップフィールドで「在庫アプリの商品名」を指定している状態でした。
そして、在庫アプリの商品名フィールドは「商品アプリの商品名をルックアップしているフィールド」でした。
後出しで申し訳ありません、ルックアップが入れ子のような状態になっています。
この場合はルックアップが入れ子にならないようにするしかないでしょうか。
この場合、ルックアップ対象は、在庫アプリの商品名になります。
ですので、在庫アプリの商品名を「値の重複を禁止する」にする必要があります。
しかし、在庫アプリは、商品名と保管場所でユニークになる設計をされているようですので、在庫アプリの商品名を「値の重複を禁止する」ことが出来ないと思われます。
対処方法としては、出庫アプリの在庫参照時のルックアップを「在庫アプリの商品名」では無く、「在庫アプリのレコード番号」をキーにする必要があります。
出庫アプリの商品名は、ルックアップコピー項目としてください。
rex0220 様
意図した動作になりました。
入庫アプリ、購入アプリは、在庫アプリの在庫数を増やす形になるので、出庫アプリとほぼ同様の作りで作成が可能になると思います。
ありがとうございました。