プリントクリエイターの出力帳票制御に関して

 

  一つのアプリに複数の帳票を設定した場合、

 

 フォームの条件に従って出力できる帳票を制御することはできますか?

 

 例: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;
  });
})();

参考になりますでしょうか

横から失礼します。

実装してみたのですが、常にチェックオンの場合の項目のみが表示されます。

何かコードが違うのでしょうか。