IMetabaseObject.EditRequiresAdditionalLicense

Синтаксис

EditRequiresAdditionalLicense: String;

EditRequiresAdditionalLicense: string;

Описание

Свойство EditRequiresAdditionalLicense определяет наименование прикладной единицы лицензирования для защиты объектов репозитория от редактирования.

Комментарии

Защита от редактирования доступна для объектов репозитория: ресурсы, сборка, форма, модуль, .NET сборка, .NET форма, .NET модуль.

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

Для просмотра доступных единиц лицензирования используйте менеджер лицензий, окно «О программе» или метод ILicenseManager.GetAllFeatures.

Особенности использования свойства:

Также для настройки защиты объектов репозитория от редактирования используйте окно «Защита объектов от редактирования».

Для работы с прикладными единицами лицензирования обратитесь к статье «Защита прикладных систем».

Пример

Для выполнения примера предполагается наличие формы с компонентами:

Добавьте ссылки на системные сборки: Metabase, Forms.

Пример является обработчиком события OnClick для компонента Button1 и Button2.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Mb: IMetabase;
    Obj: IMetabaseObjectDescriptor;
Begin
    Mb := MetabaseClass.Active;
    Obj := Mb.ItemById(EditBox1.Text);
    EditBox2.Text := Obj.Bind.EditRequiresAdditionalLicense;
End Sub Button1OnClick; 

Sub Button2OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Mb: IMetabase;
    Obj: IMetabaseObjectDescriptor;
    Lic: IMetabaseObject;
Begin
    Mb := MetabaseClass.Active;
    Obj := Mb.ItemById(EditBox1.Text);
    Lic := Obj.Edit;
    Lic.EditRequiresAdditionalLicense := EditBox2.Text;     
    Lic.Save;
End Sub Button2OnClick;

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Forms.Net;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    Mb: IMetabase;
    Obj: IMetabaseObjectDescriptor;
Begin
    Mb := Self.Metabase;
    Obj := Mb.ItemById[textBox1.Text];
    textBox2.Text := Obj.Bind().EditRequiresAdditionalLicense;
End Sub;

Private Sub button2_Click(sender: System.Object; e: System.EventArgs);
Var
    Mb: IMetabase;
    Obj: IMetabaseObjectDescriptor;
    Lic: IMetabaseObject;
Begin
    Mb := Self.Metabase;
    Obj := Mb.ItemById[textBox1.Text];
    Lic := Obj.Edit();
    Lic.EditRequiresAdditionalLicense := textBox2.Text;     
    Lic.Save();
End Sub;

После выполнения примера введите идентификатор объекта репозитория в компоненте EditBox1 и нажмите кнопку Button1. Будет получено наименование прикладной единицы лицензирования и отображено в компоненте EditBox2, если объект защищен от редактирования. Если объект не защищен от редактирования прикладной единицей лицензирования, то для защиты введите в компонент EditBox2 наименование прикладной единицы лицензирования и нажмите кнопку Button2. Заданный объект репозитория будет защищен от редактирования прикладной единицей лицензирования.

См. также:

IMetabaseObject