Для работы с данными любого реляционного источника репозитория реализован интерфейс IDatasetInstance. Выходной набор данных представляет собой массив строк. Каждая строка массива это отдельная запись в источнике данных, содержащая значения всех полей. Для получения выходного набора данных необходимо открыть соответствующий объект репозитория используя метод IMetabaseObjectDescriptor.Open, либо IMetabaseObjectDescriptor.OpenWithParam и привести его к интерфейсу IDatasetInstance:
Sub UserProc;
Var
MB: IMetabase;
DSInst: IDatasetInstance;
FieldsDefs: IDatasetModelFields;
FieldsDef: IDatasetModelField;
FieldsInst: IDatasetInstanceFields;
FieldInst: IDatasetInstanceField;
Begin
MB := MetabaseClass.Active;
DSInst := MB.ItemById("Table_1").Open(Null) As IDatasetInstance;
//Список полей
FieldsDefs := DSInst.FieldDefs;
For Each FieldsDef In FieldsDefs Do
Debug.Write(FieldsDef.Id + " ");
End For;
Debug.WriteLine("");
//Значения всех записей
While Not DSInst.Eof Do
FieldsInst := DSInst.Fields;
For Each FieldInst In FieldsInst Do
Debug.Write(FieldInst.Value + " ");
End For;
Debug.WriteLine("");
DSInst.Next;
End While;
End Sub UserProc;
После выполнения примера будут получены данные таблицы «Table_1». Список полей и значений всех записей будут выведены в консоль среды разработки.
См. также: