GetFactData(
FactorKey: Integer;
[Options: DictionaryGetDataOptions = 0]
): IRubricatorFactData;
GetFactData(
FactorKey: uinteger;
Options: Prognoz.Platform.Interop.Rds.DictionaryGetDataOptions
): Prognoz.Platform.Interop.Cubes.IRubricatorFactData;
FactorKey. Ключ показателя;
Options. Параметр получения данных. Необязательный параметр. Значение по умолчанию - DictionaryGetDataOptions.None - получение данных для чтения.
Метод GetFactData возвращает данные из справочника показателей по ключу показателя.
Если Options = DictionaryGetDataOptions.Create или Options = DictionaryGetDataOptions.Edit, т.е. данные создаются или редактируются, то должна быть создана ревизия. Для создания ревизии используйте метод IRubricatorInstance.OpenRevision.
Для выполнения примера в репозитории должна существовать БД временных рядов с идентификатором «TSDB», содержащая показатель с ключом «1».
Добавьте ссылки на системные сборки: Metabase, Cubes.
Sub UserProc;
Var
MB: IMetabase;
RubDesc: IMetabaseObjectDescriptor;
RubrIn: IRubricatorInstance;
FactD: IRubricatorFactData;
Begin
MB := MetabaseClass.Active;
RubDesc := MB.ItemById("TSDB");
RubrIn := RubDesc.Open(Null) As IRubricatorInstance;
FactD := RubrIn.GetFactData(1);
If FactD.IsEdited
Then Debug.WriteLine("Показатель доступен для редактирования");
Else Debug.WriteLine("Показатель доступен только для чтения");
End If;
End Sub UserProc;
После выполнения примера в окно консоли будет выведена информация о том, доступен ли показатель с ключом «1» для редактирования .
Для выполнения примера в репозитории должна существовать БД временных рядов с идентификатором «TSDB», содержащая показатель с ключом «1».
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Rds;
…
[STAThread]
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
RubDesc: IMetabaseObjectDescriptor;
RubrIn: IRubricatorInstance;
FactD: IRubricatorFactData;
Begin
MB := Params.Metabase;
RubDesc := MB.ItemById["TSDB"];
RubrIn := RubDesc.Open(Null) As IRubricatorInstance;
FactD := RubrIn.GetFactData(1, DictionaryGetDataOptions.dgdoNone);
If FactD.IsEdited
Then System.Diagnostics.Debug.WriteLine("Показатель доступен для редактирования");
Else System.Diagnostics.Debug.WriteLine("Показатель доступен только для чтения");
End If;
End Sub;
После выполнения примера в окно консоли будет выведена информация о том, доступен ли показатель с ключом «1» для редактирования.
См. также: