BulkSelectionSet: IPrxBulkSelectionSet;
BulkSelectionSet : Prognoz.Platform.Interop.Report.IPrxBulkSelectionSet;
Свойство BulkSelectionSet определяет коллекцию отметок фиксированных измерений публикуемого регламентного отчета.
К допустимым отметкам относятся отметки измерений, для которых создан элемент управления.
Для выполнения примера в репозитории предполагается наличие следующих объектов:
регламентного отчета с идентификатором «REG_REPORT_PUB», который содержит элемент управления и управляемое им фиксированное измерение;
контейнера мобильного приложения с идентификатором «MA_PUB», который содержит ярлык регламентного отчета с идентификатором «REG_REPORT_PUB». Ярлык является первым объектом в списке объектов контейнера мобильного приложения;
Добавьте ссылки на системные сборки: Metabase, Mobile, Report.
Sub UserProc;
Var
mb: IMetabase;
RegRep: IPrxReport;
Mobile: IMobileApplication;
SelSet: IPrxBulkSelectionSet;
Publicator: IMobileApplicationPublicator;
MaPubObjs: IMobileApplicationPublishObjects;
MaPubObj: IMobileApplicationPublishObject;
PrxPubObj: IMobilePublishReport;
PubObj: IMobilePublishObject;
res: MobilePublishObjectResult;
Begin
// Получим репозиторий
mb := MetabaseClass.Active;
// Получим регламентный отчет
RegRep := mb.ItemById("REG_REPORT_PUB").Edit As IPrxReport;
// Получим отметку фиксированного измерения
SelSet := Regrep.GetBulkSelectionSet("1");
// Получим мобильное приложение
Mobile := mb.ItemById("MA_PUB").Bind As IMobileApplication;
// Создадим публикатор мобильного
приложения
Publicator := Mobile.CreatePublicator;
// Получим коллекцию публикуемых объектов
MaPubObjs := Publicator.Items;
// Выберем первый публикуемый объект
MaPubObj := MaPubObjs.Item(0);
PubObj := MaPubObj.PublishObject;
PrxPubObj := PubObj As IMobilePublishReport;
// Зададим отметку фиксированного измерения для публикации
PrxPubObj.BulkSelectionSet := SelSet;
// Указываем, что все листы отчета должны публиковаться в один файл
PrxPubObj.OneFileMode := True;
// Зададим путь публикации
PubObj.ExportPath := "C:\" + PubObj.Object.Id + ".zip";
// Публикуем регламентный отчет
res := PubObj.Publish;
// Выведем результат в окно консоли
If (res As integer) = 0 Then Debug.WriteLine("Публикация выполнена успешно");
Debug.WriteLine("Путь публикации: " + PubObj.ExportPath);
Else Debug.WriteLine("При публикации возникла ошибка");
End If;
End Sub UserProc;
После выполнения примера для мобильного приложения, содержащего регламентный отчет с заданной отметкой фиксированного измерения, выполнится публикация по заданному пути.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Mobile;
Imports Prognoz.Platform.Interop.Report;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
RegRep: IPrxReport;
Mobile: IMobileApplication;
SelSet: IPrxBulkSelectionSet;
Publicator: IMobileApplicationPublicator;
MaPubObjs: IMobileApplicationPublishObjects;
MaPubObj: IMobileApplicationPublishObject;
PrxPubObj: IMobilePublishReport;
PubObj: IMobilePublishObject;
res: MobilePublishObjectResult;
Begin
// Получим репозиторий
mb := Params.Metabase;
// Получим регламентный отчет
RegRep := mb.ItemById["REG_REPORT_PUB"].Edit() As IPrxReport;
// Получим отметку фиксированного измерения
SelSet := Regrep.GetBulkSelectionSet("1");
// Получим мобильное приложение
Mobile := mb.ItemById["MA_PUB"].Bind() As IMobileApplication;
// Создадим публикатор мобильного
приложения
Publicator := Mobile.CreatePublicator();
// Получим коллекцию публикуемых объектов
MaPubObjs := Publicator.Items;
// Выберем первый публикуемый объект
MaPubObj := MaPubObjs.Item[0];
PubObj := MaPubObj.PublishObject;
PrxPubObj := PubObj As IMobilePublishReport;
// Зададим отметку фиксированного измерения для публикации
PrxPubObj.BulkSelectionSet := SelSet;
// Указываем, что все листы отчета должны публиковаться в один файл
PrxPubObj.OneFileMode := True;
// Зададим путь публикации
PubObj.ExportPath := "C:\" + PubObj.Object.Id + ".zip";
// Публикуем регламентный отчет
res := PubObj.Publish(Null);
// Выведем результат в окно консоли
If (res As integer) = 0 Then System.Diagnostics.Debug.WriteLine("Публикация выполнена успешно");
System.Diagnostics.Debug.WriteLine("Путь публикации: " + PubObj.ExportPath);
Else System.Diagnostics.Debug.WriteLine("При публикации возникла ошибка");
End If;
End Sub;
См. также: