kintoneのユーザー情報を一覧の条件に使用したい

何を実現したいのかを書きましょう

kintoneのユーザー情報に、「従業員ID」という項目がありますが、こちらを取得して、一覧の条件に使用したいのですが、カスタマイズビューでしか実現できないでしょうか?

外部からクライアントツールを使って、データ取込みしているアプリがあるのですが、作成者はAdministratorになってしまうため、「自分が担当者の一覧」が作成者=ログインユーザーの条件では作れないという問題があります。
外部のデータの、担当者マスタは作成済で、担当者マスタの担当者コードを、ユーザー情報に、「従業員ID」に登録してあります。

担当者フィールドを追加して、検索もそこを参照するようにするのはどうですかね?

参考

(担当者マスタがあるということなので、担当者のルックアップも方法としてはあるかも?)

「いいね!」 1

担当者フィールドは、あって、担当者マスタのルックアップになっています。
担当者マスタには、kintoneユーザーではない人も登録されています。
担当者フィールド = kintone.getLoginUser().employeeNumber
の条件を、一覧表示時に追加設定したいです。
カスタマイズで、kintone.app.getQueryCondition()で条件を取得して、
担当者の条件を追加する方法

// 以下で何とかできそうです。

(() => {
‘use strict’;

kintone.events.on(‘app.record.index.show’, async (event) => {
if (event.viewId !== ******) return;
const processedFlag = ‘customized=true’;

// すでにフラグが付いていたら処理しない
if (location.search.includes(processedFlag)) return;

try {
  // レコード一覧のクエリ文字列を取得
  let query = kintone.app.getQuery();    
  // ユーザー情報の従業員ID取得
  let employeeNumber = kintone.getLoginUser().employeeNumber;
  let addCondition = ` or 担当者コード = "${employeeNumber}"`

  // order by、limit、offset、は、画面で設定されたものをそのまま使う
  let queryParts = query.split(/ order by /i);
  queryParts[0] += addCondition;
  let organizedQuery = queryParts.join(' order by ');

  let viewid = event.viewId
  let str_query = '?view=' + viewid + '&' + 'query=' + organizedQuery;
  let newUrl = location.origin + location.pathname + str_query + '&' + processedFlag;
   document.location = newUrl;
} catch (error) {
  console.log('Error:', error);
}
return;

});
})();

担当者マスタがあるなら、マスタ側とトランザクション側の両方にユーザー選択のフィールドを作って、担当者コードのルックアップの従属にすれば良いのではないでしょうか。

検索は担当者コードではなく、ルックアップでコピーされてきたユーザー選択フィールド = ログインユーザー、とすればカスタマイズは無くて済むはずです。

「いいね!」 1

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。