Открытие диалога редактирования параметров атрибута справочника НСИ.
Параметры команды передаются в свойстве Data. Для работы команды в данном свойстве необходимо указать следующее значение:
Тип значения | Описание |
IRdsAttribute | Атрибут справочника, который необходимо открыть на редактирование. |
Команда может применяться только для атрибутов справочников НСИ (составных или табличных справочников НСИ). Результатом выполнения метода Execute будет значение True, если в диалоге была нажата кнопка «ОК» и False, если в диалоге была нажата кнопка «Отмена».
Для выполнения примера предполагается наличие формы и расположенной на ней кнопки с наименованием "Button1". В репозитории имеется репозиторий НСИ с идентификатором "NSI_1", в данном репозитории имеется справочник "Dict_1". В структуре справочника имеется атрибут с идентификатором «COUNTRY_ID».
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
MB: IMetabase;
Dictionary: IRdsDictionary;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
bOK: Boolean;
Begin
MB := MetabaseClass.Active;
Dictionary := MB.ItemByIdNamespace("Dict_1", MB.ItemById("NSI_1").Key).Edit As IRdsDictionary;
Target := WinApplication.Instance.GetPluginTarget("Rds");
Context := Target.CreateExecutionContext;
Context.Data := Dictionary.Attributes.FindById("COUNTRY_ID");
bOK := Target.Execute("EditDictionaryAttribute", Context);
If bOK Then
(Dictionary As IMetabaseObject).Save;
End If;
text := bOK.ToString;
End Sub Button1OnClick;
При нажатии на кнопку будет открыт диалог редактирования параметров указанного атрибута справочника НСИ. Если в диалоге были изменены какие-либо параметры и нажата кнопка «ОК», то все изменения будут сохранены.
Для выполнения примера предполагается наличие формы и расположенной на ней кнопки с наименованием "Button1". В репозитории имеется репозиторий НСИ с идентификатором "NSI_1", в данном репозитории имеется справочник "Dict_1". В структуре справочника имеется атрибут с идентификатором «COUNTRY_ID».
Imports Prognoz.Platform.Forms.Net;
Imports Prognoz.Platform.Interop.Fore;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Rds;
Imports Prognoz.Platform.Interop.Ui;
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
MB: IMetabase;
Dictionary: IRdsDictionary;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
WinApp: WinApplicationClassClass = New WinApplicationClassClass();
RunContext: ForeRuntimeContext;
bOK: Boolean;
Begin
MB := Self.Metabase;
RunContext := (MB As IForeServices).GetRuntime().Context;
Dictionary := MB.ItemByIdNamespace["Dict_1", MB.ItemById["NSI_1"].Key].Edit() As IRdsDictionary;
Target := WinApp.Instance[RunContext].GetPluginTarget("Rds");
Context := Target.CreateExecutionContext();
Context.Data := Dictionary.Attributes.FindById("COUNTRY_ID");
bOK := convert.ToBoolean(Target.Execute("EditDictionaryAttribute", Context, RunContext));
If bOK Then
(Dictionary As IMetabaseObject).Save();
End If;
End Sub;
При нажатии на кнопку будет открыт диалог редактирования параметров указанного атрибута справочника НСИ. Если в диалоге были изменены какие-либо параметры и нажата кнопка «ОК», то все изменения будут сохранены.
См. также: