You need to sign in to do that
Don't have an account?
Do Schema.RecordTypeInfo Runs under user context??
String[] types = new String[]{'Account'};
List<Schema.DescribeSobjectResult> results = Schema.describeSObjects(types);
Map<String, Schema.RecordTypeInfo> rmap = new Map<String, Schema.RecordTypeInfo> ();
for (Schema.RecordTypeInfo ri: results[0].getRecordTypeInfos()) {
rmap.put(ri.getname(), ri);//use ri.getRecordTypeId() for an Id map
}
system.debug('@@@@@rmap@@@@'+rmap);
+++++++++++++++++++++++++++++++++++++++++++++++++++++
in the above debug log for record type i am getting the translated values for record types
List<Schema.DescribeSobjectResult> results = Schema.describeSObjects(types);
Map<String, Schema.RecordTypeInfo> rmap = new Map<String, Schema.RecordTypeInfo> ();
for (Schema.RecordTypeInfo ri: results[0].getRecordTypeInfos()) {
rmap.put(ri.getname(), ri);//use ri.getRecordTypeId() for an Id map
}
system.debug('@@@@@rmap@@@@'+rmap);
+++++++++++++++++++++++++++++++++++++++++++++++++++++
in the above debug log for record type i am getting the translated values for record types
http://www.infallibletechie.com
but to a very strange observation when i run the same above piece of code in salesforce environment it is providing me record type name different in language as per user's lanugage, is this normal behaviour or some bug that needs to be reported in salesforce.
USER_DEBUG [8]|DEBUG|@@@@@rmap@@@@
{Master=Schema.RecordTypeInfo[getName=Master;getRecordTypeId=012000000000000AAA;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=true;],
New Account=Schema.RecordTypeInfo[getName=New Account;getRecordTypeId=0123000000020JdAAI;isAvailable=true;isDefaultRecordTypeMapping=true;isMaster=false;],
Not Verified Account=Schema.RecordTypeInfo[getName=Not Verified Account;getRecordTypeId=012300000002japAAA;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], Partner Account=Schema.RecordTypeInfo[getName=Partner Account;getRecordTypeId=01230000001NqVZAA0;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], Pending Account=Schema.RecordTypeInfo[getName=Pending Account;getRecordTypeId=0123000000020JjAAI;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], SFDC Impl=Schema.RecordTypeInfo[getName=SFDC Impl;getRecordTypeId=01230000000puZ4AAI;isAvailable=false;isDefaultRecordTypeMapping=false;isMaster=false;], Verified Account=Schema.RecordTypeInfo[getName=Verified Account;getRecordTypeId=0123000000020MjAAI;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;]}
BUG|@@@@@rmap@@@@{Partner Account=Schema.RecordTypeInfo[getName=Partner Account;getReco
rdTypeId=01230000001NqVZAA0;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], SFDC Impl=Schema.RecordTypeInfo[getName=SFDC Impl;getRecordTypeId=01230000000puZ4AAI;isAvailable=false;isDefaultRecordTypeMapping=false;isMaster=false;], マスタ=Schema.RecordTypeInfo[getName=マスタ;getRecordTypeId=012000000000000AAA;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=true;], 新規取引先=Schema.RecordTypeInfo[getName=新規取引先;getRecordTypeId=0123000000020JdAAI;isAvailable=true;isDefaultRecordTypeMapping=true;isMaster=false;], 検証されていない取引先=Schema.RecordTypeInfo[getName=検証されていない取引先;getRecordTypeId=012300000002japAAA;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], 検証中の取引先=Schema.RecordTypeInfo[getName=検証中の取引先;getRecordTypeId=0123000000020JjAAI;isAvailable=true;isDefaultRecordTypeMapping=false;isMaster=false;], 検証済みの取引先=Schema.RecordTypeInf
o[getName=検証済みの取引先;getRecordTypeId=012300
0000020MjAAI;isAvailable=true;isDefaultRecordTypeMapping=
false;isMaster=false;]}
which I believe will be run in system context.