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