【プリントクリエイター】セレクト要素の選択→保存で値が反映されない

お世話になっております。

 

掲題の件、プリントクリエイターの自動保存機能を使用して、詳細画面が表示されたときにjqueryにて保存ボタンを疑似クリック、添付ファイルフィールドに帳票が自動で保存されるようにしたいと考えております。

 

 

コードは以下の通りです。

=======================================================

(function() {
“use strict”;

//レコードの追加、編集、詳細画面で適用する
var events = [‘app.record.detail.show’,
]

kintone.events.on(events, function(event) {

var record = event.record;

const MAX_RETRY_COUNT_FIND_DIFF_CONTAINER = 10;
var retry_counter = 0;
var set_interval_id = setInterval(findTargetElement, 1000);

/**
* diff要素を取得
*/
function findTargetElement() {

retry_counter++;
// 要素がMAXリトライ値になっても見つからない場合、インターバルを削除
if(retry_counter > MAX_RETRY_COUNT_FIND_DIFF_CONTAINER) {
clearInterval(set_interval_id);
console.log(“プリントクリエイターの要素なし”);
}

//帳票出力ボタン
var diff_elements1 = document.getElementsByClassName(‘pc-output’);

//帳票保存ボタン
var diff_elements2 = document.getElementsByClassName(‘pc-save’);

if(diff_elements1.length > 0) {
clearInterval(set_interval_id);

$(‘.pcreator-sheets-select’).val(68129);

//帳票保存先設定 → textなしvalueのみ。valueの値はフィールドコード
$(‘.pcreator-attachment-field-select’).val(‘attachment’);

//帳票名設定 → textなしvalueのみ。valueの値はフィールドコード
$(‘#pc-attachment-filename-select-container’).show();
$(‘.pcreator-filename-field-select’).val(‘attachmenttitle’);

//帳票保存ボタンを表示
$(‘.pc-save’).show();

//帳票出力ボタンを非表示
$(‘.pc-output’).hide();

//帳票名をログに出力
console.log($(“.pcreator-filename-field-select option:selected”).text());

// $(‘.pc-save’).click();

}
}

return event;

});
})();

=======================================================

処理の流れとしては、

①プリントクリエイターの「出力」ボタン要素が確認できるまで待つ

②確認後、セレクト要素を指定のvalueに変更する

③帳票名セレクトボックスを表示、出力ボタンを非表示、保存ボタンを表示に設定する

④保存ボタンを疑似クリックする

 

上記の処理で、要素の表示・非表示や保存ボタンの疑似クリックは問題なくできているのですが、

帳票のファイル名設定が反映されず、デフォルトの帳票名が設定されてしまいます。

 


//帳票名をログに出力
console.log($(“.pcreator-filename-field-select option:selected”).text());


の部分で選択されている値(テキスト)をログで確認したのですが、ここでは問題なく指定した値が選択されています。

 

おそらく、セレクト要素の値をjqueryで選択しているので値は設定されているが反映がされていない状況だと思うのですが、

帳票保存フィールドの選択で「$(‘.pcreator-attachment-field-select’).val(‘attachment’).change();」としてchangeイベントを発火させて、そのイベント内で保存ボタンをクリックしても変わりなしでした。

 

jqueryで選択した帳票名を反映させるにはどのようにすればいいのでしょうか?

アドバイスなどいただけると幸いです。

 

お手数ですが、よろしくお願いいたします。

 

ご回答いただけるか分かりませんが、まだ未解決なのでもしアドバイスなどいただければ幸いです。

===================================================================

$(‘.pcreator-sheets-select’).val(68129);

$(‘.pcreator-sheets-select’).val(68129).change();

===================================================================

//帳票保存先設定 → textなしvalueのみ。valueの値はフィールドコード
$(‘.pcreator-attachment-field-select’).val(‘attachment’);

 

$(‘.pcreator-attachment-field-select’).val(‘attachment’).change();

===================================================================

//帳票名設定 → textなしvalueのみ。valueの値はフィールドコード

$(‘.pcreator-filename-field-select’).val(‘attachmenttitle’);

$(‘.pcreator-filename-field-select’).val(‘attachmenttitle’).change();

===================================================================

 

上記のように、changeイベントを追記したところ、

pcreator-sheets-select(帳票選択) → changeイベントが発火した

pcreator-attachment-field-select(帳票の保存フィールド選択) → changeイベントが発火した

pcreator-filename-field-select(帳票名選択) → changeイベントが発火しない

 

元から表示されている「pcreator-sheets-select(帳票選択)」と「pcreator-attachment-field-select(帳票の保存フィールド選択)」はjqueryで値を指定すれば反映されて、

表示が切り替わる「pcreator-filename-field-select(帳票名選択)」については値が反映されないような動きだと思います。

 

ただ、帳票の自動保存を設定している場合、

手動(レコードの詳細画面)で「pcreator-attachment-field-select(帳票の保存フィールド選択)」を変更すると「pcreator-filename-field-select(帳票名選択)」が表示され、「出力」ボタンが「保存」ボタンに切り替わるのですが

 

jqueryで「pcreator-attachment-field-select(帳票の保存フィールド選択)」の値を「$(‘.pcreator-attachment-field-select’).val(‘attachment’).change();」としても表示とボタンが切り替わりません。

 

jqueryで値を設定して「保存」ボタンを押下するまでを自動化することは可能でしょうか?

 

アドバイスなどいただければ幸いです。