一つのアプリに複数の帳票を設定した場合、
フォームの条件に従って出力できる帳票を制御することはできますか?
例:Aアプリに 請求書(鑑)、請求書(明細)という2つの帳票を設定
チェックボックス = ON → 請求書(鑑)のボタンのみ表示
チェックボックス = OFF → 請求書(明細)のボタンのみ表示
一つのアプリに複数の帳票を設定した場合、
フォームの条件に従って出力できる帳票を制御することはできますか?
例:Aアプリに 請求書(鑑)、請求書(明細)という2つの帳票を設定
チェックボックス = ON → 請求書(鑑)のボタンのみ表示
チェックボックス = OFF → 請求書(明細)のボタンのみ表示
hsoさん
cstapの瀧ヶ平です。
プリントクリエイターの出力帳票の表示を制御する場合、プリントクリエイターの出力ボタンの表示を待ってから、当該のselect要素のDOMを操作することで可能です。
表示を待つ処理はMutationObserverでDOMの変更を検知することで、select要素のDOMはdocument.querySelector(“select.pcreator-sheets-select”) で取得可能です。
今回の場合は以下のようなコードで実現できるかと思います。
(function() {"use strict";kintone.events.on("app.record.detail.show",function(event) {
(newMutationObserver(function(\_,observer) {varselector=document.querySelector("select.pcreator-sheets-select");if(selector){varenableSheet=event.record["チェックボックス"].value?"請求書(鑑)":"請求書(明細)";Array.from(selector.options).forEach(function(option) {if(option.textContent!==enebleSheet)option.style.display="none";
});observer.disconnect();
}
})).observe(kintone.app.record.getHeaderMenuSpaceElement(), {childList:true, subtree:true});returnevent;
});
})();
参考になりますでしょうか
横から失礼します。
実装してみたのですが、常にチェックオンの場合の項目のみが表示されます。
何かコードが違うのでしょうか。