Для выполнения примера необходимо наличие экспресс-отчёта с ключом 65760, в котором находится измерение с ключом 10152. Для получения ключей измерений используйте метод EaxAnalyzer.getDims. Создайте html-страницу и выполните следующие действия:
1. В теге <head> добавьте ссылки на js и css-файлы:
PP.js;
PP.Metabase.js;
PP.App.js;
PP.Express.js;
resources.ru.js;
PP.css;
PP.App.css;
PP.Express.css;
PP.Metabase.css.
2. Дополнительно задайте стиль для элементов:
<style type="text/css">
body, html
{
height: 100%;
width: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
</style>
3. Добавьте скрипт, который создает компонент для отображения и изменения текущей отметки:
<script text="text/javascript">
var expressBox, eaxMdService, eaxAnalyzer;
PP.ImagePath = "build/img/";
PP.ScriptPath = "build/";
function Ready() {
// Укажем путь к папке с пиктограммами и к корневой папке, содержащей файлы ресурсов
var IMAGE_PATH = "build/img/";
PP.resourceManager.setRootResourcesFolder("resources/");
// Установим языковые настройки для ресурсов
PP.setCurrentCulture(PP.Cultures.ru);
// Создадим соединение с репозиторием
var metabase = new PP.Mb.Metabase({
PPServiceUrl: "PPService.axd?action=proxy",
Id: "Repository",
UserCreds: {
UserName: "User",
Password: "Password"
}
});
// Откроем соединение с репозиторием
metabase.open();
// Создадим сервис для работы с экспресс-отчётами
eaxMdService = new PP.Exp.EaxMdService({
Metabase: metabase
});
// Откроем экспресс-отчёт с ключом 65760
eaxAnalyzer = eaxMdService.editDocument(65760);
var moduleObject = new PP.App.EaxModuleObject({ "Source": eaxAnalyzer, "Service": eaxMdService, "ParentNode": document.body });
expressBox = moduleObject.getReportBox();
window.onresize();
};
// Добавим функцию для изменения отметки экспресс-отчёта
function openDialog() {
// Создадим компонент DimSelectionDialog
dimSelectionDialog = new PP.Exp.Ui.DimSelectionDialog({
ResourceKey: "DimSelectionDialog",
Source: eaxAnalyzer,
Width: 430,
Height: 420
});
// Отобразим компонент с ключом измерения 10152
dimSelectionDialog.show(10152);
// Обновим компонент
dimSelectionDialog.refreshAll();
}
var idTime;
// Добавим функцию для изменения размеров контейнера ExpressBox при изменении размеров страницы
window.onresize = function updateSize() {
if (idTime)
clearTimeout(idTime);
idTime = setTimeout(function () {
if (expressBox) {
expressBox.setWidth(document.body.offsetWidth - 5);
expressBox.setHeight(document.body.offsetHeight - 5);
}
idTime = null;
}, 100);
};
</script>
4. В теге <body> в качестве значения атрибута «onLoad» укажите имя функции для загрузки экспресс-отчёта. Внутри тега разместите кнопку, при нажатии на которую будет создан компонент для изменения отметки:
<body onselectstart="return false" class="PPNoSelect" onload="Ready()"> <input type="button" value="Создать диалог" onclick="openDialog()" /> </body>
5. После тега </html> вставьте код, устанавливающий стили к вершине «document.body», соответствующие операционной системе клиента:
<script type="text/javascript"> PP.initOS(document.body); </script>
В результате выполнения примера, после нажатия на кнопку «Создать диалог» на html-странице, будет размещен компонент DimSelectionDialog:

См. также: