FindByAttributeId(AttributeId: String): IMsFormulaTransform;
AttributeId - идентификатор атрибута, метод расчета которого требуется найти.
Метод FindByAttributeId осуществляет поиск метода по атрибуту, который он рассчитывает.
Если объект с указанным идентификатором не найден, то метод возвращает значение Null.
Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «OBJ_RUBRICATOR». В контейнере моделирования базы содержится модель с идентификатором «MODEL», содержащая методы расчета дополнительных атрибутов. Также перед выполнением процедуры необходимо добавить ссылки на системные сборки «Ms», «Cubes», «Metabase».
Sub UserProc;
Var
Mb: IMetabase;
Rubr: IRubricator;
Model: IMsModel;
FormulasList: IMsAttributesFormulasList;
AttrTranfsorm: IMsFormulaTransform;
TransfIndex: Integer;
Begin
Mb := MetabaseClass.Active;
Rubr := Mb.ItemById("OBJ_RUBRICATOR").Bind As IRubricator;
Model := Mb.ItemByIdNamespace("MODEL", Rubr.ModelSpace.Key).Edit As IMsModel;
FormulasList := Model.AttributeFormulasList;
AttrTranfsorm := FormulasList.FindByAttributeId("UNIT");
If AttrTranfsorm <> Null Then
TransfIndex := FormulasList.IndexOf(AttrTranfsorm);
FormulasList.Remove(TransfIndex);
End If;
(Model As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера для модели будет произведен поиск метода расчета атрибута с идентификатором «UNIT». Если метод будет найден, то он будет удален.
См. также: