何を実現したいのかを書きましょう
kintoneのユーザー情報に、「従業員ID」という項目がありますが、こちらを取得して、一覧の条件に使用したいのですが、カスタマイズビューでしか実現できないでしょうか?
外部からクライアントツールを使って、データ取込みしているアプリがあるのですが、作成者はAdministratorになってしまうため、「自分が担当者の一覧」が作成者=ログインユーザーの条件では作れないという問題があります。
外部のデータの、担当者マスタは作成済で、担当者マスタの担当者コードを、ユーザー情報に、「従業員ID」に登録してあります。
mura
2
担当者フィールドを追加して、検索もそこを参照するようにするのはどうですかね?
参考
(担当者マスタがあるということなので、担当者のルックアップも方法としてはあるかも?)
「いいね!」 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
system
(system)
クローズされました:
5
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。