IPrxDocumentObjects.ItemById

Синтаксис

ItemById(Id: Integer): IPrxDocumentObject;

Параметры

Id. Идентификатор объекта в коллекции.

Описание

Метод ItemById возвращает параметры объекта по его идентификатору.

Комментарии

Идентификатор объекта можно получить в свойстве IPrxDocumentObject.Id. Идентификаторы объектов генерируются автоматически при вставке на табличный лист диаграмм или легенд диаграмм. Метод ItemById актуален для использования, если уже имеется какой-либо набор идентификаторов и не требуется перебирать всю коллекцию с помощью свойств Item-Count.

Пример

Для выполнения примера предполагается наличие в репозитории регламентного отчета с идентификатором «Report». В отчёте создан текстовый лист с наименованием «Документ», на этот лист были добавлены диаграммы или легенды диаграмм.

Sub UserProc;
Var
    MB: IMetabase;
    Report: IPrxReport;
    Doc: IPrxDocument;
    DocObjects: IPrxDocumentObjects;
    DocObject: IPrxDocumentObject;
    i: Integer;
    IdArray: IArrayList;
Begin
    MB := MetabaseClass.Active;
    Report := MB.ItemById("Report").Bind As IPrxReport;
    Doc := Report.Sheets.FindByName("Документ") As IPrxDocument;
    DocObjects := Doc.DocumentObjects;
    //...
    //Отбор идентификаторов объектов по какому-либо признаку
    //...
    IdArray := New ArrayList.Create;
    For i := 0 To DocObjects.Count - 1 Do
        DocObject := DocObjects.Item(i);
        If <Условие отбора объекта> Then
            //Сохранение идентификатора в динамический массив
            IdArray.Add(DocObject.Id);
        End If;
    End For;
    //...
    //Работа с отобранными объектами
    //...
    For i := 0 To IdArray.Count - 1 Do
        DocObject := DocObjects.ItemById(IdArray.Item(i));
        //...
    End For;
End Sub UserProc;

Указанный пример в общем виде показывает как можно получить коллекцию объектов, отобрать из них необходимые по какому-либо признаку и в дальнейшем работать с ними.

См. также:

IPrxDocumentObjects