kintone一覧画面でボタンワンクリックでテキストフィールドの値をユーザー選択に反映させたい。

<やりたきこと>
・顧客がFormBridgeに入力した直後に自社の営業担当がkintoneレコードを確認できるようにしたい。

<手順>
①自社の営業担当が、受注後に顧客へFormBridgeを入力してもらう。
②FormBridgeでは顧客に、自社営業担当のコードを選択いただき、顧客の入力情報に営業担当の情報(コード・名前・メールアドレス)が紐づいた状態で入力いただく。

<制約>
・kintoneの権限設定で営業担当は自分のレコードしか閲覧できない状態にする必要がある
・kintoneのレコードの権限設定はユーザ・組織・グループ・作成者・更新者のみしか指定できないが、FormBridgeではいずれも指定ができない。

<解決策 案>
kintoneの一覧画面にボタンを設け、営業が顧客のFormBridge入力後にkintone一覧画面のボタンをクリックすることで、
FormBridgeから入力された文字列フィールド「営業担当」をユーザー選択フィールド「営業名_ユーザー選択」にコピーし、最新の5レコードのみ取得させ、
営業が自担当の顧客のkintoneレコードを確認できる状態としたい。

<発生した問題>
文字列フィールドではなく、ログインユーザーのユーザー情報がユーザー選択フィールドに選択されてしまう。

知見のある方のご指摘をいただけると大変幸いでございます。よろしくお願いいたします。

実行したコードをコピー&ペーストしましょう

(function () {
    "use strict";
  
    var FIELD_CODE_TEXT = '営業担当氏名';
    var FIELD_CODE_USER = '営業名_ユーザー選択';
    var SUCCESS_MESSAGE = '更新しました。';
    var ERROR_MESSAGE = '更新に失敗しました。';
    var APP_ID = 35;
  
    var fetchLatestRecords = function (appId, limit) {
      return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', {
        app: appId,
        query: 'order by $id desc limit ' + limit
      }).then(function (response) {
        return response.records;
      });
    };
  
    var fetchUserCode = function (username) {
      console.log('Fetching user code for username:', username);
      return kintone.api(kintone.api.url('/v1/users', true), 'GET', {
        query: 'name = "' + username + '"'
      }).then(function (response) {
        if (response.users.length > 0) {
          var userCode = response.users[0].code;
          console.log('Fetched user code:', userCode);
          return userCode;
        } else {
          throw new Error('ユーザーが見つかりません: ' + username);
        }
      });
    };
  
    var updateRecords = function (appId, records) {
      var userPromises = records.map(function (record) {
        var username = record[FIELD_CODE_TEXT].value;
        return fetchUserCode(username).then(function (userCode) {
          console.log('Updating record ID', record.$id.value, 'with user code', userCode);
          return {
            id: record.$id.value,
            record: {
              [FIELD_CODE_USER]: {
                value: [{ code: userCode }]
              }
            }
          };
        }).catch(function (error) {
          console.error('ユーザーコード取得エラー:', error);
          throw error;
        });
      });
  
      return Promise.all(userPromises).then(function (updatedRecords) {
        return kintone.api(kintone.api.url('/k/v1/records', true), 'PUT', {
          app: appId,
          records: updatedRecords
        });

※なお、別文脈ですが、FormBridge×kViewerプレミアムプランによるトヨクモFormBridgekintone認証でのFormBridge上での閲覧制限などは実施済です。