新規投稿
フォローする

アプリ内フィールドへの反映について

大変恐れ入りますが

同一アプリ内での自動反映とでもいったらよいのでしょうか

日付フィールドに値が入ったらチェックボックスやラジオボタンまたは

文字一列(文言→入力済とか済とか)でも良いので、

何かしら日付フィールドに値が入りました

というものが欲しいと思っています。

Javascriptカスタマイズで出来ますでしょうか?

 

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

0

17件のコメント

Avatar
TK

こんにちは。

changeイベントを使えば可能です。

kintone.events.on(["app.record.create.change.日付", "app.record.edit.change.日付"], function(event) {

event.record.文字一列.value = 入力済;

return event;
});

 

 

0
Avatar
Riorio

ご連絡ありがとうございます!!やってみます!!大変大変助かります!

0
Avatar
Riorio

お忙しいところ恐縮です。

出来ました!

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

もう一つ関連づいて質問があるのですが、新しく投稿させていただきます。

ありがとうございます。

1
Avatar
Riorio

大変恐れ入ります。
ホームページの申込フォームとのapi連携との兼ね合いで、ルックアップ 先となるフィールド、つまりグレー色のフィールドへはフォーム入力したものを反映出来ないとフォーム作成業者より言われました。
回避策として、ルックアップ 先のフィールドから
今回の問い合わせさせていただいたchange
でもう一つフィールドを設けたところに
コピー的な反映はできないものでしょうか?

0
Avatar
TK

こんにちは。

ルックアップの「ほかのフィールドのコピー」で、入力された値をまた別のフィールドにコピーしたいということでしょうか??

TKにより編集されました
0
Avatar
Riorio

ご連絡ありがとうございます。

おっしゃる通りです。

具体的に

業者様の依頼としては

修理管理ID(取得用) というフィールドはルックアップ先のため、手動入力できるつくりではないため

APIからの登録・更新の場合、自動挿入されず空欄になる。その際に修理時計No.が取得できないケースが想定され

APIからの更新に失敗するので手動にしてほしいとの要望です。

現在下記の設定で一番下の方にコピー先のフィールド修理時計No.(取得用)がありますが

こちららにフォームから入力してきた値を反映させるので

自動挿入の場合は編集ができないからAPI更新がエラーになる想定と思われます。

ですので、ルックアップ先を編集できるようにするか

もう一つコピー先フィールドのコピー(手動入力できる)を作ってあげれば

解決できるのではなきかと思っておりますが

いかがでしょうか?

ここ以外にももしかすると今後必要になるのかもしれません。

できるものでしょうか?

 

 

 

 

フィールドですと下記のように自動挿入なので編集不可。

Riorioにより編集されました
0
Avatar
TK

詳細ありがとうございます。

結論から言いますと、どちらも可能だと思います。

ルックアップのコピーフィールドもdisabled = falseにしてやれば編集可になりますし、

そのコピーフィールドをchangeイベントに指定してやれば別のフィールドに値をコピーすることも可能です。

分かりにくいかも知れませんが、下記のを参考に試してみてください。

(function () {
"use strict";

kintone.events.on("app.record.create.show", function (event) {
const record = event.record;
record.ルックアップのコピー.disabled = false;
return event;

});

kintone.events.on("app.record.create.change.ルックアップのコピー", function (event) {
const record = event.record;
record.コピーのコピー.value = record.ルックアップのコピー.value;

return event;
});
})();

通常↓

コード反映後↓

 

0
Avatar
Riorio

ありがとうございます!!

早速やってみます!

0
Avatar
Riorio

無事できました。

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

0
Avatar
Riorio

こんにちは。

先日お教えいただいた、この記事の最初の日付に何かしら入ったときに、ほかのフィールドへ何かしら

文字やチェックなどでメール送信済みのようなことができるJavaScriptを教えていただいて出来ていたはずなんですが

一度、昨日はいらないという形になり、外してもう一度作り直してドロップダウン形式で

やってみようと思ったのですが、何も走ってくれません。

間違いがございますでしょうか?

アドバイスいただけると大変助かります。

日付_0に何の日付でもよいので値が入れば、ドロップダウン_6がメール予約押しましたを選択する

流れです。

 

(function () {
"use strict";

kintone.events.on(["app.record.create.change.日付_0", "app.record.edit.change.日付_0"], function(event) {

event.record.ドロップダウン_6.value = メール予約押しました;

return event;
});
})();

Riorioにより編集されました
0
Avatar
TK

気になるとしたら「メール予約押しました」が文字列じゃないところでしょうか?

また、コンソールにエラーなど出てましたら解決の手掛かりとなります。

event.record.ドロップダウン_6.value = "メール予約押しました";
0
Avatar
Riorio

ごれんらくありがとうございます。

こちらのエラーが発生している模様です。

0
Avatar
TK

↓下記に差し替えていただければ解決すると思います!

event.record.ドロップダウン_6.value = "メール予約押しました";
0
Avatar
Riorio

ごれんらくありがとうございます。

単純なところで申し訳ございません。

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

これができると、kmailerの予約送信後のステータス変更てきな機能で

メール予約押しました→済

に自動で変更できるので大変助かりました。

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

0
Avatar
Riorio

お世話になります。

お伺いしたいのですが、

現在changeが大変活躍しているのですが

(function () {
"use strict";

kintone.events.on(["app.record.create.change.日付_0", "app.record.edit.change.日付_0"], function(event) {

event.record.ドロップダウン_6.value = "メール予約押しました";

return event; 
});
})();

と同じ手法で

他のフィールドで例えば日付_1の場合で

ドロップダウン_8に 完了

とする場合、

今は別でJSファイルをアップしているのですが

上記のJS内に含めてしまうことは可能でしょうか?

もしくは別々が好ましいでしょうか?

もしお分かりになれば教えていただけますと幸いです。

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

0
Avatar
TK

event.typeでイベント分けができるのでそれを使えばまとめて記述できます。

(function () {

    "use strict";

    kintone.events.on(["app.record.create.change.日付_0", "app.record.edit.change.日付_0",

                     "app.record.create.change,日付_1", "app.record.edit.change.日付_1"], function (event) {

            switch (event.type) {

                case "app.record.create.change.日付_0":

                case "app.record.edit.change.日付_0":

                    event.record.ドロップダウン_6.value = "メール予約押しました";

                    break;

                case "app.record.create.change,日付_1":

                case "app.record.edit.change.日付_1":

                    event.record.ドロップダウン_8.value = "完了";

                    break

            }

            return event;

        });

})();
0
Avatar
Riorio

ありがとうございます!!

実施してみます!

 

大変助かりました。

0
ログインしてコメントを残してください。