質問編集履歴
5
解決方法を追加しました!
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -41,6 +41,7 @@ | |
| 41 41 | 
             
            salesforce、apexともに携わって2週間ほどですが、他に分かる人がおらず大変困っております。trailheadと並行して勉強中なので、(javaでの開発もありません)基本もわかっていない部分があると思います。どなたか助言をいただけないでしょうか。よろしくお願いします。
         | 
| 42 42 |  | 
| 43 43 | 
             
            追記①:解決しました!
         | 
| 44 | 
            +
            ```
         | 
| 44 45 | 
             
            //元からあったクラス定義部分のgUserにbaseNo__cを追加
         | 
| 45 46 | 
             
            gUser = [ SELECT  id, Name,baseNo__c  FROM  User];
         | 
| 46 47 |  | 
| @@ -61,8 +62,10 @@ | |
| 61 62 | 
             
                  // コール元に返す				
         | 
| 62 63 | 
             
                  return result;						
         | 
| 63 64 | 
             
                }
         | 
| 65 | 
            +
            ```
         | 
| 66 | 
            +
            正直まだ完全に理解できておりませんが、皆様に助言いただいたSchemaというキーワードで
         | 
| 67 | 
            +
            試行錯誤してたどり着きました。もっと勉強します。
         | 
| 64 68 |  | 
| 65 | 
            -
             | 
| 66 69 | 
             
            追記②:一番最初これで行けると思ったがこれだとガバナ制限に引っかかってテスト通らず却下。
         | 
| 67 70 | 
             
            ```
         | 
| 68 71 | 
             
            //クラス定義部分に追加 ここでbaseNo__cのラベルを取得
         | 
4
解決しました!
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            オブジェクト「User」の中にカスタム項目「baseNo」があります。
         | 
| 2 | 
            -
            「baseNo」はリスト型で
         | 
| 2 | 
            +
            「baseNo」は選択リスト型で
         | 
| 3 | 
            -
            値 | 
| 3 | 
            +
            値:東京
         | 
| 4 4 | 
             
            API参照名:1
         | 
| 5 5 | 
             
            というような作りになっております。
         | 
| 6 6 |  | 
| @@ -40,7 +40,30 @@ | |
| 40 40 |  | 
| 41 41 | 
             
            salesforce、apexともに携わって2週間ほどですが、他に分かる人がおらず大変困っております。trailheadと並行して勉強中なので、(javaでの開発もありません)基本もわかっていない部分があると思います。どなたか助言をいただけないでしょうか。よろしくお願いします。
         | 
| 42 42 |  | 
| 43 | 
            +
            追記①:解決しました!
         | 
| 44 | 
            +
            //元からあったクラス定義部分のgUserにbaseNo__cを追加
         | 
| 45 | 
            +
            gUser = [ SELECT  id, Name,baseNo__c  FROM  User];
         | 
| 46 | 
            +
             | 
| 47 | 
            +
            //現在のレコードとgUserのIDを照合して、一致したらbaseNo__cを返す
         | 
| 48 | 
            +
            private String getBaseName(Id uId) {	
         | 
| 49 | 
            +
            String result = null;				
         | 
| 50 | 
            +
                for (User rec : gUser) {
         | 
| 51 | 
            +
            	if (rec.Id == uId) {
         | 
| 52 | 
            +
                       Schema.DescribeFieldResult o = User.baseNo__c.getDescribe();
         | 
| 53 | 
            +
                       List<Schema.PicklistEntry> v = o.getPicklistValues(); //baseNo__cのデータを取得
         | 
| 54 | 
            +
                       for(Schema.PicklistEntry s : v){ 
         | 
| 55 | 
            +
                             if(rec.baseNo__c == s.getValue()){   
         | 
| 56 | 
            +
                                 result = s.getLabel();
         | 
| 57 | 
            +
                              }	
         | 
| 58 | 
            +
                           }
         | 
| 59 | 
            +
                    }
         | 
| 60 | 
            +
                    }
         | 
| 61 | 
            +
                  // コール元に返す				
         | 
| 62 | 
            +
                  return result;						
         | 
| 63 | 
            +
                }
         | 
| 64 | 
            +
             | 
| 65 | 
            +
             | 
| 43 | 
            -
             | 
| 66 | 
            +
            追記②:一番最初これで行けると思ったがこれだとガバナ制限に引っかかってテスト通らず却下。
         | 
| 44 67 | 
             
            ```
         | 
| 45 68 | 
             
            //クラス定義部分に追加 ここでbaseNo__cのラベルを取得
         | 
