出張費用申請のフローを構築しています。プロセス管理で、”出張費用承認”のステータスを承認した人を、ユーザー選択フィールドの"Host承認者"にユーザーを反映させ、"HostCompany確認中(出張費用)"のプロセスで承認をした人を"GHR承認者"に入れるコードを書きました。これまでは、"Host承認者"と"GHR承認者"はユーザー選択フィールドだったのですが、文字列(1行)フィールドにフィールドを直し、ユーザー管理のカスタマイズ項目の"Name"覧に登録をした値を反映させたいです。
これまで利用していたコードは以下で、これは動いていました。
// HOST側の承認者、GHR側の承認者をユーザー選択フィールドに入力します。
const userSelectFieldCodeHost = “Host承認者”;
const userSelectFieldCodeGHR = “GHR承認者”;
const saveStatusHost = “出張費用承認”;
const saveStatusGHR = “HostCompany確認中(出張費用)”;
kintone.events.on("app.record.detail.process.proceed", function(event) {
if (event.nextStatus.value === saveStatusHost) {
const authorizer = kintone.getLoginUser();
event.record[userSelectFieldCodeHost].value = [
{
code: authorizer.code
}
];
}
if (event.nextStatus.value === saveStatusGHR) {
const authorizerGHR = kintone.getLoginUser();
event.record[userSelectFieldCodeGHR].value = [
{
code: authorizerGHR.code
}
];
}
return event;
});
ただ、英語名で表示をさせたいので、ユーザー管理の カスタマイズ項目の設定に”Name”という文字列(1行)の項目をもたせ、そこに英語名を入れ、これをフォームの文字列(1行)フィールドに反映させたいです。
※日本語環境で、承認者の名前を英語で出したいものです。
以下のように改修したのですが動きません。
const userSelectFieldCodeHost = “Host承認者”;
const userSelectFieldCodeGHR = “GHR承認者”;
const saveStatusHost = “出張費用承認”;
const saveStatusGHR = “HostCompany確認中(出張費用)”;
kintone.events.on("app.record.detail.process.proceed", function(event) {
if (event.nextStatus.value === saveStatusHost) {
const authorizer = kintone.getLoginUser().Name;
event.record[userSelectFieldCodeHost].value = authorizer
}
if (event.nextStatus.value === saveStatusGHR) {
const authorizerGHR = kintone.getLoginUser().Name;
event.record[userSelectFieldCodeGHR].value = authorizerGHR
}
return event;
});
})();
どのように修正すれば良いのでしょうか。ユーザー登録の、組織/ユーザーの中にある” カスタマイズ項目の設定”を利用しています。
ここの値を引っ張るにはどのようにすれば良いか、お知恵をお貸しください。宜しくお願い致します。