Синтаксис:
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 |
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |