Metadata.js УНФ демо
Пример интерфейса внешних пользователей к типовой 1С:УНФ, позволяющий редактировать Заказы покупателей
HTML
<link rel="stylesheet" href="//cdn.jsdelivr.net/fontawesome/4.5/css/font-awesome.min.css">
<script src="//cdn.jsdelivr.net/g/metadata(dhx_terrace.css+metadata.css)"></script>
<script src="//cdn.jsdelivr.net/g/alasql,[email protected](dhtmlx.min.js+metadata.min.js)"></script>
<div id="splash" style="width: 601px; height: 256px; position: relative; left: 48%; margin-left: -300px; margin-top: 80px;">
<img src="//www.oknosoft.ru/assets/examples/unf/data/splash.png">
</div>
CSS
/*
Важно: перед запуском максимально расширьте фрейм результата
*/
JavaScript
/**
* Зададим параметры работы программы
* @param prm {Object} - параметры переопределяются в свойствах этого объекта
* @param modifiers {Array} - сюда можно добавить обработчики,
* переопределяющие функциональность объектов данных
*/
$p.settings = function (prm, modifiers) {
/**
* для транспорта используем rest, а не сервис http
*/
prm.rest = true;
// разделитель для localStorage
prm.local_storage_prefix = "unf_";
// скин по умолчанию
localStorage.setItem("unf_skin", prm.skin = "dhx_terrace");
// по умолчанию, обращаемся к зоне 1377
prm.zone = 1377;
// расположение скрипта инициализации таблиц sql
prm.create_tables = "//www.oknosoft.ru/assets/examples/unf/data/create_tables.sql";
// расположение страницы настроек
prm.settings_url = "//www.oknosoft.ru/assets/examples/unf/settings.html";
// расположение rest-сервиса unf
prm.rest_path = "//www.oknosoft.ru/a/unf/%1/odata/standard.odata/";
// расположение файлов данных
prm.data_url = "//www.oknosoft.ru/assets/examples/unf/data/";
// разрешаем покидать страницу без лишних вопросов
$p.eve.redirect = true;
};
/**
* Обработчик события при начале работы программы
*/
$p.iface.oninit = function() {
/**
* Используем разбивку экрана в две колонки: дерево навигации слева, динсписок в центре
*/
$p.iface.layout_2u()
.then(function (tree) {
/**
* Используем стандартную процедуру аутентификации.
* При необходимости, можно реализовать клиентские сертификаты,
* двухфакторную авторизацию с одноразовыми sms и т.д.
*/
$p.iface.frm_auth(
/**
* Используем стандартную визуализацию входа в программу.
* При необходимости, можно показкать свои диалоги, оповещения, рекламу и т.д.
*/
null,
/**
* открываем окно "все функции" с деревом метаданных
* это место можно переопределить и открывать, например, специальную форму списка заказов
*/
function () {
$p.iface.set_hash("doc.ЗаказПокупателя",...