Объекты DIRECTUM > Базовые объекты > IObject – базовый объект >

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

Предыдущий раздел В начало Следующий раздел

Синтаксис:

function AddOrderBy(

 const Condition: WideString): Integer;

Параметры:

Condition – условие сортировки набора данных в формате

{[<Псевдоним таблицы>.]<Имя поля>[ desc]}[,...n]

Можно задавать сортировку по любому полю, указанному в разделе select. Псеводним таблицы можно не указывать, если имя поля уникально. Имя таблицы и имя поля можно получить с помощью свойств TableName, IDataSet.TableName, IField.SQLFieldName, IRequisite.SQLFieldName.

Если в разделе from не указан псеводним таблицы, то вместо него следует использовать имя таблицы. Имя таблицы можно получить с помощью свойств SQLTableName, IDataSet.SQLTableName.

Если в разделе select указан псевдоним поля, то условие следует задавать в следующем формате:

<Псевдоним поля>[ desc]

Псевдонимы полей, используемые в SQL-запросе набора данных объекта, можно получить с помощью свойства IRequisite.FieldName.

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

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

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

Описание:

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

Примечание. При вызове метода не из ISBL-вычислений или из ISBL-вычислений с подключением к системе DIRECTUM, отличной от текущей, значение параметра должно строго соответствовать формату. В противном случае будет сгенерировано исключение.

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

 

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

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

Свойство IDataSet.TableName

Свойство IRequisite.FieldName

Свойство IRequisite.SQLFieldName