Кверим label-значение пик-листа, а не API-значение: toLabel(My_Picklist__c)

Кверим label-значение пик-листа, а не API-значение: toLabel(My_Picklist__c)

как вы знаете у каждого значения пиклиста есть label и API-имя, которые обычно одинаковы, но не всегда.

ну так вот, если просто кверить значение пиклиста, то приходит его API-значение, что может вызвать удивление так как это не то, что видно на лейауте. И если вам нужно получить именно label-значение то нужно использовать в квери toLabel(My_Picklist__c)

А можно одновременно достать и API Name и Label в одном запросе? "квери" я так понимаю это SOQL?

Давно уже не сталкивался, но помню гемора с этими пиклистами достаточно в SF. Вспоминаю некоторые подсмотренные у коллег костыли когда-то взрывали мозг. Особенно что касается связанных пиклистов.

Но вот toLabel() никогда не использовал.

А еще данная штука выведет значение пиклиста в правильно переводе.

В одном SOQL одновременно достать и API Name и Label нельзя, но можно так:

Schema.DescribeFieldResult fieldResult = Account.PicklistField__c.getDescribe();

List<Schema.PicklistEntry> values = fieldResult.getPicklistValues();

for( Schema.PicklistEntry v : values) {
System.debug('Picklist Value Label:' + v.getLabel());
System.debug('Picklist API Name:' + v.getValue());
}

Interesting information? Help us, post link to social media..