カーソルAPIを使っての一覧印刷機能

>データとして正しくないようなのですが、よく分からない為、ご教示頂きたいと思います。

どのようなデータでエラーになっているか、まず変数の中身を見てみましょう。
kintone JavaScript カスタマイズデバッグまとめ

>また、レコードを取得した後のデータをコンソールログで見ると、全項目を取得していました。

「kintone.api(kintone.api.url(‘/k/v1/app/views’, true), ‘GET’, {app: app}, function(resp) {」が非同期処理なので、

APIの完了を待たずに「params.fields = fields;」をセットする前に、「カーソルを作成する」が実行されるためです。

「params.fields = fields;」をセット後に、「カーソルを作成する」を実行してください。

この処理の一番の問題は、一覧画面表示イベントで無条件に対象レコードを取得してから、ボタン表示を行っていることです。

ボタンがクリックされてからからレコード取得を行いましょう。

一覧画面表示毎に、無駄なレコード取得を行うと下記の影響があります。

・kintone サーバー側の負荷増大
・PC 側の負荷増大
・カーソル多用による、他カーソル利用処理への影響
※カーソルの作成は1ドメインあたり同時に1リクエストのみ実行できます。実行中のリクエストがある場合は待機します。
有効なカーソルの数は1ドメイン辺り10です。
上限に達した場合、次のいずれかが発生するまで新しいカーソルを開くことはできません。

・カーソルでレコード取得中に、画面を切り替えた場合、処理中のカーソルが閉じられずに、10分間残ります。