Синтаксис:
function AddJoin( const TableName: WideString; JoinType: TJoinType; const Condition: WideString; Position: TAddPosition): Integer; |
Параметры:
• | TableName – имя таблицы, для которой добавляется соединение; |
• | JoinType – тип соединения; |
• | Condition – условие соединения; |
• | Position – позиция, в которую добавляется соединение. |
Возвращаемое значение:
Идентификатор добавленного соединения.
Описание:
Метод добавляет к итоговому запросу соединение. В параметре TableName можно передавать имя таблицы с алиасом, например, «dbo.MBAnalit Analit». Если соединение для таблицы уже было определено, то добавляется еще одно соединение при помощи операции and.
// Показать все справочники, в которых используется определенный реквизит RequisiteCode = 'ISBEDocStrg' Reference = References.SYSREF_REFERENCE_TYPES.GetComponent Reference.ComponentForm.View.ViewMode = vmNavigation RequisitesDataSet = Reference.DataSet.DetailDataSet(1) ReferenceTable = Reference.TableName RequisitesTable = RequisitesDataSet.TableName
// Установить связь между реквизитами и справочниками, // которые их используют. AddJoin1 = Reference.AddJoin(RequisitesTable; jtInner; Format("%0:s.%1:s = %2:s.%3:s"; ArrayOf(ReferenceTable; Reference.Requisites(SYSREQ_ID).FieldName; RequisitesTable; RequisitesDataSet.Requisites( SYSREQ_MAIN_RECORD_ID).FieldName)); apEnd)
// Задать реквизит. AddJoin2 = Reference.AddJoin(RequisitesTable; jtInner; Format("%0:s.%1:s = '%2:s'"; ArrayOf(RequisitesTable; RequisitesDataSet.Requisites( SYSREQ_REF_TYPE_REQ_CODE).FieldName; RequisiteCode)); apEnd)
// Исключить действия с кодом равным RequisiteCode, // т.к. действия хранятся в той же таблице, что и реквизиты. AddJoin3 = Reference.AddJoin(RequisitesTable; jtInner; Format("%0:s.%1:s <> 'K'"; ArrayOf(RequisitesTable; RequisitesDataSet.Requisites( SYSREQ_REF_TYPE_REQ_SECTION).FieldName)); apEnd)
Reference.ComponentForm.Show
Reference.DelJoin(AddJoin1) Reference.DelJoin(AddJoin2) Reference.DelJoin(AddJoin3) |
Метод DelJoin |
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |