Перед выполнением примера ознакомьтесь с рекомендациями к написанию кода. Убедитесь, что в репозитории содержится эксресс-отчёт с ключом «88665».
Для создания компонента MetabaseDialogBase используйте HTML-код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>MetabaseDialogBase</title>
<script src="../build/PP.js" type="text/javascript"></script>
<script src="../build/PP.Metabase.js" type="text/javascript"></script>
<script src="../build/PP.Express.js" type="text/javascript"></script>
<script src="../build/PP.Navigator.js" type="text/javascript"></script>
<script type="text/javascript" src="../resources/Metabase.resources.ru.js"></script>
<script type="text/javascript" src="../resources/Express.resources.ru.js"></script>
<script type="text/javascript" src="../resources/Navigator.resources.ru.js"></script>
<link href="../build/PP.css" rel="stylesheet" type="text/css" />
<link href="../build/PP.Metabase.css" rel="stylesheet" type="text/css" />
<link href="../build/PP.Express.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
var metabase, eaxMdService, eaxAnalyzer, metabaseDialogBase;
// Функция, выполняемая при загрузке html-документа
function onLoad() {
// Укажем путь к корневой папке, содержащей файлы ресурсов
PP.resourceManager.setRootResourcesFolder("../../resources/");
// Установим языковые настройки для ресурсов
PP.setCurrentCulture(PP.Cultures.ru);
// Создаём соединение с репозиторием
metabase = new PP.Mb.Metabase({
// Зададим Url веб-сервиса PP.SOM в формате:
// <http://<ServerName | IP-address>[:<Port>][/<VirtualCatalog>]/axis2/services/PP.SOM.Som>
PPServiceUrl: "http://localhost/FPBI_App_v9.2x64/axis2/services/PP.SOM.Som",
Id: "Repository",
UserCreds: {
UserName: "user",
Password: "password"
}
});
// Открываем соединение с репозиторием
metabase.open();
// Создаем сервис для работы с экспресс-отчётами
eaxMdService = new PP.Exp.EaxMdService({
Metabase: metabase
});
// Откроем экспресс-отчет с ключом 88665
eaxAnalyzer = eaxMdService.editDocument(88665);
// Определим массив фильтров для диалога
var filters = [{
Filters: [2561], // Отображаем только экспресс-отчёты
// Укажем ключ ресурсов для получения наименования фильтра
ResourceKey: "openDialogExpressReports"
}];
// Создадим диалог для сохранения объекта
metabaseDialogBase = new PP.Navigator.MetabaseDialogBase({
Metabase: metabase,
FiltersSet: filters, // Массив фильтров для диалога
CurrentFilter: filters[0], // Текущий фильтр
ImagePath: "../../build/img/", // Путь к значкам диалога
OpenToKey: parseInt(eaxAnalyzer.getParentKey() || 0) // Ключ папки в репозитории, которую нужно раскрыть в диалоге
});
metabaseDialogBase.show(); // Отобразим диалог для сохранения объекта
}
</script>
</head>
<body onload="onLoad();">
</body>
</html>
После выполнения примера на html-странице будет размещён компонент MetabaseDialogBase:
В соответствии с установленным фильтром в диалоге будут отображаться только экспресс-отчёты из всех объектов репозитория.
См. также: