Синтаксис:
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 |