Синтаксис:
function AddFrom( const TableName: WideString): Integer; |
Параметры:
TableName – имена таблиц. Можно использовать только временные таблицы текущего пользователя. Имена таблиц нужно указывать в следующем формате:
{<Имя таблицы> [as [<Псевдоним таблицы>]]} [,...n]
Имена таблиц можно получить с помощью свойств SQLTableName или IDataSet.SQLTableName. Псевдонимы таблиц могут быть произвольными, но должны совпадать с псевдонимами, указанными при вызове AddSelect. Для формирования параметра удобно использовать функцию Format.
Возвращаемое значение:
Идентификатор таблиц в запросе.
Описание:
Метод добавляет таблицы в раздел from SQL-запроса набора данных. Если раздел from еще не был определен, то он будет создан. Если раздел from уже был определен, то новые таблицы добавляются в конец раздела. Идентификатор таблиц в запросе следует использовать при вызове DelFrom для удаления таблицы из запроса.
Примечание
При вызове метода не из ISBL-вычислений или из ISBL-вычислений с подключением к системе DIRECTUM, отличной от текущей, значение параметра должно строго соответствовать формату. В противном случае будет сгенерировано исключение.
// Показать все справочники, в которых используется данный реквизит. RequisiteCode = 'ISBEDocStrg' Reference = References.SYSREF_REFERENCE_TYPES.GetComponent Reference.ComponentForm.View.ViewMode = vmNavigation RequisitesDataSet = Reference.DataSet.DetailDataSet(1) ReferenceTable = Reference.TableName RequisitesTable = RequisitesDataSet.TableName
AddFrom = Reference.AddFrom(RequisitesTable)
// Установить связь между реквизитами и справочниками, // которые их используют. AddWhere1 = Reference.AddWhere(Format("%0:s.%1:s = %2:s.%3:s"; ArrayOf(ReferenceTable; Reference.Requisites(SYSREQ_ID).FieldName; RequisitesTable; RequisitesDataSet.Requisites( SYSREQ_MAIN_RECORD_ID).FieldName)))
// Задать реквизит. AddWhere2 = Reference.AddWhere(Format("%0:s.%1:s = '%2:s'"; ArrayOf(RequisitesTable; RequisitesDataSet.Requisites( SYSREQ_REF_TYPE_REQ_CODE).FieldName; RequisiteCode)))
// Исключить действия с кодом равным RequisiteCode, // т.к. действия хранятся в той же таблице, что и реквизиты. AddWhere3 = Reference.AddWhere(Format("%0:s.%1:s <> 'K'"; ArrayOf(RequisitesTable; RequisitesDataSet.Requisites( SYSREQ_REF_TYPE_REQ_SECTION).FieldName)))
Reference.ComponentForm.Show
Reference.DelFrom(AddFrom) Reference.DelWhere(AddWhere1) Reference.DelWhere(AddWhere2) Reference.DelWhere(AddWhere3) |
Метод AddSelect Метод AddWhere Метод DelFrom Свойство SQLTableName Свойство IDataSet.SQLTableName |
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |