# ルックアップ項目の自動更新について

**URL:** <https://community.cybozu.dev/t/topic/429>\
**Category:** kintone 開発相談\
**Created:** [2017 年 7 月 12 日午前 2:30 UTC](https://community.cybozu.dev/t/topic/429 "2017-07-12T02:30:39Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account266](https://avatars.discourse-cdn.com/v4/letter/l/eada6e/32.png) [@Legacy\_Account266](https://community.cybozu.dev/u/Legacy_Account266)\
**Post date:** [2017 年 7 月 12 日午前 2:30 UTC](https://community.cybozu.dev/t/topic/429/1 "2017-07-12T02:30:39Z")

</div>

内田です。

ルックアップ項目を変更した場合、自動で更新を行いたく、

「第11回 kintone REST APIを利用したレコード更新」[https://developer.cybozu.io/hc/ja/articles/204537310](https://developer.cybozu.io/hc/ja/articles/204537310)&nbsp;

サンプルに従って、手元で作成し動作が確認で出来ました。

実際は、ルックアップが「顧客名」（フィールドコード：cust\_name）なので

コードを修正してみましたが、うまく動きません。

（ルックアップの更新が完了しました！ は表示されるが、、）

&nbsp;

修正点したソースは以下の内容ですが、不足ありますでしょうか？

cust\_name: {  
value: record.cust\_name.value

query: ‘cust\_name = "’ + event.record[‘cust\_name’].value + ‘"’

&nbsp;

デバッグ：

{result: {items: [], totalCount: “0”}, success: true}  
result  
:  
{items: [], totalCount: “0”}  
success  
:  
true

なぜか、件数が０となっています。（デバッグツールまだよく理解できていませんが、、）

ルックアップが文字列の場合に考慮する点はありますでしょうか？

それと、「$id」の記述は修正が必要でしょうか？

&nbsp;

まだ駆け出しなので、よろしくお願いします。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1517](https://avatars.discourse-cdn.com/v4/letter/l/4bbf92/32.png) [@Legacy\_Account1517](https://community.cybozu.dev/u/Legacy_Account1517)\
**Post date:** [2017 年 7 月 12 日午前 3:29 UTC](https://community.cybozu.dev/t/topic/429/2 "2017-07-12T03:29:50Z")

</div>

uchida さん

$id は、どのアプリにも必ずあるレコード番号ですので、変更する必要はありません。

対象レコードの抽出・更新処理自体は正常に終了していますので、  
一番に考えられるのは、単純に対象レコードが無い可能性があります。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account266](https://avatars.discourse-cdn.com/v4/letter/l/eada6e/32.png) [@Legacy\_Account266](https://community.cybozu.dev/u/Legacy_Account266)\
**Post date:** [2017 年 7 月 12 日午前 4:05 UTC](https://community.cybozu.dev/t/topic/429/3 "2017-07-12T04:05:46Z")

</div>

rex220さん

早々の回答ありがとうございます。

更新したいアプリ側には97件のデータを作成してあります。

＞対象レコードの抽出件数・更新件数の取得はどのようにすればいいですか？

&nbsp;

お手すきの時に返信いただければ幸いです。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1517](https://avatars.discourse-cdn.com/v4/letter/l/4bbf92/32.png) [@Legacy\_Account1517](https://community.cybozu.dev/u/Legacy_Account1517)\
**Post date:** [2017 年 7 月 12 日午前 4:17 UTC](https://community.cybozu.dev/t/topic/429/4 "2017-07-12T04:17:54Z")

</div>

例えば、 event.record[‘cust\_name’].value : “XXXX” の顧客名であれば、

更新したいアプリの一覧画面の絞り込み条件で、「顧客名＝ “XXXX”」を指定します。

対象レコードがあれば、一覧表示されるはずです。

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account266](https://avatars.discourse-cdn.com/v4/letter/l/eada6e/32.png) [@Legacy\_Account266](https://community.cybozu.dev/u/Legacy_Account266)\
**Post date:** [2017 年 7 月 12 日午前 5:02 UTC](https://community.cybozu.dev/t/topic/429/5 "2017-07-12T05:02:37Z")

</div>

件数取得をデバッグで確認する方法があれば教えてくださいという趣旨でした。

言葉足らずで申し訳ありません。

ソースを上げた方がいいでしょうか？

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1517](https://avatars.discourse-cdn.com/v4/letter/l/4bbf92/32.png) [@Legacy\_Account1517](https://community.cybozu.dev/u/Legacy_Account1517)\
**Post date:** [2017 年 7 月 12 日午前 5:20 UTC](https://community.cybozu.dev/t/topic/429/6 "2017-07-12T05:20:14Z")

</div>

デバッグツールでブレークポイントを指定して、変数にカーソルを当てると中身が見れます。

[JavascriptのChromeでのデバッグ方法個人的まとめ2016](http://qiita.com/snoguchi/items/8f6bb62a3166eca23ac3)

他にも便利なしくみがいろいろありますので、デバッグツールを活用してください。

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account266](https://avatars.discourse-cdn.com/v4/letter/l/eada6e/32.png) [@Legacy\_Account266](https://community.cybozu.dev/u/Legacy_Account266)\
**Post date:** [2017 年 7 月 12 日午前 5:58 UTC](https://community.cybozu.dev/t/topic/429/7 "2017-07-12T05:58:25Z")

</div>

まさに同じページを見てました。

まだよくデバッグの仕方が分かりませんが、

var records = resp.records;

で recordsはArray(0)、length：0

だったので、更新するべき値が取得出来ていないってことか？

query: ‘cust\_name = "’ + event.record[‘cust\_name’].value + ‘"’

これがうまく取れてないってことでしょうか？

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1517](https://avatars.discourse-cdn.com/v4/letter/l/4bbf92/32.png) [@Legacy\_Account1517](https://community.cybozu.dev/u/Legacy_Account1517)\
**Post date:** [2017 年 7 月 12 日午前 6:10 UTC](https://community.cybozu.dev/t/topic/429/8 "2017-07-12T06:10:55Z")

</div>

query: ‘cust\_name = "’ + event.record[‘cust\_name’].value + ‘"’ の条件に合う対象レコードが無いということです。

\>更新したいアプリ側には97件のデータを作成してあります。

問題を整理すると、

テストしているルックアップ元レコードに対して、「更新したいアプリ側には97件」に対応するレコードが無いのか？

または、そもそも指定条件が異なるのかのどちらだと思います。

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account266](https://avatars.discourse-cdn.com/v4/letter/l/eada6e/32.png) [@Legacy\_Account266](https://community.cybozu.dev/u/Legacy_Account266)\
**Post date:** [2017 年 7 月 12 日午前 6:15 UTC](https://community.cybozu.dev/t/topic/429/9 "2017-07-12T06:15:21Z")

</div>

顧客名：「湘南 太陽」を「湘南 太陽さん」に変更とき、

トレースを追っかけると配列は「0」件で、

これを「湘南 太陽」に戻した時のトレースは正しく配列に6件が表示される。

&nbsp;

なんか初歩的な間違をしてるのかな？

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1517](https://avatars.discourse-cdn.com/v4/letter/l/4bbf92/32.png) [@Legacy\_Account1517](https://community.cybozu.dev/u/Legacy_Account1517)\
**Post date:** [2017 年 7 月 12 日午前 6:24 UTC](https://community.cybozu.dev/t/topic/429/10 "2017-07-12T06:24:06Z")

</div>

なるほど、ルックアップのキーを変更しているわけですね。原因がわかりました。

「第11回 kintone REST APIを利用したレコード更新」のサンプルコードは、キー変更には対応していません。

対象レコードを「湘南 太陽」で抽出して、更新は「湘南 太陽さん」で変更する必要があります。

&nbsp;

&nbsp;

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account266](https://avatars.discourse-cdn.com/v4/letter/l/eada6e/32.png) [@Legacy\_Account266](https://community.cybozu.dev/u/Legacy_Account266)\
**Post date:** [2017 年 7 月 12 日午前 6:26 UTC](https://community.cybozu.dev/t/topic/429/11 "2017-07-12T06:26:29Z")

</div>

旧の「顧客名」を取得して、その旧「顧客名」を抽出して、新「顧客名」で更新する

ロジックとすると、旧「顧客名」を取得しているソースは、どこになりますか？

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1517](https://avatars.discourse-cdn.com/v4/letter/l/4bbf92/32.png) [@Legacy\_Account1517](https://community.cybozu.dev/u/Legacy_Account1517)\
**Post date:** [2017 年 7 月 12 日午前 6:33 UTC](https://community.cybozu.dev/t/topic/429/12 "2017-07-12T06:33:07Z")

</div>

[ルックアップ先更新プラグイン](http://qiita.com/rex0220/items/573c462117ad4104c2cd)&nbsp;で、同じような処理を行っています。

このときは、edit.show イベントでセッションストレージにルックアップキーをあらかじめ退避するしくみにしています。

ちょっと面倒ですが、がんばってください。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account266](https://avatars.discourse-cdn.com/v4/letter/l/eada6e/32.png) [@Legacy\_Account266](https://community.cybozu.dev/u/Legacy_Account266)\
**Post date:** [2017 年 7 月 12 日午前 7:16 UTC](https://community.cybozu.dev/t/topic/429/13 "2017-07-12T07:16:06Z")

</div>

＞「第11回 kintone REST APIを利用したレコード更新」のサンプルコードは、キー変更には対応していません。

＞対象レコードを「湘南 太陽」で抽出して、更新は「湘南 太陽さん」で変更する必要があります。

そういうことなのですね。やっと理解できました。

ありがとうございました。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2025 年 5 月 29 日午前 1:55 UTC](https://community.cybozu.dev/t/topic/429/14 "2025-05-29T01:55:10Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
