Глава 12. РАЗРАБОТКА ОКОННОГО ИНТЕРФЕЙСА 
Компонент запроса справочника TRefQuery 
 
  
    | Свойства Published | 
      | 
   
  
    | ClassTableName | 
    Имя таблицы класса | 
   
  
    | DetailFieldName | 
    Если справочник подчинен другому справочнику – имя поля, по 
которому производится подчинение (фильтрация по ключевому значению) | 
   
  
    | DisableChildClass | 
    Не отображать объекты классов-потомков | 
   
  
    | DisableEmptyValue | 
    Не отображать пустой элемент | 
   
  
    | EnablePost | 
    Сохранять результаты редактирования | 
   
  
    | MasterFieldName | 
    Имя поля в старшем справочнике при подчинении одного справочника другому 
(обычно поле первичного ключа). Должно быть MASTER_
VALUE, если вместо старшего справочника используется явное значение из 
поля MasterValue | 
   
  
    | MasterValue | 
    Явное значение ключа для подчинения справочника, если не указан 
старший справочник в свойстве DataSource | 
   
  
    | MaxDisplayWidth | 
    Максимальная ширина поля при отображении (в символах) | 
   
  
    | NamesType | 
    Способ отображения:
ATTRIBUTES – поля справочника
SHORT
_NAME –краткие наименования объектов
Возможны и другие 
значения, если в конфигурации имеются дополнительные типы наименований объектов
. | 
   
  
    | ShowLookupNames | 
    Показывать все поля справочника Действует, если свойство NamesType не 
равно ATTRIBUTES | 
   
  
    | Transaction | 
    Транзакция | 
   
 
 
  
    | Свойства Public | 
    тип | 
    readonly | 
      | 
   
  
    | Class_Id | 
    integer | 
      | 
    ID класса | 
   
  
    | Class_Name | 
    string | 
    readonly | 
    Имя таблицы класса | 
   
  
    | FilterExpression | 
    string | 
      | 
    Выражение для фильтра, добавляемое в WHERE | 
   
  
    | ID_Field | 
    TField | 
    readonly | 
    Компонент поля ID | 
   
  
    | Object_Id | 
    integer | 
      | 
    ID объекта при SelectOneObject = True | 
   
  
    | RootTableName | 
    string | 
    readonly | 
    Имя таблицы корневого класса | 
   
  
    | SelectOneObject | 
    boolean | 
      | 
    Запрашивать только один объект | 
   
 
 
  
    | Методы | 
      | 
   
  
    | procedure SetOrderByAlias(const alias_name: string; 
desc: boolean); | 
    Упорядочивание по псевдониму поля | 
   
  
    | procedure BuildSQL | 
    Создает тексты внутренних SQL-запросов | 
   
 
 
В большинстве случаев вместо компонентов TRefQuery лучше использовать обычные компоненты 
SQL-запросов TIBDataSet. Компонент TRefQuery предназначен в основном 
для тех ситуаций, если требуется быстро реализовать отображение какого
-то справочника в сетке или же если необходимо организовать 
создание или редактирование элементов справочников. Если свойство EnablePost = 
False, то справочные элементы «редактируются», но эти 
изменения не запоминаются. Если свойство EnablePost = True, 
то изменения запоминаются, причем без возможности «отката транзакции
», так как сама посылка данных на сервер осуществляется этим 
компонентом в отдельной, недоступной транзакции. 
Пример использования компонентов справочников в режиме дизайна показан на рисунке
. 
Здесь справочник GOODS подчинен справочнику GOODS_MARK по полю 
GOODS_MARK. 
 
 
 
 
 
               |