Фильтрация по полю типа Auto Number в пользовательском отчете.

Фильтрация по полю типа Auto Number в пользовательском отчете.

Добрый день!

Как новичок, описываю ситуацию в меру знаний.
Есть VF страница, есть пользовательский Apex Class - ...ReportController, в качестве источника данных использующий некий пользовательский отчет, строящийся на трех мастер-детэйл таблицах (A-B-C).
В качестве фильтров используются некоторые поля из этих таблиц.
В классе:
if (String.isNotBlank(filterApplication.General_ID__c))
filters.add(new reports.ReportFilter('Application__c.General_ID__c', 'contains', '' + filterApplication.General_ID__c));
На странице:
<apex:pageBlockSectionItem >
<apex:outputLabel value="{! $ObjectType.Application__c.Fields.General_ID__c.label }">
<apex:inputField value="{! filterApplication.General_ID__c }" />
</apex:outputLabel>
</apex:pageBlockSectionItem>

Так вот, если General_ID__c текстовое поле или числовое (с соответствующими изменениями в условиях фильтра) то все работает ОК. Если типа Auto Number, то только лейбл вставляется, а поля для ввода значения на странице нет.
Замечу, что в пользовательский отчет, являющийся источником данных, фильтр по этому полю отлично добавляется и работает.

Чего не хватает? Каких-то атрибутов? Или это какие-то системные ограничения?

Заранее благодарен.

D608e9f2a292e11d133a2d7405faab32?size=200&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar

Вы используете inputField, который рендерит соответствующий полю контрол, a т.к. поле Auto Number нередактируемое - вы и получаете что он вам не вводит контрол для ввода текста. Замените <apex:inputField value="{! filterApplication.General_ID__c }" /> на <apex:inputText value="{! filterApplication.General_ID__c }" />

Большое спасибо!
Всё работает!

D608e9f2a292e11d133a2d7405faab32?size=200&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar

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