ログインユーザのみのデータを印刷したい場合

ホーム 掲示板 ReportsConnect for Kintone ログインユーザのみのデータを印刷したい場合

このトピックは 3 発言者 で 12 件の返信 、  takase 6 年と 9 ヶ月 前 に最終更新されました。

13投稿中1~13 13件表示
  • 作成者
    投稿
  • #523

    renton
    参加者

    以前も同じ質問をさせて頂いたのですが、もう一度投稿させて頂きます。

    たとえば仕入先コードが複数あって、その仕入先コードに対応するログインユーザ毎のレコードだけを表示させるアクセス権を設定した場合に、そのログインユーザのレコードだけを印刷することはできますか。

        レコードの条件         ユーザ
    例:仕入先コード =(等しい) 15   ○○商事   閲覧にチェック

    この設定が仕入先コード毎に複数設定されており、各ユーザでログインすると、そのユーザのみのデータが表示されるようになっています。
    現在は一つ印刷用のユーザを登録してありReportsConnectの帳票のログイン名のところに設定してあります。すべての条件に印刷用のユーザを追加して閲覧にチェックをすれば印刷はできるのですが、○○商事以外のデータも印刷されてしまいます。

    ログインしたユーザのみのデータを印刷する方法は何かありますでしょうか。

    #526

    fujita
    参加者

    renton様

    レコードに設定された表示条件と同じ条件をSOQLに入れてみてください。
    この場合ですと、仕入先コード=ログインユーザになるのでしょうか。
    データの所有者が各ユーザになっているのであれば
    所有者=ログインユーザでも良いかと思います。

    #527

    renton
    参加者

    fujita様

    ご返信いただきありがとうございます。
    その設定をしてみたいと思うのですが、SOQLというのはどこに
    設定するものなのでしょうか。Kintone側ですか、それともireport側ですか。

    また設定するとして、簡単でいいのでどのような記述をすればいいのか
    教えて頂けると幸いです。
    (SOQLというのを初めて聞いたので、何か参考になるものを教えて頂けると
     大変助かります。)

    #528

    renton
    参加者

    fujita様 

    追記です。この場合は、仕入先コード=ログインユーザになっています。

    #529

    fujita
    参加者

    renton様

    SOQLはSalesforce版の設定の話でした。
    勘違いしており、申し訳ありません。
    kintone側の設定を確認いたしますので、少々お待ちください。

    #530

    renton
    参加者

    fujita様

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

    #531

    fujita
    参加者

    renton様

    遅くなりました。下記をお試しください。
    ・マニュアル(https://www.reportsconnect.com/dw/manual_kt.pdf)の
     P28の④、(kpsrc.rcparms.kps_ql ~)の行を削除
    ・P30の②、クエリーに今回の条件を記入
    例)作成者がログインユーザのものだけ表示したいのであれば
    作成者 in (“USER”, LOGINUSER())
    となります。

    #532

    renton
    参加者

    fujita様

    ご返信頂きありがとうございます。

    データにログインユーザの項目がなかったので、データにログインユーザの項目を追加して、教えて頂いた手順で行いましたが、うまくいきませんでした。
    なので、kintone.getLoginUser().codeを使用したところログインユーザのデータのみ印刷できました。

    ただ、一覧画面で絞り込み条件を指定して、印刷をしたい場合があったので下記のようなコードを記載しました。絞り込み条件かつログインユーザの印刷をすることができましたが、一覧画面ですべてを選択して印刷をしようとすると、「入力内容が正しくありません」というエラーで印刷ができません。一覧すべてで印刷をしたい場合もあるのですが、その場合、どのようなコードを書けばよろしいでしょうか?
    var user = “\”" + kintone.getLoginUser().code + “\”" ;
    kpsrc.rcparms.kps_ql = kintone.app.getQueryCondition() + “and” + ” ” + ‘ユーザー in’ + “(” + user + ”)”;

    #533

    takase
    参加者

    renton様

    一度クエリの内容をconsole.logでご確認いただけますでしょうか?
    console.log(‘クエリ条件: ‘+kpsrc.rcparms.kps_ql);
    シングルクオートやダブルクオートの数や位置で条件にエラーが出ることがよくあります。
    また、この記述ですとkintoneのアプリ一覧に条件が設定されていなかった際も不正な条件でエラーとなります。
    下記のコードも参考にしてみてください。

    var user = kintone.getLoginUser().code;
    var condition = kintone.app.getQueryCondition();
    if(condition != ”){
        kpsrc.rcparms.kps_ql = kintone.app.getQueryCondition() + ‘ and ユーザー =     \”‘+ user + ‘\”‘;
    }else{
        kpsrc.rcparms.kps_ql = ‘ユーザー = \”‘+ user + ‘\”‘;
    }

    #534

    renton
    参加者

    takase様

    ご返信ありがとうございます。
    教えて頂いたコードですが、if(condition != “)のところは、if(condition != “”) でよろしいですか。if(condition != “”)にかえて試してみたところ、 クエリの条件は、

    納品日 = LAST_MONTH() and ユーザー =”ユーザー名”

    と表示され問題なさそうですが、印刷時に下記エラーになりました。

    エラーにより印刷できません!:id: 252AmJBuMst4UOwm9HJk, code: GAIA_IQ03, message: ユーザーフィールドのフィールドタイプには演算子=を使用できません。/ユーザーフィールドのフィールドタイプには演算子=を使用できません。

    この場合は、どこを直したらよろしいでしょうか?

    #535

    takase
    参加者

    renton様

    ユーザー項目のデータ型が分からなかったので、こちらでは文字列のフィールドを想定して比較しておりました。
    エラーメッセージの通りで、演算子= をinに変えていただければ良いかと思います。

    #536

    renton
    参加者

    takase様

    ご返信ありがとうございます。

    すいません。投稿した後に in に変えればいいことに気づきました。 in に変えて試したところ、正常に動作して、望んだデータが印刷されました。

    いろいろと教えて頂きありがとうございました。大変助かりました。

    #537

    takase
    参加者

    ※補足です

    ‘ユーザー in (\”‘+ user + ‘\”)’;

13投稿中1~13 13件表示

このトピックに返信するためにはログインしなければなりません。