| 46 69 | 
             
            gBaseName = [
         | 
3
解決方法がうまくいかなかったので
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -40,7 +40,7 @@ | |
| 40 40 |  | 
| 41 41 | 
             
            salesforce、apexともに携わって2週間ほどですが、他に分かる人がおらず大変困っております。trailheadと並行して勉強中なので、(javaでの開発もありません)基本もわかっていない部分があると思います。どなたか助言をいただけないでしょうか。よろしくお願いします。
         | 
| 42 42 |  | 
| 43 | 
            -
            「追記」解決方法です。
         | 
| 43 | 
            +
            「追記」解決方法です。 さらに追記:これだとガバナ制限に引っかかってテスト通らず。
         | 
| 44 44 | 
             
            ```
         | 
| 45 45 | 
             
            //クラス定義部分に追加 ここでbaseNo__cのラベルを取得
         | 
| 46 46 | 
             
            gBaseName = [
         | 
2
解決したコードを記載しました。
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -38,4 +38,29 @@ | |
| 38 38 |  | 
| 39 39 | 
             
            ```
         | 
| 40 40 |  | 
| 41 | 
            -
            salesforce、apexともに携わって2週間ほどですが、他に分かる人がおらず大変困っております。trailheadと並行して勉強中なので、(javaでの開発もありません)基本もわかっていない部分があると思います。どなたか助言をいただけないでしょうか。よろしくお願いします。
         | 
| 41 | 
            +
            salesforce、apexともに携わって2週間ほどですが、他に分かる人がおらず大変困っております。trailheadと並行して勉強中なので、(javaでの開発もありません)基本もわかっていない部分があると思います。どなたか助言をいただけないでしょうか。よろしくお願いします。
         | 
| 42 | 
            +
             | 
| 43 | 
            +
            「追記」解決方法です。
         | 
| 44 | 
            +
            ```
         | 
| 45 | 
            +
            //クラス定義部分に追加 ここでbaseNo__cのラベルを取得
         | 
| 46 | 
            +
            gBaseName = [
         | 
| 47 | 
            +
                        SELECT id,Name,toLabel(baseNo__c)
         | 
| 48 | 
            +
                        FROM User
         | 
| 49 | 
            +
                    ];
         | 
| 50 | 
            +
             | 
| 51 | 
            +
            //現在のレコードとList gBaseNameのIDを照合して、一致したらbaseNo__cを返す
         | 
| 52 | 
            +
            //この時、toLabel()にしなくてもラベルが返ってくる。
         | 
| 53 | 
            +
            private String getBaseName(Id uId) {					
         | 
| 54 | 
            +
            						
         | 
| 55 | 
            +
            		String result = null;				
         | 
| 56 | 
            +
            						
         | 
| 57 | 
            +
            		for (User rec : gBaseName) {				
         | 
| 58 | 
            +
            			if (rec.Id == uId) {			
         | 
| 59 | 
            +
                        					
         | 
| 60 | 
            +
                            result = rec.baseNo__c;						
         | 
| 61 | 
            +
                        }  						
         | 
| 62 | 
            +
                    }						
         | 
| 63 | 
            +
            		// コール元に返す				
         | 
| 64 | 
            +
            		return result;				
         | 
| 65 | 
            +
            	}					
         | 
| 66 | 
            +
            ```
         | 
1
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -5,7 +5,7 @@ | |
| 5 5 | 
             
            というような作りになっております。
         | 
| 6 6 |  | 
| 7 7 | 
             
            API参照名は下記のコードで取得できています(前任者が作成)
         | 
| 8 | 
            -
             | 
| 8 | 
            +
            ```
         | 
| 9 9 | 
             
            クラスの定義部分で
         | 
| 10 10 | 
             
            gUser = [ SELECT  id, Name  FROM  User];
         | 
| 11 11 | 
             
            とuserオブジェクトからIDを取ってきて
         | 
| @@ -20,10 +20,11 @@ | |
| 20 20 | 
             
                    }
         | 
| 21 21 | 
             
                    return result;
         | 
| 22 22 | 
             
                }
         | 
| 23 | 
            +
             | 
| 23 | 
            -
             | 
| 24 | 
            +
            ```
         | 
| 24 25 | 
             
            今回、このbaseNoのAPI参照名ではなく表示ラベルも取得し、画面上に表示させる改修を頼まれ、
         | 
| 25 26 | 
             
            上記のコードを見よう見まねで作ってみたのですがうまくいきません。
         | 
| 26 | 
            -
             | 
| 27 | 
            +
            ```
         | 
| 27 28 | 
             
            private String getBaseName(Id uId) {
         | 
| 28 29 | 
             
                    String result = null;
         | 
| 29 30 | 
             
                    for (User rec : gUser) {
         | 
| @@ -35,4 +36,6 @@ | |
| 35 36 | 
             
                    return result;
         | 
| 36 37 | 
             
                }
         | 
| 37 38 |  | 
| 39 | 
            +
            ```
         | 
| 40 | 
            +
             | 
| 38 41 | 
             
            salesforce、apexともに携わって2週間ほどですが、他に分かる人がおらず大変困っております。trailheadと並行して勉強中なので、(javaでの開発もありません)基本もわかっていない部分があると思います。どなたか助言をいただけないでしょうか。よろしくお願いします。
         | 
