4.5.2.1.22. Related Entities

Related Entities - компонент в виде кнопки с выпадающим списком, при нажатии показывающим список классов, связанных с сущностью, экземпляры которой отображаются в таблице. Пользователь выбирает интересующий его класс сущности, после чего открывается новый браузер с экземплярами данной сущности, связанными с выбранными экземплярами в начальной таблице.

XML-имя компонента: relatedEntities

Компонент реализован для блоков Web Client и Desktop Client.

При отборе связанных сущностей для отображения учитываются разрешения пользователя на открытие экранов, чтение сущностей и чтение атрибутов.

По умолчанию для выбранного в списке класса сущности открывается браузер сущности, определенный по соглашениям (.browse, .lookup). Опционально, экран можно явно задать в компоненте.

В открытом браузере динамически создается фильтр, который выбирает связанные с выбранными сущностями записи.

Пример описания компонента в XML-дескрипторе экрана:

      <table id="invoiceTable"
             multiselect="true"
             width="100%">
          <actions>
              <action id="create"/>
              <action id="edit"/>
              <action id="remove"/>
          </actions>
          <buttonsPanel id="buttonsPanel">
              <button id="createBtn"
                      action="invoiceTable.create"/>
              <button id="editBtn"
                      action="invoiceTable.edit"/>
              <button id="removeBtn"
                      action="invoiceTable.remove"/>
              <relatedEntities for="invoiceTable"
                               openType=”NEW_TAB”>
              <property name="invoiceItems"
                        screen="sales$InvoiceItem.lookup"
                        filterCaption="msg://invoiceItems"/>
          </relatedEntities>
      </buttonsPanel>
      

Атрибут for является обязательным. В нем указывается идентификатор таблицы.

Атрибут openType=”NEW_TAB” устанавливает режим открытия браузера (новая вкладка). По умолчанию браузер открывается в текущей вкладке.

Элемент property позволяет явно задать связанную сущность, которая будет отображаться в выпадающем списке.

Атрибуты property:

  • name - имя атрибута текущей сущности, ссылающегося на связанную сущность

  • screen - идентификатор браузера, открывающегося при выборе сущности в списке

  • filterCaption - имя динамически формируемого фильтра

Атрибут exclude позволяет исключить определенные связанные сущности из числа отображаемых. В качестве значения указываются ссылочные атрибуты текущей сущности, разделенные запятыми.

Рисунок 4.18. Компонент Related Entities в таблице

Компонент Related Entities в таблице

Рисунок 4.19. Браузер связанных сущностей в новой вкладке

Браузер связанных сущностей в новой вкладке

Все атрибуты relatedEntities:

Атрибуты property: