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.ЗаказПокупателя",...