.. _advdiagram_script: AdvDiagram '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Описание классов для работы с :ref:`AdvDiagram` TbtkAdvDiagram ....................................................................... .. pas:function:: ExportShapeToVisioOrgChar(VisioInterface: Variant; Text, StyleName_Rus, StyleName_Eng: String; ObjectID: Double; Width, Height, CenterX, CenterY: Integer; ImageFileName: String) Метод добавления HR объекта в организационную диаграмму Visio. :param Variant VisioInterface: Ссылка на интерфейс Visio. Сейчас параметр не используется. :param String Text: Текст отображаемый в элементе. :param String StyleName_Rus: Стиль элемента в русской редакции Visio (Директор, Руководитель, Должность, Консультант, Вакансия, Помощник). :param String StyleName_Eng: Стиль элемента в англоязычной редакции Visio (Executive, Manager, Position, Consultant, Vacancy, Dynamic Connector). :param Double ObjectID: Идентификатор объекта в системе. :param Integer Width: Ширина в мм элемента на диаграмме. :param Integer Height: Высота в мм элемента на диаграмме. :param Integer CenterX: Координата X центра элемента на диаграмме в мм. :param Integer CenterY: Координата Y центра элемента на диаграмме в мм. :param String ImageFileName: Путь к изображнию которое надо связать с элементом. .. code-block:: delphi :caption: Пример использования ExportShapeToVisioOrgChar(GetVar('VisioInterface'), '10424330001', -1, -1, -1, 400, ''); .. warning:: |not_implemented| .. pas:function:: ExportConnectionToVisioOrgChar(VisioInterface: Variant; Id: Double; StyleName_Rus, StyleName_Eng: String; IDBeginShape, IDEndShape: Double) Добавляет связь между двумя организационными диаграммами Visio. :param Variant VisioInterface: Ссылка на интерфейс Visio. Сейчас параметр не используется. :param Double Id: Уникальный идентификатор объекта. Уникальность должны сохраняться в рамках документа. :param String StyleName_Rus: Стиль элемента в русской редакции Visio (Динамическая соединительная линия). :param String StyleName_Eng: Стиль элемента в англоязычной редакции Visio (Dynamic Connector). :param Double IDBeginShape: Идентификатор первого HR объекта на диаграмме с которым необходимо организовать связь. :param Double IDEndShape: Идентификатор второго HR объекта на диаграмме с которым необходимо организовать связь. .. code-block:: delphi :caption: Пример использования ExportConnectionToVisioOrgChar(GetVar('VisioInterface'), 4, 'Динамическая соединительная линия', 'Dynamic Connector', '10424330001', 463310); .. warning:: |not_implemented| TbtkAdvDiagramItemCaption ...................................................................... .. pas:class:: TbtkAdvDiagramItemCaption Текст, отображающийся поверх элемента. .. pas:attribute:: Font: TFont Cвойства шрифта. :rtype: TFont .. code-block:: delphi :caption: Пример использования S := FindSelection('SEL_DTB_DIAGRAM_MATERDET.Diagram'); D := S.Diagram; if Assigned(D) then begin D.BeginUpdate; try D.HighLightedItemBorderThickness := 2; D.Items.HighLightItemsByObjectID(1181273001, True); D.HighLightedItemBorderColor := StrToInt('$00FF00'); D.Items.Item[1].HighLightedBorderColor := StrToInt('$005555'); D.Items.Item[2].HighLightedBorderColor := StrToInt('$005555'); D.Items.Item[2].HighLightedBorderThickness := 3; for i := 0 to D.Items.Count - 1 do if D.Items.Item[i].HighLighted then begin D.Items.Item[i].Caption.Font.Style := [fsItalic, fsBold]; D.Items.Item[i].Caption.Font.Size := 15; D.Items.Item[i].Caption.Font.Name := 'Times'; end; finally D.EndUpdate; end; end else ShowMessage('Диаграмма не найдена'); .. note:: Текст можно задать только из скриптера с помощью метода :pas:meth:`TbtkAdvDiagramItems.SetItemsCaptionByObjectID`. .. warning:: |not_supported| TbtkAdvDiagram ...................................................................... .. pas:class:: TbtkAdvDiagram Скриптовый класс управляющий доступом к свойствам фрейма TbtkAdvDiagramFrame. .. note:: Все действия связанные с обновлением внешного вида элемента необходимо выполнять в блоке ``try ... finally ... end`` .. code-block:: delphi TbtkAdvDiagram.BeginUpdate; try //работы с методами и свойствами диаграммы finally TbtkAdvDiagram.EndUpdate; end; .. code-block:: delphi :caption: Пример работы. Задание произвольного стиля элемента f := Findselection('sel_btd_diagram.diagram'); If not Assigned(f) then Raise('Диаграмма не найдена'); f.Diagram.BeginUpdate; try f.Diagram.FocusedItem.BorderColor := Trunc(Random * 64000); f.Diagram.FocusedItem.BorderStyle := Trunc(Random * 5); f.Diagram.FocusedItem.BackColor := Trunc(Random * 64000); f.Diagram.FocusedItem.BackStyle := Trunc(Random * 6); f.Diagram.FocusedItem.BorderThickness := Trunc(Random * 10); finally f.Diagram.EndUpdate; end; .. pas:attribute:: FocusedItemBorderColor: TRGBColor Цвет рамки сфокусированного элемента. :rtype: TRGBColor .. pas:attribute:: FocusedItemBorderThickness: Integer Толщина рамки сфокусированного элемента. :rtype: Integer .. pas:attribute:: HighLightedItemBorderColor: TRGBColor Цвет рамки подсвеченного элемента. :rtype: TRGBColor .. code-block:: delphi :caption: Пример использования S := FindSelection('SEL_DTB_DIAGRAM.Diagram'); D := S.Diagram; if Assigned(D) then begin D.Items.HighLightItemsByObjectID(1181273001, True); D.HighLightedItemBorderColor := StrToInt('$00FF00'); End; .. pas:attribute:: ItemCount: Integer Количество графических элементов на диаграмме. :rtype: Integer .. pas:attribute:: Items: TbtkAdvDiagramItems Коллекция графических элементов расположенных на диаграмме. :rtype: TbtkAdvDiagramItems .. pas:attribute:: FocusedItem: TbtkAdvDiagramItem Возвращает сфокусированный элемент. :rtype: TbtkAdvDiagramItem .. warning:: |not_supported| .. pas:attribute:: SelectedItemBorderColor: TRGBColor Цвет рамки выделенного элемента. :rtype: TRGBColor .. pas:attribute:: HighLightedItemBorderThickness: Integer Толщина рамки подсвеченного элемента. :rtype: Integer .. pas:method:: ExportToVisio() Открывает VISIO и экспортирует документ. Экспортирует только блоки относящиеся к Организационной диаграмме. .. code-block:: delphi :caption: Пример использования f := Findselection('sel_btd_diagram.diagram'); f.Diagram.ExportToVisio; .. warning:: |not_supported| .. pas:method:: EndUpdate() Метод разрешает перерисовку схемы. .. seealso:: :pas:meth:`BeginUpdate` .. pas:method:: CreateReport(ReportName: String; ReportVersionDate: TDateTime; Action: TReportViewMode; ShowWizard: Boolean; OpSelectionName: String; StyleFlag: TFormCreationFlags) Метод позволяет создать FastReport4 отчет, на основе шаблона "Diagram Report(\*.dgr)". Описание совпадает с :pas:class:`TbtkScriptSelectionObject.CreateReport` :param String ReportName: Cистемное имя отчёта. :param TDateTime ReportVersionDate: Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate). :param TReportViewMode Action: Действие, которое необходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign} :param Boolean ShowWizard: Флаг отображения мастера настройки отчётов (если указана главная выборка мастера) :param String OpSelectionName: Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд ("Save as" и "Print") :param TFormCreationFlags StyleFlag: Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии. .. warning:: |not_supported| .. pas:method:: CreateReportEx(ReportName: String; ReportVersionDate: TDateTime; Action: TReportViewMode; ShowWizard: Boolean; OpSelectionName: String; StyleFlag: TFormCreationFlags; Names: Array; Values: Array) Метод позволяет создать FastReport4 отчет, на основе шаблона "Diagram Report(\*.dgr)". Описание совпадает с :pas:class:`TbtkScriptSelectionObject.CreateReportEx` :param String ReportName: Cистемное имя отчёта. :param TDateTime ReportVersionDate: Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate) :param TReportViewMode Action: Действие, которое необходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign} :param Boolean ShowWizard: Флаг отображения мастера настройки отчётов (если указана главная выборка мастера) :param String OpSelectionName: Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд ("Save as" и "Print") :param TFormCreationFlags StyleFlag: Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии. :param Array ParamNames: Массив имен параметров отчета :param Array ParamValues: Массив значений параметров ParamNames отчета. .. warning:: |not_supported| .. pas:method:: BeginUpdate() Метод запрещает схеме перерисовываться при изменении свойств схемы или её элементов. Его необходимо вызывать перед началом изменений. .. attention:: После выполнения изменений схемы обязательно вызывайте метод :pas:meth:`EndUpdate`; .. pas:method:: Locate(Item: TbtkAdvDiagramItem) Изменяет положение скроллбаров диаграммы таким образом, чтобы указанный элемент был на экране :param TbtkAdvDiagramItem Item: Элемент, который нужно отобразить на экране. .. warning:: |not_supported| TbtkAdvDiagramItem ...................................................................... .. pas:class:: TbtkAdvDiagramItem TbtkAdvDiagramItem Свойства *BackColor*, *BackStyle*, *BorderColor*, *BorderStyle*, *BorderThickness*, *Caption* не влияют на значения в базе. Изменить значения сохраняемые в базе можно только через пользовательский графический интерфейс фрейма диаграммы. .. pas:attribute:: BorderThickness: Integer Толщина границ элемента. :rtype: Integer .. warning:: |not_supported| .. pas:attribute:: BorderColor: TRGBColor Цвет границ элемента. :rtype: TRGBColor .. warning:: |not_supported| .. pas:attribute:: BorderStyle: TPenStyle Шаблон границ элемента. :rtype: TPenStyle .. warning:: |not_supported| .. pas:attribute:: BackStyle: TBrushStyle Шаблон заливки элемента. :rtype: TBrushStyle .. warning:: |not_supported| .. pas:attribute:: BackColor: TRGBColor Цвет заливки элемента. :rtype: TRGBColor .. warning:: |not_supported| .. pas:attribute:: HighLightedBorderColor: TRGBColor Цвет границы подсвеченного элемента. Значение свойства перекрывает значение свойства схемы *HighLightedItemBorderColor*. :rtype: TRGBColor .. pas:attribute:: HighLightedBorderThickness: Integer Толщина границы подсвеченного элемента. Значение свойства перекрывает значение свойства схемы *HighLightedItemBorderColor*. :rtype: Integer .. pas:attribute:: ID: Variant Идентификатор элемента схемы. (Только для чтения). Элементы диаграммы расположены в таблице BTD_OBJECT. :rtype: Variant .. pas:attribute:: Selected: Boolean Флаг указывает, является ли элемент выделенным. (Выделенными могут быть несколько объектов). :rtype: Boolean .. pas:attribute:: Focused: Boolean Флаг указывает, является ли сфокусированным. (Сфокусированным может быть только один элемент. Сфокусированный элемент также является выделенным). :rtype: Boolean .. pas:attribute:: Caption: TbtkAdvDiagramItemCaption Текст, который отображается поверх элемента. Его проставление доступно только из скрипта. В базу данных это значение не сохраняется. :rtype: TbtkAdvDiagramItemCaption .. pas:attribute:: HighLighted: Boolean Свойство указывает, что данный элемент является подсвеченным (его граница выделена цветом, заданным в свойстве схемы *HighLightedItemBorderColor*. Цвет границы подсвеченного элемента может быть изменено заданием свойства *HighLightedBorderColor* элемента). :rtype: Boolean TbtkAdvDiagramItems ...................................................................... .. pas:class:: TbtkAdvDiagramItems Коллекция графических элементов расположенных на Advanced диаграмме. .. pas:attribute:: Count: Integer Количество элементов в коллекции. :rtype: Integer .. pas:attribute:: Item: TbtkAdvDiagramItem Метод возвращает элемент по индексу из коллекции. :rtype: TbtkAdvDiagramItem .. pas:method:: SetItemsCaptionByObjectID(ObjectID: Double; Caption: String) Задание текста элемента по идентификатору связанного объекта БД. :param Double ObjectID: Идентификатор связанного с элементом диаграммы объекта БД. :param String Caption: Текст графического элемента. .. pas:method:: HighLightItemByID(ID: Double; HighLighted: Boolean) Задание свойства *HighLighted* графического элемента по идентификатору элемента. :param Double ID: Идентификатор графического элемента в базе (Объекты диаграммы расположены в таблице BTD_OBJECT). :param Boolean HighLighted: Значение свойства ``TbtkAdvDiagramItem.HighLighted`` у графического элемента. .. pas:method:: HighLightItemsByObjectID(ObjectID: Double; HighLighted: Boolean) Задание свойства *HighLighted* графического элемента по идентификатору связанного объекта. :param Double ObjectID: Идентификатор связанного с элементом диаграммы объекта БД. :param Boolean HighLighted: Значение свойства ``TbtkAdvDiagramItem.HighLighted`` у графического элемента.