PrxMetaResult OpenPrxMeta(OdId tObject, OpenPrxMetaArg tArg)
tObject. Моникёр объекта репозитория, являющегося регламентным отчётом.
tArg. Параметры выполнения операции.
Операция OpenPrxMeta открывает регламентный отчёт и предоставляет доступ для работы с его метаданными.
Для выполнения операции укажите в поле tObject моникёр объекта, являющегося регламентным отчётом, а в поле tArg параметры открытия. Моникёр объекта может быть получен при выполнении операции GetObjects. В поле tArg.args могут быть указаны режим открытия отчёта (просмотр или редактирование) и значения параметров, которые будут переданы параметрическим источникам данных. В поле tArg.meta можно указать метаданные, которые необходимо получить при выполнении операции. Задайте те поля, которые необходимо получить. Для полей должны быть указаны их значения по умолчанию. Для получения коллекций каких-либо объектов необходимо запросить как минимум ключ объектов и указать в качестве значения ключа «-1». Результатом работы операции будет моникёр открытого экземпляра регламентного отчёта, а также метаданные, если были определены поля в tArg.meta.
Дальнейшая работа с открытым отчётом осуществляется с помощью операций GetPrxMeta, SetPrxMeta, PrxMetaReportRecalc, PrxMetaReportExport.
Для работы с листами отчёта используйте операции: PrxMetaSheetsAdd, PrxMetaSheetsDelete, PrxMetaSheetsMove, PrxMetaSheetsDuplicate.
Для работы с элементами управления: PrxMetaControlsAdd, PrxMetaControlsDelete, PrxMetaControlsMove.
Для работы с визуализаторами используйте операции PrxMetaViewsAdd, DataAreaViewsDelete.
Для работы с аналитической областью данных используйте операции: DataAreaSourcesAdd, GetDataAreaSources, SetDataAreaSources, SetDataAreaVirtualSources, DataAreaSourcesDelete, DataAreaSlicesAdd, DataAreaSlicesDelete.
Для работы с основой среза данных используйте операции: GetPivotMetaData, SetPivotMetaData, PivotChangeDimHeader, PivotMoveDimToIndex.
Для закрытия открытого экземпляра регламентного отчёта используйте операцию ClosePrxMeta.
Ниже приведён пример открытия регламентного отчёта на редактирование. В запросе передаётся моникёр объекта, являющегося регламентным отчетом, и флаг, определяющий необходимость открыть отчёт на редактирование. В ответе приходит моникёр открытого экземпляра регламентного отчёта.
В примере C# используется функция FindObjectById, код которой приведён в примере «Получение описания объекта по его идентификатору».
{
"OpenPrxMeta" :
{
"tObject" :
{
"id" : "S1!M!177486"
},
"tArg" :
{
"args" :
{
"openForEdit" : "true"
}
}
}
}
{
"OpenPrxMetaResult" :
{
"id" :
{
"id" : "S1!M!S!P1"
}
}
}
public static PrxMetaResult OpenMetaPrx(MbId mb, string prxId, bool forEdit = true )
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tOpen = new OpenPrxMeta()
{
tArg = new OpenPrxMetaArg()
{
args = new PrxMetaOpenArgs() { openForEdit = forEdit }
},
//Формирование моникера объекта
tObject = new OdId() { id = mb.id + "!" + FindObjectById(mb, prxId).k }
};
//Открытие регламентного отчета
var result = somClient.OpenPrxMeta(tOpen);
return result;
}
См. также: