bool SetActiveReport(PrxId tPrx, bool isActive)
tPrx. Моникёр открытого экземпляра регламентного отчёта.
isActive. Признак активности отчёта в рамках текущей сессии.
Операция SetActiveReport устанавливает активный регламентный отчёт для текущей сессии пользователя.
Актуально, если из регламентных отчётов с помощью пользовательских кнопок вызваются веб-формы. При использовании нескольких веб-форм, вызванных из разных отчётов, в рамках одной сессии активным отчётом будет установлен тот, из которого произошёл последний вызов веб-формы вплоть до её закрытия. Активный отчёт возвращает статическое свойство PrxReport.ActiveReport, доступное в языке Fore. При наличии нескольких одновременно открытых регламентных отчётов и веб-форм данное свойство может отработать некорректно, так как вернёт последний отчёт, из которого открывалась веб-форма.
Операция SetActiveReport позволяет изменить активный отчёт, если это требуется выполнить до закрытия веб-форм. Для выполнения операции укажите в поле tPrx моникёр отчёта, который необходимо сделать активным. Моникёр может быть получен при выполнении операции OpenPrx или OpenPrxMeta. В поле isActive установите значение true.
Результатом выполнения операции будет логическое значение true, если установка активного регламентного отчёта завершилась успешно.
Ниже приведён пример установки активного регламентного отчёта в рамках текущей сессии пользователя. В запросе передаётся моникёр открытого экземпляра регламентного отчёта. В ответе возвращается признак успешного изменения активного отчёта.
{
"SetActiveReport" :
{
"tPrx" :
{
"id" : "EIHAOHKCIDICGOAEACIOGPBBNHOGGKOEGJNOOFOKLGCODGAI!M!S!PCDPDMPKCIDICGOAEDCJBGJKCPILDLOEEMJPIECIKDFBDMFPO"
},
"isActive" : "true"
}
}
{
"SetActiveReportResult" : "1"
}
public static bool SetActiveReport(string moniker)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tSet = new SetActiveReport()
{
tPrx = new PrxId() { id = moniker },
isActive = true
};
// Установка активного регламентного отчёта
var result = somClient.SetActiveReport(tSet);
return result;
}
См. также: