Объекты DIRECTUM

 

Объект IObject

 

Метод AddOrderBy – добавить условие сортировки в запрос набора данных

Синтаксис:

function AddOrderBy(

  const Condition: WideString): Integer;

Параметры:

Condition – условие сортировки набора данных в формате <Имя таблицы>.<Имя поля>[ desc]. Можно задавать сортировку по любому полю, указанному в разделе select. Имя таблицы и имя поля можно получить с помощью свойств SQLTableName, IDataSet.SQLTableName, IRequisite.SQLFieldName.

Если в разделе from указан алиас таблицы, то условие следует задавать в формате: <Алиас таблицы>.<Имя поля>[ desc]. Алиасы таблиц, используемые в SQL-запросе набора данных объекта, можно получить с помощью свойства TableName.

Если в разделе select указан алиас поля, то условие следует задавать в формате <Алиас поля>[ desc]. Алиасы полей, используемые в SQL-запросе набора данных объекта, можно получить с помощью свойства IRequisite.FieldName.

Для формирования параметра удобно использовать функцию Format.

Возвращаемое значение:

Идентификатор условия сортировки в запросе.

Описание:

Метод добавляет условие в раздел order by SQL-запроса набора данных. Если этот раздел еще не был определен, то он будет создан. Если раздел order by уже был определен, то новое условие добавится в конец раздела. По умолчанию сортировка записей идет по возрастанию. Для того чтобы сортировать записи по убыванию значений реквизита, следует в условии после алиаса поля реквизита добавить «desc». Идентификатор условия сортировки в запросе следует использовать в качестве параметра метода DelOrderBy для удаления условия из запроса.

Пример использования:

 

// Получить справочник Договоры.

ContractRef = CreateReference('ДГВ'; ArrayOf('ДатОткр'; 'ДатЗакр';

  Работник'; 'Дата'; 'Дата2'; 'КатегорияДоговора'; 'НашаОрг2';

  'Организация'; 'Подразделение'; 'Реквизит'; 'Реквизит2'; 'Содержание';

  'Наименование'; 'Примечание'))

 

OrderBy = Format('%0:s.%1:s, %0:s.%2:s'; ArrayOf(ContractRef.TableName;

  ContractRef.Requisites('НашаОрг2').SQLFieldName;

  ContractRef.Requisites('Реквизит2').SQLFieldName))

OrderByID = ContractRef.AddOrderBy(OrderBy)

 

ContractRef.ComponentForm.Show

ContractRef.DelOrderBy(OrderByID)

 

 

См. также:

·         метод DelOrderBy;

·         свойство SQLTableName;

·         свойство TableName;

·         свойство IDataSet.SQLTableName;

·         свойство IRequisite.FieldName;

·         свойство IRequisite.SQLFieldName.