【プリントクリエイター】帳票選択の初期値をレコードの内容に応じて切り替えたい

背景・実現したいこと

プリントクリエイターの帳票が複数あるアプリにて、

詳細画面を開いたたときに、プリントクリエイターの帳票選択の初期値を、レコードのとある項目の内容に応じて自動で切り替えたいです。

目的は、手動で帳票選択をせずとも出力ボタン押下の1アクションで目的の帳票を印刷できるようにするためです。

コーディング例があればお知恵をお貸しいただきたいです。

また、帳票の初期値切替以外にも目的が達成できる方法があればアドバイスいただきたいです。

↑ここに表示される帳票名の初期値を、レコードの内容に応じて自動で切り替えたいです。

(経緯)

今まで以下の方法でカスタマイズしており問題なく動作していたのですが、2020年12月頃から帳票名の初期値はレコードの内容に応じて切り替わるものの、出力ボタン押下で実際に出力される帳票が表示されている帳票名とは異なるものになってしまいました(ソート順が1の帳票が常に出力されてしまう)。

getElementsByClassName(“pcreator-sheets-select”) 

→さらにgetElementsByTagName(“option”) で<option>タグの内容を取得 ※帳票名が格納されている。

この<option>タグの文言とレコードのとある項目の文言を突き合わる。

 

私も同じようなことをしていて、同じく2020/12のアップデートで動かなくなりました。

参考になるかわかりませんが、

帳票名の初期値をセットする処理の後に、追加でformのアクションのURLも書き換えることで、強引に設定することはできるようでした。

が、また動かなくなる可能性もありそうなので、自動選択はあきらめて、手動で選択してもらう運用をお願いしました。

 

let pcreatorSelect = document.querySelector('.pcreator-sheets-select');
let pcreatorButton = document.querySelector('.pcreator-submit-new-ui');
if (pcreatorButton.parentNode && pcreatorSelect.firstChild) {
    pcreatorButton.parentNode.action = pcreatorButton.parentNode.action.replace('/' + pcreatorSelect.firstChild.value + '/', '/' + pcreatorSelect.value + '/');
}

 

PV様

ご丁寧に情報をいただきありがとうございます。

同じ現象の方がいらっしゃるのですね。やはりアップデートの影響なのですね。

私も手動で選択してもらう運用を案内するようにしようかと考え中です。

2021年3月4日のアップデートにて、「帳票初期選択機能」が実装されました。

【kintone(キントーン)から帳票出力】条件による帳票の初期選択が可能に!
https://kintoneapp.com/blog/initial_selection/

こちらを使えばJavaScriptによるカスタマイズ無しに要件が満たせるかと思います。

T.T様

まさに実現したいことでした!(もともとカスタマイズで実装していたのと同じ動作)

教えていただき誠にありがとうございます。