Clone(op: DynamicInstanceOperationsVisibility; Mark: Variant): IDynamicInstance;
Clone(op: Prognoz.Platform.Interop.Dimensions.DynamicInstanceOperationsVisibility; Mark: object): Prognoz.Platform.Interop.Dimensions.DynamicInstance;
op. Параметр определяет, на какие справочники распространяется выполняемая операция;
Mark. Множество, которому будет принадлежать справочник.
Метод Clone создает копию справочника.
Для выполнения примера предполагается наличие формы, содержащей компоненты:
DimensionTree с идентификатором «DimensionTree1»;
DimensionTree с идентификатором «DimensionTree2»;
UiDimension с идентификатором «UiDimension1»;
UiDimension с идентификатором «UiDimension2»;
Button с идентификатором «Button1».
Укажите компонент «UiDimension1» в качестве источника данных для компонента «DimensionTree1», а компонент «UiDimension2» - источником данных для компонента «DimensionTree2». Источником данных компонента «UiDimension1» должен быть табличный справочник НСИ с настроенной динамической загрузкой элементов.
Пример является обработчиком события OnClick для компонента «Button1».
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Dim: IDynamicInstance;
DimCopy: IDynamicInstance;
Begin
Dim := UiDimension1.DimInstance As IDynamicInstance;
// Создадим копию справочника
If Dim.CanClone(DynamicInstanceOperationsVisibility.Local, "Copy") Then
DimCopy := Dim.Clone(DynamicInstanceOperationsVisibility.Local, "Copy");
UiDimension2.Dimension := DimCopy.DimensionModel;
End If;
End Sub Button1OnClick;
При нажатии на кнопку «Button1» будет создана копия справочника. Копия будет отображена в компоненте «DimensionTree2».
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Dimensions;
…
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
Dim: IDynamicInstance;
DimCopy: IDynamicInstance;
Begin
Dim := uiDimensionNet1.DimInstance As IDynamicInstance;
// Создадим копию справочника
If Dim.CanClone(DynamicInstanceOperationsVisibility.diovLocal, "Copy") Then
DimCopy := Dim.Clone(DynamicInstanceOperationsVisibility.diovLocal, "Copy");
uiDimensionNet2.Dimension := DimCopy.DimensionModel;
End If;
End Sub;
См. также: