Этот датасет служит для локального объединения наборов других датасетов. Наборы объединяются в соответствие с описанием, указанным в свойстве FromLSQL
джойн-датасета. Источники для джойн-датасета описываются в свойстве JoinSources
при помощи редактора:
Датасеты-источники указываются в свойстве SourceDataSet
каждого источника TssJoinSource
:
SourceProducerAlias
– псевдоним для обращения в описании FromLSQL
.
FieldSuffix
– добавляемый к именам полей суффикс в результирующем наборе.
IncludeFieldMasks
– возвращаются поля только по этой маске.
ExcludeFieldMasks
– по этой маске поля исключаются.
Наборы связываются в записях выражением 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
.
Объединенные данные обновляются оперативно при обновлении данных любого источника. Если в карточке документа мы изменили данные заголовка, эти изменения сразу отображаются в спецификациях без трудозатрат пргораммиста формы.