# 追加保存や編集時に特定の日付フィールドが空白の場合に、別の日付フィールドの値をコピーしたい

**URL:** <https://community.cybozu.dev/t/topic/1069>\
**Category:** kintone 開発相談\
**Created:** [2022 年 10 月 24 日午後 5:49 UTC](https://community.cybozu.dev/t/topic/1069 "2022-10-24T17:49:59Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account2089](https://avatars.discourse-cdn.com/v4/letter/l/9de0a6/32.png) [@Legacy\_Account2089](https://community.cybozu.dev/u/Legacy_Account2089)\
**Post date:** [2022 年 10 月 24 日午後 5:49 UTC](https://community.cybozu.dev/t/topic/1069/1 "2022-10-24T17:49:59Z")

</div>

表題の実装を実現したく、下記や

[https://developer.cybozu.io/hc/ja/articles/201718170–%E5%B0%8F%E6%8A%80-undefined-%E3%81%A8-%E7%A9%BA%E6%96%87%E5%AD%97%E3%81%AE%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%81%AA-if-%E6%96%87%E5%88%A4%E5%AE%9A](https://community.cybozu.dev/hc/ja/articles/201718170--%E5%B0%8F%E6%8A%80-undefined-%E3%81%A8-%E7%A9%BA%E6%96%87%E5%AD%97%E3%81%AE%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%81%AA-if-%E6%96%87%E5%88%A4%E5%AE%9A)

&nbsp;

下記などを

[https://developer.cybozu.io/hc/ja/community/posts/360018014523-%E6%97%A5%E4%BB%98%E3%82%92%E7%B7%A8%E9%9B%86%E6%99%82%E8%87%AA%E5%8B%95%E5%85%A5%E5%8A%9B](https://community.cybozu.dev/hc/ja/community/posts/360018014523-%E6%97%A5%E4%BB%98%E3%82%92%E7%B7%A8%E9%9B%86%E6%99%82%E8%87%AA%E5%8B%95%E5%85%A5%E5%8A%9B)

参考にして実装してみましたがうまく動作しません

```
(function () {

    "use strict";
    kintone.events.on([
        'app.record.create.submit.success', 'app.record.edit.submit.success', 'app.record.create.show', 'app.record.edit.show'
      ], function(event) {
    
  if (!record["record"]["請求日_01"]["value"]) {
    
        var record = event.record;
         
      record["record"]["請求日_01"]["value"] = ["請求日_02"];
      
        
    }
    
    return event;
    });
   })();

```

エラーチェックや色々試したところ、if文行のrecord直後あたりが怪しいことまではわかっているのですが、これ以上進めようがなく行き詰まっています

アドバイスや正しい記述の方法を教えていただけますと幸いです  
何卒よろしくお願いいたします

追記：また2つの参考記事で[“record”]のありなしがあったため、それぞれテストしてみましたが、、、同様の箇所でエラーが発生しています※それぞれの違いについても理解できておらず、、、もし参考になるurlや知識なども教えていただけると非常に助かります

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2534](https://avatars.discourse-cdn.com/v4/letter/l/e9a140/32.png) [@Legacy\_Account2534](https://community.cybozu.dev/u/Legacy_Account2534)\
**Post date:** [2022 年 10 月 24 日午後 10:52 UTC](https://community.cybozu.dev/t/topic/1069/2 "2022-10-24T22:52:44Z")

</div>

polygonStar さん

フォームの入力データは event.record から取得できるので、下記サンプルのように取得、値のコピー（代入）をします。

```
var record = event.record;
record["請求日_01"]["value"] = record["請求日_02"]["value"];

```

※質問文内のコードだと、if 文の行と 請求日\_02 を代入する行に不備があります。

デベロッパーツールを使って、実際にデータを確認すると構造的に理解できると思います。

参考：[ChromeのデベロッパーツールでJavaScriptをデバッグする方法（2022年版）](https://ics.media/entry/190517/)

以上になります。参考になれば幸いです。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2089](https://avatars.discourse-cdn.com/v4/letter/l/9de0a6/32.png) [@Legacy\_Account2089](https://community.cybozu.dev/u/Legacy_Account2089)\
**Post date:** [2022 年 10 月 24 日午後 11:57 UTC](https://community.cybozu.dev/t/topic/1069/3 "2022-10-24T23:57:06Z")

</div>

川村様

ご回答ありがとうございます  
いただいた

\>※質問文内のコードだと、if 文の行と 請求日\_02 を代入する行に不備があります。

を元に下記のように修正しサイド試し、デベロッパーツールで見てみましたが、、、

変わらずif文の’!record’直後でエラーが出るようです  
ご指摘いただいた「if文内の不備」について、理解が足りてない結果だとは思います

また実際に保存も試してみたところ「レコードを再読み込みしてください。編集中に、ほかのユーザーがレコードを更新しました。」と表記が出てしまいます

重ねて質問で恐縮ですが、なにかご指摘の箇所があればご教授いただけますと幸いです

```
(function () {

    "use strict";
    kintone.events.on([
      'app.record.create.submit.success', 'app.record.edit.submit.success', 'app.record.create.show', 'app.record.edit.show'
      ], function(event) {
    
  if (!record["請求日_01"]["value"]) {
    
        var record = event.record;         
      record["請求日_01"]["value"] = record["請求日_02"]["value"];
      
        
    }
    
    return event;
    });
   })();

```

何卒よろしくお願いいたします

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2534](https://avatars.discourse-cdn.com/v4/letter/l/e9a140/32.png) [@Legacy\_Account2534](https://community.cybozu.dev/u/Legacy_Account2534)\
**Post date:** [2022 年 10 月 25 日午前 12:23 UTC](https://community.cybozu.dev/t/topic/1069/4 "2022-10-25T00:23:48Z")

</div>

polygonStar さん

if 文の時点では record という変数が存在しないので、if 文より前に record の変数定義が必要です。

```
var record = event.record;

if (!record["請求日_01"]["value"]) {

```

また、「レコードを再読み込みしてください〜」の件についてですが、イベントの設定が .submit.success （レコード保存成功後）になっていることが原因で、.submit （レコード保存前）に変更することで回避できます。

正しくは下記の通りです。

```
kintone.events.on([
'app.record.create.submit',
'app.record.edit.submit',
'app.record.index.edit.submit' // レコード一覧での編集も追加
], function (event) {

```

詳細は下記参考にしてみてください。

- [kintone JavaScript API（イベント）一覧](https://community.cybozu.dev/hc/ja/articles/360000361686-kintone-JavaScript-API-%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88-%E4%B8%80%E8%A6%A7)
- [JavaScript ガイド \> 文法とデータ型](https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Grammar_and_types)
- [JavaScript リファレンス \> 文と宣言 \> var](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/var)

以上になります。何か不明な点がありましたら、気兼ねなくご質問ください。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2089](https://avatars.discourse-cdn.com/v4/letter/l/9de0a6/32.png) [@Legacy\_Account2089](https://community.cybozu.dev/u/Legacy_Account2089)\
**Post date:** [2022 年 11 月 6 日午前 3:11 UTC](https://community.cybozu.dev/t/topic/1069/5 "2022-11-06T03:11:53Z")

</div>

川村様

ご返信ありがとうございます

申し訳ありません  
いただいたレスを見逃しておりました

早速いただいたアドバイスでコードを書き直したところ無事実装できました  
まだまだ勉強中ですが1つ１つ覚えていきたいと思います  
本当にありがとうございました

---

<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:** [2024 年 6 月 3 日午前 4:39 UTC](https://community.cybozu.dev/t/topic/1069/6 "2024-06-03T04:39:00Z")

</div>

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