В данной статье рассмотрен пример создания в репозитории объекта типа «Документ», загрузки его источника и выгрузки созданного документа во внешний файл.
Для выполнения примера в теге HEAD добавьте ссылки на следующие файлы:
PP.css;
PP.js;
PP.Metabase.js;
PP.Metabase.css;
resources.ru.js.
Предполагается наличие в репозитории папки с ключом 4653, в которой будет создан документ.
В теге BODY добавьте код для размещения компонентов на странице:
<body> <div id="CreateButton" /> <div id="NavBox" /> <div id="UploadForm" /> <div id="ImportButton" /> <div id="ExportButton" /> </body>
В теге SCRIPT добавьте код для создания компонента NavigatorBox, кнопки для создания объекта типа «Документ», компонента для выбора источника документа, кнопок для загрузки источника и выгрузки документа во внешний файл:
<script type="text/javascript"> PP.resourceManager.setRootResourcesFolder("../resources/");//Указываем путь до папки с ресурсами PP.setCurrentCulture(PP.Cultures.ru);//Устанавливаем языковые настройки //Подключение к репозиторию var mb = new PP.Mb.Metabase( { PPServiceUrl: "PPService.axd?action=proxy" Id: "WAREHOUSE", UserCreds: { UserName: "user", Password: "password" } }); mb.open(); var OdIdObj; //Создаём PP.Mb.Ui.NavigatorBox var navbox = new PP.Mb.Ui.NavigatorBox( { Metabase: mb, Width: 700, Height: 400, ParentNode: document.getElementById("NavBox"), ImagePath: "../build/img/", RootKey: 4653 });
//Кнопка для создания документа var createButton = new PP.Ui.Button({ Content: "Создать документ", Width: 90, ParentNode: document.getElementById("CreateButton"), Click: function () { navbox.createObject(3329, "Document", PP.Delegate(function (sender, args) {//Создаем документ res = JSON.parse(args.ResponseText); OdIdObj = res.CreateObjectResult.id.id;//Получаем моникер создаваемого объекта var fileUpload = new PP.Ui.FileUpload({//Создаём загрузчик файлов для импорта Id: "myfileUpload", PostUrl: "http://localhost/Sample" + "/PPService.axd?action=import&docId=" + OdIdObj + "&dtProvider=document",//http://localhost/Samples -путь до html-страницы, с которой запускается пример ParentNode: document.getElementById("UploadForm"), FileButton: { Content: "Обзор...", Width: 60 }//Кнопка для выбора файла }); var exportFile = new PP.Ui.FileUpload({//Создаем загрузчик файлов для экспорта PostUrl: "http://localhost/Sample" + "/PPService.axd?action=export&key=" + OdIdObj + "&name=testExport", });
//Создаём кнопку для загрузки файла var b1 = new PP.Ui.Button( { ParentNode: "ImportButton", Content: "Загрузить из файла", Click: function () { fileUpload.send() } });
//Создаём кнопку для экспорта файла var b2 = new PP.Ui.Button( { ParentNode: "ExportButton", Content: "Сохранить в файл", Click: function () { exportFile.send() } }); })); } }) </script>
После выполнения примера на странице будет размещен компонент NavigatorBox и кнопка «Создать документ». При нажатии на кнопку в корневую папку будет добавлен документ, и на странице будут размещены компонент для выбора источника документ и кнопки «Загрузить из файла» и «Сохранить в файл»:
Нажмите на кнопку «Обзор» и в открывшемся диалоге выберите источник для документа. Чтобы загрузить источник в документ нажмите на кнопку «Загрузить из файла». Чтобы сохранить загруженный файл во внешний документ, нажмите на кнопку «Сохранить в файл».
Чтобы удалить документ из репозитория, используйте метод NavigatorBox.deleteObjects.
См. также: