Перед выполнением примера ознакомьтесь с рекомендациями к написанию кода.
Для создания компонента RdsBox:
Создайте табличные справочники НСИ в настольном приложении:
Табличный справочник НСИ «Time units»
Табличный справочник НСИ «System of units»
Используйте 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" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RdsBox</title>
<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.Dictionaries.css" rel="stylesheet" type="text/css" />
<script src="../build/PP.js" type="text/javascript"></script>
<script src="../build/PP.Metabase.js" type="text/javascript"></script>
<script src="../build/PP.Dictionaries.js" type="text/javascript"></script>
<script type="text/javascript">
var dictionaryKey = 8093; // Ключ табличного справочника НСИ «Time units»
function Ready() {
PP.ImagePath = "../build/img/";
PP.ScriptPath = "../build/";
PP.CSSPath = "../build/";
PP.resourceManager.setRootResourcesFolder("../resources/");
PP.resourceManager.setResourceList(['PP', 'Metabase', 'Dictionaries']);
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.x/axis2/services/PP.SOM.Som",
// Укажем идентификатор репозитория и учётные данные пользователя
Id: "REPOSITORY",
UserCreds: {
UserName: "user",
Password: "password"
}
});
// Откроем соединение с репозиторием
metabase.Error.add(function (sender, args) {
alert(args.ResponseText);
});
metabase.Opened.add(function (sender, args) {
openDictionaryBox();
});
metabase.open();
}
// Откроем табличный справочник НСИ с заданным ключом
function openDictionaryBox() {
service = new PP.Dictionaries.RdsService({
Metabase: metabase,
RdsOpened: function (sender, args) {
console.log("Ключ открытого справочника: %s", args.Dictionary.getKey());
console.log("Идентификатор открытого справочника: %s", args.Dictionary.getId());
},
RdsClosed: function (sender, args) {
console.log("Наименование закрытого справочника: %s", args.Dictionary.getName());
}
});
source = service.openRds(dictionaryKey, null, true);
rdsBox = new PP.Dictionaries.Ui.RdsBox({
Source: source,
ParentNode: "rdsBox",
ImagePath: PP.ImagePath,
Width: 800,
Height: 400,
Open: function (sender, args) {
source = service.openRds(dictionaryKey, null, true);
rdsBox.setSource(source);
},
Close: function (sender, args) {
// Уберём справочник из контейнера
rdsBox.setSource(null);
// Закроем справочник
service.closeRds(source, function (sender, args) {
console.log("Ключ закрытого справочника: %s",
args.Args.Dictionary.getKey())
});
rdsBox.refreshAll();
}
});
}
</script>
</head>
<body onload="Ready()">
<div id="rdsBox" style="border: 1px #C3C3C3 solid; width: 805px"></div>
</body>
</html>
Примечание. Для выполнения пользовательских сценариев над контейнером со справочником НСИ, в том числе примеров, приведённых на страницах описания свойств, методов и событий данного компонента и составляющих его элементов, разместите код в функции «Ready» или в консоли браузера.
В результате выполнения примера на html-странице будет размещен компонент RdsBox, который отображает табличный справочник НСИ «Time units»:
Также в процессе выполнения примера:
после срабатывания обработчика события RdsService.RdsOpened в консоли браузера будут выведены ключ и идентификатор открытого справочника:
Ключ открытого справочника: 8093
Идентификатор открытого справочника: TIME_UNITS
при выполнении команды «Закрыть» в главном меню «Файл» справочник будет удалён из контейнера:
При этом будут сработаны события RdsService.RdsClosed и DictionaryBox.Close, после чего в консоли браузера будут выведены ключ и наименование закрытого справочника:
Ключ закрытого справочника:
8093
Наименование закрытого справочника: Time units
при выполнении команды «Открыть» в главном меню «Файл» контейнер будет загружен табличный справочник НСИ с тем же ключом.
См. также: