新規投稿
フォローする

同一レコード内の文字列一行フィールドのコピーについて

いつもお世話になります。

同一レコードのコピーがうまくいかないため、お教えいただけますと幸いです。

現在、送付先郵便番号、送付先住所、送付先電話番号

それぞれ文字列一行(自動計算)で入力されている値を

別の文字列一行フィールドへコピーしたく

送付先郵便番号copy、送付先住所copy、送付先電話番号copyというコピー先を作りました。

下記JSを組んだのですが

反応がないため、何が足りないのかお教えいただけますと幸いです。

CSVでデータを新規に上げるパターンの時に反映されるとベストですが

無理な場合は、必ずレコードを一度開いて保存をする作業があるため

その時に反応してくれてもよいと思っております。

すみませんが、よろしくお願いいたします!!!

 

先にエラーはこちらです。

 

 

(function () {

"use strict";

kintone.events.on(["app.record.create.change.送付先郵便番号", "app.record.edit.change.送付先郵便番号",
"app.record.create.change.送付先住所", "app.record.edit.change.送付先住所",
"app.record.create.change.送付先電話番号", "app.record.edit.change.送付先電話番号"], function (event) {

switch (event.type) {

case "app.record.create.change.送付先郵便番号":

case "app.record.edit.change.送付先郵便番号":

event.record.送付先電話番号copy.value = event.record.送付先郵便番号.value;

event.record.送付先電話番号copy.value = event.record.送付先郵便番号.value;

break;

case "app.record.create.change.送付先住所":

case "app.record.edit.change.送付先住所":

event.record.送付先住所copy.value = event.record.送付先住所.value;

event.record.送付先住所copy.value = event.record.送付先住所.value;

break;

case "app.record.create.change.送付先電話番号":

case "app.record.edit.change.送付先電話番号":

event.record.送付先電話番号copy.value = event.record.送付先電話番号.value;

event.record.送付先電話番号copy.value = event.record.送付先電話番号.value;

break;

}

return event;

});

})();

0

4件のコメント

Avatar
ウレット

コードを拝見しましたが、特に問題がないように見えます。
こちらの環境でも動かしてみましたが、特にエラーは発生しませんでした。
他のコードがあればそれが影響を与えている可能性もありそうです。

エラー内容のat download.do?app~~~の部分をクリックしてエラーの該当箇所を確認してみてください。

1
Avatar
Riorio

ウレット様

お世話になります。ありがとうございます!

他の機能をカットしたら動くようになるのが確認できまして、

さらに、その機能を復帰させたら動くようになりました。

CSVアップがきっかけで動くことはできないかと思われますが

現状入ってるデータを一覧表示、またはほかのフィールドの保存きっかけで

コピーしてくれることはできないのでしょうか?

動作確認したところ、changeなのでフィールドデータを変更しないと変わらないのですが

CSVアップだとすでに例えば送付先電話番号フィールドにデータが入っているので、

一覧表示きっかけ、または違うフィールドを変更することはあるので

その保存きっかけで送付先電話番号フィールド→送付先電話番号copyに入ってくれると

理想通りなのですが、これはさすがに無理でしょうか?

index.showで試しましたが、反応はありませんでした。

恐れ入りますが、お分かりになれば宜しくお願い致します。

0
Avatar
ウレット

お世話になります。
動くようになったとのこと、よかったです。

ご質問の件ですが、CSV読み込みタイミングはイベントが存在しないためおっしゃる通り不可です。
保存時に実行させるのが一番簡単で、コードを下記のように書き換えると一覧画面・新規作成画面・編集画面でレコードを保存時にコピーするようになります。

(function () {
'use strict';

kintone.events.on(
['app.record.index.edit.submit','app.record.create.submit', 'app.record.edit.submit'],
function (event) {
event.record.送付先郵便番号copy.value = event.record.送付先郵便番号.value;
event.record.送付先住所copy.value = event.record.送付先住所.value;
event.record.送付先電話番号copy.value = event.record.送付先電話番号.value;
return event;
}
);
})();

一覧を表示時に全てを更新するにはコードを大幅に書き換える必要があるのと、
REST APIの知識が必要です。

1
Avatar
Riorio

ウレット様

お世話になります!

submitのご教授、誠にありがとうございます!

現在、いただいたjsで一覧での編集時に反応するかみたのですが

送付先電話番号のみ反応します。特にconsoleエラーはありません。

 

具体的に言いますと、CSVでデータアップ後

出荷サイトという数値フィールドに28と初期値が入っているのですが、これは

何月何日に出荷されるというフィールドにjsで反応させるためのものなのですが、

一覧で編集ボタンを押して保存を押さないと初期値が入っていても反応がないので、その作業を実施します。

特にフィールドを触ることなく、編集ボタン→保存ボタンで反応する。

 

このときに、いただいたjsでついでに反応してくれるとよいのですが

実施してみたところ、一覧で編集ボタン→保存ボタンでは反応がなく

例えば出荷サイトの28が初期値のフィールドを一回クリックして編集状態になって

そのまま保存すると送付先電話番号だけ入ります。プラグイン、jsは

いただいたもの以外切ってみたのですが、送付先電話番号だけ反応する現象は変わりませんでした。

どこか変更する必要があるのでしょうか?

一覧からの編集ではなく、個々の編集画面では保存時にすべて反応してくれたので理想通りの動きにはなっております。

お忙しいところ恐れ入りますが、よろしくお願いいたします。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Riorioにより編集されました
0
サインインしてコメントを残してください。