新規投稿
フォローする

スペースフィールドに表示した値を印刷したい。

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

スペースフィールドへのinnerHTMLを参考に

JavaScriptで計算した値をスペースフィールドに埋め込んでおります。

その埋め込んだ値ですが、Kintoneのレコードを印刷で印刷すると値が印刷されません。

 

印刷する方法する方法をご教示いただけないでしょうか。

よろしくお願い致します。

0

5件のコメント

Avatar
TK

こんにちは。

私も同じようなことで困ったのですが、スペースを使わずに文字列_複数行などに値を反映して対応してました。

タイトルの趣旨とはずれますが参考までに。

 

1
Avatar
erika
takokichi様

初めまして。
編集画面や詳細画面で表示が出来ているのであれば、
印刷用画面表示イベントでもinnerHTMLの値を表示させればよいのではないでしょうか。
コード例になりますが、ご参考までに。

(function() {
  'use strict';
 
  kintone.events.on(
    [
      'app.record.create.show',
      'app.record.detail.show',
      'app.record.edit.show',
      'app.record.print.show',// 印刷画面が表示されたときに動作
 
    ], function(event) {
 
      var record = event.record;
 
      //増殖を防ぐため最初に要素をクリアする
      var aNode = kintone.app.record.getSpaceElement("スペース要素")
      for (var i =aNode.childNodes.length-1; i>=0; i--) {
        aNode.removeChild(aNode.childNodes[i]);
      }
 
      var divTotalAmount0 = document.createElement('div');
 
      divTotalAmount0.style.textAlign = 'right';//フォントの位置
      divTotalAmount0.style.fontSize = '35px';//フォントのサイズ
      divTotalAmount0.innerHTML = "印刷できるかな";//値の設定
      kintone.app.record.getSpaceElement("スペース要素").appendChild(divTotalAmount0);
 
  });
 
})();
0
Avatar
takokichi

erika様

詳細にコードまで記載いただきありがとうございます。

以下の通りコードを変更しましたが、Kintoneのレコードの印刷では印刷されませんでした。

やはり、Kintoneので印刷できない仕様なのでしょうか。。。

      var aNode = kintone.app.record.getSpaceElement('sub_total_area')
      for (var i =aNode.childNodes.length-1; i>=0; i--) {
        aNode.removeChild(aNode.childNodes[i]);
      }
      
    var z = 0;
while (z < hinban_kazu.length) {
var itemSpace = document.createElement('div');
//itemSpace.innerText = hinban_kazu[z];
itemSpace.style.textAlign = 'right';//フォントの位置
      itemSpace.style.fontSize = '35px';//フォントのサイズ
itemSpace.innerHTML = hinban_kazu[z];
//myTotalSpace.appendChild(itemSpace);
kintone.app.record.getSpaceElement('sub_total_area').appendChild(itemSpace);
z++;
}
 
takokichiにより編集されました
0
Avatar
erika

takokichi様
ご連絡ありがとうございます。先日私が記載したコードでFOXとGoogleブラウザで印刷できましたので、できるはずですが。。

考えられるのは、'app.record.print.show'を追加し忘れてるとか。。
デバッグは試しました?takokichi様のコードを少し変えて印刷も出来ましたので、どこかでエラーが出てませんでしょうか?

  var aNode = kintone.app.record.getSpaceElement('test')
      for (var i =aNode.childNodes.length-1; i>=0; i--) {
        aNode.removeChild(aNode.childNodes[i]);
      }
      
    var z = 0;
while (z < 5) {
var itemSpace = document.createElement('div');
//itemSpace.innerText = hinban_kazu[z];
itemSpace.style.textAlign = 'right';//フォントの位置
      itemSpace.style.fontSize = '35px';//フォントのサイズ
itemSpace.innerHTML = z;
//myTotalSpace.appendChild(itemSpace);
kintone.app.record.getSpaceElement('test').appendChild(itemSpace);
z++;
}
erikaにより編集されました
1
Avatar
takokichi

erika様

 

早急に返信いただきありがとうございました。

ご指摘の通り'app.record.print.show'を追加し忘れておりました。

つまらない凡ミスのデバッグをさせてしまい申し訳ありません!

少し修正するだけで解決しました。

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

1
サインインしてコメントを残してください。