Mnemo: String;
Mnemo: string;
Свойство Mnemo определяет мнемонику временного ряда.
Если в базе данных временных рядов не используются мнемоники, т.е. IRubricator.HasMnemonics установлено в False, то при получении Mnemo возвращает пустое значение, при установке - задаваемое значение игнорируется.
Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «OBJ_FC». Добавьте ссылки на системные сборки «Metabase», «Cubes».
Sub UserProc;
Var
MB: IMetabase;
RubDesc: IMetabaseObjectDescriptor;
Rub: IRubricator;
RubrIn: IRubricatorInstance;
Loo: IRubricatorFactsLookup;
i: Integer;
Factors: Array Of Integer;
FactD: IRubricatorFactData;
Begin
MB := MetabaseClass.Active;
RubDesc := MB.ItemById("OBJ_FC");
Rub := RubDesc.Bind As IRubricator;
If Rub.HasMnemonics Then
RubrIn := RubDesc.Open(Null) As IRubricatorInstance;
Loo := RubrIn.CreateFactsLookup;
Factors := Loo.LookupFactors;
For i := 0 To Factors.Length - 1 Do
FactD := RubrIn.GetFactData(Factors[i]);
Debug.WriteLine(FactD.Mnemo);
End For;
Else
Debug.WriteLine("Мнемоники не используются");
End If;
End Sub UserProc;
После выполнения примера в окно консоли будут выведены мнемоники всех показателей в базе.
Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «OBJ_FC».
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Rds;
…
Public Shared Sub Main(Params: StartParams);
Var
Mb: IMetabase;
RubDesc: IMetabaseObjectDescriptor;
Rub: IRubricator;
RubrIn: IRubricatorInstance;
Loo: IRubricatorFactsLookup;
i: Integer;
Factors: System.Array;
FactorKey: integer;
FactD: IRubricatorFactData;
Begin
Mb := Params.Metabase;
RubDesc := MB.ItemById["OBJ_FC"];
Rub := RubDesc.Bind() As IRubricator;
If Rub.HasMnemonics Then
RubrIn := RubDesc.Open(Null) As IRubricatorInstance;
Loo := RubrIn.CreateFactsLookup();
Factors := Loo.LookupFactors();
For i := 0 To Factors.Length - 1 Do
FactorKey := Factors[i] As integer;
FactD := RubrIn.GetFactData(FactorKey As uinteger, DictionaryGetDataOptions.dgdoNone);
System.Diagnostics.Debug.WriteLine(FactD.Mnemo);
End For;
Else
System.Diagnostics.Debug.WriteLine("Мнемоники не используются");
End If;
End Sub;
После выполнения примера в окно консоли будут выведены мнемоники всех показателей в базе.
См. также: