1.2.15. AdvDaigram

Класс фрейма:

class btkFrame.TbtkLookUpAdvDiagramFrame

1.2.15.1. Связывание элементов диаграммы с объектами БД

К элементам диаграммы можно привязать объекты БД, относящиеся к определенному классу, в результате чего в контекстном меню элемента появятся дополнительные операции, с помощью которых можно взаимодействовать как с самим элементом, так и с привязанным объектом.

Связываемые объекты должны принадлежать классам, которые указываются в пространстве классов диаграммы. Для каждого указываемого класса выбирается его пространство операций.

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

Note

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

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

Операции выполняются в контексте выборки диаграммы. Для взаимодействия со связанными сущностями из скриптера имеются следующие переменные:

Пример операции, выделяющей элемент диаграммы:
<PASCAL>
  if Assigned(diagram) then
  begin
    diagram.BeginUpdate;
    try
      diagram.HighLightedItemBorderThickness := 2;
      diagram.HighLightedItemBorderColor := StrToInt('$265700');
      diagram.Items.HighLightItemsByObjectID(GetVar('IDDBObject#'), true);
    finally
      diagram.EndUpdate;
    end;
  end
  else
    ShowMessage('Диаграмма не найдена');
</PASCAL>
Пример операции, открывающей карточку связанного объекта:
<pascal>
  CreateFormEx('', 'SELCARD_EO_AccPoint_Tree', fcfModal,
    ['idAccPointItem#'], [GetVar('IDDBObject#')]);
</pascal>

Для того, чтобы связать элемент диаграммы с объектом БД необходимо вызвать контекстное меню необходимого элемента и выбрать “Привязанные объекты БД…”. После этого откроется форма с объектами БД, привязанными к данному элементу. Для добавления новых объектов, необходимо вызвать одну из операций Связать с объектом класса: X, где X - названия классов, перечисленных в текущем пространстве классов диаграммы.