20.5. TssJoinDataSet

Этот датасет служит для локального объединения наборов других датасетов. Наборы объединяются в соответствие с описанием, указанным в свойстве FromLSQL джойн-датасета. Источники для джойн-датасета описываются в свойстве JoinSources при помощи редактора:

Датасеты-источники указываются в свойстве SourceDataSet каждого источника TssJoinSource:

Наборы связываются в записях выражением JOIN, которое имеет привычный синтаксис:

LayoutNames JOIN Items ON Items.mdfm_FormName = LayoutNames.ItemName

Или объединяются друг с другом с помощью UNION JOIN:

Groups WITH pgrp_ID_Int=pgrp_ID;pgrp_pgrp_ID_Parent_Int=pgrp_pgrp_ID_Parent FULL UNION JOIN Items WITH pgrp_pgrp_ID_Parent_Int=pitm_pgrp_ID;pgrp_ID_Int=pitm_ID ON Groups.pgrp_ID=Items.pitm_pgrp_ID

При таком объединении в результирующий набор возвращаются поля всех источников. При совпадении имен полей в источниках данные возвращаются в одно поле результирующего набора.

Выражение WITH задает имена полей в результате. В данном случае, в результат возвращается поле pgrp_ID_Int, содержащее данные полей pitm_ID источника Items и pgrp_ID источника Groups.

Номер источника записи возвращается в служебном поле JOIN_SOURCE_ALIAS.

Объединенные данные обновляются оперативно при обновлении данных любого источника. Если в карточке документа мы изменили данные заголовка, эти изменения сразу отображаются в спецификациях без трудозатрат пргораммиста формы.