Добрый день!
Как новичок, описываю ситуацию в меру знаний.
Есть 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, то только лейбл вставляется, а поля для ввода значения на странице нет.
Замечу, что в пользовательский отчет, являющийся источником данных, фильтр по этому полю отлично добавляется и работает.
Чего не хватает? Каких-то атрибутов? Или это какие-то системные ограничения?
Заранее благодарен.
Добрый день! Как новичок, описываю ситуацию в меру знаний. Есть 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, то только лейбл вставляется, а поля для ввода значения на странице нет. Замечу, что в пользовательский отчет, являющийся источником данных, фильтр по этому полю отлично добавляется и работает. Чего не хватает? Каких-то атрибутов? Или это какие-то системные ограничения? Заранее благодарен.
Вы используете inputField, который рендерит соответствующий полю контрол, a т.к. поле Auto Number нередактируемое - вы и получаете что он вам не вводит контрол для ввода текста. Замените <apex:inputField value="{! filterApplication.General_ID__c }" /> на <apex:inputText value="{! filterApplication.General_ID__c }" />
Вы используете inputField, который рендерит соответствующий полю контрол, a т.к. поле Auto Number нередактируемое - вы и получаете что он вам не вводит контрол для ввода текста. Замените <apex:inputField value="{! filterApplication.General_ID__c }" /> на <apex:inputText value="{! filterApplication.General_ID__c }" />
Большое спасибо!
Всё работает!
Большое спасибо! Всё работает!