Копировать ссылку на страницу

Синтаксис:

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

 

© 2016 Компания DIRECTUM Сообщество пользователей DIRECTUM