From 627eb28ae4bee9085afad1e20459df408dd91905 Mon Sep 17 00:00:00 2001 From: unpete Date: Fri, 2 Dec 2016 16:48:42 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B0=D0=B5=D0=BC=D1=8B=D0=B9=20toolbar=5Fclick=20=D0=B2=20wnd?= =?UTF-8?q?=5Fselection,=20attr.db=20=D0=B2=20Pouch.save=5Fobj()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/metadata.core.js | 12 ++++++------ dist/metadata.core.min.js | 4 ++-- dist/metadata.js | 23 ++++++++++++++--------- dist/metadata.min.js | 6 +++--- history.md | 4 ++++ lib/metadata.core.js | 12 ++++++------ lib/metadata.js | 23 ++++++++++++++--------- lib/metadata.min.js | 6 +++--- src/pouchdb.js | 10 +++++----- src/widgets/wnd_selection.js | 11 ++++++++--- 10 files changed, 65 insertions(+), 46 deletions(-) diff --git a/dist/metadata.core.js b/dist/metadata.core.js index 8dc7c42ab..233890e92 100644 --- a/dist/metadata.core.js +++ b/dist/metadata.core.js @@ -1,5 +1,5 @@ /*! - metadata.js v0.11.223, built:2016-11-30 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 + metadata.js v0.11.223, built:2016-12-02 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 metadata.js may be freely distributed under the AGPL-3.0. To obtain _Oknosoft Commercial license_, contact info@oknosoft.ru */ (function(root, factory) { @@ -2791,8 +2791,8 @@ function Pouch(){ value: function (tObj, attr) { var tmp = tObj._obj._clone(), - db = tObj._manager.pouch_db; - + db = attr.db || tObj._manager.pouch_db; + tmp._id = tObj._manager.class_name + "|" + tObj.ref; delete tmp.ref; @@ -2819,10 +2819,10 @@ function Pouch(){ return db.put(tmp); }) .then(function () { - + if(tObj.is_new()) tObj._set_loaded(tObj.ref); - + if(tmp._attachments){ if(!tObj._attachments) tObj._attachments = {}; @@ -2831,7 +2831,7 @@ function Pouch(){ tObj._attachments[att] = tmp._attachments[att]; } } - + tmp = null; attr = null; return tObj; diff --git a/dist/metadata.core.min.js b/dist/metadata.core.min.js index 2415daad5..7ba05646a 100644 --- a/dist/metadata.core.min.js +++ b/dist/metadata.core.min.js @@ -1,8 +1,8 @@ /*! - metadata.js v0.11.223, built:2016-11-30 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 + metadata.js v0.11.223, built:2016-12-02 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 metadata.js may be freely distributed under the AGPL-3.0. To obtain _Oknosoft Commercial license_, contact info@oknosoft.ru */ -!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.$p=t()}(this,function(){function e(){this.__define({version:{value:"0.11.223",writable:!1},toString:{value:function(){return"Oknosoft data engine. v:"+this.version},writable:!1},utils:{value:new t},injected_data:{value:{},writable:!1},ajax:{value:new n,writable:!1},msg:{value:new a,writable:!1},wsql:{value:new r,writable:!1},eve:{value:new N,writable:!1},aes:{value:new T("metadata.js"),writable:!1},moment:{get:function(){return this.utils.moment}},_patch:{value:function(e,t){for(var n in t)"object"==typeof t[n]&&e[n]&&"object"==typeof e[n]?M._patch(e[n],t[n]):e[n]=t[n];return e}},_find:{value:function(e,t,n){var r,a,i;if("object"!=typeof t)for(a in e){r=e[a];for(var o in r)if("function"!=typeof r[o]&&M.utils.is_equal(r[o],t))return r}else for(a in e){r=e[a],i=!0;for(var o in t)if("function"!=typeof r[o]&&!M.utils.is_equal(r[o],t[o])){i=!1;break}if(i)return r}}},_selection:{value:function(e,t){var n,r,a,i=!0;if(t)if("function"==typeof t)i=t.call(this,e);else for(n in t)if(r=t[n],a="object"==typeof r,"_"!=n.substr(0,1))if("function"==typeof r){if(i=r.call(this,e,n),!i)break}else if("or"==n&&Array.isArray(r)){if(i=r.some(function(t){var n=Object.keys(t)[0];return t[n].hasOwnProperty("like")?e[n]&&e[n].toLowerCase().indexOf(t[n].like.toLowerCase())!=-1:M.utils.is_equal(e[n],t[n])}),!i)break}else if(a&&r.hasOwnProperty("like")){if(!e[n]||e[n].toLowerCase().indexOf(r.like.toLowerCase())==-1){i=!1;break}}else if(a&&r.hasOwnProperty("not")){if(M.utils.is_equal(e[n],r.not)){i=!1;break}}else if(a&&r.hasOwnProperty("in")){if(i=r.in.some(function(t){return M.utils.is_equal(t,e[n])}),!i)break}else if(a&&r.hasOwnProperty("lt")){if(i=e[n]r.gt,!i)break}else if(a&&r.hasOwnProperty("between")){var o=e[n];if("number"!=typeof o&&(o=M.utils.fix_date(e[n])),i=o>=r.between[0]&&o<=r.between[1],!i)break}else if(!M.utils.is_equal(e[n],r)){i=!1;break}return i}},_find_rows:{value:function(e,t,n){var r,a,i=[],o=0;t&&(t._top?(a=t._top,delete t._top):a=300);for(var s in e)if(r=e[s],M._selection.call(this,r,t)){if(n){if(n.call(this,r)===!1)break}else i.push(r);if(a&&(o++,o>=a))break}return i}},on:{value:function(e,t){if("object"!=typeof e)return this.eve.attachEvent(e,t);for(var n in e)e[n]._evnts||(e[n]._evnts=[]),e[n]._evnts.push(this.eve.attachEvent(n,e[n]))}},off:{value:function(e){"function"==typeof e&&e._evnts?e._evnts.forEach(function(e){M.eve.detachEvent(e)}):e?M.eve.detachEvent(e):M.eve.detachAllEvents()}},record_log:{value:function(e){M.ireg&&M.ireg.$log&&M.ireg.$log.record(e),console.log(e)}},md:{value:new o},enm:{value:new function(){this.toString=function(){return M.msg.meta_enn_mgr}}},cat:{value:new function(){this.toString=function(){return M.msg.meta_cat_mgr}}},doc:{value:new function(){this.toString=function(){return M.msg.meta_doc_mgr}}},ireg:{value:new function(){this.toString=function(){return M.msg.meta_ireg_mgr}}},areg:{value:new function(){this.toString=function(){return M.msg.meta_areg_mgr}}},accreg:{value:new function(){this.toString=function(){return M.msg.meta_accreg_mgr}}},dp:{value:new function(){this.toString=function(){return M.msg.meta_dp_mgr}}},rep:{value:new function(){this.toString=function(){return M.msg.meta_reports_mgr}}},cacc:{value:new function(){this.toString=function(){return M.msg.meta_charts_of_accounts_mgr}}},cch:{value:new function(){this.toString=function(){return M.msg.meta_charts_of_characteristic_mgr}}},tsk:{value:new function(){this.toString=function(){return M.msg.meta_task_mgr}}},bp:{value:new function(){this.toString=function(){return M.msg.meta_bp_mgr}}},DataManager:{value:s},RefDataManager:{value:_},DataProcessorsManager:{value:l},EnumManager:{value:u},RegisterManager:{value:c},InfoRegManager:{value:f},LogManager:{value:d},AccumRegManager:{value:p},CatManager:{value:h},ChartOfCharacteristicManager:{value:m},ChartOfAccountManager:{value:y},DocManager:{value:g},TaskManager:{value:b},BusinessProcessManager:{value:v},DataObj:{value:j},CatObj:{value:O},DocObj:{value:k},DataProcessorObj:{value:q},TaskObj:{value:A},BusinessProcessObj:{value:D},EnumObj:{value:R},RegisterRow:{value:P},TabularSection:{value:w},TabularSectionRow:{value:x}})}function t(){this.moment="function"==typeof moment?moment:require("moment"),this.moment._masks={date:"DD.MM.YY",date_time:"DD.MM.YYYY HH:mm",ldt:"DD MMMM YYYY, HH:mm",iso:"YYYY-MM-DDTHH:mm:ss"},this.fix_date=function(e,t){if(e instanceof Date)return e;var n=this.moment(e,["DD-MM-YYYY","DD-MM-YYYY HH:mm","DD-MM-YYYY HH:mm:ss","DD-MM-YY HH:mm","YYYYDDMMHHmmss",this.moment.ISO_8601]);return n.isValid()?n.toDate():t?this.blank.date:e},this.fix_guid=function(e,t){if(e&&"string"==typeof e);else{if(e instanceof j)return e.ref;if(e&&"object"==typeof e)if(e.presentation){if(e.ref)return e.ref;if(e.name)return e.name}else e="object"==typeof e.ref&&e.ref.hasOwnProperty("ref")?e.ref.ref:e.ref}return this.is_guid(e)||t===!1?e:t?this.generate_guid():this.blank.guid},this.fix_number=function(e,t){var n=parseFloat(e);return isNaN(n)?t?0:e:n},this.fix_boolean=function(e){return"string"==typeof e?!(!e||"false"==e.toLowerCase()):!!e},this.blank={date:this.fix_date("0001-01-01T00:00:00"),guid:"00000000-0000-0000-0000-000000000000",by_type:function(e){var t;return t=e.is_ref?this.guid:e.date_part?this.date:e.digits?0:(!e.types||"boolean"!=e.types[0])&&""}},this.fetch_type=function(e,t){var n=e;return t.is_ref?n=this.fix_guid(e):t.date_part?n=this.fix_date(e,!0):t.digits?n=this.fix_number(e,!0):"boolean"==t.types[0]&&(n=this.fix_boolean(e)),n},this.date_add_day=function(e,t,n){var r=new Date(e);return r.setDate(e.getDate()+t),n&&r.setHours(0,-r.getTimezoneOffset(),0,0),r},this.generate_guid=function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?n:7&n|8).toString(16)})},this.is_guid=function(e){return!("string"!=typeof e||e.length<36)&&(e.length>36&&(e=e.substr(0,36)),/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e))},this.is_empty_guid=function(e){return!e||e===this.blank.guid},this.is_data_obj=function(e){return e&&e instanceof j},this.is_data_mgr=function(e){return e&&e instanceof s},this.is_equal=function(e,t){return e==t||typeof e!=typeof t&&this.fix_guid(e,!1)==this.fix_guid(t,!1)},this.blob_as_text=function(e,t){return new Promise(function(n,r){var a=new FileReader;a.onload=function(e){n(a.result)},a.onerror=function(e){r(e)},"data_url"==t?a.readAsDataURL(e):a.readAsText(e)})}}function n(){function e(e,t,n,r,a){return new Promise(function(i,o){if("undefined"==typeof window&&r&&r.request)r.request({url:encodeURI(t),headers:{Authorization:r.auth}},function(e,t,n){e?o(e):200!=t.statusCode?o({message:t.statusMessage,description:n,status:t.statusCode}):i({response:n})});else{var s=new XMLHttpRequest;if(window.dhx4&&window.dhx4.isIE&&(t=encodeURI(t)),r){var _,l;"object"==typeof r&&r.username&&r.hasOwnProperty("password")?(_=r.username,l=r.password):M.ajax.username&&M.ajax.authorized?(_=M.ajax.username,l=M.aes.Ctr.decrypt(M.ajax.password)):(_=M.wsql.get_user_param("user_name"),l=M.aes.Ctr.decrypt(M.wsql.get_user_param("user_pwd")),!_&&M.job_prm&&M.job_prm.guest_name&&(_=M.job_prm.guest_name,l=M.aes.Ctr.decrypt(M.job_prm.guest_pwd))),s.open(e,t,!0,_,l),s.withCredentials=!0,s.setRequestHeader("Authorization","Basic "+btoa(unescape(encodeURIComponent(_+":"+l))))}else s.open(e,t,!0);a&&a.call(this,s),"GET"!=e?this.hide_headers||r.hide_headers||(s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),s.setRequestHeader("X-Requested-With","XMLHttpRequest")):n=null,s.onload=function(){200==s.status&&(s.response instanceof Blob||"62135622e6?this.js_time_diff:e}},set_user_param:{value:function(t,r){var a=r;"object"==typeof r?a=JSON.stringify(r):r===!1&&(a=""),e.setItem(M.job_prm.local_storage_prefix+t,a),n[t]=r}},get_user_param:{value:function(t,r){return!n.hasOwnProperty(t)&&e&&(n[t]=this.fetch_type(e.getItem(M.job_prm.local_storage_prefix+t),r)),n[t]}},promise:{value:function(e,n){return new Promise(function(r,a){t.alasql(e,n||[],function(e,t){t?a(t):r(e)})})}},save_options:{value:function(e,n){return t.set_user_param(e+"_"+n.name,n)}},restore_options:{value:function(e,n){var r=t.get_user_param(e+"_"+n.name,"object");for(var a in r)if("object"!=typeof r[a])n[a]=r[a];else{n[a]||(n[a]={});for(var i in r[a])n[a][i]=r[a][i]}return n}},fetch_type:{value:function(e,t){if("object"==t){try{e=JSON.parse(e)}catch(t){e={}}return e}return"number"==t?M.utils.fix_number(e,!0):"date"==t?M.utils.fix_date(e,!0):"boolean"==t?M.utils.fix_boolean(e):e}},alasql:{value:"undefined"!=typeof alasql?alasql:require("alasql")},init_params:{value:function(){if(!M.job_prm.local_storage_prefix&&!M.job_prm.create_tables)return Promise.resolve();e="undefined"==typeof localStorage?"undefined"==typeof WorkerGlobalScope?new require("node-localstorage").LocalStorage("./localstorage"):{setItem:function(e,t){},getItem:function(e){}}:localStorage;var n,r=[{p:"user_name",v:"",t:"string"},{p:"user_pwd",v:"",t:"string"},{p:"browser_uid",v:M.utils.generate_guid(),t:"string"},{p:"zone",v:M.job_prm.hasOwnProperty("zone")?M.job_prm.zone:1,t:M.job_prm.zone_is_string?"string":"number"},{p:"enable_save_pwd",v:M.job_prm.enable_save_pwd,t:"boolean"},{p:"autologin",v:"",t:"boolean"},{p:"skin",v:"dhx_web",t:"string"},{p:"rest_path",v:"",t:"string"}];M.job_prm.additional_params&&(r=r.concat(M.job_prm.additional_params)),e.getItem(M.job_prm.local_storage_prefix+"zone")||(n=M.job_prm.hasOwnProperty("zone")?M.job_prm.zone:1),M.job_prm.url_prm.hasOwnProperty("zone")&&(n=M.job_prm.zone_is_string?M.job_prm.url_prm.zone:M.utils.fix_number(M.job_prm.url_prm.zone,!0)),void 0!==n&&t.set_user_param("zone",n),r.forEach(function(e){(void 0==t.get_user_param(e.p,e.t)||!t.get_user_param(e.p,e.t)&&e.p.indexOf("url")!=-1)&&t.set_user_param(e.p,M.job_prm.hasOwnProperty(e.p)?M.job_prm[e.p]:e.v)});var a={path:t.get_user_param("couch_path","string")||M.job_prm.couch_path||"",zone:t.get_user_param("zone","number"),prefix:M.job_prm.local_storage_prefix,suffix:t.get_user_param("couch_suffix","string")||"",user_node:M.job_prm.user_node,noreplicate:M.job_prm.noreplicate};a.path&&(t.__define("pouch",{value:new i}),t.pouch.init(a)),this.create_tables&&(this.alasq(this.create_tables,[]),this.create_tables="")}},drop_tables:{value:function(e){function n(){i--,i<=0?setTimeout(e,10):r()}function r(){var e=o[i-1].tableid;"_"==e.substr(0,1)?n():t.alasql("drop table IF EXISTS "+e,[],n)}function a(e){o=e,(i=e.length)?r():n()}var i=0,o=[];t.alasql("SHOW TABLES",[],a)}}}),this.__define({aladb:{value:new this.alasql.Database("md")}})}function a(){this.toString=function(){return"Интернационализация сообщений"},"undefined"!=typeof window&&"dhtmlx"in window&&(this.show_msg=function(e,t){if(e){if("string"==typeof e){if(M.iface.synctxt)return void M.iface.synctxt.show_message(e);e={type:"info",text:e}}t&&"function"==typeof t.setText&&t.setText(e.text),dhtmlx.message(e)}},this.check_soap_result=function(e){return e?"limit_query"==e.error?(M.iface.docs.progressOff(),M.msg.show_msg({type:"alert-warning",text:M.msg.limit_query.replace("%1",e.queries).replace("%2",e.queries_avalable),title:M.msg.srv_overload}),!0):"network"==e.error||"empty"==e.error?(M.iface.docs.progressOff(),M.msg.show_msg({type:"alert-warning",text:M.msg.error_network,title:M.msg.error_critical}),!0):e.error&&e.error_description?(M.iface.docs.progressOff(),e.error_description.indexOf("Недостаточно прав")!=-1&&(e.error_type="alert-warning",e.error_title=M.msg.error_rights),M.msg.show_msg({type:e.error_type||"alert-error",text:e.error_description,title:e.error_title||M.msg.error_critical}),!0):e.error&&!e.messages?(M.iface.docs.progressOff(),M.msg.show_msg({type:"alert-error",title:M.msg.error_critical,text:M.msg.unknown_error.replace("%1","unknown_error")}),!0):void 0:(M.msg.show_msg({type:"alert-error",text:M.msg.empty_response,title:M.msg.error_critical}),!0)},this.show_not_implemented=function(){M.msg.show_msg({type:"alert-warning",text:M.msg.not_implemented,title:M.msg.main_title})})}function i(){var e,t,n,r,a=this,i={};a.__define({DB:{value:"undefined"==typeof PouchDB?require("pouchdb-core").plugin(require("pouchdb-adapter-memory")).plugin(require("pouchdb-adapter-http")).plugin(require("pouchdb-replication")).plugin(require("pouchdb-mapreduce")):PouchDB},init:{value:function(e){i._mixin(e),i.path&&0!=i.path.indexOf("http")&&"undefined"!=typeof location&&(i.path=location.protocol+"//"+location.host+i.path)}},local:{get:function(){if(!e){var t={auto_compaction:!0,revs_limit:2};e={ram:new a.DB(i.prefix+i.zone+"_ram",t),doc:new a.DB(i.prefix+i.zone+"_doc",t),meta:new a.DB(i.prefix+"meta",t),sync:{}}}return i.path&&!e._meta&&(e._meta=new a.DB(i.path+"meta",{auth:{username:"guest",password:"meta"},skip_setup:!0}),a.run_sync(e.meta,e._meta,"meta")),e}},remote:{get:function(){return!t&&n&&(t={ram:new a.DB(i.path+i.zone+"_ram",{auth:{username:n.username,password:n.password},skip_setup:!0}),doc:new a.DB(i.path+i.zone+"_doc"+i.suffix,{auth:{username:n.username,password:n.password},skip_setup:!0})}),t}},log_in:{value:function(e,t){return void 0==e&&void 0==t&&(e=M.job_prm.guest_name,t=M.aes.Ctr.decrypt(M.job_prm.guest_pwd)),n?n.username==e?Promise.resolve():Promise.reject():M.ajax.get_ex(i.path+i.zone+"_ram",{username:e,password:t}).then(function(r){return n={username:e,password:t},setTimeout(function(){dhx4.callEvent("log_in",[e])}),{ram:a.run_sync(a.local.ram,a.remote.ram,"ram"),doc:a.run_sync(a.local.doc,a.remote.doc,"doc")}})}},log_out:{value:function(){if(n){if(e.sync.doc)try{e.sync.doc.cancel()}catch(e){}if(e.sync.ram)try{e.sync.ram.cancel()}catch(e){}n=null}t&&t.ram&&delete t.ram,t&&t.doc&&delete t.doc,t=null,dhx4.callEvent("log_out")}},reset_local_data:{value:function(){var e=a.local.ram.destroy.bind(a.local.ram),t=a.local.doc.destroy.bind(a.local.doc),n=function(){setTimeout(function(){M.eve.redirect=!0,location.reload(!0)},1e3)};a.log_out(),setTimeout(function(){e().then(t).catch(t).then(n).catch(n)},1e3)}},load_data:{value:function(){var e={limit:800,include_docs:!0},t={total_rows:0,limit:e.limit,page:0,start:Date.now()};return new Promise(function(n,i){function o(){a.local.ram.allDocs(e,function(s,_){_?(t.page++,t.total_rows=_.total_rows,t.duration=Date.now()-t.start,M.eve.callEvent("pouch_load_data_page",[t]),a.load_changes(_,e)?o():(n(),r=!0,M.eve.callEvent("pouch_load_data_loaded",[t]),t.note="pouch_load_data_loaded",M.record_log(t))):s&&(i(s),M.eve.callEvent("pouch_load_data_error",[s]))})}a.local.ram.info().then(function(e){e.doc_count>=(M.job_prm.pouch_ram_doc_count||10)?(M.eve.callEvent("pouch_load_data_start",[t]),o()):(M.eve.callEvent("pouch_load_data_error",[e]),i(e))})})}},authorized:{get:function(){return n&&n.username}},data_loaded:{get:function(){return!!r}},run_sync:{value:function(t,n,i){var o,s;return t.info().then(function(e){return o=e,n.info()}).then(function(e){return"ram"!=i?e:n.get("data_version").then(function(t){return t.version!=M.wsql.get_user_param("couch_ram_data_version")&&(M.wsql.get_user_param("couch_ram_data_version")&&(e=a.reset_local_data()),M.wsql.set_user_param("couch_ram_data_version",t.version)),e}).catch(function(e){M.record_log(e)}).then(function(){return e})}).then(function(_){if(_){"ram"==i&&o.doc_count<(M.job_prm.pouch_ram_doc_count||10)?(s={total_rows:_.doc_count,local_rows:o.doc_count,docs_written:0,limit:200,page:0,start:Date.now()},M.eve.callEvent("pouch_load_data_start",[s])):"doc"==i&&setTimeout(function(){M.eve.callEvent("pouch_doc_sync_start")});var l={live:!0,retry:!0,batch_size:300,batches_limit:8};return"meta"==i?l.filter="auth/meta":M.job_prm.pouch_filter&&M.job_prm.pouch_filter[i]&&(l.filter=M.job_prm.pouch_filter[i]),"ram"==i||"meta"==i||M.wsql.get_user_param("zone")==M.job_prm.zone_demo?e.sync[i]=t.replicate.from(n,l):e.sync[i]=t.sync(n,l),e.sync[i].on("change",function(e){"ram"==i?(a.load_changes(e),o.doc_count<(M.job_prm.pouch_ram_doc_count||10)&&(s.page++,s.docs_written=e.docs_written,s.duration=Date.now()-s.start,M.eve.callEvent("pouch_load_data_page",[s]),s.docs_written>=s.total_rows&&(r=!0,M.eve.callEvent("pouch_load_data_loaded",[s]),s.note="pouch_load_data_loaded",M.record_log(s)))):(e.update_only=!0,a.load_changes(e)),M.eve.callEvent("pouch_change",[i,e])}).on("paused",function(e){e&&M.eve.callEvent("pouch_paused",[i,e])}).on("active",function(e){M.eve.callEvent("pouch_active",[i,e])}).on("denied",function(e){M.eve.callEvent("pouch_denied",[i,e])}).on("complete",function(e){M.eve.callEvent("pouch_complete",[i,e])}).on("error",function(e){M.eve.callEvent("pouch_error",[i,e])}),e.sync[i]}})}},load_obj:{value:function(e){return e._manager.pouch_db.get(e._manager.class_name+"|"+e.ref).then(function(t){delete t._id,delete t._rev,e._mixin(t)._set_loaded()}).catch(function(e){if(404!=e.status)throw e}).then(function(t){return e})}},save_obj:{value:function(e,t){var n=e._obj._clone(),r=e._manager.pouch_db;return n._id=e._manager.class_name+"|"+e.ref,delete n.ref,t.attachments&&(n._attachments=t.attachments),(e.is_new()?Promise.resolve():r.get(n._id)).then(function(e){if(e){n._rev=e._rev;for(var t in e._attachments)n._attachments||(n._attachments={}),n._attachments[t]||(n._attachments[t]=e._attachments[t])}}).catch(function(e){if(404!=e.status)throw e}).then(function(){return r.put(n)}).then(function(){if(e.is_new()&&e._set_loaded(e.ref),n._attachments){e._attachments||(e._attachments={});for(var r in n._attachments)e._attachments[r]&&n._attachments[r].stub||(e._attachments[r]=n._attachments[r])}return n=null,t=null,e})}},load_changes:{value:function(e,t){var n,r,a,i,o={};if(t)n=e.rows;else if(e.direction){if("pull"!=e.direction)return;n=e.change.docs}else n=e.docs;if(n.length>0){t&&(t.startkey=n[n.length-1].key,t.skip=1),n.forEach(function(e){if(r=t?e.doc:e,!r)if(e.value&&e.value.deleted)r={_id:e.id,_deleted:!0};else if(e.error)return;i=r._id.split("|"),a=i[0].split("."),r.ref=i[1],delete r._id,delete r._rev,o[a[0]]||(o[a[0]]={}),o[a[0]][a[1]]||(o[a[0]][a[1]]=[]),o[a[0]][a[1]].push(r)});for(var s in o)for(a in o[s])M[s]&&M[s][a]&&M[s][a].load_array(o[s][a],!e.update_only||"update_only");return o=e=n=r=null,!0}return!1}},backup_database:{value:function(e){}},restore_database:{value:function(e){}}})}function o(){function e(e){return e.info().then(function(){return e.get("meta")}).then(function(n){return t=n,n=null,e.get("meta_patch")}).then(function(e){return M._patch(t,e),e=null,delete t._id,delete t._rev,t})}var t;_md=this,_md.create_managers=function(){},_md.init=function(n){function r(){return!n||a||i?e(n||M.wsql.pouch.local.meta).then(function(){return a?void _md.create_managers():t}).catch(M.record_log):(t=n,n=null,_md.create_managers(),void 0)}var a=!n||M.wsql.pouch&&n==M.wsql.pouch.local.meta,i=n&&M.wsql.pouch&&n==M.wsql.pouch.local._meta;return M.on("pouch_change",function(e,n){"meta"==e&&(t?setTimeout(function(){M.iface.do_reload()},3e3):r())}),r()},_md.get=function(e,n){var r=e.split(".");if(!n)return t[r[0]][r[1]];var a={multiline_mode:!1,note:"",synonym:"",tooltip:"",type:{is_ref:!1,types:["string"]}},i="doc,tsk,bp".indexOf(r[0])!=-1,o="cat,cch,cacc,tsk".indexOf(r[0])!=-1;return i&&"number_doc"==n?(a.synonym="Номер",a.tooltip="Номер документа",a.type.str_len=11):i&&"date"==n?(a.synonym="Дата",a.tooltip="Дата документа",a.type.date_part="date_time",a.type.types[0]="date"):i&&"posted"==n?(a.synonym="Проведен",a.type.types[0]="boolean"):o&&"id"==n?a.synonym="Код":o&&"name"==n?a.synonym="Наименование":"_deleted"==n?(a.synonym="Пометка удаления",a.type.types[0]="boolean"):"is_folder"==n?(a.synonym="Это группа",a.type.types[0]="boolean"):"ref"==n?(a.synonym="Ссылка",a.type.is_ref=!0,a.type.types[0]=e):a=n?t[r[0]][r[1]].fields[n]:t[r[0]][r[1]],a},_md.get_classes=function(){var e={};for(var n in t){e[n]=[];for(var r in t[n])e[n].push(r)}return e},_md.sql_type=function(e,t,n,r){var a;return a="type"==t&&"cch_properties"==e.table_name||"svg"==t&&"cat_production_params"==e.table_name?" JSON":n.is_ref||n.types.indexOf("guid")!=-1?r?n.types.every(function(e){return 0==e.indexOf("enm.")})?" character varying(100)":n.hasOwnProperty("str_len")?" character varying("+Math.max(36,n.str_len)+")":" uuid":" CHAR":n.hasOwnProperty("str_len")?r?n.str_len?" character varying("+n.str_len+")":" text":" CHAR":n.date_part?r&&"date"!=n.date_part?"date_time"==n.date_part?" timestamp with time zone":" time without time zone":" Date":n.hasOwnProperty("digits")?0==n.fraction_figits?r?n.digits<7?" integer":" bigint":" INT":r?" numeric("+n.digits+","+n.fraction_figits+")":" FLOAT":n.types.indexOf("boolean")!=-1?" BOOLEAN":n.types.indexOf("json")!=-1?" JSON":r?" character varying(255)":" CHAR"},_md.sql_composite=function(e,t,n,r){var a="";return e[t].type.types.length>1&&"type"!=t&&(n=n?n.substr(0,29)+"_T":t.substr(0,29)+"_T",a=r?', "'+n+'" character varying(255)':_md.sql_mask(n)+" CHAR"),a},_md.sql_mask=function(e,t){return", "+(t?"_t_.":"")+("`"+e+"`")},_md.mgr_by_class_name=function(e){if(e){var t=e.split(".");if(t[1]&&M[t[0]])return M[t[0]][t[1]]}},_md.value_mgr=function(e,t,n,r,a){function i(e){return e&&1==n.types.length&&(n._mgr=e),e}var o,s,_,l,u;if(n._mgr)return n._mgr;if(1==n.types.length){if(_=n.types[0].split("."),_.length>1&&M[_[0]])return i(M[_[0]][_[1]])}else if(a&&a.type&&(_=a.type.split("."),_.length>1&&M[_[0]]))return i(M[_[0]][_[1]]);if(o=e.property||e.param,"value"==t&&o){if(M.utils.is_data_obj(o))s=o;else{if(!M.utils.is_guid(o))return;s=M.cch.properties.get(o,!1)}if(M.utils.is_data_obj(s)){if(s.is_new())return M.cat.property_values;if(l=[],s.type.types.forEach(function(e){_=e.split("."),_.length>1&&M[_[0]][_[1]]&&l.push(M[_[0]][_[1]])}),1==l.length||e[t]==M.utils.blank.guid)return i(l[0]);if(r)return l;if((o=e[t])instanceof j)return o._manager;if(M.utils.is_guid(o)&&o!=M.utils.blank.guid)for(var c in l)if(u=l[c],u.get(o,!1,!0))return u}}else{if(l=[],n.types.forEach(function(e){_=e.split("."),_.length>1&&M[_[0]][_[1]]&&l.push(M[_[0]][_[1]])}),1==l.length||e[t]==M.utils.blank.guid)return i(l[0]);if(r)return l;if((o=e[t])instanceof j)return o._manager;if(M.utils.is_guid(o)&&o!=M.utils.blank.guid)for(var c in l)if(u=l[c],u.get(o,!1,!0))return u}},_md.control_by_type=function(e,t){var n;return n="boolean"==typeof t&&e.types.indexOf("boolean")!=-1?"ch":"number"==typeof t&&e.digits?e.fraction_figits<5?"calck":"edn":t instanceof Date&&e.date_part?"dhxCalendar":e.is_ref?"ocombo":e.date_part?"dhxCalendar":e.digits?e.fraction_figits<5?"calck":"edn":"boolean"==e.types[0]?"ch":e.hasOwnProperty("str_len")&&(e.str_len>=100||0==e.str_len)?"txt":"ed"},_md.ts_captions=function(e,t,n){n||(n={});var r,a=_md.get(e).tabular_sections[t],i=_md.get(e).form,o=a.fields;if(i&&i.obj){if(!i.obj.tabular_sections[t])return;n._mixin(i.obj.tabular_sections[t])}else{"contact_information"===t&&(o={type:"",kind:"",presentation:""}),n.fields=["row"],n.headers="№",n.widths="40",n.min_widths="",n.aligns="",n.sortings="na",n.types="cntr";for(var s in o)r=a.fields[s],r.hide||(n.fields.push(s),n.headers+=","+(r.synonym?r.synonym.replace(/,/g," "):s),n.types+=","+_md.control_by_type(r.type),n.sortings+=",na")}return!0},_md.syns_js=function(e){var n={DeletionMark:"_deleted",Description:"name",DataVersion:"data_version",IsFolder:"is_folder",Number:"number_doc",Date:"date","Дата":"date",Posted:"posted",Code:"id",Parent_Key:"parent",Owner_Key:"owner",Owner:"owner",Ref_Key:"ref","Ссылка":"ref",LineNumber:"row"};return n[e]?n[e]:t.syns_js[t.syns_1с.indexOf(e)]||e},_md.syns_1с=function(e){var n={_deleted:"DeletionMark",name:"Description",is_folder:"IsFolder",number_doc:"Number",date:"Date",posted:"Posted",id:"Code",ref:"Ref_Key",parent:"Parent_Key",owner:"Owner_Key",row:"LineNumber"};return n[e]?n[e]:t.syns_1с[t.syns_js.indexOf(e)]||e},_md.printing_plates=function(e){if(e)for(var n in e.doc)t.doc[n].printing_plates=e.doc[n]},_md.class_name_from_1c=function(e){var t=e.split(".");return 1==t.length?"enm."+e:("Перечисление"==t[0]?e="enm.":"Справочник"==t[0]?e="cat.":"Документ"==t[0]?e="doc.":"РегистрСведений"==t[0]?e="ireg.":"РегистрНакопления"==t[0]?e="areg.":"РегистрБухгалтерии"==t[0]?e="accreg.":"ПланВидовХарактеристик"==t[0]?e="cch.":"ПланСчетов"==t[0]?e="cacc.":"Обработка"==t[0]?e="dp.":"Отчет"==t[0]&&(e="rep."),e+_md.syns_js(t[1]))},_md.class_name_to_1c=function(e){var t=e.split(".");return 1==t.length?"Перечисление."+e:("enm"==t[0]?e="Перечисление.":"cat"==t[0]?e="Справочник.":"doc"==t[0]?e="Документ.":"ireg"==t[0]?e="РегистрСведений.":"areg"==t[0]?e="РегистрНакопления.":"accreg"==t[0]?e="РегистрБухгалтерии.":"cch"==t[0]?e="ПланВидовХарактеристик.":"cacc"==t[0]?e="ПланСчетов.":"dp"==t[0]?e="Обработка.":"rep"==t[0]&&(e="Отчет."),e+_md.syns_1с(t[1]))},_md.create_tables=function(e,t){function n(){i--,0==i?e?e(_):alasql.utils.saveFile("create_tables.sql",_):r()}function r(){var e=o[i-1];_+=e.class[e.name].get_sql_struct(t)+"; ",n()}var a,i=0,o=[],s=_md.get_classes(),_=t&&t.postgres?"":"USE md; ";"enm,cch,cacc,cat,bp,tsk,doc,ireg,areg".split(",").forEach(function(e){for(a in s[e])o.push({class:M[e],name:s[e][a]})}),i=o.length,r()}}function s(e){var t=_md.get(e),n={after_create:[],after_load:[],before_save:[],after_save:[],value_change:[],add_row:[],del_row:[]};this.__define({cachable:{get:function(){return e.indexOf("enm.")!=-1?"ram":t.cachable?t.cachable:e.indexOf("doc.")!=-1||e.indexOf("dp.")!=-1||e.indexOf("rep.")!=-1?"doc":"ram"}},class_name:{value:e,writable:!1},alatable:{get:function(){return M.wsql.aladb.tables[this.table_name]?M.wsql.aladb.tables[this.table_name].data:[]}},metadata:{value:function(e){return e?t.fields[e]||t.tabular_sections[e]:t}},on:{value:function(e,t){if("object"==typeof e)for(var r in e)e.hasOwnProperty(r)&&n[r].push(e[r]);else n[e].push(t)}},off:{value:function(e,t){}},handle_event:{value:function(e,t,r){var a,i=[];return n[t].forEach(function(t){i!==!1&&(a=t.call(e,r),a===!1?i=a:a&&i.push(a))}),i===!1?i:i.length?1==i.length?i[0]:i.some(function(e){return"object"==typeof e&&e.then})?Promise.all(i):i:void 0}},by_ref:{value:{}}})}function _(e){_.superclass.constructor.call(this,e)}function l(e){l.superclass.constructor.call(this,e)}function u(e){u.superclass.constructor.call(this,e);var t=M.md.get(e);for(var n in t)new R(t[n],this)}function c(e){c.superclass.constructor.call(this,e),this.push=function(e,t){t&&t!=e.ref?(delete this.by_ref[e.ref],this.by_ref[t]=e):this.by_ref[e.ref]=e},this.get=function(e,t,n){if(e?"string"==typeof e&&(e={ref:e}):e={},e.ref&&n)return t?Promise.resolve(this.by_ref[e.ref]):this.by_ref[e.ref];e.action="select";var r,a=M.wsql.alasql(this.get_sql_struct(e),e._values);if(delete e.action,delete e._values,a.length)if(n)r=this.by_ref[this.get_ref(a[0])];else{r=[];for(var i in a)r.push(this.by_ref[this.get_ref(a[i])])}return t?Promise.resolve(r):r},this.unload_obj=function(e){delete this.by_ref[e],this.alatable.some(function(t,n,r){if(t.ref==e)return r.splice(n,1),!0})},this.load_array=function(e,t){for(var n,r,a=[],i=0;i= ? and `date` <= ?":" where `date` >= ?":e.date_till&&(t+=" where `date` <= ?"),t}return d.superclass.get_sql_struct.call(this,e)}},caption_flds:{value:function(e){var t='%6',n=[],r="";if(n.push(new Col_struct("date","200","ro","left","server","Дата")),n.push(new Col_struct("class","100","ro","left","server","Класс")),n.push(new Col_struct("note","*","ro","left","server","Событие")),e.get_header){r="";for(var a in n)r+=t.replace("%1",n[a].id).replace("%2",n[a].width).replace("%3",n[a].type).replace("%4",n[a].align).replace("%5",n[a].sort).replace("%6",n[a].caption);r+=""}return{head:r,acols:n}}},data_to_grid:{value:function(e,t){var n="".replace("%1",e.length).replace("%2",t.start).replace("%3",t.set_parent||""),r=this.caption_flds(t);return n+=r.head,e.forEach(function(e){n+=''+M.moment(e.date-M.wsql.time_diff).format("DD.MM.YYYY HH:mm:ss")+"."+e.sequence+""+(e.class||"")+""+(e.note||"")+""}),n+""}}})}function p(e){p.superclass.constructor.call(this,e)}function h(e){h.superclass.constructor.call(this,e), +!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.$p=t()}(this,function(){function e(){this.__define({version:{value:"0.11.223",writable:!1},toString:{value:function(){return"Oknosoft data engine. v:"+this.version},writable:!1},utils:{value:new t},injected_data:{value:{},writable:!1},ajax:{value:new n,writable:!1},msg:{value:new a,writable:!1},wsql:{value:new r,writable:!1},eve:{value:new N,writable:!1},aes:{value:new T("metadata.js"),writable:!1},moment:{get:function(){return this.utils.moment}},_patch:{value:function(e,t){for(var n in t)"object"==typeof t[n]&&e[n]&&"object"==typeof e[n]?M._patch(e[n],t[n]):e[n]=t[n];return e}},_find:{value:function(e,t,n){var r,a,i;if("object"!=typeof t)for(a in e){r=e[a];for(var o in r)if("function"!=typeof r[o]&&M.utils.is_equal(r[o],t))return r}else for(a in e){r=e[a],i=!0;for(var o in t)if("function"!=typeof r[o]&&!M.utils.is_equal(r[o],t[o])){i=!1;break}if(i)return r}}},_selection:{value:function(e,t){var n,r,a,i=!0;if(t)if("function"==typeof t)i=t.call(this,e);else for(n in t)if(r=t[n],a="object"==typeof r,"_"!=n.substr(0,1))if("function"==typeof r){if(i=r.call(this,e,n),!i)break}else if("or"==n&&Array.isArray(r)){if(i=r.some(function(t){var n=Object.keys(t)[0];return t[n].hasOwnProperty("like")?e[n]&&e[n].toLowerCase().indexOf(t[n].like.toLowerCase())!=-1:M.utils.is_equal(e[n],t[n])}),!i)break}else if(a&&r.hasOwnProperty("like")){if(!e[n]||e[n].toLowerCase().indexOf(r.like.toLowerCase())==-1){i=!1;break}}else if(a&&r.hasOwnProperty("not")){if(M.utils.is_equal(e[n],r.not)){i=!1;break}}else if(a&&r.hasOwnProperty("in")){if(i=r.in.some(function(t){return M.utils.is_equal(t,e[n])}),!i)break}else if(a&&r.hasOwnProperty("lt")){if(i=e[n]r.gt,!i)break}else if(a&&r.hasOwnProperty("between")){var o=e[n];if("number"!=typeof o&&(o=M.utils.fix_date(e[n])),i=o>=r.between[0]&&o<=r.between[1],!i)break}else if(!M.utils.is_equal(e[n],r)){i=!1;break}return i}},_find_rows:{value:function(e,t,n){var r,a,i=[],o=0;t&&(t._top?(a=t._top,delete t._top):a=300);for(var s in e)if(r=e[s],M._selection.call(this,r,t)){if(n){if(n.call(this,r)===!1)break}else i.push(r);if(a&&(o++,o>=a))break}return i}},on:{value:function(e,t){if("object"!=typeof e)return this.eve.attachEvent(e,t);for(var n in e)e[n]._evnts||(e[n]._evnts=[]),e[n]._evnts.push(this.eve.attachEvent(n,e[n]))}},off:{value:function(e){"function"==typeof e&&e._evnts?e._evnts.forEach(function(e){M.eve.detachEvent(e)}):e?M.eve.detachEvent(e):M.eve.detachAllEvents()}},record_log:{value:function(e){M.ireg&&M.ireg.$log&&M.ireg.$log.record(e),console.log(e)}},md:{value:new o},enm:{value:new function(){this.toString=function(){return M.msg.meta_enn_mgr}}},cat:{value:new function(){this.toString=function(){return M.msg.meta_cat_mgr}}},doc:{value:new function(){this.toString=function(){return M.msg.meta_doc_mgr}}},ireg:{value:new function(){this.toString=function(){return M.msg.meta_ireg_mgr}}},areg:{value:new function(){this.toString=function(){return M.msg.meta_areg_mgr}}},accreg:{value:new function(){this.toString=function(){return M.msg.meta_accreg_mgr}}},dp:{value:new function(){this.toString=function(){return M.msg.meta_dp_mgr}}},rep:{value:new function(){this.toString=function(){return M.msg.meta_reports_mgr}}},cacc:{value:new function(){this.toString=function(){return M.msg.meta_charts_of_accounts_mgr}}},cch:{value:new function(){this.toString=function(){return M.msg.meta_charts_of_characteristic_mgr}}},tsk:{value:new function(){this.toString=function(){return M.msg.meta_task_mgr}}},bp:{value:new function(){this.toString=function(){return M.msg.meta_bp_mgr}}},DataManager:{value:s},RefDataManager:{value:_},DataProcessorsManager:{value:l},EnumManager:{value:u},RegisterManager:{value:c},InfoRegManager:{value:f},LogManager:{value:d},AccumRegManager:{value:p},CatManager:{value:h},ChartOfCharacteristicManager:{value:m},ChartOfAccountManager:{value:y},DocManager:{value:g},TaskManager:{value:b},BusinessProcessManager:{value:v},DataObj:{value:j},CatObj:{value:O},DocObj:{value:k},DataProcessorObj:{value:q},TaskObj:{value:A},BusinessProcessObj:{value:D},EnumObj:{value:R},RegisterRow:{value:P},TabularSection:{value:w},TabularSectionRow:{value:x}})}function t(){this.moment="function"==typeof moment?moment:require("moment"),this.moment._masks={date:"DD.MM.YY",date_time:"DD.MM.YYYY HH:mm",ldt:"DD MMMM YYYY, HH:mm",iso:"YYYY-MM-DDTHH:mm:ss"},this.fix_date=function(e,t){if(e instanceof Date)return e;var n=this.moment(e,["DD-MM-YYYY","DD-MM-YYYY HH:mm","DD-MM-YYYY HH:mm:ss","DD-MM-YY HH:mm","YYYYDDMMHHmmss",this.moment.ISO_8601]);return n.isValid()?n.toDate():t?this.blank.date:e},this.fix_guid=function(e,t){if(e&&"string"==typeof e);else{if(e instanceof j)return e.ref;if(e&&"object"==typeof e)if(e.presentation){if(e.ref)return e.ref;if(e.name)return e.name}else e="object"==typeof e.ref&&e.ref.hasOwnProperty("ref")?e.ref.ref:e.ref}return this.is_guid(e)||t===!1?e:t?this.generate_guid():this.blank.guid},this.fix_number=function(e,t){var n=parseFloat(e);return isNaN(n)?t?0:e:n},this.fix_boolean=function(e){return"string"==typeof e?!(!e||"false"==e.toLowerCase()):!!e},this.blank={date:this.fix_date("0001-01-01T00:00:00"),guid:"00000000-0000-0000-0000-000000000000",by_type:function(e){var t;return t=e.is_ref?this.guid:e.date_part?this.date:e.digits?0:(!e.types||"boolean"!=e.types[0])&&""}},this.fetch_type=function(e,t){var n=e;return t.is_ref?n=this.fix_guid(e):t.date_part?n=this.fix_date(e,!0):t.digits?n=this.fix_number(e,!0):"boolean"==t.types[0]&&(n=this.fix_boolean(e)),n},this.date_add_day=function(e,t,n){var r=new Date(e);return r.setDate(e.getDate()+t),n&&r.setHours(0,-r.getTimezoneOffset(),0,0),r},this.generate_guid=function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?n:7&n|8).toString(16)})},this.is_guid=function(e){return!("string"!=typeof e||e.length<36)&&(e.length>36&&(e=e.substr(0,36)),/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e))},this.is_empty_guid=function(e){return!e||e===this.blank.guid},this.is_data_obj=function(e){return e&&e instanceof j},this.is_data_mgr=function(e){return e&&e instanceof s},this.is_equal=function(e,t){return e==t||typeof e!=typeof t&&this.fix_guid(e,!1)==this.fix_guid(t,!1)},this.blob_as_text=function(e,t){return new Promise(function(n,r){var a=new FileReader;a.onload=function(e){n(a.result)},a.onerror=function(e){r(e)},"data_url"==t?a.readAsDataURL(e):a.readAsText(e)})}}function n(){function e(e,t,n,r,a){return new Promise(function(i,o){if("undefined"==typeof window&&r&&r.request)r.request({url:encodeURI(t),headers:{Authorization:r.auth}},function(e,t,n){e?o(e):200!=t.statusCode?o({message:t.statusMessage,description:n,status:t.statusCode}):i({response:n})});else{var s=new XMLHttpRequest;if(window.dhx4&&window.dhx4.isIE&&(t=encodeURI(t)),r){var _,l;"object"==typeof r&&r.username&&r.hasOwnProperty("password")?(_=r.username,l=r.password):M.ajax.username&&M.ajax.authorized?(_=M.ajax.username,l=M.aes.Ctr.decrypt(M.ajax.password)):(_=M.wsql.get_user_param("user_name"),l=M.aes.Ctr.decrypt(M.wsql.get_user_param("user_pwd")),!_&&M.job_prm&&M.job_prm.guest_name&&(_=M.job_prm.guest_name,l=M.aes.Ctr.decrypt(M.job_prm.guest_pwd))),s.open(e,t,!0,_,l),s.withCredentials=!0,s.setRequestHeader("Authorization","Basic "+btoa(unescape(encodeURIComponent(_+":"+l))))}else s.open(e,t,!0);a&&a.call(this,s),"GET"!=e?this.hide_headers||r.hide_headers||(s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),s.setRequestHeader("X-Requested-With","XMLHttpRequest")):n=null,s.onload=function(){200==s.status&&(s.response instanceof Blob||"62135622e6?this.js_time_diff:e}},set_user_param:{value:function(t,r){var a=r;"object"==typeof r?a=JSON.stringify(r):r===!1&&(a=""),e.setItem(M.job_prm.local_storage_prefix+t,a),n[t]=r}},get_user_param:{value:function(t,r){return!n.hasOwnProperty(t)&&e&&(n[t]=this.fetch_type(e.getItem(M.job_prm.local_storage_prefix+t),r)),n[t]}},promise:{value:function(e,n){return new Promise(function(r,a){t.alasql(e,n||[],function(e,t){t?a(t):r(e)})})}},save_options:{value:function(e,n){return t.set_user_param(e+"_"+n.name,n)}},restore_options:{value:function(e,n){var r=t.get_user_param(e+"_"+n.name,"object");for(var a in r)if("object"!=typeof r[a])n[a]=r[a];else{n[a]||(n[a]={});for(var i in r[a])n[a][i]=r[a][i]}return n}},fetch_type:{value:function(e,t){if("object"==t){try{e=JSON.parse(e)}catch(t){e={}}return e}return"number"==t?M.utils.fix_number(e,!0):"date"==t?M.utils.fix_date(e,!0):"boolean"==t?M.utils.fix_boolean(e):e}},alasql:{value:"undefined"!=typeof alasql?alasql:require("alasql")},init_params:{value:function(){if(!M.job_prm.local_storage_prefix&&!M.job_prm.create_tables)return Promise.resolve();e="undefined"==typeof localStorage?"undefined"==typeof WorkerGlobalScope?new require("node-localstorage").LocalStorage("./localstorage"):{setItem:function(e,t){},getItem:function(e){}}:localStorage;var n,r=[{p:"user_name",v:"",t:"string"},{p:"user_pwd",v:"",t:"string"},{p:"browser_uid",v:M.utils.generate_guid(),t:"string"},{p:"zone",v:M.job_prm.hasOwnProperty("zone")?M.job_prm.zone:1,t:M.job_prm.zone_is_string?"string":"number"},{p:"enable_save_pwd",v:M.job_prm.enable_save_pwd,t:"boolean"},{p:"autologin",v:"",t:"boolean"},{p:"skin",v:"dhx_web",t:"string"},{p:"rest_path",v:"",t:"string"}];M.job_prm.additional_params&&(r=r.concat(M.job_prm.additional_params)),e.getItem(M.job_prm.local_storage_prefix+"zone")||(n=M.job_prm.hasOwnProperty("zone")?M.job_prm.zone:1),M.job_prm.url_prm.hasOwnProperty("zone")&&(n=M.job_prm.zone_is_string?M.job_prm.url_prm.zone:M.utils.fix_number(M.job_prm.url_prm.zone,!0)),void 0!==n&&t.set_user_param("zone",n),r.forEach(function(e){(void 0==t.get_user_param(e.p,e.t)||!t.get_user_param(e.p,e.t)&&e.p.indexOf("url")!=-1)&&t.set_user_param(e.p,M.job_prm.hasOwnProperty(e.p)?M.job_prm[e.p]:e.v)});var a={path:t.get_user_param("couch_path","string")||M.job_prm.couch_path||"",zone:t.get_user_param("zone","number"),prefix:M.job_prm.local_storage_prefix,suffix:t.get_user_param("couch_suffix","string")||"",user_node:M.job_prm.user_node,noreplicate:M.job_prm.noreplicate};a.path&&(t.__define("pouch",{value:new i}),t.pouch.init(a)),this.create_tables&&(this.alasq(this.create_tables,[]),this.create_tables="")}},drop_tables:{value:function(e){function n(){i--,i<=0?setTimeout(e,10):r()}function r(){var e=o[i-1].tableid;"_"==e.substr(0,1)?n():t.alasql("drop table IF EXISTS "+e,[],n)}function a(e){o=e,(i=e.length)?r():n()}var i=0,o=[];t.alasql("SHOW TABLES",[],a)}}}),this.__define({aladb:{value:new this.alasql.Database("md")}})}function a(){this.toString=function(){return"Интернационализация сообщений"},"undefined"!=typeof window&&"dhtmlx"in window&&(this.show_msg=function(e,t){if(e){if("string"==typeof e){if(M.iface.synctxt)return void M.iface.synctxt.show_message(e);e={type:"info",text:e}}t&&"function"==typeof t.setText&&t.setText(e.text),dhtmlx.message(e)}},this.check_soap_result=function(e){return e?"limit_query"==e.error?(M.iface.docs.progressOff(),M.msg.show_msg({type:"alert-warning",text:M.msg.limit_query.replace("%1",e.queries).replace("%2",e.queries_avalable),title:M.msg.srv_overload}),!0):"network"==e.error||"empty"==e.error?(M.iface.docs.progressOff(),M.msg.show_msg({type:"alert-warning",text:M.msg.error_network,title:M.msg.error_critical}),!0):e.error&&e.error_description?(M.iface.docs.progressOff(),e.error_description.indexOf("Недостаточно прав")!=-1&&(e.error_type="alert-warning",e.error_title=M.msg.error_rights),M.msg.show_msg({type:e.error_type||"alert-error",text:e.error_description,title:e.error_title||M.msg.error_critical}),!0):e.error&&!e.messages?(M.iface.docs.progressOff(),M.msg.show_msg({type:"alert-error",title:M.msg.error_critical,text:M.msg.unknown_error.replace("%1","unknown_error")}),!0):void 0:(M.msg.show_msg({type:"alert-error",text:M.msg.empty_response,title:M.msg.error_critical}),!0)},this.show_not_implemented=function(){M.msg.show_msg({type:"alert-warning",text:M.msg.not_implemented,title:M.msg.main_title})})}function i(){var e,t,n,r,a=this,i={};a.__define({DB:{value:"undefined"==typeof PouchDB?require("pouchdb-core").plugin(require("pouchdb-adapter-memory")).plugin(require("pouchdb-adapter-http")).plugin(require("pouchdb-replication")).plugin(require("pouchdb-mapreduce")):PouchDB},init:{value:function(e){i._mixin(e),i.path&&0!=i.path.indexOf("http")&&"undefined"!=typeof location&&(i.path=location.protocol+"//"+location.host+i.path)}},local:{get:function(){if(!e){var t={auto_compaction:!0,revs_limit:2};e={ram:new a.DB(i.prefix+i.zone+"_ram",t),doc:new a.DB(i.prefix+i.zone+"_doc",t),meta:new a.DB(i.prefix+"meta",t),sync:{}}}return i.path&&!e._meta&&(e._meta=new a.DB(i.path+"meta",{auth:{username:"guest",password:"meta"},skip_setup:!0}),a.run_sync(e.meta,e._meta,"meta")),e}},remote:{get:function(){return!t&&n&&(t={ram:new a.DB(i.path+i.zone+"_ram",{auth:{username:n.username,password:n.password},skip_setup:!0}),doc:new a.DB(i.path+i.zone+"_doc"+i.suffix,{auth:{username:n.username,password:n.password},skip_setup:!0})}),t}},log_in:{value:function(e,t){return void 0==e&&void 0==t&&(e=M.job_prm.guest_name,t=M.aes.Ctr.decrypt(M.job_prm.guest_pwd)),n?n.username==e?Promise.resolve():Promise.reject():M.ajax.get_ex(i.path+i.zone+"_ram",{username:e,password:t}).then(function(r){return n={username:e,password:t},setTimeout(function(){dhx4.callEvent("log_in",[e])}),{ram:a.run_sync(a.local.ram,a.remote.ram,"ram"),doc:a.run_sync(a.local.doc,a.remote.doc,"doc")}})}},log_out:{value:function(){if(n){if(e.sync.doc)try{e.sync.doc.cancel()}catch(e){}if(e.sync.ram)try{e.sync.ram.cancel()}catch(e){}n=null}t&&t.ram&&delete t.ram,t&&t.doc&&delete t.doc,t=null,dhx4.callEvent("log_out")}},reset_local_data:{value:function(){var e=a.local.ram.destroy.bind(a.local.ram),t=a.local.doc.destroy.bind(a.local.doc),n=function(){setTimeout(function(){M.eve.redirect=!0,location.reload(!0)},1e3)};a.log_out(),setTimeout(function(){e().then(t).catch(t).then(n).catch(n)},1e3)}},load_data:{value:function(){var e={limit:800,include_docs:!0},t={total_rows:0,limit:e.limit,page:0,start:Date.now()};return new Promise(function(n,i){function o(){a.local.ram.allDocs(e,function(s,_){_?(t.page++,t.total_rows=_.total_rows,t.duration=Date.now()-t.start,M.eve.callEvent("pouch_load_data_page",[t]),a.load_changes(_,e)?o():(n(),r=!0,M.eve.callEvent("pouch_load_data_loaded",[t]),t.note="pouch_load_data_loaded",M.record_log(t))):s&&(i(s),M.eve.callEvent("pouch_load_data_error",[s]))})}a.local.ram.info().then(function(e){e.doc_count>=(M.job_prm.pouch_ram_doc_count||10)?(M.eve.callEvent("pouch_load_data_start",[t]),o()):(M.eve.callEvent("pouch_load_data_error",[e]),i(e))})})}},authorized:{get:function(){return n&&n.username}},data_loaded:{get:function(){return!!r}},run_sync:{value:function(t,n,i){var o,s;return t.info().then(function(e){return o=e,n.info()}).then(function(e){return"ram"!=i?e:n.get("data_version").then(function(t){return t.version!=M.wsql.get_user_param("couch_ram_data_version")&&(M.wsql.get_user_param("couch_ram_data_version")&&(e=a.reset_local_data()),M.wsql.set_user_param("couch_ram_data_version",t.version)),e}).catch(function(e){M.record_log(e)}).then(function(){return e})}).then(function(_){if(_){"ram"==i&&o.doc_count<(M.job_prm.pouch_ram_doc_count||10)?(s={total_rows:_.doc_count,local_rows:o.doc_count,docs_written:0,limit:200,page:0,start:Date.now()},M.eve.callEvent("pouch_load_data_start",[s])):"doc"==i&&setTimeout(function(){M.eve.callEvent("pouch_doc_sync_start")});var l={live:!0,retry:!0,batch_size:300,batches_limit:8};return"meta"==i?l.filter="auth/meta":M.job_prm.pouch_filter&&M.job_prm.pouch_filter[i]&&(l.filter=M.job_prm.pouch_filter[i]),"ram"==i||"meta"==i||M.wsql.get_user_param("zone")==M.job_prm.zone_demo?e.sync[i]=t.replicate.from(n,l):e.sync[i]=t.sync(n,l),e.sync[i].on("change",function(e){"ram"==i?(a.load_changes(e),o.doc_count<(M.job_prm.pouch_ram_doc_count||10)&&(s.page++,s.docs_written=e.docs_written,s.duration=Date.now()-s.start,M.eve.callEvent("pouch_load_data_page",[s]),s.docs_written>=s.total_rows&&(r=!0,M.eve.callEvent("pouch_load_data_loaded",[s]),s.note="pouch_load_data_loaded",M.record_log(s)))):(e.update_only=!0,a.load_changes(e)),M.eve.callEvent("pouch_change",[i,e])}).on("paused",function(e){e&&M.eve.callEvent("pouch_paused",[i,e])}).on("active",function(e){M.eve.callEvent("pouch_active",[i,e])}).on("denied",function(e){M.eve.callEvent("pouch_denied",[i,e])}).on("complete",function(e){M.eve.callEvent("pouch_complete",[i,e])}).on("error",function(e){M.eve.callEvent("pouch_error",[i,e])}),e.sync[i]}})}},load_obj:{value:function(e){return e._manager.pouch_db.get(e._manager.class_name+"|"+e.ref).then(function(t){delete t._id,delete t._rev,e._mixin(t)._set_loaded()}).catch(function(e){if(404!=e.status)throw e}).then(function(t){return e})}},save_obj:{value:function(e,t){var n=e._obj._clone(),r=t.db||e._manager.pouch_db;return n._id=e._manager.class_name+"|"+e.ref,delete n.ref,t.attachments&&(n._attachments=t.attachments),(e.is_new()?Promise.resolve():r.get(n._id)).then(function(e){if(e){n._rev=e._rev;for(var t in e._attachments)n._attachments||(n._attachments={}),n._attachments[t]||(n._attachments[t]=e._attachments[t])}}).catch(function(e){if(404!=e.status)throw e}).then(function(){return r.put(n)}).then(function(){if(e.is_new()&&e._set_loaded(e.ref),n._attachments){e._attachments||(e._attachments={});for(var r in n._attachments)e._attachments[r]&&n._attachments[r].stub||(e._attachments[r]=n._attachments[r])}return n=null,t=null,e})}},load_changes:{value:function(e,t){var n,r,a,i,o={};if(t)n=e.rows;else if(e.direction){if("pull"!=e.direction)return;n=e.change.docs}else n=e.docs;if(n.length>0){t&&(t.startkey=n[n.length-1].key,t.skip=1),n.forEach(function(e){if(r=t?e.doc:e,!r)if(e.value&&e.value.deleted)r={_id:e.id,_deleted:!0};else if(e.error)return;i=r._id.split("|"),a=i[0].split("."),r.ref=i[1],delete r._id,delete r._rev,o[a[0]]||(o[a[0]]={}),o[a[0]][a[1]]||(o[a[0]][a[1]]=[]),o[a[0]][a[1]].push(r)});for(var s in o)for(a in o[s])M[s]&&M[s][a]&&M[s][a].load_array(o[s][a],!e.update_only||"update_only");return o=e=n=r=null,!0}return!1}},backup_database:{value:function(e){}},restore_database:{value:function(e){}}})}function o(){function e(e){return e.info().then(function(){return e.get("meta")}).then(function(n){return t=n,n=null,e.get("meta_patch")}).then(function(e){return M._patch(t,e),e=null,delete t._id,delete t._rev,t})}var t;_md=this,_md.create_managers=function(){},_md.init=function(n){function r(){return!n||a||i?e(n||M.wsql.pouch.local.meta).then(function(){return a?void _md.create_managers():t}).catch(M.record_log):(t=n,n=null,_md.create_managers(),void 0)}var a=!n||M.wsql.pouch&&n==M.wsql.pouch.local.meta,i=n&&M.wsql.pouch&&n==M.wsql.pouch.local._meta;return M.on("pouch_change",function(e,n){"meta"==e&&(t?setTimeout(function(){M.iface.do_reload()},3e3):r())}),r()},_md.get=function(e,n){var r=e.split(".");if(!n)return t[r[0]][r[1]];var a={multiline_mode:!1,note:"",synonym:"",tooltip:"",type:{is_ref:!1,types:["string"]}},i="doc,tsk,bp".indexOf(r[0])!=-1,o="cat,cch,cacc,tsk".indexOf(r[0])!=-1;return i&&"number_doc"==n?(a.synonym="Номер",a.tooltip="Номер документа",a.type.str_len=11):i&&"date"==n?(a.synonym="Дата",a.tooltip="Дата документа",a.type.date_part="date_time",a.type.types[0]="date"):i&&"posted"==n?(a.synonym="Проведен",a.type.types[0]="boolean"):o&&"id"==n?a.synonym="Код":o&&"name"==n?a.synonym="Наименование":"_deleted"==n?(a.synonym="Пометка удаления",a.type.types[0]="boolean"):"is_folder"==n?(a.synonym="Это группа",a.type.types[0]="boolean"):"ref"==n?(a.synonym="Ссылка",a.type.is_ref=!0,a.type.types[0]=e):a=n?t[r[0]][r[1]].fields[n]:t[r[0]][r[1]],a},_md.get_classes=function(){var e={};for(var n in t){e[n]=[];for(var r in t[n])e[n].push(r)}return e},_md.sql_type=function(e,t,n,r){var a;return a="type"==t&&"cch_properties"==e.table_name||"svg"==t&&"cat_production_params"==e.table_name?" JSON":n.is_ref||n.types.indexOf("guid")!=-1?r?n.types.every(function(e){return 0==e.indexOf("enm.")})?" character varying(100)":n.hasOwnProperty("str_len")?" character varying("+Math.max(36,n.str_len)+")":" uuid":" CHAR":n.hasOwnProperty("str_len")?r?n.str_len?" character varying("+n.str_len+")":" text":" CHAR":n.date_part?r&&"date"!=n.date_part?"date_time"==n.date_part?" timestamp with time zone":" time without time zone":" Date":n.hasOwnProperty("digits")?0==n.fraction_figits?r?n.digits<7?" integer":" bigint":" INT":r?" numeric("+n.digits+","+n.fraction_figits+")":" FLOAT":n.types.indexOf("boolean")!=-1?" BOOLEAN":n.types.indexOf("json")!=-1?" JSON":r?" character varying(255)":" CHAR"},_md.sql_composite=function(e,t,n,r){var a="";return e[t].type.types.length>1&&"type"!=t&&(n=n?n.substr(0,29)+"_T":t.substr(0,29)+"_T",a=r?', "'+n+'" character varying(255)':_md.sql_mask(n)+" CHAR"),a},_md.sql_mask=function(e,t){return", "+(t?"_t_.":"")+("`"+e+"`")},_md.mgr_by_class_name=function(e){if(e){var t=e.split(".");if(t[1]&&M[t[0]])return M[t[0]][t[1]]}},_md.value_mgr=function(e,t,n,r,a){function i(e){return e&&1==n.types.length&&(n._mgr=e),e}var o,s,_,l,u;if(n._mgr)return n._mgr;if(1==n.types.length){if(_=n.types[0].split("."),_.length>1&&M[_[0]])return i(M[_[0]][_[1]])}else if(a&&a.type&&(_=a.type.split("."),_.length>1&&M[_[0]]))return i(M[_[0]][_[1]]);if(o=e.property||e.param,"value"==t&&o){if(M.utils.is_data_obj(o))s=o;else{if(!M.utils.is_guid(o))return;s=M.cch.properties.get(o,!1)}if(M.utils.is_data_obj(s)){if(s.is_new())return M.cat.property_values;if(l=[],s.type.types.forEach(function(e){_=e.split("."),_.length>1&&M[_[0]][_[1]]&&l.push(M[_[0]][_[1]])}),1==l.length||e[t]==M.utils.blank.guid)return i(l[0]);if(r)return l;if((o=e[t])instanceof j)return o._manager;if(M.utils.is_guid(o)&&o!=M.utils.blank.guid)for(var c in l)if(u=l[c],u.get(o,!1,!0))return u}}else{if(l=[],n.types.forEach(function(e){_=e.split("."),_.length>1&&M[_[0]][_[1]]&&l.push(M[_[0]][_[1]])}),1==l.length||e[t]==M.utils.blank.guid)return i(l[0]);if(r)return l;if((o=e[t])instanceof j)return o._manager;if(M.utils.is_guid(o)&&o!=M.utils.blank.guid)for(var c in l)if(u=l[c],u.get(o,!1,!0))return u}},_md.control_by_type=function(e,t){var n;return n="boolean"==typeof t&&e.types.indexOf("boolean")!=-1?"ch":"number"==typeof t&&e.digits?e.fraction_figits<5?"calck":"edn":t instanceof Date&&e.date_part?"dhxCalendar":e.is_ref?"ocombo":e.date_part?"dhxCalendar":e.digits?e.fraction_figits<5?"calck":"edn":"boolean"==e.types[0]?"ch":e.hasOwnProperty("str_len")&&(e.str_len>=100||0==e.str_len)?"txt":"ed"},_md.ts_captions=function(e,t,n){n||(n={});var r,a=_md.get(e).tabular_sections[t],i=_md.get(e).form,o=a.fields;if(i&&i.obj){if(!i.obj.tabular_sections[t])return;n._mixin(i.obj.tabular_sections[t])}else{"contact_information"===t&&(o={type:"",kind:"",presentation:""}),n.fields=["row"],n.headers="№",n.widths="40",n.min_widths="",n.aligns="",n.sortings="na",n.types="cntr";for(var s in o)r=a.fields[s],r.hide||(n.fields.push(s),n.headers+=","+(r.synonym?r.synonym.replace(/,/g," "):s),n.types+=","+_md.control_by_type(r.type),n.sortings+=",na")}return!0},_md.syns_js=function(e){var n={DeletionMark:"_deleted",Description:"name",DataVersion:"data_version",IsFolder:"is_folder",Number:"number_doc",Date:"date","Дата":"date",Posted:"posted",Code:"id",Parent_Key:"parent",Owner_Key:"owner",Owner:"owner",Ref_Key:"ref","Ссылка":"ref",LineNumber:"row"};return n[e]?n[e]:t.syns_js[t.syns_1с.indexOf(e)]||e},_md.syns_1с=function(e){var n={_deleted:"DeletionMark",name:"Description",is_folder:"IsFolder",number_doc:"Number",date:"Date",posted:"Posted",id:"Code",ref:"Ref_Key",parent:"Parent_Key",owner:"Owner_Key",row:"LineNumber"};return n[e]?n[e]:t.syns_1с[t.syns_js.indexOf(e)]||e},_md.printing_plates=function(e){if(e)for(var n in e.doc)t.doc[n].printing_plates=e.doc[n]},_md.class_name_from_1c=function(e){var t=e.split(".");return 1==t.length?"enm."+e:("Перечисление"==t[0]?e="enm.":"Справочник"==t[0]?e="cat.":"Документ"==t[0]?e="doc.":"РегистрСведений"==t[0]?e="ireg.":"РегистрНакопления"==t[0]?e="areg.":"РегистрБухгалтерии"==t[0]?e="accreg.":"ПланВидовХарактеристик"==t[0]?e="cch.":"ПланСчетов"==t[0]?e="cacc.":"Обработка"==t[0]?e="dp.":"Отчет"==t[0]&&(e="rep."),e+_md.syns_js(t[1]))},_md.class_name_to_1c=function(e){var t=e.split(".");return 1==t.length?"Перечисление."+e:("enm"==t[0]?e="Перечисление.":"cat"==t[0]?e="Справочник.":"doc"==t[0]?e="Документ.":"ireg"==t[0]?e="РегистрСведений.":"areg"==t[0]?e="РегистрНакопления.":"accreg"==t[0]?e="РегистрБухгалтерии.":"cch"==t[0]?e="ПланВидовХарактеристик.":"cacc"==t[0]?e="ПланСчетов.":"dp"==t[0]?e="Обработка.":"rep"==t[0]&&(e="Отчет."),e+_md.syns_1с(t[1]))},_md.create_tables=function(e,t){function n(){i--,0==i?e?e(_):alasql.utils.saveFile("create_tables.sql",_):r()}function r(){var e=o[i-1];_+=e.class[e.name].get_sql_struct(t)+"; ",n()}var a,i=0,o=[],s=_md.get_classes(),_=t&&t.postgres?"":"USE md; ";"enm,cch,cacc,cat,bp,tsk,doc,ireg,areg".split(",").forEach(function(e){for(a in s[e])o.push({class:M[e],name:s[e][a]})}),i=o.length,r()}}function s(e){var t=_md.get(e),n={after_create:[],after_load:[],before_save:[],after_save:[],value_change:[],add_row:[],del_row:[]};this.__define({cachable:{get:function(){return e.indexOf("enm.")!=-1?"ram":t.cachable?t.cachable:e.indexOf("doc.")!=-1||e.indexOf("dp.")!=-1||e.indexOf("rep.")!=-1?"doc":"ram"}},class_name:{value:e,writable:!1},alatable:{get:function(){return M.wsql.aladb.tables[this.table_name]?M.wsql.aladb.tables[this.table_name].data:[]}},metadata:{value:function(e){return e?t.fields[e]||t.tabular_sections[e]:t}},on:{value:function(e,t){if("object"==typeof e)for(var r in e)e.hasOwnProperty(r)&&n[r].push(e[r]);else n[e].push(t)}},off:{value:function(e,t){}},handle_event:{value:function(e,t,r){var a,i=[];return n[t].forEach(function(t){i!==!1&&(a=t.call(e,r),a===!1?i=a:a&&i.push(a))}),i===!1?i:i.length?1==i.length?i[0]:i.some(function(e){return"object"==typeof e&&e.then})?Promise.all(i):i:void 0}},by_ref:{value:{}}})}function _(e){_.superclass.constructor.call(this,e)}function l(e){l.superclass.constructor.call(this,e)}function u(e){u.superclass.constructor.call(this,e);var t=M.md.get(e);for(var n in t)new R(t[n],this)}function c(e){c.superclass.constructor.call(this,e),this.push=function(e,t){t&&t!=e.ref?(delete this.by_ref[e.ref],this.by_ref[t]=e):this.by_ref[e.ref]=e},this.get=function(e,t,n){if(e?"string"==typeof e&&(e={ref:e}):e={},e.ref&&n)return t?Promise.resolve(this.by_ref[e.ref]):this.by_ref[e.ref];e.action="select";var r,a=M.wsql.alasql(this.get_sql_struct(e),e._values);if(delete e.action,delete e._values,a.length)if(n)r=this.by_ref[this.get_ref(a[0])];else{r=[];for(var i in a)r.push(this.by_ref[this.get_ref(a[i])])}return t?Promise.resolve(r):r},this.unload_obj=function(e){delete this.by_ref[e],this.alatable.some(function(t,n,r){if(t.ref==e)return r.splice(n,1),!0})},this.load_array=function(e,t){for(var n,r,a=[],i=0;i= ? and `date` <= ?":" where `date` >= ?":e.date_till&&(t+=" where `date` <= ?"),t}return d.superclass.get_sql_struct.call(this,e)}},caption_flds:{value:function(e){var t='%6',n=[],r="";if(n.push(new Col_struct("date","200","ro","left","server","Дата")),n.push(new Col_struct("class","100","ro","left","server","Класс")),n.push(new Col_struct("note","*","ro","left","server","Событие")),e.get_header){r="";for(var a in n)r+=t.replace("%1",n[a].id).replace("%2",n[a].width).replace("%3",n[a].type).replace("%4",n[a].align).replace("%5",n[a].sort).replace("%6",n[a].caption);r+=""}return{head:r,acols:n}}},data_to_grid:{value:function(e,t){var n="".replace("%1",e.length).replace("%2",t.start).replace("%3",t.set_parent||""),r=this.caption_flds(t);return n+=r.head,e.forEach(function(e){n+=''+M.moment(e.date-M.wsql.time_diff).format("DD.MM.YYYY HH:mm:ss")+"."+e.sequence+""+(e.class||"")+""+(e.note||"")+""}),n+""}}})}function p(e){p.superclass.constructor.call(this,e)}function h(e){h.superclass.constructor.call(this,e), this.metadata().hierarchical&&this.metadata().group_hierarchy&&M[this.obj_constructor()].prototype.__define("is_folder",{get:function(){return this._obj.is_folder||!1},set:function(e){this._obj.is_folder=M.utils.fix_boolean(e)},enumerable:!0,configurable:!0})}function m(e){m.superclass.constructor.call(this,e)}function y(e){y.superclass.constructor.call(this,e)}function g(e){g.superclass.constructor.call(this,e)}function b(e){b.superclass.constructor.call(this,e)}function v(e){v.superclass.constructor.call(this,e)}function w(e,t){t._obj[e]||(t._obj[e]=[]),this.__define("_name",{value:e,enumerable:!1}),this.__define("_owner",{value:t,enumerable:!1}),this.__define("_obj",{value:t._obj[e],writable:!1,enumerable:!1})}function x(e){var t={};this.__define("_owner",{value:e,enumerable:!1}),this.__define("_obj",{value:t,writable:!1,enumerable:!1})}function j(e,t){var n,r={},a={},i={_is_new:!(this instanceof R)};return t instanceof l||t instanceof u||(n=t.get(e,!1,!0)),n?(e=null,n):(t instanceof u?a.ref=e.name:t instanceof c?a.ref=t.get_ref(e):a.ref=M.utils.fix_guid(e),this.__define({_obj:{value:a,configurable:!0},_ts_:{value:function(e){return r[e]||(r[e]=new w(e,this)),r[e]},configurable:!0},_manager:{value:t},_data:{value:i,configurable:!0}}),t.alatable&&t.push&&(t.alatable.push(a),t.push(this,a.ref)),void(e=null))}function O(e,t){var n="";O.superclass.constructor.call(this,e,t),this.__define("presentation",{get:function(){return this.name||this.id?this.name||this.id||this._metadata.obj_presentation||this._metadata.synonym:n},set:function(e){e&&(n=String(e))}}),e&&"object"==typeof e&&(e._not_set_loaded?(delete e._not_set_loaded,this._mixin(e)):(this._mixin(e),M.utils.is_empty_guid(this.ref)||!e.id&&!e.name||this._set_loaded(this.ref))),e=null}function k(e,t){var n="";k.superclass.constructor.call(this,e,t),this.__define("presentation",{get:function(){return this.number_doc?(this._metadata.obj_presentation||this._metadata.synonym)+" №"+this.number_doc+" от "+M.moment(this.date).format(M.moment._masks.ldt):n},set:function(e){e&&(n=String(e))}}),e&&"object"==typeof e&&this._mixin(e),!M.utils.is_empty_guid(this.ref)&&e.number_doc&&this._set_loaded(this.ref),e=null}function E(e){e.__define({number_doc:{get:function(){return this._obj.number_doc||""},set:function(e){this.__notify("number_doc"),this._obj.number_doc=e},enumerable:!0},date:{get:function(){return this._obj.date||M.utils.blank.date},set:function(e){this.__notify("date"),this._obj.date=M.utils.fix_date(e,!0)},enumerable:!0}})}function q(e,t){q.superclass.constructor.call(this,e,t);var n,r=t.metadata();for(n in r.fields)e[n]=M.utils.fetch_type("",r.fields[n].type);for(n in r.tabular_sections)e[n]=[];this._mixin(e)}function A(e,t){A.superclass.constructor.call(this,e,t)}function D(e,t){D.superclass.constructor.call(this,e,t)}function R(e,t){R.superclass.constructor.call(this,e,t),e&&"object"==typeof e&&this._mixin(e)}function P(e,t){P.superclass.constructor.call(this,e,t),e&&"object"==typeof e&&this._mixin(e);for(var n in t.metadata().dimensions)if(!e.hasOwnProperty(n)&&e.ref){var r=e.ref.split("¶");Object.keys(t.metadata().dimensions).forEach(function(e,t){this[e]=r[t]}.bind(this));break}}function S(){this.filter_date=function(e,t,n){t||(t=new Date("2015-01-01"));var r=e+" gt datetime'"+M.moment(t).format(M.moment._masks.iso)+"'";return n&&(r+=" and "+e+" lt datetime'"+M.moment(n).format(M.moment._masks.iso)+"'"),r},this.to_data=function(e,t){var n,r,a,i,o,s,l={},u=t.metadata(),c=u.fields,f=u.tabular_sections;t instanceof _?(e.hasOwnProperty("DeletionMark")&&(l._deleted=e.DeletionMark),e.hasOwnProperty("DataVersion"),e.hasOwnProperty("Ref_Key")&&(l.ref=e.Ref_Key)):c={}._mixin(u.dimensions)._mixin(u.resources)._mixin(u.attributes),t instanceof g?(e.hasOwnProperty("Number")?l.number_doc=e.Number||e.number_doc:e.hasOwnProperty("number_doc")&&(l.number_doc=e.number_doc),e.hasOwnProperty("Date")?l.date=e.Date:e.hasOwnProperty("date")&&(l.date=e.date),e.hasOwnProperty("Posted")?l.posted=e.Posted:e.hasOwnProperty("posted")&&(l.posted=e.posted)):(u.main_presentation_name&&(e.hasOwnProperty("Description")?l.name=e.Description:e.hasOwnProperty("name")&&(l.name=e.name)),u.code_length&&(e.hasOwnProperty("Code")?l.id=e.Code:e.hasOwnProperty("id")&&(l.id=e.id)));for(r in c)if(e.hasOwnProperty(r))l[r]=e[r];else{if(o=_md.syns_1с(r),o.indexOf("_Key")==-1&&c[r].type.is_ref&&e[o+"_Key"]&&(o+="_Key"),!e.hasOwnProperty(o))continue;l[r]=e[o]}for(n in f)s="extra_fields"==n||e.hasOwnProperty(n)?n:_md.syns_1с(n),e.hasOwnProperty(s)&&(l[n]=[],e[s]&&(e[s].sort(function(e,t){return(e.LineNumber||e.row)>(t.LineNumber||t.row)}),e[s].forEach(function(e){i={};for(a in f[n].fields)o=e.hasOwnProperty(a)||"extra_fields"==n&&("property"==a||"value"==a)?a:_md.syns_1с(a),o.indexOf("_Key")==-1&&f[n].fields[a].type.is_ref&&e[o+"_Key"]&&(o+="_Key"),i[a]=e[o];l[n].push(i)})));return l},this.ajax_to_data=function(e,t){return M.ajax.get_ex(e.url,e).then(function(e){return JSON.parse(e.response)}).then(function(e){var n=[];return e.value.forEach(function(e){n.push(L.to_data(e,t))}),n})},this.build_select=function(e,t){function n(e,r){"function"==typeof r?i+=r(t,e):(o=_md.syns_1с(e),s=_md.get(t.class_name,e),s&&(s=s.type,s.is_ref&&o.indexOf("_Key")==-1&&s.types.length&&s.types[0].indexOf("enm.")==-1&&(o+="_Key"),s.types.length&&(["boolean","number"].indexOf(typeof r)!=-1?i+=o+" eq "+r:s.is_ref&&"object"!=typeof r||r instanceof j?i+=o+" eq guid'"+r+"'":"string"==typeof r?i+=o+" eq '"+r+"'":"object"==typeof r&&(r.hasOwnProperty("like")?i+=o+" like '%"+r.like+"%'":r.hasOwnProperty("not")?i+=" not ("+n(e,r.not)+") ":r.hasOwnProperty("in")&&(i+=o+" in ("+(s.is_ref?r.in.map(function(e){return"guid'"+e+"'"}).join(","):r.in.join(","))+") ")))))}function r(e){for(var t in e)if(i?i+=" and ":i="&$filter=","or"==t&&Array.isArray(e[t])){var r=!0;e[t].forEach(function(e){r?(i+=" ( ",r=!1):i+=" or ";var t=Object.keys(e)[0];n(t,e[t])}),i+=" ) "}else n(t,e[t])}var a,i,o,s,_="";e||(e={}),e.fields&&(e.fields.forEach(function(e){"ref"==e?o="Ref_Key":(o=_md.syns_1с(e),s=_md.get(t.class_name,e).type,s.is_ref&&o.indexOf("_Key")==-1&&s.types.length&&s.types[0].indexOf("enm.")==-1&&(o+="_Key")),a?a+=",":a="&$select=",a+=o}),_+=a),e.selection&&("function"==typeof e.selection||(Array.isArray(e.selection)?e.selection.forEach(r):r(e.selection)),i&&(_+=i)),M.job_prm.rest&&t.rest_name.indexOf("Module_")==-1&&t.rest_name.indexOf("DataProcessor_")==-1&&t.rest_name.indexOf("Report_")==-1&&_.indexOf(" like ")==-1&&_.indexOf(" in ")==-1&&!t.metadata().irest?M.ajax.default_attr(e,M.job_prm.rest_url()):M.ajax.default_attr(e,M.job_prm.irest_url()),e.url+=t.rest_name+"?allowedOnly=true&$format=json&$top="+(e.top||300)+_},this.load_array=function(e,t){return L.build_select(e,t),L.ajax_to_data(e,t)},this.load_obj=function(e){var t={};return M.ajax.default_attr(t,!e._metadata.irest&&M.job_prm.rest?M.job_prm.rest_url():M.job_prm.irest_url()),t.url+=e._manager.rest_name+"(guid'"+e.ref+"')?$format=json",M.ajax.get_ex(t.url,t).then(function(e){return JSON.parse(e.response)}).then(function(t){return e._mixin(L.to_data(t,e._manager))._set_loaded(),e}).catch(function(t){return 404==t.status?e:void M.record_log(t)})},this.save_irest=function(e,t){var n=JSON.stringify(e),r=(void 0!=t.post?",post="+t.post:"")+(void 0!=t.operational?",operational="+t.operational:"");return M.ajax.default_attr(t,M.job_prm.irest_url()),t.url+=e._manager.rest_name+"(guid'"+e.ref+"'"+r+")",M.ajax.post_ex(t.url,n,t).then(function(e){return JSON.parse(e.response)}).then(function(t){return e._mixin(t)})},this.save_rest=function(e,t){var n,r=e.to_atom();return M.ajax.default_attr(t,M.job_prm.rest_url()),n=t.url+e._manager.rest_name,t.url=n+"(guid'"+e.ref+"')?$format=json&$select=Ref_Key,DeletionMark",M.ajax.get_ex(t.url,t).catch(function(e){return 404==e.status?{response:JSON.stringify({is_new:!0})}:Promise.reject(e)}).then(function(e){return JSON.parse(e.response)}).then(function(a){return a.is_new?M.ajax.post_ex(n,r,t):M.ajax.patch_ex(n+"(guid'"+e.ref+"')",r,t)}).then(function(t){var n=xmlToJSON.parseString(t.response,{mergeCDATA:!1,grokAttr:!0,grokText:!1,normalize:!0,xmlns:!1,namespaceKey:"_ns",textKey:"_text",valueKey:"_value",attrKey:"_attr",cdataKey:"_cdata",attrsAsObject:!1,stripAttrPrefix:!0,stripElemPrefix:!0,childrenAsArray:!1});if(n.entry&&n.entry.content&&n.entry.updated){var r,a=n.entry.content.properties,i={};for(var o in a)if(0!=o.indexOf("_"))if(r=a[o].element)if(i[o]=[],Array.isArray(r))for(var s in r){i[o][s]={};for(var _ in r[s])0!=_.indexOf("_")&&(i[o][s][_]="false"!==r[s][_]._text&&r[s][_]._text)}else{i[o][0]={};for(var _ in r)0!=_.indexOf("_")&&(i[o][0][_]="false"!==r[_]._text&&r[_]._text)}else i[o]="false"!==a[o]._text&&a[o]._text;return L.to_data(i,e._manager)}}).then(function(t){return e._mixin(t)})}}function N(){if(this.__define({init:{value:function(){M.__define("job_prm",{value:new C,writable:!1}),M.wsql.init_params()}},do_eventable:{value:function(e){function t(e,t){e=String(e).toLowerCase(),this._evnts.data[e]||(this._evnts.data[e]={});var n=M.utils.generate_guid();return this._evnts.data[e][n]=t,n}function n(e){if(!e)return r.call(this);for(var t in this._evnts.data){var n=0;for(var a in this._evnts.data[t])a==e?(this._evnts.data[t][a]=null,delete this._evnts.data[t][a]):n++;0==n&&(this._evnts.data[t]=null,delete this._evnts.data[t])}}function r(){for(var e in this._evnts.data){for(var t in this._evnts.data[e])this._evnts.data[e][t]=null,delete this._evnts.data[e][t];this._evnts.data[e]=null,delete this._evnts.data[e]}}function a(e,t){if(e=String(e).toLowerCase(),null==this._evnts.data[e])return!0;var n=!0;for(var r in this._evnts.data[e])n=this._evnts.data[e][r].apply(this,t)&&n;return n}function i(){for(var e in this._evnts.evnts){var t=this._evnts.evnts[e].length;if(t){for(var n=0;n2){t=decodeURI(e).split("&");for(var a in t)if(r=t[a].split("="),"m"==r[0])try{n[r[0]]=JSON.parse(r[1])}catch(e){n[r[0]]={}}else n[r[0]]=r[1]||""}return n}return e(location.search)._mixin(e(location.hash))}this.__define({parse_url:{value:t},offline:{value:!1,writable:!0},local_storage_prefix:{value:"",writable:!0},create_tables:{value:!0,writable:!0},url_prm:{value:"undefined"!=typeof window?t():{}},rest_url:{value:function(){var t=e(),n=M.wsql.get_user_param("zone",M.job_prm.zone_is_string?"string":"number");return n?t.replace("%1",n):t.replace("%1/","")}},irest_url:{value:function(){var t=e(),n=M.wsql.get_user_param("zone",M.job_prm.zone_is_string?"string":"number");return t=t.replace("odata/standard.odata","hs/rest"),n?t.replace("%1",n):t.replace("%1/","")}}}),M.eve.callEvent("settings",[this]);for(var n in this)"url_prm"!==n&&"function"!=typeof this[n]&&this.url_prm.hasOwnProperty[n]&&(this[n]=this.url_prm[n])}/** * AES implementation in JavaScript (c) Chris Veness 2005-2016 * MIT Licence diff --git a/dist/metadata.js b/dist/metadata.js index 74c095618..da356524a 100644 --- a/dist/metadata.js +++ b/dist/metadata.js @@ -1,5 +1,5 @@ /*! - metadata.js v0.11.223, built:2016-11-30 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 + metadata.js v0.11.223, built:2016-12-02 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 metadata.js may be freely distributed under the AGPL-3.0. To obtain _Oknosoft Commercial license_, contact info@oknosoft.ru */ (function(root, factory) { @@ -3433,8 +3433,8 @@ function Pouch(){ value: function (tObj, attr) { var tmp = tObj._obj._clone(), - db = tObj._manager.pouch_db; - + db = attr.db || tObj._manager.pouch_db; + tmp._id = tObj._manager.class_name + "|" + tObj.ref; delete tmp.ref; @@ -3461,10 +3461,10 @@ function Pouch(){ return db.put(tmp); }) .then(function () { - + if(tObj.is_new()) tObj._set_loaded(tObj.ref); - + if(tmp._attachments){ if(!tObj._attachments) tObj._attachments = {}; @@ -3473,7 +3473,7 @@ function Pouch(){ tObj._attachments[att] = tmp._attachments[att]; } } - + tmp = null; attr = null; return tObj; @@ -15379,7 +15379,7 @@ DataManager.prototype.form_selection = function(pwnd, attr){ if(attr.period) tbattr.period = attr.period; wnd.elmnts.filter = new $p.iface.Toolbar_filter(tbattr); - + // учтём права для каждой роли на каждый объект var _acl = $p.current_acl.get_acl(_mgr.class_name); @@ -15622,6 +15622,11 @@ DataManager.prototype.form_selection = function(pwnd, attr){ */ function toolbar_click(btn_id){ + // если внешний обработчик вернул false - выходим + if(attr.toolbar_click && attr.toolbar_click(btn_id, wnd, _mgr) === false){ + return; + } + if(btn_id=="btn_select"){ select(); @@ -15897,9 +15902,9 @@ DataManager.prototype.form_selection = function(pwnd, attr){ wnd.elmnts.grid.reload(); return true; } - + /** - * подписываемся на событие закрытия формы объекта, чтобы обновить список и попытаться спозиционироваться на нужной строке + * подписываемся на событие закрытия формы объекта, чтобы обновить список и попытаться спозиционироваться на нужной строке */ var _frm_close = $p.eve.attachEvent("frm_close", function (class_name, ref) { if(_mgr && _mgr.class_name == class_name && wnd && wnd.elmnts){ diff --git a/dist/metadata.min.js b/dist/metadata.min.js index db60d91fb..6cdf46bab 100644 --- a/dist/metadata.min.js +++ b/dist/metadata.min.js @@ -1,14 +1,14 @@ /*! - metadata.js v0.11.223, built:2016-11-30 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 + metadata.js v0.11.223, built:2016-12-02 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 metadata.js may be freely distributed under the AGPL-3.0. To obtain _Oknosoft Commercial license_, contact info@oknosoft.ru */ -!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.$p=t()}(this,function(){function MetaEngine(){this.__define({version:{value:"0.11.223",writable:!1},toString:{value:function(){return"Oknosoft data engine. v:"+this.version},writable:!1},utils:{value:new Utils},injected_data:{value:{},writable:!1},ajax:{value:new Ajax,writable:!1},msg:{value:new Messages,writable:!1},wsql:{value:new WSQL,writable:!1},eve:{value:new AppEvents,writable:!1},aes:{value:new Aes("metadata.js"),writable:!1},moment:{get:function(){return this.utils.moment}},_patch:{value:function(e,t){for(var n in t)"object"==typeof t[n]&&e[n]&&"object"==typeof e[n]?$p._patch(e[n],t[n]):e[n]=t[n];return e}},_find:{value:function(e,t,n){var a,i,s;if("object"!=typeof t)for(i in e){a=e[i];for(var o in a)if("function"!=typeof a[o]&&$p.utils.is_equal(a[o],t))return a}else for(i in e){a=e[i],s=!0;for(var o in t)if("function"!=typeof a[o]&&!$p.utils.is_equal(a[o],t[o])){s=!1;break}if(s)return a}}},_selection:{value:function(e,t){var n,a,i,s=!0;if(t)if("function"==typeof t)s=t.call(this,e);else for(n in t)if(a=t[n],i="object"==typeof a,"_"!=n.substr(0,1))if("function"==typeof a){if(s=a.call(this,e,n),!s)break}else if("or"==n&&Array.isArray(a)){if(s=a.some(function(t){var n=Object.keys(t)[0];return t[n].hasOwnProperty("like")?e[n]&&e[n].toLowerCase().indexOf(t[n].like.toLowerCase())!=-1:$p.utils.is_equal(e[n],t[n])}),!s)break}else if(i&&a.hasOwnProperty("like")){if(!e[n]||e[n].toLowerCase().indexOf(a.like.toLowerCase())==-1){s=!1;break}}else if(i&&a.hasOwnProperty("not")){if($p.utils.is_equal(e[n],a.not)){s=!1;break}}else if(i&&a.hasOwnProperty("in")){if(s=a.in.some(function(t){return $p.utils.is_equal(t,e[n])}),!s)break}else if(i&&a.hasOwnProperty("lt")){if(s=e[n]a.gt,!s)break}else if(i&&a.hasOwnProperty("between")){var o=e[n];if("number"!=typeof o&&(o=$p.utils.fix_date(e[n])),s=o>=a.between[0]&&o<=a.between[1],!s)break}else if(!$p.utils.is_equal(e[n],a)){s=!1;break}return s}},_find_rows:{value:function(e,t,n){var a,i,s=[],o=0;t&&(t._top?(i=t._top,delete t._top):i=300);for(var r in e)if(a=e[r],$p._selection.call(this,a,t)){if(n){if(n.call(this,a)===!1)break}else s.push(a);if(i&&(o++,o>=i))break}return s}},on:{value:function(e,t){if("object"!=typeof e)return this.eve.attachEvent(e,t);for(var n in e)e[n]._evnts||(e[n]._evnts=[]),e[n]._evnts.push(this.eve.attachEvent(n,e[n]))}},off:{value:function(e){"function"==typeof e&&e._evnts?e._evnts.forEach(function(e){$p.eve.detachEvent(e)}):e?$p.eve.detachEvent(e):$p.eve.detachAllEvents()}},record_log:{value:function(e){$p.ireg&&$p.ireg.$log&&$p.ireg.$log.record(e),console.log(e)}},md:{value:new Meta},enm:{value:new function(){this.toString=function(){return $p.msg.meta_enn_mgr}}},cat:{value:new function(){this.toString=function(){return $p.msg.meta_cat_mgr}}},doc:{value:new function(){this.toString=function(){return $p.msg.meta_doc_mgr}}},ireg:{value:new function(){this.toString=function(){return $p.msg.meta_ireg_mgr}}},areg:{value:new function(){this.toString=function(){return $p.msg.meta_areg_mgr}}},accreg:{value:new function(){this.toString=function(){return $p.msg.meta_accreg_mgr}}},dp:{value:new function(){this.toString=function(){return $p.msg.meta_dp_mgr}}},rep:{value:new function(){this.toString=function(){return $p.msg.meta_reports_mgr}}},cacc:{value:new function(){this.toString=function(){return $p.msg.meta_charts_of_accounts_mgr}}},cch:{value:new function(){this.toString=function(){return $p.msg.meta_charts_of_characteristic_mgr}}},tsk:{value:new function(){this.toString=function(){return $p.msg.meta_task_mgr}}},bp:{value:new function(){this.toString=function(){return $p.msg.meta_bp_mgr}}},DataManager:{value:DataManager},RefDataManager:{value:RefDataManager},DataProcessorsManager:{value:DataProcessorsManager},EnumManager:{value:EnumManager},RegisterManager:{value:RegisterManager},InfoRegManager:{value:InfoRegManager},LogManager:{value:LogManager},AccumRegManager:{value:AccumRegManager},CatManager:{value:CatManager},ChartOfCharacteristicManager:{value:ChartOfCharacteristicManager},ChartOfAccountManager:{value:ChartOfAccountManager},DocManager:{value:DocManager},TaskManager:{value:TaskManager},BusinessProcessManager:{value:BusinessProcessManager},DataObj:{value:DataObj},CatObj:{value:CatObj},DocObj:{value:DocObj},DataProcessorObj:{value:DataProcessorObj},TaskObj:{value:TaskObj},BusinessProcessObj:{value:BusinessProcessObj},EnumObj:{value:EnumObj},RegisterRow:{value:RegisterRow},TabularSection:{value:TabularSection},TabularSectionRow:{value:TabularSectionRow}})}function Utils(){this.moment="function"==typeof moment?moment:require("moment"),this.moment._masks={date:"DD.MM.YY",date_time:"DD.MM.YYYY HH:mm",ldt:"DD MMMM YYYY, HH:mm",iso:"YYYY-MM-DDTHH:mm:ss"},this.fix_date=function(e,t){if(e instanceof Date)return e;var n=this.moment(e,["DD-MM-YYYY","DD-MM-YYYY HH:mm","DD-MM-YYYY HH:mm:ss","DD-MM-YY HH:mm","YYYYDDMMHHmmss",this.moment.ISO_8601]);return n.isValid()?n.toDate():t?this.blank.date:e},this.fix_guid=function(e,t){if(e&&"string"==typeof e);else{if(e instanceof DataObj)return e.ref;if(e&&"object"==typeof e)if(e.presentation){if(e.ref)return e.ref;if(e.name)return e.name}else e="object"==typeof e.ref&&e.ref.hasOwnProperty("ref")?e.ref.ref:e.ref}return this.is_guid(e)||t===!1?e:t?this.generate_guid():this.blank.guid},this.fix_number=function(e,t){var n=parseFloat(e);return isNaN(n)?t?0:e:n},this.fix_boolean=function(e){return"string"==typeof e?!(!e||"false"==e.toLowerCase()):!!e},this.blank={date:this.fix_date("0001-01-01T00:00:00"),guid:"00000000-0000-0000-0000-000000000000",by_type:function(e){var t;return t=e.is_ref?this.guid:e.date_part?this.date:e.digits?0:(!e.types||"boolean"!=e.types[0])&&""}},this.fetch_type=function(e,t){var n=e;return t.is_ref?n=this.fix_guid(e):t.date_part?n=this.fix_date(e,!0):t.digits?n=this.fix_number(e,!0):"boolean"==t.types[0]&&(n=this.fix_boolean(e)),n},this.date_add_day=function(e,t,n){var a=new Date(e);return a.setDate(e.getDate()+t),n&&a.setHours(0,-a.getTimezoneOffset(),0,0),a},this.generate_guid=function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?n:7&n|8).toString(16)})},this.is_guid=function(e){return!("string"!=typeof e||e.length<36)&&(e.length>36&&(e=e.substr(0,36)),/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e))},this.is_empty_guid=function(e){return!e||e===this.blank.guid},this.is_data_obj=function(e){return e&&e instanceof DataObj},this.is_data_mgr=function(e){return e&&e instanceof DataManager},this.is_equal=function(e,t){return e==t||typeof e!=typeof t&&this.fix_guid(e,!1)==this.fix_guid(t,!1)},this.blob_as_text=function(e,t){return new Promise(function(n,a){var i=new FileReader;i.onload=function(e){n(i.result)},i.onerror=function(e){a(e)},"data_url"==t?i.readAsDataURL(e):i.readAsText(e)})}}function Ajax(){function e(e,t,n,a,i){return new Promise(function(s,o){if("undefined"==typeof window&&a&&a.request)a.request({url:encodeURI(t),headers:{Authorization:a.auth}},function(e,t,n){e?o(e):200!=t.statusCode?o({message:t.statusMessage,description:n,status:t.statusCode}):s({response:n})});else{var r=new XMLHttpRequest;if(window.dhx4&&window.dhx4.isIE&&(t=encodeURI(t)),a){var l,c;"object"==typeof a&&a.username&&a.hasOwnProperty("password")?(l=a.username,c=a.password):$p.ajax.username&&$p.ajax.authorized?(l=$p.ajax.username,c=$p.aes.Ctr.decrypt($p.ajax.password)):(l=$p.wsql.get_user_param("user_name"),c=$p.aes.Ctr.decrypt($p.wsql.get_user_param("user_pwd")),!l&&$p.job_prm&&$p.job_prm.guest_name&&(l=$p.job_prm.guest_name,c=$p.aes.Ctr.decrypt($p.job_prm.guest_pwd))),r.open(e,t,!0,l,c),r.withCredentials=!0,r.setRequestHeader("Authorization","Basic "+btoa(unescape(encodeURIComponent(l+":"+c))))}else r.open(e,t,!0);i&&i.call(this,r),"GET"!=e?this.hide_headers||a.hide_headers||(r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.setRequestHeader("X-Requested-With","XMLHttpRequest")):n=null,r.onload=function(){200==r.status&&(r.response instanceof Blob||"62135622e6?this.js_time_diff:e}},set_user_param:{value:function(t,a){var i=a;"object"==typeof a?i=JSON.stringify(a):a===!1&&(i=""),e.setItem($p.job_prm.local_storage_prefix+t,i),n[t]=a}},get_user_param:{value:function(t,a){return!n.hasOwnProperty(t)&&e&&(n[t]=this.fetch_type(e.getItem($p.job_prm.local_storage_prefix+t),a)),n[t]}},promise:{value:function(e,n){return new Promise(function(a,i){t.alasql(e,n||[],function(e,t){t?i(t):a(e)})})}},save_options:{value:function(e,n){return t.set_user_param(e+"_"+n.name,n)}},restore_options:{value:function(e,n){var a=t.get_user_param(e+"_"+n.name,"object");for(var i in a)if("object"!=typeof a[i])n[i]=a[i];else{n[i]||(n[i]={});for(var s in a[i])n[i][s]=a[i][s]}return n}},fetch_type:{value:function(e,t){if("object"==t){try{e=JSON.parse(e)}catch(t){e={}}return e}return"number"==t?$p.utils.fix_number(e,!0):"date"==t?$p.utils.fix_date(e,!0):"boolean"==t?$p.utils.fix_boolean(e):e}},alasql:{value:"undefined"!=typeof alasql?alasql:require("alasql")},init_params:{value:function(){if(!$p.job_prm.local_storage_prefix&&!$p.job_prm.create_tables)return Promise.resolve();e="undefined"==typeof localStorage?"undefined"==typeof WorkerGlobalScope?new require("node-localstorage").LocalStorage("./localstorage"):{setItem:function(e,t){},getItem:function(e){}}:localStorage;var n,a=[{p:"user_name",v:"",t:"string"},{p:"user_pwd",v:"",t:"string"},{p:"browser_uid",v:$p.utils.generate_guid(),t:"string"},{p:"zone",v:$p.job_prm.hasOwnProperty("zone")?$p.job_prm.zone:1,t:$p.job_prm.zone_is_string?"string":"number"},{p:"enable_save_pwd",v:$p.job_prm.enable_save_pwd,t:"boolean"},{p:"autologin",v:"",t:"boolean"},{p:"skin",v:"dhx_web",t:"string"},{p:"rest_path",v:"",t:"string"}];$p.job_prm.additional_params&&(a=a.concat($p.job_prm.additional_params)),e.getItem($p.job_prm.local_storage_prefix+"zone")||(n=$p.job_prm.hasOwnProperty("zone")?$p.job_prm.zone:1),$p.job_prm.url_prm.hasOwnProperty("zone")&&(n=$p.job_prm.zone_is_string?$p.job_prm.url_prm.zone:$p.utils.fix_number($p.job_prm.url_prm.zone,!0)),void 0!==n&&t.set_user_param("zone",n),a.forEach(function(e){(void 0==t.get_user_param(e.p,e.t)||!t.get_user_param(e.p,e.t)&&e.p.indexOf("url")!=-1)&&t.set_user_param(e.p,$p.job_prm.hasOwnProperty(e.p)?$p.job_prm[e.p]:e.v)});var i={path:t.get_user_param("couch_path","string")||$p.job_prm.couch_path||"",zone:t.get_user_param("zone","number"),prefix:$p.job_prm.local_storage_prefix,suffix:t.get_user_param("couch_suffix","string")||"",user_node:$p.job_prm.user_node,noreplicate:$p.job_prm.noreplicate};i.path&&(t.__define("pouch",{value:new Pouch}),t.pouch.init(i)),this.create_tables&&(this.alasq(this.create_tables,[]),this.create_tables="")}},drop_tables:{value:function(e){function n(){s--,s<=0?setTimeout(e,10):a()}function a(){var e=o[s-1].tableid;"_"==e.substr(0,1)?n():t.alasql("drop table IF EXISTS "+e,[],n)}function i(e){o=e,(s=e.length)?a():n()}var s=0,o=[];t.alasql("SHOW TABLES",[],i)}}}),this.__define({aladb:{value:new this.alasql.Database("md")}})}function Col_struct(e,t,n,a,i,s){this.id=e,this.width=t,this.type=n,this.align=a,this.sort=i,this.caption=s}function InterfaceObjs(){function e(e,t,n){if(this.layout=e.attachLayout({pattern:"2U",cells:[{id:"a",text:"Разделы",collapsed_text:"Разделы",width:220},{id:"b",text:"Раздел",header:!1}],offsets:{top:0,right:0,bottom:0,left:0}}),this.tree=this.layout.cells("a").attachTreeView(),this.tree.attachEvent("onSelect",function(e,t){if(t){var a=$p.md.mgr_by_class_name(e);a instanceof DataProcessorsManager?a.form_rep(this.layout.cells("b"),n||{hide_header:!0}):a&&a.form_list(this.layout.cells("b"),n||{hide_header:!0})}}.bind(this)),!t){var a=$p.md.get_classes();t=[];for(var i in a)a[i].length&&t.push(i)}1==t.length?$p.md.get_classes()[t[0]].forEach(function(e){var n=t[0]+"."+e,a=$p.md.get(n);a.hide||(this.tree.addItem(n,a.list_presentation||a.synonym),this.tree.setItemIcons(n,{file:"icon_1c_"+t[0]}))}.bind(this)):t.forEach(function(e){this.tree.addItem(e,$p.msg["meta_"+e]),this.tree.setItemIcons(e,{file:"icon_1c_"+e,folder_opened:"icon_1c_"+e,folder_closed:"icon_1c_"+e}),$p.md.get_classes()[e].forEach(function(t){var n=e+"."+t,a=$p.md.get(n);a.hide||(this.tree.addItem(n,a.list_presentation||a.synonym,e),this.tree.setItemIcons(n,{file:"icon_1c_"+e}))}.bind(this))}.bind(this))}function t(e){e.attachHTMLString($p.injected_data["view_settings.html"]),this.cont=e.cell.querySelector(".dhx_cell_cont_tabbar"),this.cont.style.overflow="auto",this.form2=function(e){var t=new dhtmlXForm(e,[{type:"settings",labelWidth:80,position:"label-left"},{type:"label",labelWidth:320,label:"Адрес CouchDB",className:"label_options"},{type:"input",inputWidth:220,name:"couch_path",label:"Путь:",validate:"NotEmpty"},{type:"template",label:"",value:"",note:{text:"Можно указать как относительный, так и абсолютный URL публикации CouchDB",width:320}},{type:"label",labelWidth:320,label:"Адрес http сервиса 1С",className:"label_options"},{type:"input",inputWidth:220,name:"rest_path",label:"Путь",validate:"NotEmpty"},{type:"template",label:"",value:"",note:{text:"Можно указать как относительный, так и абсолютный URL публикации 1С OData",width:320}},{type:"label",labelWidth:320,label:"Значение разделителя данных",className:"label_options"},{type:"input",inputWidth:220,name:"zone",label:"Зона:",numberFormat:["0","",""],validate:"NotEmpty,ValidInteger"},{type:"template",label:"",value:"",note:{text:"Для неразделенной публикации, зона = 0",width:320}},{type:"label",labelWidth:320,label:"Суффикс базы пользователя",className:"label_options"},{type:"input",inputWidth:220,name:"couch_suffix",label:"Суффикс:"},{type:"template",label:"",value:"",note:{text:"Назначается абоненту при регистрации",width:320}},{type:"block",blockOffset:0,name:"block_buttons",list:[{type:"button",name:"save",value:"",tooltip:"Применить настройки и перезагрузить программу"},{type:"newcolumn"},{type:"button",offsetLeft:20,name:"reset",value:"",tooltip:"Стереть справочники и перезаполнить данными сервера"}]}]);return t.cont.style.fontSize="100%",["zone","couch_path","couch_suffix","rest_path"].forEach(function(e){"zone"==e?t.setItemValue(e,$p.wsql.get_user_param(e)):t.setItemValue(e,$p.wsql.get_user_param(e)||$p.job_prm[e])}),t.attachEvent("onChange",function(e,t,n){$p.wsql.set_user_param(e,"enable_save_pwd"==e?n||"":t)}),t.disableItem("couch_suffix"),$p.job_prm.rest_path||t.disableItem("rest_path"),t.attachEvent("onButtonClick",function(e){"save"==e?($p.wsql.pouch.log_out(),setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)):"reset"==e&&dhtmlx.confirm({title:"Сброс данных",text:"Стереть справочники и перезаполнить данными сервера?",cancel:$p.msg.cancel,callback:function(e){e&&$p.wsql.pouch.reset_local_data()}})}),t}(this.cont.querySelector("[name=form2]").firstChild),this.form1=function(e){var t=new dhtmlXForm(e,[{type:"settings",labelWidth:320,position:"label-left"},{type:"label",label:"Тип устройства",className:"label_options"},{type:"block",blockOffset:0,name:"block_device_type",list:[{type:"settings",labelAlign:"left",position:"label-right"},{type:"radio",name:"device_type",labelWidth:120,label:' Компьютер',value:"desktop"},{type:"newcolumn"},{type:"radio",name:"device_type",labelWidth:150,label:' Телефон, планшет',value:"phone"}]},{type:"template",label:"",value:"",note:{text:"Класс устройства определяется автоматически, но пользователь может задать его явно",width:320}},{type:"label",label:"Сохранять пароль пользователя",className:"label_options"},{type:"checkbox",name:"enable_save_pwd",label:"Разрешить:",labelWidth:90,checked:$p.wsql.get_user_param("enable_save_pwd","boolean")},{type:"template",label:"",value:"",note:{text:"Не рекомендуется, если к компьютеру имеют доступ посторонние лица",width:320}},{type:"template",label:"",value:"",note:{text:"",width:320}},{type:"label",label:"Подключаемые модули",className:"label_options"},{type:"input",position:"label-top",inputWidth:320,name:"modifiers",label:"Модификаторы:",value:$p.wsql.get_user_param("modifiers"),rows:3,style:"height:80px;"},{type:"template",label:"",value:"",note:{text:"Список дополнительных модулей",width:320}}]);return t.cont.style.fontSize="100%",t.checkItem("device_type",$p.job_prm.device_type),t.attachEvent("onChange",function(e,t,n){$p.wsql.set_user_param(e,"enable_save_pwd"==e?n||"":t)}),t.disableItem("modifiers"),t.getInput("modifiers").onchange=function(){$p.wsql.set_user_param("modifiers",this.value)},t}(this.cont.querySelector("[name=form1]").firstChild)}var n=this;this.clear_svgs=function(e){for("string"==typeof e&&(e=document.getElementById(e));e.firstChild;)e.removeChild(e.firstChild)},this.get_offset=function(e){var t={left:0,top:0};if(e.offsetParent)do t.left+=e.offsetLeft,t.top+=e.offsetTop;while(e=e.offsetParent);return t},this.normalize_xml=function(e){if(!e)return"";var t={"&":"&",'"':""","'":"'","<":"<",">":">"};return e.replace(/[&"'<>]/g,function(e){return t[e]})},this.scale_svg=function(e,t,n){var a,i,s,o,r,l,c,p,d,u={},f="number"==typeof t?t:t.height,m="number"==typeof t?(1.5*t).round(0):t.width,h="number"==typeof t?1/0:t.zoom||1/0;r=e.indexOf(">"),c=e.substring(5,r),s=c.split(" "),o=e.substr(r+1),o=o.substr(0,o.length-6);for(a in s)e=s[a].split("="),"width,height,x,y".indexOf(e[0])!=-1&&(e[1]=Number(e[1].replace(/"/g,"")),u[e[0]]=e[1]);(l=c.indexOf("viewBox="))!=-1?(p=c.substring(l+9),d='viewBox="'+p.substring(0,p.indexOf('"'))+'"'):d='viewBox="'+(u.x||0)+" "+(u.y||0)+" "+(u.width-n)+" "+(u.height-n)+'"';var _=u.height,g=u.width;return i=(f-n)/_,u.height=f,u.width=(g*i).round(0),u.width>m&&(i=(m-n)/g,u.height=(_*i).round(0),u.width=m),i>h&&(i=h,u.height=(_*i).round(0),u.width=(g*i).round(0)),u.x=(u.x*i).round(0),u.y=(u.y*i).round(0),'"+o+""},this.bind_help=function(e,t){function n(e){if(!e.help_path)return void $p.msg.show_msg({title:"Справка",type:"alert-info",text:$p.msg.not_implemented})}e instanceof dhtmlXCellObject||(!e.help_path&&t&&(e.help_path=t),e.button("help").show(),e.button("help").enable(),e.attachEvent("onHelp",n))},this.set_hash=function(e,t,a,i){var s={},o=$p.job_prm.parse_url();1==arguments.length&&"object"==typeof e&&(s=e,s.hasOwnProperty("obj")&&(e=s.obj,delete s.obj),s.hasOwnProperty("ref")&&(t=s.ref,delete s.ref),s.hasOwnProperty("frm")&&(a=s.frm,delete s.frm),s.hasOwnProperty("view")&&(i=s.view,delete s.view)),void 0===e&&(e=o.obj||""),void 0===t&&(t=o.ref||""),void 0===a&&(a=o.frm||""),void 0===i&&(i=o.view||"");var r="obj="+e+"&ref="+t+"&frm="+a+"&view="+i;for(var l in s)r+="&"+l+"="+s[l];location.hash.substr(1)==r?n.hash_route():location.hash=r},this.hash_route=function(e){var t,a=$p.job_prm.parse_url(),i=$p.eve.callEvent("hash_route",[a]);if(i===!1||n.before_route&&n.before_route(e)===!1||$p.ajax.authorized&&(a.ref&&"undefined"!=typeof _md?(t=_md.mgr_by_class_name(a.obj),t&&t[a.frm||"form_obj"](n.docs,a.ref)):a.view&&n.swith_view&&n.swith_view(a.view)),e)return n.cancel_bubble(e)},this.cancel_bubble=function(e){var t=e||event;return t&&t.stopPropagation&&t.stopPropagation(),t&&!t.cancelBubble&&(t.cancelBubble=!0),!1},this.Col_struct=Col_struct,this.init_sidebar=function(e,t,a){n.btn_auth_sync=new n.OBtnAuthSync,n.btns_nav=function(e){return n.btn_auth_sync.bind(new n.OTooolBar({wrapper:e,class_name:"md_otbnav",width:"260px",height:"28px",top:"3px",right:"3px",name:"right",buttons:t,onclick:function(e){return n.main.cells(e).setActive(!0),!1}}))},n.main=new dhtmlXSideBar({parent:document.body,icons_path:a||"dist/imgs/",width:180,header:!0,template:"tiles",autohide:!0,items:e,offsets:{top:0,right:0,bottom:0,left:0}}),n.main.attachEvent("onSelect",function(e){var t=$p.job_prm.parse_url();t.view!=e&&n.set_hash(t.obj,t.ref,t.frm,e),n["view_"+e](n.main.cells(e))}),n.main.progressOn();var i=$p.job_prm.parse_url();i.view&&n.main.getAllItems().indexOf(i.view)!=-1?setTimeout(n.hash_route):n.set_hash(i.obj,i.ref,i.frm,"doc")},this.All_meta_objs=e,this.Setting2col=t,this.do_reload=function(){function e(){dhtmlx.confirm({title:$p.msg.file_new_date_title,text:$p.msg.file_new_date,ok:"Перезагрузка",cancel:"Продолжить",callback:function(n){n?($p.wsql.pouch.log_out(),setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)):(t++,setTimeout(e,3e4*t))}})}var t=0;e()}}function Pouch(){var e,t,n,a,i=this,s={};i.__define({DB:{value:"undefined"==typeof PouchDB?require("pouchdb-core").plugin(require("pouchdb-adapter-memory")).plugin(require("pouchdb-adapter-http")).plugin(require("pouchdb-replication")).plugin(require("pouchdb-mapreduce")):PouchDB},init:{value:function(e){s._mixin(e),s.path&&0!=s.path.indexOf("http")&&"undefined"!=typeof location&&(s.path=location.protocol+"//"+location.host+s.path)}},local:{get:function(){if(!e){var t={auto_compaction:!0,revs_limit:2};e={ram:new i.DB(s.prefix+s.zone+"_ram",t),doc:new i.DB(s.prefix+s.zone+"_doc",t),meta:new i.DB(s.prefix+"meta",t),sync:{}}}return s.path&&!e._meta&&(e._meta=new i.DB(s.path+"meta",{auth:{username:"guest",password:"meta"},skip_setup:!0}),i.run_sync(e.meta,e._meta,"meta")),e}},remote:{get:function(){return!t&&n&&(t={ram:new i.DB(s.path+s.zone+"_ram",{auth:{username:n.username,password:n.password},skip_setup:!0}),doc:new i.DB(s.path+s.zone+"_doc"+s.suffix,{auth:{username:n.username,password:n.password},skip_setup:!0})}),t}},log_in:{value:function(e,t){return void 0==e&&void 0==t&&(e=$p.job_prm.guest_name,t=$p.aes.Ctr.decrypt($p.job_prm.guest_pwd)),n?n.username==e?Promise.resolve():Promise.reject():$p.ajax.get_ex(s.path+s.zone+"_ram",{username:e,password:t}).then(function(a){return n={username:e,password:t},setTimeout(function(){dhx4.callEvent("log_in",[e])}),{ram:i.run_sync(i.local.ram,i.remote.ram,"ram"),doc:i.run_sync(i.local.doc,i.remote.doc,"doc")}})}},log_out:{value:function(){if(n){if(e.sync.doc)try{e.sync.doc.cancel()}catch(e){}if(e.sync.ram)try{e.sync.ram.cancel()}catch(e){}n=null}t&&t.ram&&delete t.ram,t&&t.doc&&delete t.doc,t=null,dhx4.callEvent("log_out")}},reset_local_data:{value:function(){var e=i.local.ram.destroy.bind(i.local.ram),t=i.local.doc.destroy.bind(i.local.doc),n=function(){setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)};i.log_out(),setTimeout(function(){e().then(t).catch(t).then(n).catch(n)},1e3)}},load_data:{value:function(){var e={limit:800,include_docs:!0},t={total_rows:0,limit:e.limit,page:0,start:Date.now()};return new Promise(function(n,s){function o(){i.local.ram.allDocs(e,function(r,l){l?(t.page++,t.total_rows=l.total_rows,t.duration=Date.now()-t.start,$p.eve.callEvent("pouch_load_data_page",[t]),i.load_changes(l,e)?o():(n(),a=!0,$p.eve.callEvent("pouch_load_data_loaded",[t]),t.note="pouch_load_data_loaded",$p.record_log(t))):r&&(s(r),$p.eve.callEvent("pouch_load_data_error",[r]))})}i.local.ram.info().then(function(e){e.doc_count>=($p.job_prm.pouch_ram_doc_count||10)?($p.eve.callEvent("pouch_load_data_start",[t]),o()):($p.eve.callEvent("pouch_load_data_error",[e]),s(e))})})}},authorized:{get:function(){return n&&n.username}},data_loaded:{get:function(){return!!a}},run_sync:{value:function(t,n,s){var o,r;return t.info().then(function(e){return o=e,n.info()}).then(function(e){return"ram"!=s?e:n.get("data_version").then(function(t){return t.version!=$p.wsql.get_user_param("couch_ram_data_version")&&($p.wsql.get_user_param("couch_ram_data_version")&&(e=i.reset_local_data()),$p.wsql.set_user_param("couch_ram_data_version",t.version)),e}).catch(function(e){$p.record_log(e)}).then(function(){return e})}).then(function(l){if(l){"ram"==s&&o.doc_count<($p.job_prm.pouch_ram_doc_count||10)?(r={total_rows:l.doc_count,local_rows:o.doc_count,docs_written:0,limit:200,page:0,start:Date.now()},$p.eve.callEvent("pouch_load_data_start",[r])):"doc"==s&&setTimeout(function(){$p.eve.callEvent("pouch_doc_sync_start")});var c={live:!0,retry:!0,batch_size:300,batches_limit:8};return"meta"==s?c.filter="auth/meta":$p.job_prm.pouch_filter&&$p.job_prm.pouch_filter[s]&&(c.filter=$p.job_prm.pouch_filter[s]),"ram"==s||"meta"==s||$p.wsql.get_user_param("zone")==$p.job_prm.zone_demo?e.sync[s]=t.replicate.from(n,c):e.sync[s]=t.sync(n,c),e.sync[s].on("change",function(e){"ram"==s?(i.load_changes(e),o.doc_count<($p.job_prm.pouch_ram_doc_count||10)&&(r.page++,r.docs_written=e.docs_written,r.duration=Date.now()-r.start,$p.eve.callEvent("pouch_load_data_page",[r]),r.docs_written>=r.total_rows&&(a=!0,$p.eve.callEvent("pouch_load_data_loaded",[r]),r.note="pouch_load_data_loaded",$p.record_log(r)))):(e.update_only=!0,i.load_changes(e)),$p.eve.callEvent("pouch_change",[s,e])}).on("paused",function(e){e&&$p.eve.callEvent("pouch_paused",[s,e])}).on("active",function(e){$p.eve.callEvent("pouch_active",[s,e])}).on("denied",function(e){$p.eve.callEvent("pouch_denied",[s,e])}).on("complete",function(e){$p.eve.callEvent("pouch_complete",[s,e])}).on("error",function(e){$p.eve.callEvent("pouch_error",[s,e])}),e.sync[s]}})}},load_obj:{value:function(e){return e._manager.pouch_db.get(e._manager.class_name+"|"+e.ref).then(function(t){delete t._id,delete t._rev,e._mixin(t)._set_loaded()}).catch(function(e){if(404!=e.status)throw e}).then(function(t){return e})}},save_obj:{value:function(e,t){var n=e._obj._clone(),a=e._manager.pouch_db;return n._id=e._manager.class_name+"|"+e.ref,delete n.ref,t.attachments&&(n._attachments=t.attachments),(e.is_new()?Promise.resolve():a.get(n._id)).then(function(e){if(e){n._rev=e._rev;for(var t in e._attachments)n._attachments||(n._attachments={}),n._attachments[t]||(n._attachments[t]=e._attachments[t])}}).catch(function(e){if(404!=e.status)throw e}).then(function(){return a.put(n)}).then(function(){if(e.is_new()&&e._set_loaded(e.ref),n._attachments){e._attachments||(e._attachments={});for(var a in n._attachments)e._attachments[a]&&n._attachments[a].stub||(e._attachments[a]=n._attachments[a])}return n=null,t=null,e})}},load_changes:{value:function(e,t){var n,a,i,s,o={};if(t)n=e.rows;else if(e.direction){if("pull"!=e.direction)return;n=e.change.docs}else n=e.docs;if(n.length>0){t&&(t.startkey=n[n.length-1].key,t.skip=1),n.forEach(function(e){if(a=t?e.doc:e,!a)if(e.value&&e.value.deleted)a={_id:e.id,_deleted:!0};else if(e.error)return;s=a._id.split("|"),i=s[0].split("."),a.ref=s[1],delete a._id,delete a._rev,o[i[0]]||(o[i[0]]={}),o[i[0]][i[1]]||(o[i[0]][i[1]]=[]),o[i[0]][i[1]].push(a)});for(var r in o)for(i in o[r])$p[r]&&$p[r][i]&&$p[r][i].load_array(o[r][i],!e.update_only||"update_only");return o=e=n=a=null,!0}return!1}},backup_database:{value:function(e){}},restore_database:{value:function(e){}}})}function Messages(){this.toString=function(){return"Интернационализация сообщений"},"undefined"!=typeof window&&"dhtmlx"in window&&(this.show_msg=function(e,t){if(e){if("string"==typeof e){if($p.iface.synctxt)return void $p.iface.synctxt.show_message(e);e={type:"info",text:e}}t&&"function"==typeof t.setText&&t.setText(e.text),dhtmlx.message(e)}},this.check_soap_result=function(e){return e?"limit_query"==e.error?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-warning",text:$p.msg.limit_query.replace("%1",e.queries).replace("%2",e.queries_avalable),title:$p.msg.srv_overload}),!0):"network"==e.error||"empty"==e.error?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-warning",text:$p.msg.error_network,title:$p.msg.error_critical}),!0):e.error&&e.error_description?($p.iface.docs.progressOff(),e.error_description.indexOf("Недостаточно прав")!=-1&&(e.error_type="alert-warning",e.error_title=$p.msg.error_rights),$p.msg.show_msg({type:e.error_type||"alert-error",text:e.error_description,title:e.error_title||$p.msg.error_critical}),!0):e.error&&!e.messages?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-error",title:$p.msg.error_critical,text:$p.msg.unknown_error.replace("%1","unknown_error")}),!0):void 0:($p.msg.show_msg({type:"alert-error",text:$p.msg.empty_response,title:$p.msg.error_critical}),!0)},this.show_not_implemented=function(){$p.msg.show_msg({type:"alert-warning",text:$p.msg.not_implemented,title:$p.msg.main_title})})}function Meta(){function e(e){return e.info().then(function(){return e.get("meta")}).then(function(n){return t=n,n=null,e.get("meta_patch")}).then(function(e){return $p._patch(t,e),e=null,delete t._id,delete t._rev,t})}var t;_md=this,_md.create_managers=function(){},_md.init=function(n){function a(){return!n||i||s?e(n||$p.wsql.pouch.local.meta).then(function(){return i?void _md.create_managers():t}).catch($p.record_log):(t=n,n=null,_md.create_managers(),void 0)}var i=!n||$p.wsql.pouch&&n==$p.wsql.pouch.local.meta,s=n&&$p.wsql.pouch&&n==$p.wsql.pouch.local._meta;return $p.on("pouch_change",function(e,n){"meta"==e&&(t?setTimeout(function(){$p.iface.do_reload()},3e3):a())}),a()},_md.get=function(e,n){var a=e.split(".");if(!n)return t[a[0]][a[1]];var i={multiline_mode:!1,note:"",synonym:"",tooltip:"",type:{is_ref:!1,types:["string"]}},s="doc,tsk,bp".indexOf(a[0])!=-1,o="cat,cch,cacc,tsk".indexOf(a[0])!=-1;return s&&"number_doc"==n?(i.synonym="Номер",i.tooltip="Номер документа",i.type.str_len=11):s&&"date"==n?(i.synonym="Дата",i.tooltip="Дата документа",i.type.date_part="date_time",i.type.types[0]="date"):s&&"posted"==n?(i.synonym="Проведен",i.type.types[0]="boolean"):o&&"id"==n?i.synonym="Код":o&&"name"==n?i.synonym="Наименование":"_deleted"==n?(i.synonym="Пометка удаления",i.type.types[0]="boolean"):"is_folder"==n?(i.synonym="Это группа",i.type.types[0]="boolean"):"ref"==n?(i.synonym="Ссылка",i.type.is_ref=!0,i.type.types[0]=e):i=n?t[a[0]][a[1]].fields[n]:t[a[0]][a[1]],i},_md.get_classes=function(){ +!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.$p=t()}(this,function(){function MetaEngine(){this.__define({version:{value:"0.11.223",writable:!1},toString:{value:function(){return"Oknosoft data engine. v:"+this.version},writable:!1},utils:{value:new Utils},injected_data:{value:{},writable:!1},ajax:{value:new Ajax,writable:!1},msg:{value:new Messages,writable:!1},wsql:{value:new WSQL,writable:!1},eve:{value:new AppEvents,writable:!1},aes:{value:new Aes("metadata.js"),writable:!1},moment:{get:function(){return this.utils.moment}},_patch:{value:function(e,t){for(var n in t)"object"==typeof t[n]&&e[n]&&"object"==typeof e[n]?$p._patch(e[n],t[n]):e[n]=t[n];return e}},_find:{value:function(e,t,n){var a,i,s;if("object"!=typeof t)for(i in e){a=e[i];for(var o in a)if("function"!=typeof a[o]&&$p.utils.is_equal(a[o],t))return a}else for(i in e){a=e[i],s=!0;for(var o in t)if("function"!=typeof a[o]&&!$p.utils.is_equal(a[o],t[o])){s=!1;break}if(s)return a}}},_selection:{value:function(e,t){var n,a,i,s=!0;if(t)if("function"==typeof t)s=t.call(this,e);else for(n in t)if(a=t[n],i="object"==typeof a,"_"!=n.substr(0,1))if("function"==typeof a){if(s=a.call(this,e,n),!s)break}else if("or"==n&&Array.isArray(a)){if(s=a.some(function(t){var n=Object.keys(t)[0];return t[n].hasOwnProperty("like")?e[n]&&e[n].toLowerCase().indexOf(t[n].like.toLowerCase())!=-1:$p.utils.is_equal(e[n],t[n])}),!s)break}else if(i&&a.hasOwnProperty("like")){if(!e[n]||e[n].toLowerCase().indexOf(a.like.toLowerCase())==-1){s=!1;break}}else if(i&&a.hasOwnProperty("not")){if($p.utils.is_equal(e[n],a.not)){s=!1;break}}else if(i&&a.hasOwnProperty("in")){if(s=a.in.some(function(t){return $p.utils.is_equal(t,e[n])}),!s)break}else if(i&&a.hasOwnProperty("lt")){if(s=e[n]a.gt,!s)break}else if(i&&a.hasOwnProperty("between")){var o=e[n];if("number"!=typeof o&&(o=$p.utils.fix_date(e[n])),s=o>=a.between[0]&&o<=a.between[1],!s)break}else if(!$p.utils.is_equal(e[n],a)){s=!1;break}return s}},_find_rows:{value:function(e,t,n){var a,i,s=[],o=0;t&&(t._top?(i=t._top,delete t._top):i=300);for(var r in e)if(a=e[r],$p._selection.call(this,a,t)){if(n){if(n.call(this,a)===!1)break}else s.push(a);if(i&&(o++,o>=i))break}return s}},on:{value:function(e,t){if("object"!=typeof e)return this.eve.attachEvent(e,t);for(var n in e)e[n]._evnts||(e[n]._evnts=[]),e[n]._evnts.push(this.eve.attachEvent(n,e[n]))}},off:{value:function(e){"function"==typeof e&&e._evnts?e._evnts.forEach(function(e){$p.eve.detachEvent(e)}):e?$p.eve.detachEvent(e):$p.eve.detachAllEvents()}},record_log:{value:function(e){$p.ireg&&$p.ireg.$log&&$p.ireg.$log.record(e),console.log(e)}},md:{value:new Meta},enm:{value:new function(){this.toString=function(){return $p.msg.meta_enn_mgr}}},cat:{value:new function(){this.toString=function(){return $p.msg.meta_cat_mgr}}},doc:{value:new function(){this.toString=function(){return $p.msg.meta_doc_mgr}}},ireg:{value:new function(){this.toString=function(){return $p.msg.meta_ireg_mgr}}},areg:{value:new function(){this.toString=function(){return $p.msg.meta_areg_mgr}}},accreg:{value:new function(){this.toString=function(){return $p.msg.meta_accreg_mgr}}},dp:{value:new function(){this.toString=function(){return $p.msg.meta_dp_mgr}}},rep:{value:new function(){this.toString=function(){return $p.msg.meta_reports_mgr}}},cacc:{value:new function(){this.toString=function(){return $p.msg.meta_charts_of_accounts_mgr}}},cch:{value:new function(){this.toString=function(){return $p.msg.meta_charts_of_characteristic_mgr}}},tsk:{value:new function(){this.toString=function(){return $p.msg.meta_task_mgr}}},bp:{value:new function(){this.toString=function(){return $p.msg.meta_bp_mgr}}},DataManager:{value:DataManager},RefDataManager:{value:RefDataManager},DataProcessorsManager:{value:DataProcessorsManager},EnumManager:{value:EnumManager},RegisterManager:{value:RegisterManager},InfoRegManager:{value:InfoRegManager},LogManager:{value:LogManager},AccumRegManager:{value:AccumRegManager},CatManager:{value:CatManager},ChartOfCharacteristicManager:{value:ChartOfCharacteristicManager},ChartOfAccountManager:{value:ChartOfAccountManager},DocManager:{value:DocManager},TaskManager:{value:TaskManager},BusinessProcessManager:{value:BusinessProcessManager},DataObj:{value:DataObj},CatObj:{value:CatObj},DocObj:{value:DocObj},DataProcessorObj:{value:DataProcessorObj},TaskObj:{value:TaskObj},BusinessProcessObj:{value:BusinessProcessObj},EnumObj:{value:EnumObj},RegisterRow:{value:RegisterRow},TabularSection:{value:TabularSection},TabularSectionRow:{value:TabularSectionRow}})}function Utils(){this.moment="function"==typeof moment?moment:require("moment"),this.moment._masks={date:"DD.MM.YY",date_time:"DD.MM.YYYY HH:mm",ldt:"DD MMMM YYYY, HH:mm",iso:"YYYY-MM-DDTHH:mm:ss"},this.fix_date=function(e,t){if(e instanceof Date)return e;var n=this.moment(e,["DD-MM-YYYY","DD-MM-YYYY HH:mm","DD-MM-YYYY HH:mm:ss","DD-MM-YY HH:mm","YYYYDDMMHHmmss",this.moment.ISO_8601]);return n.isValid()?n.toDate():t?this.blank.date:e},this.fix_guid=function(e,t){if(e&&"string"==typeof e);else{if(e instanceof DataObj)return e.ref;if(e&&"object"==typeof e)if(e.presentation){if(e.ref)return e.ref;if(e.name)return e.name}else e="object"==typeof e.ref&&e.ref.hasOwnProperty("ref")?e.ref.ref:e.ref}return this.is_guid(e)||t===!1?e:t?this.generate_guid():this.blank.guid},this.fix_number=function(e,t){var n=parseFloat(e);return isNaN(n)?t?0:e:n},this.fix_boolean=function(e){return"string"==typeof e?!(!e||"false"==e.toLowerCase()):!!e},this.blank={date:this.fix_date("0001-01-01T00:00:00"),guid:"00000000-0000-0000-0000-000000000000",by_type:function(e){var t;return t=e.is_ref?this.guid:e.date_part?this.date:e.digits?0:(!e.types||"boolean"!=e.types[0])&&""}},this.fetch_type=function(e,t){var n=e;return t.is_ref?n=this.fix_guid(e):t.date_part?n=this.fix_date(e,!0):t.digits?n=this.fix_number(e,!0):"boolean"==t.types[0]&&(n=this.fix_boolean(e)),n},this.date_add_day=function(e,t,n){var a=new Date(e);return a.setDate(e.getDate()+t),n&&a.setHours(0,-a.getTimezoneOffset(),0,0),a},this.generate_guid=function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?n:7&n|8).toString(16)})},this.is_guid=function(e){return!("string"!=typeof e||e.length<36)&&(e.length>36&&(e=e.substr(0,36)),/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e))},this.is_empty_guid=function(e){return!e||e===this.blank.guid},this.is_data_obj=function(e){return e&&e instanceof DataObj},this.is_data_mgr=function(e){return e&&e instanceof DataManager},this.is_equal=function(e,t){return e==t||typeof e!=typeof t&&this.fix_guid(e,!1)==this.fix_guid(t,!1)},this.blob_as_text=function(e,t){return new Promise(function(n,a){var i=new FileReader;i.onload=function(e){n(i.result)},i.onerror=function(e){a(e)},"data_url"==t?i.readAsDataURL(e):i.readAsText(e)})}}function Ajax(){function e(e,t,n,a,i){return new Promise(function(s,o){if("undefined"==typeof window&&a&&a.request)a.request({url:encodeURI(t),headers:{Authorization:a.auth}},function(e,t,n){e?o(e):200!=t.statusCode?o({message:t.statusMessage,description:n,status:t.statusCode}):s({response:n})});else{var r=new XMLHttpRequest;if(window.dhx4&&window.dhx4.isIE&&(t=encodeURI(t)),a){var l,c;"object"==typeof a&&a.username&&a.hasOwnProperty("password")?(l=a.username,c=a.password):$p.ajax.username&&$p.ajax.authorized?(l=$p.ajax.username,c=$p.aes.Ctr.decrypt($p.ajax.password)):(l=$p.wsql.get_user_param("user_name"),c=$p.aes.Ctr.decrypt($p.wsql.get_user_param("user_pwd")),!l&&$p.job_prm&&$p.job_prm.guest_name&&(l=$p.job_prm.guest_name,c=$p.aes.Ctr.decrypt($p.job_prm.guest_pwd))),r.open(e,t,!0,l,c),r.withCredentials=!0,r.setRequestHeader("Authorization","Basic "+btoa(unescape(encodeURIComponent(l+":"+c))))}else r.open(e,t,!0);i&&i.call(this,r),"GET"!=e?this.hide_headers||a.hide_headers||(r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.setRequestHeader("X-Requested-With","XMLHttpRequest")):n=null,r.onload=function(){200==r.status&&(r.response instanceof Blob||"62135622e6?this.js_time_diff:e}},set_user_param:{value:function(t,a){var i=a;"object"==typeof a?i=JSON.stringify(a):a===!1&&(i=""),e.setItem($p.job_prm.local_storage_prefix+t,i),n[t]=a}},get_user_param:{value:function(t,a){return!n.hasOwnProperty(t)&&e&&(n[t]=this.fetch_type(e.getItem($p.job_prm.local_storage_prefix+t),a)),n[t]}},promise:{value:function(e,n){return new Promise(function(a,i){t.alasql(e,n||[],function(e,t){t?i(t):a(e)})})}},save_options:{value:function(e,n){return t.set_user_param(e+"_"+n.name,n)}},restore_options:{value:function(e,n){var a=t.get_user_param(e+"_"+n.name,"object");for(var i in a)if("object"!=typeof a[i])n[i]=a[i];else{n[i]||(n[i]={});for(var s in a[i])n[i][s]=a[i][s]}return n}},fetch_type:{value:function(e,t){if("object"==t){try{e=JSON.parse(e)}catch(t){e={}}return e}return"number"==t?$p.utils.fix_number(e,!0):"date"==t?$p.utils.fix_date(e,!0):"boolean"==t?$p.utils.fix_boolean(e):e}},alasql:{value:"undefined"!=typeof alasql?alasql:require("alasql")},init_params:{value:function(){if(!$p.job_prm.local_storage_prefix&&!$p.job_prm.create_tables)return Promise.resolve();e="undefined"==typeof localStorage?"undefined"==typeof WorkerGlobalScope?new require("node-localstorage").LocalStorage("./localstorage"):{setItem:function(e,t){},getItem:function(e){}}:localStorage;var n,a=[{p:"user_name",v:"",t:"string"},{p:"user_pwd",v:"",t:"string"},{p:"browser_uid",v:$p.utils.generate_guid(),t:"string"},{p:"zone",v:$p.job_prm.hasOwnProperty("zone")?$p.job_prm.zone:1,t:$p.job_prm.zone_is_string?"string":"number"},{p:"enable_save_pwd",v:$p.job_prm.enable_save_pwd,t:"boolean"},{p:"autologin",v:"",t:"boolean"},{p:"skin",v:"dhx_web",t:"string"},{p:"rest_path",v:"",t:"string"}];$p.job_prm.additional_params&&(a=a.concat($p.job_prm.additional_params)),e.getItem($p.job_prm.local_storage_prefix+"zone")||(n=$p.job_prm.hasOwnProperty("zone")?$p.job_prm.zone:1),$p.job_prm.url_prm.hasOwnProperty("zone")&&(n=$p.job_prm.zone_is_string?$p.job_prm.url_prm.zone:$p.utils.fix_number($p.job_prm.url_prm.zone,!0)),void 0!==n&&t.set_user_param("zone",n),a.forEach(function(e){(void 0==t.get_user_param(e.p,e.t)||!t.get_user_param(e.p,e.t)&&e.p.indexOf("url")!=-1)&&t.set_user_param(e.p,$p.job_prm.hasOwnProperty(e.p)?$p.job_prm[e.p]:e.v)});var i={path:t.get_user_param("couch_path","string")||$p.job_prm.couch_path||"",zone:t.get_user_param("zone","number"),prefix:$p.job_prm.local_storage_prefix,suffix:t.get_user_param("couch_suffix","string")||"",user_node:$p.job_prm.user_node,noreplicate:$p.job_prm.noreplicate};i.path&&(t.__define("pouch",{value:new Pouch}),t.pouch.init(i)),this.create_tables&&(this.alasq(this.create_tables,[]),this.create_tables="")}},drop_tables:{value:function(e){function n(){s--,s<=0?setTimeout(e,10):a()}function a(){var e=o[s-1].tableid;"_"==e.substr(0,1)?n():t.alasql("drop table IF EXISTS "+e,[],n)}function i(e){o=e,(s=e.length)?a():n()}var s=0,o=[];t.alasql("SHOW TABLES",[],i)}}}),this.__define({aladb:{value:new this.alasql.Database("md")}})}function Col_struct(e,t,n,a,i,s){this.id=e,this.width=t,this.type=n,this.align=a,this.sort=i,this.caption=s}function InterfaceObjs(){function e(e,t,n){if(this.layout=e.attachLayout({pattern:"2U",cells:[{id:"a",text:"Разделы",collapsed_text:"Разделы",width:220},{id:"b",text:"Раздел",header:!1}],offsets:{top:0,right:0,bottom:0,left:0}}),this.tree=this.layout.cells("a").attachTreeView(),this.tree.attachEvent("onSelect",function(e,t){if(t){var a=$p.md.mgr_by_class_name(e);a instanceof DataProcessorsManager?a.form_rep(this.layout.cells("b"),n||{hide_header:!0}):a&&a.form_list(this.layout.cells("b"),n||{hide_header:!0})}}.bind(this)),!t){var a=$p.md.get_classes();t=[];for(var i in a)a[i].length&&t.push(i)}1==t.length?$p.md.get_classes()[t[0]].forEach(function(e){var n=t[0]+"."+e,a=$p.md.get(n);a.hide||(this.tree.addItem(n,a.list_presentation||a.synonym),this.tree.setItemIcons(n,{file:"icon_1c_"+t[0]}))}.bind(this)):t.forEach(function(e){this.tree.addItem(e,$p.msg["meta_"+e]),this.tree.setItemIcons(e,{file:"icon_1c_"+e,folder_opened:"icon_1c_"+e,folder_closed:"icon_1c_"+e}),$p.md.get_classes()[e].forEach(function(t){var n=e+"."+t,a=$p.md.get(n);a.hide||(this.tree.addItem(n,a.list_presentation||a.synonym,e),this.tree.setItemIcons(n,{file:"icon_1c_"+e}))}.bind(this))}.bind(this))}function t(e){e.attachHTMLString($p.injected_data["view_settings.html"]),this.cont=e.cell.querySelector(".dhx_cell_cont_tabbar"),this.cont.style.overflow="auto",this.form2=function(e){var t=new dhtmlXForm(e,[{type:"settings",labelWidth:80,position:"label-left"},{type:"label",labelWidth:320,label:"Адрес CouchDB",className:"label_options"},{type:"input",inputWidth:220,name:"couch_path",label:"Путь:",validate:"NotEmpty"},{type:"template",label:"",value:"",note:{text:"Можно указать как относительный, так и абсолютный URL публикации CouchDB",width:320}},{type:"label",labelWidth:320,label:"Адрес http сервиса 1С",className:"label_options"},{type:"input",inputWidth:220,name:"rest_path",label:"Путь",validate:"NotEmpty"},{type:"template",label:"",value:"",note:{text:"Можно указать как относительный, так и абсолютный URL публикации 1С OData",width:320}},{type:"label",labelWidth:320,label:"Значение разделителя данных",className:"label_options"},{type:"input",inputWidth:220,name:"zone",label:"Зона:",numberFormat:["0","",""],validate:"NotEmpty,ValidInteger"},{type:"template",label:"",value:"",note:{text:"Для неразделенной публикации, зона = 0",width:320}},{type:"label",labelWidth:320,label:"Суффикс базы пользователя",className:"label_options"},{type:"input",inputWidth:220,name:"couch_suffix",label:"Суффикс:"},{type:"template",label:"",value:"",note:{text:"Назначается абоненту при регистрации",width:320}},{type:"block",blockOffset:0,name:"block_buttons",list:[{type:"button",name:"save",value:"",tooltip:"Применить настройки и перезагрузить программу"},{type:"newcolumn"},{type:"button",offsetLeft:20,name:"reset",value:"",tooltip:"Стереть справочники и перезаполнить данными сервера"}]}]);return t.cont.style.fontSize="100%",["zone","couch_path","couch_suffix","rest_path"].forEach(function(e){"zone"==e?t.setItemValue(e,$p.wsql.get_user_param(e)):t.setItemValue(e,$p.wsql.get_user_param(e)||$p.job_prm[e])}),t.attachEvent("onChange",function(e,t,n){$p.wsql.set_user_param(e,"enable_save_pwd"==e?n||"":t)}),t.disableItem("couch_suffix"),$p.job_prm.rest_path||t.disableItem("rest_path"),t.attachEvent("onButtonClick",function(e){"save"==e?($p.wsql.pouch.log_out(),setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)):"reset"==e&&dhtmlx.confirm({title:"Сброс данных",text:"Стереть справочники и перезаполнить данными сервера?",cancel:$p.msg.cancel,callback:function(e){e&&$p.wsql.pouch.reset_local_data()}})}),t}(this.cont.querySelector("[name=form2]").firstChild),this.form1=function(e){var t=new dhtmlXForm(e,[{type:"settings",labelWidth:320,position:"label-left"},{type:"label",label:"Тип устройства",className:"label_options"},{type:"block",blockOffset:0,name:"block_device_type",list:[{type:"settings",labelAlign:"left",position:"label-right"},{type:"radio",name:"device_type",labelWidth:120,label:' Компьютер',value:"desktop"},{type:"newcolumn"},{type:"radio",name:"device_type",labelWidth:150,label:' Телефон, планшет',value:"phone"}]},{type:"template",label:"",value:"",note:{text:"Класс устройства определяется автоматически, но пользователь может задать его явно",width:320}},{type:"label",label:"Сохранять пароль пользователя",className:"label_options"},{type:"checkbox",name:"enable_save_pwd",label:"Разрешить:",labelWidth:90,checked:$p.wsql.get_user_param("enable_save_pwd","boolean")},{type:"template",label:"",value:"",note:{text:"Не рекомендуется, если к компьютеру имеют доступ посторонние лица",width:320}},{type:"template",label:"",value:"",note:{text:"",width:320}},{type:"label",label:"Подключаемые модули",className:"label_options"},{type:"input",position:"label-top",inputWidth:320,name:"modifiers",label:"Модификаторы:",value:$p.wsql.get_user_param("modifiers"),rows:3,style:"height:80px;"},{type:"template",label:"",value:"",note:{text:"Список дополнительных модулей",width:320}}]);return t.cont.style.fontSize="100%",t.checkItem("device_type",$p.job_prm.device_type),t.attachEvent("onChange",function(e,t,n){$p.wsql.set_user_param(e,"enable_save_pwd"==e?n||"":t)}),t.disableItem("modifiers"),t.getInput("modifiers").onchange=function(){$p.wsql.set_user_param("modifiers",this.value)},t}(this.cont.querySelector("[name=form1]").firstChild)}var n=this;this.clear_svgs=function(e){for("string"==typeof e&&(e=document.getElementById(e));e.firstChild;)e.removeChild(e.firstChild)},this.get_offset=function(e){var t={left:0,top:0};if(e.offsetParent)do t.left+=e.offsetLeft,t.top+=e.offsetTop;while(e=e.offsetParent);return t},this.normalize_xml=function(e){if(!e)return"";var t={"&":"&",'"':""","'":"'","<":"<",">":">"};return e.replace(/[&"'<>]/g,function(e){return t[e]})},this.scale_svg=function(e,t,n){var a,i,s,o,r,l,c,p,d,u={},f="number"==typeof t?t:t.height,m="number"==typeof t?(1.5*t).round(0):t.width,h="number"==typeof t?1/0:t.zoom||1/0;r=e.indexOf(">"),c=e.substring(5,r),s=c.split(" "),o=e.substr(r+1),o=o.substr(0,o.length-6);for(a in s)e=s[a].split("="),"width,height,x,y".indexOf(e[0])!=-1&&(e[1]=Number(e[1].replace(/"/g,"")),u[e[0]]=e[1]);(l=c.indexOf("viewBox="))!=-1?(p=c.substring(l+9),d='viewBox="'+p.substring(0,p.indexOf('"'))+'"'):d='viewBox="'+(u.x||0)+" "+(u.y||0)+" "+(u.width-n)+" "+(u.height-n)+'"';var _=u.height,g=u.width;return i=(f-n)/_,u.height=f,u.width=(g*i).round(0),u.width>m&&(i=(m-n)/g,u.height=(_*i).round(0),u.width=m),i>h&&(i=h,u.height=(_*i).round(0),u.width=(g*i).round(0)),u.x=(u.x*i).round(0),u.y=(u.y*i).round(0),'"+o+""},this.bind_help=function(e,t){function n(e){if(!e.help_path)return void $p.msg.show_msg({title:"Справка",type:"alert-info",text:$p.msg.not_implemented})}e instanceof dhtmlXCellObject||(!e.help_path&&t&&(e.help_path=t),e.button("help").show(),e.button("help").enable(),e.attachEvent("onHelp",n))},this.set_hash=function(e,t,a,i){var s={},o=$p.job_prm.parse_url();1==arguments.length&&"object"==typeof e&&(s=e,s.hasOwnProperty("obj")&&(e=s.obj,delete s.obj),s.hasOwnProperty("ref")&&(t=s.ref,delete s.ref),s.hasOwnProperty("frm")&&(a=s.frm,delete s.frm),s.hasOwnProperty("view")&&(i=s.view,delete s.view)),void 0===e&&(e=o.obj||""),void 0===t&&(t=o.ref||""),void 0===a&&(a=o.frm||""),void 0===i&&(i=o.view||"");var r="obj="+e+"&ref="+t+"&frm="+a+"&view="+i;for(var l in s)r+="&"+l+"="+s[l];location.hash.substr(1)==r?n.hash_route():location.hash=r},this.hash_route=function(e){var t,a=$p.job_prm.parse_url(),i=$p.eve.callEvent("hash_route",[a]);if(i===!1||n.before_route&&n.before_route(e)===!1||$p.ajax.authorized&&(a.ref&&"undefined"!=typeof _md?(t=_md.mgr_by_class_name(a.obj),t&&t[a.frm||"form_obj"](n.docs,a.ref)):a.view&&n.swith_view&&n.swith_view(a.view)),e)return n.cancel_bubble(e)},this.cancel_bubble=function(e){var t=e||event;return t&&t.stopPropagation&&t.stopPropagation(),t&&!t.cancelBubble&&(t.cancelBubble=!0),!1},this.Col_struct=Col_struct,this.init_sidebar=function(e,t,a){n.btn_auth_sync=new n.OBtnAuthSync,n.btns_nav=function(e){return n.btn_auth_sync.bind(new n.OTooolBar({wrapper:e,class_name:"md_otbnav",width:"260px",height:"28px",top:"3px",right:"3px",name:"right",buttons:t,onclick:function(e){return n.main.cells(e).setActive(!0),!1}}))},n.main=new dhtmlXSideBar({parent:document.body,icons_path:a||"dist/imgs/",width:180,header:!0,template:"tiles",autohide:!0,items:e,offsets:{top:0,right:0,bottom:0,left:0}}),n.main.attachEvent("onSelect",function(e){var t=$p.job_prm.parse_url();t.view!=e&&n.set_hash(t.obj,t.ref,t.frm,e),n["view_"+e](n.main.cells(e))}),n.main.progressOn();var i=$p.job_prm.parse_url();i.view&&n.main.getAllItems().indexOf(i.view)!=-1?setTimeout(n.hash_route):n.set_hash(i.obj,i.ref,i.frm,"doc")},this.All_meta_objs=e,this.Setting2col=t,this.do_reload=function(){function e(){dhtmlx.confirm({title:$p.msg.file_new_date_title,text:$p.msg.file_new_date,ok:"Перезагрузка",cancel:"Продолжить",callback:function(n){n?($p.wsql.pouch.log_out(),setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)):(t++,setTimeout(e,3e4*t))}})}var t=0;e()}}function Pouch(){var e,t,n,a,i=this,s={};i.__define({DB:{value:"undefined"==typeof PouchDB?require("pouchdb-core").plugin(require("pouchdb-adapter-memory")).plugin(require("pouchdb-adapter-http")).plugin(require("pouchdb-replication")).plugin(require("pouchdb-mapreduce")):PouchDB},init:{value:function(e){s._mixin(e),s.path&&0!=s.path.indexOf("http")&&"undefined"!=typeof location&&(s.path=location.protocol+"//"+location.host+s.path)}},local:{get:function(){if(!e){var t={auto_compaction:!0,revs_limit:2};e={ram:new i.DB(s.prefix+s.zone+"_ram",t),doc:new i.DB(s.prefix+s.zone+"_doc",t),meta:new i.DB(s.prefix+"meta",t),sync:{}}}return s.path&&!e._meta&&(e._meta=new i.DB(s.path+"meta",{auth:{username:"guest",password:"meta"},skip_setup:!0}),i.run_sync(e.meta,e._meta,"meta")),e}},remote:{get:function(){return!t&&n&&(t={ram:new i.DB(s.path+s.zone+"_ram",{auth:{username:n.username,password:n.password},skip_setup:!0}),doc:new i.DB(s.path+s.zone+"_doc"+s.suffix,{auth:{username:n.username,password:n.password},skip_setup:!0})}),t}},log_in:{value:function(e,t){return void 0==e&&void 0==t&&(e=$p.job_prm.guest_name,t=$p.aes.Ctr.decrypt($p.job_prm.guest_pwd)),n?n.username==e?Promise.resolve():Promise.reject():$p.ajax.get_ex(s.path+s.zone+"_ram",{username:e,password:t}).then(function(a){return n={username:e,password:t},setTimeout(function(){dhx4.callEvent("log_in",[e])}),{ram:i.run_sync(i.local.ram,i.remote.ram,"ram"),doc:i.run_sync(i.local.doc,i.remote.doc,"doc")}})}},log_out:{value:function(){if(n){if(e.sync.doc)try{e.sync.doc.cancel()}catch(e){}if(e.sync.ram)try{e.sync.ram.cancel()}catch(e){}n=null}t&&t.ram&&delete t.ram,t&&t.doc&&delete t.doc,t=null,dhx4.callEvent("log_out")}},reset_local_data:{value:function(){var e=i.local.ram.destroy.bind(i.local.ram),t=i.local.doc.destroy.bind(i.local.doc),n=function(){setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)};i.log_out(),setTimeout(function(){e().then(t).catch(t).then(n).catch(n)},1e3)}},load_data:{value:function(){var e={limit:800,include_docs:!0},t={total_rows:0,limit:e.limit,page:0,start:Date.now()};return new Promise(function(n,s){function o(){i.local.ram.allDocs(e,function(r,l){l?(t.page++,t.total_rows=l.total_rows,t.duration=Date.now()-t.start,$p.eve.callEvent("pouch_load_data_page",[t]),i.load_changes(l,e)?o():(n(),a=!0,$p.eve.callEvent("pouch_load_data_loaded",[t]),t.note="pouch_load_data_loaded",$p.record_log(t))):r&&(s(r),$p.eve.callEvent("pouch_load_data_error",[r]))})}i.local.ram.info().then(function(e){e.doc_count>=($p.job_prm.pouch_ram_doc_count||10)?($p.eve.callEvent("pouch_load_data_start",[t]),o()):($p.eve.callEvent("pouch_load_data_error",[e]),s(e))})})}},authorized:{get:function(){return n&&n.username}},data_loaded:{get:function(){return!!a}},run_sync:{value:function(t,n,s){var o,r;return t.info().then(function(e){return o=e,n.info()}).then(function(e){return"ram"!=s?e:n.get("data_version").then(function(t){return t.version!=$p.wsql.get_user_param("couch_ram_data_version")&&($p.wsql.get_user_param("couch_ram_data_version")&&(e=i.reset_local_data()),$p.wsql.set_user_param("couch_ram_data_version",t.version)),e}).catch(function(e){$p.record_log(e)}).then(function(){return e})}).then(function(l){if(l){"ram"==s&&o.doc_count<($p.job_prm.pouch_ram_doc_count||10)?(r={total_rows:l.doc_count,local_rows:o.doc_count,docs_written:0,limit:200,page:0,start:Date.now()},$p.eve.callEvent("pouch_load_data_start",[r])):"doc"==s&&setTimeout(function(){$p.eve.callEvent("pouch_doc_sync_start")});var c={live:!0,retry:!0,batch_size:300,batches_limit:8};return"meta"==s?c.filter="auth/meta":$p.job_prm.pouch_filter&&$p.job_prm.pouch_filter[s]&&(c.filter=$p.job_prm.pouch_filter[s]),"ram"==s||"meta"==s||$p.wsql.get_user_param("zone")==$p.job_prm.zone_demo?e.sync[s]=t.replicate.from(n,c):e.sync[s]=t.sync(n,c),e.sync[s].on("change",function(e){"ram"==s?(i.load_changes(e),o.doc_count<($p.job_prm.pouch_ram_doc_count||10)&&(r.page++,r.docs_written=e.docs_written,r.duration=Date.now()-r.start,$p.eve.callEvent("pouch_load_data_page",[r]),r.docs_written>=r.total_rows&&(a=!0,$p.eve.callEvent("pouch_load_data_loaded",[r]),r.note="pouch_load_data_loaded",$p.record_log(r)))):(e.update_only=!0,i.load_changes(e)),$p.eve.callEvent("pouch_change",[s,e])}).on("paused",function(e){e&&$p.eve.callEvent("pouch_paused",[s,e])}).on("active",function(e){$p.eve.callEvent("pouch_active",[s,e])}).on("denied",function(e){$p.eve.callEvent("pouch_denied",[s,e])}).on("complete",function(e){$p.eve.callEvent("pouch_complete",[s,e])}).on("error",function(e){$p.eve.callEvent("pouch_error",[s,e])}),e.sync[s]}})}},load_obj:{value:function(e){return e._manager.pouch_db.get(e._manager.class_name+"|"+e.ref).then(function(t){delete t._id,delete t._rev,e._mixin(t)._set_loaded()}).catch(function(e){if(404!=e.status)throw e}).then(function(t){return e})}},save_obj:{value:function(e,t){var n=e._obj._clone(),a=t.db||e._manager.pouch_db;return n._id=e._manager.class_name+"|"+e.ref,delete n.ref,t.attachments&&(n._attachments=t.attachments),(e.is_new()?Promise.resolve():a.get(n._id)).then(function(e){if(e){n._rev=e._rev;for(var t in e._attachments)n._attachments||(n._attachments={}),n._attachments[t]||(n._attachments[t]=e._attachments[t])}}).catch(function(e){if(404!=e.status)throw e}).then(function(){return a.put(n)}).then(function(){if(e.is_new()&&e._set_loaded(e.ref),n._attachments){e._attachments||(e._attachments={});for(var a in n._attachments)e._attachments[a]&&n._attachments[a].stub||(e._attachments[a]=n._attachments[a])}return n=null,t=null,e})}},load_changes:{value:function(e,t){var n,a,i,s,o={};if(t)n=e.rows;else if(e.direction){if("pull"!=e.direction)return;n=e.change.docs}else n=e.docs;if(n.length>0){t&&(t.startkey=n[n.length-1].key,t.skip=1),n.forEach(function(e){if(a=t?e.doc:e,!a)if(e.value&&e.value.deleted)a={_id:e.id,_deleted:!0};else if(e.error)return;s=a._id.split("|"),i=s[0].split("."),a.ref=s[1],delete a._id,delete a._rev,o[i[0]]||(o[i[0]]={}),o[i[0]][i[1]]||(o[i[0]][i[1]]=[]),o[i[0]][i[1]].push(a)});for(var r in o)for(i in o[r])$p[r]&&$p[r][i]&&$p[r][i].load_array(o[r][i],!e.update_only||"update_only");return o=e=n=a=null,!0}return!1}},backup_database:{value:function(e){}},restore_database:{value:function(e){}}})}function Messages(){this.toString=function(){return"Интернационализация сообщений"},"undefined"!=typeof window&&"dhtmlx"in window&&(this.show_msg=function(e,t){if(e){if("string"==typeof e){if($p.iface.synctxt)return void $p.iface.synctxt.show_message(e);e={type:"info",text:e}}t&&"function"==typeof t.setText&&t.setText(e.text),dhtmlx.message(e)}},this.check_soap_result=function(e){return e?"limit_query"==e.error?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-warning",text:$p.msg.limit_query.replace("%1",e.queries).replace("%2",e.queries_avalable),title:$p.msg.srv_overload}),!0):"network"==e.error||"empty"==e.error?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-warning",text:$p.msg.error_network,title:$p.msg.error_critical}),!0):e.error&&e.error_description?($p.iface.docs.progressOff(),e.error_description.indexOf("Недостаточно прав")!=-1&&(e.error_type="alert-warning",e.error_title=$p.msg.error_rights),$p.msg.show_msg({type:e.error_type||"alert-error",text:e.error_description,title:e.error_title||$p.msg.error_critical}),!0):e.error&&!e.messages?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-error",title:$p.msg.error_critical,text:$p.msg.unknown_error.replace("%1","unknown_error")}),!0):void 0:($p.msg.show_msg({type:"alert-error",text:$p.msg.empty_response,title:$p.msg.error_critical}),!0)},this.show_not_implemented=function(){$p.msg.show_msg({type:"alert-warning",text:$p.msg.not_implemented,title:$p.msg.main_title})})}function Meta(){function e(e){return e.info().then(function(){return e.get("meta")}).then(function(n){return t=n,n=null,e.get("meta_patch")}).then(function(e){return $p._patch(t,e),e=null,delete t._id,delete t._rev,t})}var t;_md=this,_md.create_managers=function(){},_md.init=function(n){function a(){return!n||i||s?e(n||$p.wsql.pouch.local.meta).then(function(){return i?void _md.create_managers():t}).catch($p.record_log):(t=n,n=null,_md.create_managers(),void 0)}var i=!n||$p.wsql.pouch&&n==$p.wsql.pouch.local.meta,s=n&&$p.wsql.pouch&&n==$p.wsql.pouch.local._meta;return $p.on("pouch_change",function(e,n){"meta"==e&&(t?setTimeout(function(){$p.iface.do_reload()},3e3):a())}),a()},_md.get=function(e,n){var a=e.split(".");if(!n)return t[a[0]][a[1]];var i={multiline_mode:!1,note:"",synonym:"",tooltip:"",type:{is_ref:!1,types:["string"]}},s="doc,tsk,bp".indexOf(a[0])!=-1,o="cat,cch,cacc,tsk".indexOf(a[0])!=-1;return s&&"number_doc"==n?(i.synonym="Номер",i.tooltip="Номер документа",i.type.str_len=11):s&&"date"==n?(i.synonym="Дата",i.tooltip="Дата документа",i.type.date_part="date_time",i.type.types[0]="date"):s&&"posted"==n?(i.synonym="Проведен",i.type.types[0]="boolean"):o&&"id"==n?i.synonym="Код":o&&"name"==n?i.synonym="Наименование":"_deleted"==n?(i.synonym="Пометка удаления",i.type.types[0]="boolean"):"is_folder"==n?(i.synonym="Это группа",i.type.types[0]="boolean"):"ref"==n?(i.synonym="Ссылка",i.type.is_ref=!0,i.type.types[0]=e):i=n?t[a[0]][a[1]].fields[n]:t[a[0]][a[1]],i},_md.get_classes=function(){ var e={};for(var n in t){e[n]=[];for(var a in t[n])e[n].push(a)}return e},_md.sql_type=function(e,t,n,a){var i;return i="type"==t&&"cch_properties"==e.table_name||"svg"==t&&"cat_production_params"==e.table_name?" JSON":n.is_ref||n.types.indexOf("guid")!=-1?a?n.types.every(function(e){return 0==e.indexOf("enm.")})?" character varying(100)":n.hasOwnProperty("str_len")?" character varying("+Math.max(36,n.str_len)+")":" uuid":" CHAR":n.hasOwnProperty("str_len")?a?n.str_len?" character varying("+n.str_len+")":" text":" CHAR":n.date_part?a&&"date"!=n.date_part?"date_time"==n.date_part?" timestamp with time zone":" time without time zone":" Date":n.hasOwnProperty("digits")?0==n.fraction_figits?a?n.digits<7?" integer":" bigint":" INT":a?" numeric("+n.digits+","+n.fraction_figits+")":" FLOAT":n.types.indexOf("boolean")!=-1?" BOOLEAN":n.types.indexOf("json")!=-1?" JSON":a?" character varying(255)":" CHAR"},_md.sql_composite=function(e,t,n,a){var i="";return e[t].type.types.length>1&&"type"!=t&&(n=n?n.substr(0,29)+"_T":t.substr(0,29)+"_T",i=a?', "'+n+'" character varying(255)':_md.sql_mask(n)+" CHAR"),i},_md.sql_mask=function(e,t){return", "+(t?"_t_.":"")+("`"+e+"`")},_md.mgr_by_class_name=function(e){if(e){var t=e.split(".");if(t[1]&&$p[t[0]])return $p[t[0]][t[1]]}},_md.value_mgr=function(e,t,n,a,i){function s(e){return e&&1==n.types.length&&(n._mgr=e),e}var o,r,l,c,p;if(n._mgr)return n._mgr;if(1==n.types.length){if(l=n.types[0].split("."),l.length>1&&$p[l[0]])return s($p[l[0]][l[1]])}else if(i&&i.type&&(l=i.type.split("."),l.length>1&&$p[l[0]]))return s($p[l[0]][l[1]]);if(o=e.property||e.param,"value"==t&&o){if($p.utils.is_data_obj(o))r=o;else{if(!$p.utils.is_guid(o))return;r=$p.cch.properties.get(o,!1)}if($p.utils.is_data_obj(r)){if(r.is_new())return $p.cat.property_values;if(c=[],r.type.types.forEach(function(e){l=e.split("."),l.length>1&&$p[l[0]][l[1]]&&c.push($p[l[0]][l[1]])}),1==c.length||e[t]==$p.utils.blank.guid)return s(c[0]);if(a)return c;if((o=e[t])instanceof DataObj)return o._manager;if($p.utils.is_guid(o)&&o!=$p.utils.blank.guid)for(var d in c)if(p=c[d],p.get(o,!1,!0))return p}}else{if(c=[],n.types.forEach(function(e){l=e.split("."),l.length>1&&$p[l[0]][l[1]]&&c.push($p[l[0]][l[1]])}),1==c.length||e[t]==$p.utils.blank.guid)return s(c[0]);if(a)return c;if((o=e[t])instanceof DataObj)return o._manager;if($p.utils.is_guid(o)&&o!=$p.utils.blank.guid)for(var d in c)if(p=c[d],p.get(o,!1,!0))return p}},_md.control_by_type=function(e,t){var n;return n="boolean"==typeof t&&e.types.indexOf("boolean")!=-1?"ch":"number"==typeof t&&e.digits?e.fraction_figits<5?"calck":"edn":t instanceof Date&&e.date_part?"dhxCalendar":e.is_ref?"ocombo":e.date_part?"dhxCalendar":e.digits?e.fraction_figits<5?"calck":"edn":"boolean"==e.types[0]?"ch":e.hasOwnProperty("str_len")&&(e.str_len>=100||0==e.str_len)?"txt":"ed"},_md.ts_captions=function(e,t,n){n||(n={});var a,i=_md.get(e).tabular_sections[t],s=_md.get(e).form,o=i.fields;if(s&&s.obj){if(!s.obj.tabular_sections[t])return;n._mixin(s.obj.tabular_sections[t])}else{"contact_information"===t&&(o={type:"",kind:"",presentation:""}),n.fields=["row"],n.headers="№",n.widths="40",n.min_widths="",n.aligns="",n.sortings="na",n.types="cntr";for(var r in o)a=i.fields[r],a.hide||(n.fields.push(r),n.headers+=","+(a.synonym?a.synonym.replace(/,/g," "):r),n.types+=","+_md.control_by_type(a.type),n.sortings+=",na")}return!0},_md.syns_js=function(e){var n={DeletionMark:"_deleted",Description:"name",DataVersion:"data_version",IsFolder:"is_folder",Number:"number_doc",Date:"date","Дата":"date",Posted:"posted",Code:"id",Parent_Key:"parent",Owner_Key:"owner",Owner:"owner",Ref_Key:"ref","Ссылка":"ref",LineNumber:"row"};return n[e]?n[e]:t.syns_js[t.syns_1с.indexOf(e)]||e},_md.syns_1с=function(e){var n={_deleted:"DeletionMark",name:"Description",is_folder:"IsFolder",number_doc:"Number",date:"Date",posted:"Posted",id:"Code",ref:"Ref_Key",parent:"Parent_Key",owner:"Owner_Key",row:"LineNumber"};return n[e]?n[e]:t.syns_1с[t.syns_js.indexOf(e)]||e},_md.printing_plates=function(e){if(e)for(var n in e.doc)t.doc[n].printing_plates=e.doc[n]},_md.class_name_from_1c=function(e){var t=e.split(".");return 1==t.length?"enm."+e:("Перечисление"==t[0]?e="enm.":"Справочник"==t[0]?e="cat.":"Документ"==t[0]?e="doc.":"РегистрСведений"==t[0]?e="ireg.":"РегистрНакопления"==t[0]?e="areg.":"РегистрБухгалтерии"==t[0]?e="accreg.":"ПланВидовХарактеристик"==t[0]?e="cch.":"ПланСчетов"==t[0]?e="cacc.":"Обработка"==t[0]?e="dp.":"Отчет"==t[0]&&(e="rep."),e+_md.syns_js(t[1]))},_md.class_name_to_1c=function(e){var t=e.split(".");return 1==t.length?"Перечисление."+e:("enm"==t[0]?e="Перечисление.":"cat"==t[0]?e="Справочник.":"doc"==t[0]?e="Документ.":"ireg"==t[0]?e="РегистрСведений.":"areg"==t[0]?e="РегистрНакопления.":"accreg"==t[0]?e="РегистрБухгалтерии.":"cch"==t[0]?e="ПланВидовХарактеристик.":"cacc"==t[0]?e="ПланСчетов.":"dp"==t[0]?e="Обработка.":"rep"==t[0]&&(e="Отчет."),e+_md.syns_1с(t[1]))},_md.create_tables=function(e,t){function n(){s--,0==s?e?e(l):alasql.utils.saveFile("create_tables.sql",l):a()}function a(){var e=o[s-1];l+=e.class[e.name].get_sql_struct(t)+"; ",n()}var i,s=0,o=[],r=_md.get_classes(),l=t&&t.postgres?"":"USE md; ";"enm,cch,cacc,cat,bp,tsk,doc,ireg,areg".split(",").forEach(function(e){for(i in r[e])o.push({class:$p[e],name:r[e][i]})}),s=o.length,a()}}function DataManager(e){var t=_md.get(e),n={after_create:[],after_load:[],before_save:[],after_save:[],value_change:[],add_row:[],del_row:[]};this.__define({cachable:{get:function(){return e.indexOf("enm.")!=-1?"ram":t.cachable?t.cachable:e.indexOf("doc.")!=-1||e.indexOf("dp.")!=-1||e.indexOf("rep.")!=-1?"doc":"ram"}},class_name:{value:e,writable:!1},alatable:{get:function(){return $p.wsql.aladb.tables[this.table_name]?$p.wsql.aladb.tables[this.table_name].data:[]}},metadata:{value:function(e){return e?t.fields[e]||t.tabular_sections[e]:t}},on:{value:function(e,t){if("object"==typeof e)for(var a in e)e.hasOwnProperty(a)&&n[a].push(e[a]);else n[e].push(t)}},off:{value:function(e,t){}},handle_event:{value:function(e,t,a){var i,s=[];return n[t].forEach(function(t){s!==!1&&(i=t.call(e,a),i===!1?s=i:i&&s.push(i))}),s===!1?s:s.length?1==s.length?s[0]:s.some(function(e){return"object"==typeof e&&e.then})?Promise.all(s):s:void 0}},by_ref:{value:{}}})}function RefDataManager(e){RefDataManager.superclass.constructor.call(this,e)}function DataProcessorsManager(e){DataProcessorsManager.superclass.constructor.call(this,e)}function EnumManager(e){EnumManager.superclass.constructor.call(this,e);var t=$p.md.get(e);for(var n in t)new EnumObj(t[n],this)}function RegisterManager(e){RegisterManager.superclass.constructor.call(this,e),this.push=function(e,t){t&&t!=e.ref?(delete this.by_ref[e.ref],this.by_ref[t]=e):this.by_ref[e.ref]=e},this.get=function(e,t,n){if(e?"string"==typeof e&&(e={ref:e}):e={},e.ref&&n)return t?Promise.resolve(this.by_ref[e.ref]):this.by_ref[e.ref];e.action="select";var a,i=$p.wsql.alasql(this.get_sql_struct(e),e._values);if(delete e.action,delete e._values,i.length)if(n)a=this.by_ref[this.get_ref(i[0])];else{a=[];for(var s in i)a.push(this.by_ref[this.get_ref(i[s])])}return t?Promise.resolve(a):a},this.unload_obj=function(e){delete this.by_ref[e],this.alatable.some(function(t,n,a){if(t.ref==e)return a.splice(n,1),!0})},this.load_array=function(e,t){for(var n,a,i=[],s=0;s= ? and `date` <= ?":" where `date` >= ?":e.date_till&&(t+=" where `date` <= ?"),t}return LogManager.superclass.get_sql_struct.call(this,e)}},caption_flds:{value:function(e){var t='%6',n=[],a="";if(n.push(new Col_struct("date","200","ro","left","server","Дата")),n.push(new Col_struct("class","100","ro","left","server","Класс")),n.push(new Col_struct("note","*","ro","left","server","Событие")),e.get_header){a="";for(var i in n)a+=t.replace("%1",n[i].id).replace("%2",n[i].width).replace("%3",n[i].type).replace("%4",n[i].align).replace("%5",n[i].sort).replace("%6",n[i].caption);a+=""}return{head:a,acols:n}}},data_to_grid:{value:function(e,t){var n="".replace("%1",e.length).replace("%2",t.start).replace("%3",t.set_parent||""),a=this.caption_flds(t);return n+=a.head,e.forEach(function(e){n+=''+$p.moment(e.date-$p.wsql.time_diff).format("DD.MM.YYYY HH:mm:ss")+"."+e.sequence+""+(e.class||"")+""+(e.note||"")+""}),n+""}}})}function AccumRegManager(e){AccumRegManager.superclass.constructor.call(this,e)}function CatManager(e){CatManager.superclass.constructor.call(this,e),this.metadata().hierarchical&&this.metadata().group_hierarchy&&$p[this.obj_constructor()].prototype.__define("is_folder",{get:function(){return this._obj.is_folder||!1},set:function(e){this._obj.is_folder=$p.utils.fix_boolean(e)},enumerable:!0,configurable:!0})}function ChartOfCharacteristicManager(e){ChartOfCharacteristicManager.superclass.constructor.call(this,e)}function ChartOfAccountManager(e){ChartOfAccountManager.superclass.constructor.call(this,e)}function DocManager(e){DocManager.superclass.constructor.call(this,e)}function TaskManager(e){TaskManager.superclass.constructor.call(this,e)}function BusinessProcessManager(e){BusinessProcessManager.superclass.constructor.call(this,e)}function DataObj(e,t){var n,a={},i={},s={_is_new:!(this instanceof EnumObj)};return t instanceof DataProcessorsManager||t instanceof EnumManager||(n=t.get(e,!1,!0)),n?(e=null,n):(t instanceof EnumManager?i.ref=e.name:t instanceof RegisterManager?i.ref=t.get_ref(e):i.ref=$p.utils.fix_guid(e),this.__define({_obj:{value:i,configurable:!0},_ts_:{value:function(e){return a[e]||(a[e]=new TabularSection(e,this)),a[e]},configurable:!0},_manager:{value:t},_data:{value:s,configurable:!0}}),t.alatable&&t.push&&(t.alatable.push(i),t.push(this,i.ref)),void(e=null))}function CatObj(e,t){var n="";CatObj.superclass.constructor.call(this,e,t),this.__define("presentation",{get:function(){return this.name||this.id?this.name||this.id||this._metadata.obj_presentation||this._metadata.synonym:n},set:function(e){e&&(n=String(e))}}),e&&"object"==typeof e&&(e._not_set_loaded?(delete e._not_set_loaded,this._mixin(e)):(this._mixin(e),$p.utils.is_empty_guid(this.ref)||!e.id&&!e.name||this._set_loaded(this.ref))),e=null}function DocObj(e,t){var n="";DocObj.superclass.constructor.call(this,e,t),this.__define("presentation",{get:function(){return this.number_doc?(this._metadata.obj_presentation||this._metadata.synonym)+" №"+this.number_doc+" от "+$p.moment(this.date).format($p.moment._masks.ldt):n},set:function(e){e&&(n=String(e))}}),e&&"object"==typeof e&&this._mixin(e),!$p.utils.is_empty_guid(this.ref)&&e.number_doc&&this._set_loaded(this.ref),e=null}function doc_props_date_number(e){e.__define({number_doc:{get:function(){return this._obj.number_doc||""},set:function(e){this.__notify("number_doc"),this._obj.number_doc=e},enumerable:!0},date:{get:function(){return this._obj.date||$p.utils.blank.date},set:function(e){this.__notify("date"),this._obj.date=$p.utils.fix_date(e,!0)},enumerable:!0}})}function DataProcessorObj(e,t){DataProcessorObj.superclass.constructor.call(this,e,t);var n,a=t.metadata();for(n in a.fields)e[n]=$p.utils.fetch_type("",a.fields[n].type);for(n in a.tabular_sections)e[n]=[];this._mixin(e)}function TaskObj(e,t){TaskObj.superclass.constructor.call(this,e,t)}function BusinessProcessObj(e,t){BusinessProcessObj.superclass.constructor.call(this,e,t)}function EnumObj(e,t){EnumObj.superclass.constructor.call(this,e,t),e&&"object"==typeof e&&this._mixin(e)}function RegisterRow(e,t){RegisterRow.superclass.constructor.call(this,e,t),e&&"object"==typeof e&&this._mixin(e);for(var n in t.metadata().dimensions)if(!e.hasOwnProperty(n)&&e.ref){var a=e.ref.split("¶");Object.keys(t.metadata().dimensions).forEach(function(e,t){this[e]=a[t]}.bind(this));break}}function TabularSection(e,t){t._obj[e]||(t._obj[e]=[]),this.__define("_name",{value:e,enumerable:!1}),this.__define("_owner",{value:t,enumerable:!1}),this.__define("_obj",{value:t._obj[e],writable:!1,enumerable:!1})}function TabularSectionRow(e){var t={};this.__define("_owner",{value:e,enumerable:!1}),this.__define("_obj",{value:t,writable:!1,enumerable:!1})}function Rest(){this.filter_date=function(e,t,n){t||(t=new Date("2015-01-01"));var a=e+" gt datetime'"+$p.moment(t).format($p.moment._masks.iso)+"'";return n&&(a+=" and "+e+" lt datetime'"+$p.moment(n).format($p.moment._masks.iso)+"'"),a},this.to_data=function(e,t){var n,a,i,s,o,r,l={},c=t.metadata(),p=c.fields,d=c.tabular_sections;t instanceof RefDataManager?(e.hasOwnProperty("DeletionMark")&&(l._deleted=e.DeletionMark),e.hasOwnProperty("DataVersion"),e.hasOwnProperty("Ref_Key")&&(l.ref=e.Ref_Key)):p={}._mixin(c.dimensions)._mixin(c.resources)._mixin(c.attributes),t instanceof DocManager?(e.hasOwnProperty("Number")?l.number_doc=e.Number||e.number_doc:e.hasOwnProperty("number_doc")&&(l.number_doc=e.number_doc),e.hasOwnProperty("Date")?l.date=e.Date:e.hasOwnProperty("date")&&(l.date=e.date),e.hasOwnProperty("Posted")?l.posted=e.Posted:e.hasOwnProperty("posted")&&(l.posted=e.posted)):(c.main_presentation_name&&(e.hasOwnProperty("Description")?l.name=e.Description:e.hasOwnProperty("name")&&(l.name=e.name)),c.code_length&&(e.hasOwnProperty("Code")?l.id=e.Code:e.hasOwnProperty("id")&&(l.id=e.id)));for(a in p)if(e.hasOwnProperty(a))l[a]=e[a];else{if(o=_md.syns_1с(a),o.indexOf("_Key")==-1&&p[a].type.is_ref&&e[o+"_Key"]&&(o+="_Key"),!e.hasOwnProperty(o))continue;l[a]=e[o]}for(n in d)r="extra_fields"==n||e.hasOwnProperty(n)?n:_md.syns_1с(n),e.hasOwnProperty(r)&&(l[n]=[],e[r]&&(e[r].sort(function(e,t){return(e.LineNumber||e.row)>(t.LineNumber||t.row)}),e[r].forEach(function(e){s={};for(i in d[n].fields)o=e.hasOwnProperty(i)||"extra_fields"==n&&("property"==i||"value"==i)?i:_md.syns_1с(i),o.indexOf("_Key")==-1&&d[n].fields[i].type.is_ref&&e[o+"_Key"]&&(o+="_Key"),s[i]=e[o];l[n].push(s)})));return l},this.ajax_to_data=function(e,t){return $p.ajax.get_ex(e.url,e).then(function(e){return JSON.parse(e.response)}).then(function(e){var n=[];return e.value.forEach(function(e){n.push(_rest.to_data(e,t))}),n})},this.build_select=function(e,t){function n(e,a){"function"==typeof a?s+=a(t,e):(o=_md.syns_1с(e),r=_md.get(t.class_name,e),r&&(r=r.type,r.is_ref&&o.indexOf("_Key")==-1&&r.types.length&&r.types[0].indexOf("enm.")==-1&&(o+="_Key"),r.types.length&&(["boolean","number"].indexOf(typeof a)!=-1?s+=o+" eq "+a:r.is_ref&&"object"!=typeof a||a instanceof DataObj?s+=o+" eq guid'"+a+"'":"string"==typeof a?s+=o+" eq '"+a+"'":"object"==typeof a&&(a.hasOwnProperty("like")?s+=o+" like '%"+a.like+"%'":a.hasOwnProperty("not")?s+=" not ("+n(e,a.not)+") ":a.hasOwnProperty("in")&&(s+=o+" in ("+(r.is_ref?a.in.map(function(e){return"guid'"+e+"'"}).join(","):a.in.join(","))+") ")))))}function a(e){for(var t in e)if(s?s+=" and ":s="&$filter=","or"==t&&Array.isArray(e[t])){var a=!0;e[t].forEach(function(e){a?(s+=" ( ",a=!1):s+=" or ";var t=Object.keys(e)[0];n(t,e[t])}),s+=" ) "}else n(t,e[t])}var i,s,o,r,l="";e||(e={}),e.fields&&(e.fields.forEach(function(e){"ref"==e?o="Ref_Key":(o=_md.syns_1с(e),r=_md.get(t.class_name,e).type,r.is_ref&&o.indexOf("_Key")==-1&&r.types.length&&r.types[0].indexOf("enm.")==-1&&(o+="_Key")),i?i+=",":i="&$select=",i+=o}),l+=i),e.selection&&("function"==typeof e.selection||(Array.isArray(e.selection)?e.selection.forEach(a):a(e.selection)),s&&(l+=s)),$p.job_prm.rest&&t.rest_name.indexOf("Module_")==-1&&t.rest_name.indexOf("DataProcessor_")==-1&&t.rest_name.indexOf("Report_")==-1&&l.indexOf(" like ")==-1&&l.indexOf(" in ")==-1&&!t.metadata().irest?$p.ajax.default_attr(e,$p.job_prm.rest_url()):$p.ajax.default_attr(e,$p.job_prm.irest_url()),e.url+=t.rest_name+"?allowedOnly=true&$format=json&$top="+(e.top||300)+l},this.load_array=function(e,t){return _rest.build_select(e,t),_rest.ajax_to_data(e,t)},this.load_obj=function(e){var t={};return $p.ajax.default_attr(t,!e._metadata.irest&&$p.job_prm.rest?$p.job_prm.rest_url():$p.job_prm.irest_url()),t.url+=e._manager.rest_name+"(guid'"+e.ref+"')?$format=json",$p.ajax.get_ex(t.url,t).then(function(e){return JSON.parse(e.response)}).then(function(t){return e._mixin(_rest.to_data(t,e._manager))._set_loaded(),e}).catch(function(t){return 404==t.status?e:void $p.record_log(t)})},this.save_irest=function(e,t){var n=JSON.stringify(e),a=(void 0!=t.post?",post="+t.post:"")+(void 0!=t.operational?",operational="+t.operational:"");return $p.ajax.default_attr(t,$p.job_prm.irest_url()),t.url+=e._manager.rest_name+"(guid'"+e.ref+"'"+a+")",$p.ajax.post_ex(t.url,n,t).then(function(e){return JSON.parse(e.response)}).then(function(t){return e._mixin(t)})},this.save_rest=function(e,t){var n,a=e.to_atom();return $p.ajax.default_attr(t,$p.job_prm.rest_url()),n=t.url+e._manager.rest_name,t.url=n+"(guid'"+e.ref+"')?$format=json&$select=Ref_Key,DeletionMark",$p.ajax.get_ex(t.url,t).catch(function(e){return 404==e.status?{response:JSON.stringify({is_new:!0})}:Promise.reject(e)}).then(function(e){return JSON.parse(e.response)}).then(function(i){return i.is_new?$p.ajax.post_ex(n,a,t):$p.ajax.patch_ex(n+"(guid'"+e.ref+"')",a,t)}).then(function(t){var n=xmlToJSON.parseString(t.response,{mergeCDATA:!1,grokAttr:!0,grokText:!1,normalize:!0,xmlns:!1,namespaceKey:"_ns",textKey:"_text",valueKey:"_value",attrKey:"_attr",cdataKey:"_cdata",attrsAsObject:!1,stripAttrPrefix:!0,stripElemPrefix:!0,childrenAsArray:!1});if(n.entry&&n.entry.content&&n.entry.updated){var a,i=n.entry.content.properties,s={};for(var o in i)if(0!=o.indexOf("_"))if(a=i[o].element)if(s[o]=[],Array.isArray(a))for(var r in a){s[o][r]={};for(var l in a[r])0!=l.indexOf("_")&&(s[o][r][l]="false"!==a[r][l]._text&&a[r][l]._text)}else{s[o][0]={};for(var l in a)0!=l.indexOf("_")&&(s[o][0][l]="false"!==a[l]._text&&a[l]._text)}else s[o]="false"!==i[o]._text&&i[o]._text;return _rest.to_data(s,e._manager)}}).then(function(t){return e._mixin(t)})}}function eXcell_ocombo(e){if(e){var t=this;t.cell=e,t.grid=e.parentNode.grid,t.setValue=function(e){t.setCValue(e instanceof DataObj?e.presentation:e||"")},t.getValue=function(){return t.grid.get_cell_value()},t.shiftNext=function(){t.grid.editStop()},t.edit=function(){t.combo||(t.val=t.getValue(),t.cell.innerHTML="",t.combo=new OCombo({parent:t.cell}._mixin(t.grid.get_cell_field())),t.combo.getInput().focus())},t.detach=function(){if(t.combo){if(t.combo.getComboText){t.setValue(t.combo.getComboText()),t.combo.getSelectedValue()||t.combo.callEvent("onChange");var e=!$p.utils.is_equal(t.val,t.getValue());return t.combo.unload(),e}t.combo.unload&&t.combo.unload()}return!0}}}function eXcell_pwd(e){var t;e&&(this.cell=e,this.grid=e.parentNode.grid,eXcell_ed.call(this),t=this.edit,this.edit=function(){t.call(this),this.obj.type="password"},this.setValue=function(){this.setCValue("*********")},this.getValue=function(){return this.grid.get_cell_value()},this.detach=function(){if(this.grid.get_cell_field){var e=this.grid.get_cell_field();e.obj[e.field]=this.obj.value}return this.setValue(),t=null,this.val!=this.getValue()})}function ODropdownList(e){function t(t){s.innerHTML=e.values[s.getAttribute("current")],e.event_name&&!t&&dhx4.callEvent(e.event_name,[s.getAttribute("current")])}function n(){i.classList.remove("open")}var a,i,s,o=document.createElement("ul");e.container.innerHTML='',i=e.container.firstChild,s=i.querySelector("a"),s.setAttribute("current",Array.isArray(e.values)?"0":Object.keys(e.values)[0]),i.onclick=function(e){if(i.classList.contains("open")){if("LI"==e.target.tagName)for(var a in o.childNodes)if(o.childNodes[a]==e.target){s.setAttribute("current",e.target.getAttribute("current")),t();break}n()}else i.classList.add("open");return $p.iface.cancel_bubble(e)},i.appendChild(o),o.className="dropdown_menu",e.class_name&&(i.classList.add(e.class_name),o.classList.add(e.class_name));for(var r in e.values){a=document.createElement("li");var l=e.values[r].indexOf("Показать все";if(!e.hide_frm){var s=$p.current_acl.get_acl(f.class_name);s.indexOf("i")!=-1&&(i+=" ")}if(u.type.types.length>1&&(i+=" "),i){t.innerHTML=i;for(var o=0;o
 
',t=n.cell.firstChild,e=t.childNodes[0],e.value=n.val,e.onclick=$p.iface.cancel_bubble,e.readOnly=!0,e.focus(),e.onkeydown=a,t.childNodes[1].onclick=i},n.detach=function(){return n.setValue(n.getValue()),!$p.utils.is_equal(n.val,n.getValue())}}}function wnd_address(e){function t(){var e={name:"wnd_addr",wnd:{id:"wnd_addr",top:130,left:200,width:800,height:560,modal:!0,center:!0,pwnd:g,allow_close:!0,allow_minmax:!0,on_close:m,caption:_.shipping_address}};g&&g.getHeight&&e.wnd.height>g.getHeight()&&(e.wnd.height=g.getHeight()),h=$p.iface.dat_blank(null,e.wnd),h.elmnts.layout=h.attachLayout("2E"),h.elmnts.cell_frm=h.elmnts.layout.cells("a"),h.elmnts.cell_frm.setHeight("110"),h.elmnts.cell_frm.hideHeader(),h.elmnts.cell_frm.fixSize(0,1),h.elmnts.pgrid=h.elmnts.cell_frm.attachPropertyGrid(),h.elmnts.pgrid.setDateFormat("%d.%m.%Y %H:%i"),h.elmnts.pgrid.init(),h.elmnts.pgrid.parse(_._manager.get_property_grid_xml({" ":[{id:"delivery_area",path:"o.delivery_area",synonym:"Район доставки",type:"ref",txt:v.delivery_area.presentation},{id:"region",path:"o.region",synonym:"Регион",type:"ro",txt:v.region},{id:"city",path:"o.city",synonym:"Населенный пункт",type:"ed",txt:v.city},{id:"street",path:"o.street",synonym:"Улица, дом, корпус, литера, квартира",type:"ed",txt:v.street}]},v),function(){h.elmnts.pgrid.enableAutoHeight(!0),h.elmnts.pgrid.setInitWidthsP("40,60"),h.elmnts.pgrid.setSizes(),h.elmnts.pgrid.attachEvent("onPropertyChanged",f)},"xml"),h.elmnts.pgrid.get_cell_field=function(){return{obj:v,field:"delivery_area",on_select:a,pwnd:h,metadata:{synonym:"Район",tooltip:"Район (зона, направление) доставки для группировки при планировании и оптимизации маршрута геокодером",choice_groups_elm:"elm",type:{types:["cat.delivery_areas"],is_ref:!0}}}},h.elmnts.toolbar=h.attachToolbar({icons_path:dhtmlx.image_path+"dhxtoolbar"+dhtmlx.skin_suffix()}),h.elmnts.toolbar.loadStruct('',function(){this.attachEvent("onclick",n)}),h.elmnts.cell_map=h.elmnts.layout.cells("b"),h.elmnts.cell_map.hideHeader();var t={center:new google.maps.LatLng(v.latitude,v.longitude),zoom:v.street?15:12,mapTypeId:google.maps.MapTypeId.ROADMAP};h.elmnts.map=h.elmnts.cell_map.attachMap(t),v.marker=new google.maps.Marker({map:h.elmnts.map,draggable:!0,animation:google.maps.Animation.DROP,position:t.center}),google.maps.event.addListener(v.marker,"click",d),google.maps.event.addListener(v.marker,"dragend",u),s()}function n(e){"btn_select"==e&&(_.delivery_area=v.delivery_area,l(),_.coordinates=JSON.stringify([v.latitude,v.longitude])),h.close()}function a(e){if(void 0!==e){var t,n=b;b=$p.utils.is_data_obj(e)?e:$p.cat.delivery_areas.get(e,!1),t=n!=b,$p.utils.is_data_obj(b)||(b=$p.cat.delivery_areas.get()),h.elmnts.pgrid.cells().setValue(e.presentation),i(t)}}function i(e){if(!v.delivery_area.empty()&&e&&(v.street=""),v.delivery_area.region?(v.region=v.delivery_area.region,h.elmnts.pgrid.cells("region",1).setValue(v.region)):e&&(v.region=""),v.delivery_area.city?(v.city=v.delivery_area.city,h.elmnts.pgrid.cells("city",1).setValue(v.city)):e&&(v.city=""),v.delivery_area.latitude&&v.delivery_area.longitude){var t=new google.maps.LatLng(v.delivery_area.latitude,v.delivery_area.longitude);h.elmnts.map.setCenter(t),v.marker.setPosition(t)}s()}function s(){h.elmnts.pgrid.cells("region",1).setValue(v.region),h.elmnts.pgrid.cells("city",1).setValue(v.city),h.elmnts.pgrid.cells("street",1).setValue(v.street)}function o(){var e=v.street?15:12;h.elmnts.map.getZoom()!=e&&h.elmnts.map.setZoom(e),p(function(e,t){if(t==google.maps.GeocoderStatus.OK){var n=e[0].geometry.location;h.elmnts.map.setCenter(n),v.marker.setPosition(n),v.latitude=n.lat(),v.longitude=n.lng(),v.postal_code=$p.ipinfo.components({},e[0].address_components).postal_code||""}})}function r(){return(v.street?v.street.replace(/,/g," ")+", ":"")+(v.city?v.city+", ":"")+(v.region?v.region+", ":"")+v.country+(v.postal_code?", "+v.postal_code:"")}function l(){_.shipping_address=r();var e='<КонтактнаяИнформация \t\t\t\txmlns="http://www.v8.1c.ru/ssl/contactinfo" \t\t\t\txmlns:xs="http://www.w3.org/2001/XMLSchema" \t\t\t\txmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \t\t\t\tПредставление="%1"> \t\t\t\t\t<Комментарий/> \t\t\t\t\t<Состав xsi:type="Адрес" Страна="РОССИЯ"> \t\t\t\t\t\t<Состав xsi:type="АдресРФ">'.replace("%1",_.shipping_address);if(v.region&&(e+="\n<СубъектРФ>"+v.region+""),v.city&&(e+=v.city.indexOf("г.")!=-1||v.city.indexOf("г ")!=-1||v.city.indexOf(" г")!=-1?"\n<Город>"+v.city+"":"\n<НаселПункт>"+v.city+""),v.street){var t,n,a,i,s,o=v.street.replace(/,/g," ");for(var l in $p.fias){if(1==$p.fias[l].type)for(var c in $p.fias[l].syn)if((n=o.indexOf($p.fias[l].syn[c]))!=-1){i=l,t=o.substr(n+$p.fias[l].syn[c].length).trim(),o=o.substr(0,n).trim();break}if(i)break}if(i||(i="1010",(n=o.indexOf(" "))!=-1&&(t=o.substr(n),o=o.substr(0,n))),e+="\n<Улица>"+o.trim()+"",t){a=t.toLowerCase(),t="";for(var l in $p.fias){if(3==$p.fias[l].type)for(var c in $p.fias[l].syn)if((n=a.indexOf($p.fias[l].syn[c]))!=-1){s=l,t=a.substr(n+$p.fias[l].syn[c].length),a=a.substr(0,n);break}if(s)break}s||(s="2010",(n=a.indexOf(" "))!=-1&&(t=a.substr(n),a=a.substr(0,n))),e+='\n<ДопАдрЭл><Номер Тип="'+i+'" Значение="'+a.trim()+'"/>'}t&&(e+='\n<ДопАдрЭл><Номер Тип="'+s+'" Значение="'+t.trim()+'"/>')}v.postal_code&&(e+='<ДопАдрЭл ТипАдрЭл="10100000" Значение="'+v.postal_code+'"/>'),e+=" \t\t\t\t\t",_.address_fields=e}function c(){function e(e){if(e.attributes&&2==e.attributes.length){var t={};return t[e.attributes[0].value]=e.attributes[1].value,t}}if(_.address_fields){v.xml=(new DOMParser).parseFromString(_.address_fields,"text/xml");var t,n={},a={building_room:""},i=[],s="СубъектРФ,Округ,СвРайМО,СвРайМО,ВнутригРайон,НаселПункт,Улица,Город,ДопАдрЭл,Адрес_по_документу,Местоположение".split(",");for(var o in s)n[s[o]]=v.xml.getElementsByTagName(s[o]);for(var o in n)for(var r in n[o])if("length"!=r&&n[o].hasOwnProperty(r))if(t=e(n[o][r]))a[o]||(a[o]=[]),a[o].push(t);else if(n[o][r].childNodes.length)for(var l in n[o][r].childNodes)"length"!=l&&n[o][r].childNodes.hasOwnProperty(l)&&((t=e(n[o][r].childNodes[l]))?(a[o]||(a[o]=[]),a[o].push(t)):n[o][r].childNodes[l].nodeValue&&(a[o]?a[o]+=" "+n[o][r].childNodes[l].nodeValue:a[o]=n[o][r].childNodes[l].nodeValue));for(var o in a["ДопАдрЭл"]){for(var r in $p.fias)4==r.length&&a["ДопАдрЭл"][o][r]&&(i[$p.fias[r].type]=$p.fias[r].name+" "+a["ДопАдрЭл"][o][r]);a["ДопАдрЭл"][o][101e5]&&(v.postal_code=a["ДопАдрЭл"][o][101e5])}v.address_fields=a,v.region=a["СубъектРФ"]||a["Округ"]||"",v.city=a["Город"]||a["НаселПункт"]||"",v.street=a["Улица"]||"";for(var o in i)v.street+=" "+i[o]}return new Promise(function(e,t){if($p.ipinfo||($p.ipinfo=new IPInfo),window.google&&window.google.maps)e();else{$p.load_script("//maps.google.com/maps/api/js?callback=$p.ipinfo.location_callback","script",function(){});var n=$p.eve.attachEvent("geo_google_ready",function(){a&&clearTimeout(a),n&&($p.eve.detachEvent(n),n=null,e())}),a=setTimeout(function(){n&&($p.eve.detachEvent(n),n=null),$p.msg.show_msg({type:"alert-warning",text:$p.msg.error_geocoding+" Google",title:$p.msg.main_title}),e()},1e4)}}).then(function(){v.coordinates.length?(v.latitude=v.coordinates[0],v.longitude=v.coordinates[1]):_.shipping_address?p(function(e,t){t==google.maps.GeocoderStatus.OK&&(v.latitude=e[0].geometry.location.lat(),v.longitude=e[0].geometry.location.lng())}):$p.ipinfo.latitude&&$p.ipinfo.longitude?(v.latitude=$p.ipinfo.latitude,v.longitude=$p.ipinfo.longitude):(v.latitude=55.635924,v.longitude=37.6066379,$p.msg.show_msg($p.msg.empty_geocoding))})}function p(e){var t=r();$p.ipinfo.ggeocoder.geocode({address:t},e)}function d(){null!=v.marker.getAnimation()?v.marker.setAnimation(null):(v.marker.setAnimation(google.maps.Animation.BOUNCE),setTimeout(function(){v.marker.setAnimation(null)},1500))}function u(e){$p.ipinfo.ggeocoder.geocode({latLng:e.latLng},function(t,n){if(n==google.maps.GeocoderStatus.OK&&t[0]){var a=t[0];h.setText(a.formatted_address),$p.ipinfo.components(v,a.address_components),s();var i=v.street?15:12;h.elmnts.map.getZoom()!=i&&(h.elmnts.map.setZoom(i),h.elmnts.map.setCenter(e.latLng)),v.latitude=e.latLng.lat(),v.longitude=e.latLng.lng()}})}function f(e,t,n){e&&(v.delivery_area.empty()?(t=n,$p.msg.show_msg({type:"alert",text:$p.msg.delivery_area_empty,title:$p.msg.addr_title}),setTimeout(function(){h.elmnts.pgrid.selectRowById("delivery_area")},50)):"delivery_area"==e?a(t):(v[h.elmnts.pgrid.getSelectedRowId()]=t,o()))}function m(t){return e.grid.editStop(),!t.error}var h,_=e.obj,g=e.pwnd,b=_.delivery_area,v={coordinates:_.coordinates?JSON.parse(_.coordinates):[],country:"Россия",region:"",city:"",street:"",postal_code:"",marker:{}};return v.__define("delivery_area",{get:function(){return b},set:function(e){a(e)}}),c().then(t),h}function AppEvents(){if(this.__define({init:{value:function(){$p.__define("job_prm",{value:new JobPrm,writable:!1}),$p.wsql.init_params()}},do_eventable:{value:function(e){function t(e,t){e=String(e).toLowerCase(),this._evnts.data[e]||(this._evnts.data[e]={});var n=$p.utils.generate_guid();return this._evnts.data[e][n]=t,n}function n(e){if(!e)return a.call(this);for(var t in this._evnts.data){var n=0;for(var i in this._evnts.data[t])i==e?(this._evnts.data[t][i]=null,delete this._evnts.data[t][i]):n++;0==n&&(this._evnts.data[t]=null,delete this._evnts.data[t])}}function a(){for(var e in this._evnts.data){for(var t in this._evnts.data[e])this._evnts.data[e][t]=null,delete this._evnts.data[e][t];this._evnts.data[e]=null,delete this._evnts.data[e]}}function i(e,t){if(e=String(e).toLowerCase(),null==this._evnts.data[e])return!0;var n=!0;for(var a in this._evnts.data[e])n=this._evnts.data[e][a].apply(this,t)&&n;return n}function s(){for(var e in this._evnts.evnts){var t=this._evnts.evnts[e].length;if(t){for(var n=0;n2){t=decodeURI(e).split("&");for(var i in t)if(a=t[i].split("="),"m"==a[0])try{n[a[0]]=JSON.parse(a[1])}catch(e){n[a[0]]={}}else n[a[0]]=a[1]||""}return n}return e(location.search)._mixin(e(location.hash))}this.__define({parse_url:{value:t},offline:{value:!1,writable:!0},local_storage_prefix:{value:"",writable:!0},create_tables:{value:!0,writable:!0},url_prm:{value:"undefined"!=typeof window?t():{}},rest_url:{value:function(){var t=e(),n=$p.wsql.get_user_param("zone",$p.job_prm.zone_is_string?"string":"number");return n?t.replace("%1",n):t.replace("%1/","")}},irest_url:{value:function(){var t=e(),n=$p.wsql.get_user_param("zone",$p.job_prm.zone_is_string?"string":"number");return t=t.replace("odata/standard.odata","hs/rest"),n?t.replace("%1",n):t.replace("%1/","")}}}),$p.eve.callEvent("settings",[this]);for(var n in this)"url_prm"!==n&&"function"!=typeof this[n]&&this.url_prm.hasOwnProperty[n]&&(this[n]=this.url_prm[n])}function Modifiers(){var e=[];this.push=function(t){e.push(t)},this.detache=function(t){var n=e.indexOf(t);n!=-1&&e.splice(n,1)},this.clear=function(){e.length=0},this.execute=function(t){var n,a;return e.forEach(function(e){a="function"==typeof e?e(t):$p.injected_data[e](t),n!==!1&&(n=a)}),n},this.execute_external=function(e){var t=$p.wsql.get_user_param("modifiers");return t=t?t.split("\n").map(function(e){return e?new Promise(function(t,n){$p.load_script(e,"script",t)}):Promise.resolve()}):[],Promise.all(t).then(function(){this.execute(e)}.bind(this))}}function IPInfo(){function e(){this.geocode=function(e){return Promise.resolve(!1)}}var t,n,a,i="";this.__define({ipgeo:{value:function(){return $p.ajax.get("//api.sypexgeo.net/").then(function(e){return JSON.parse(e.response)}).catch($p.record_log)}},yageocoder:{get:function(){return t||(t=new e),t},enumerable:!1,configurable:!1},ggeocoder:{get:function(){return n},enumerable:!1,configurable:!1},addr:{get:function(){return i}},parts:{get:function(){return a}},components:{value:function(e,t){var n,a,i,s="",o="",r="";for(n in t){a=t[n];for(i in a.types)switch(a.types[i]){case"route":a.short_name.indexOf("Unnamed")==-1&&(s=a.short_name+(s?" "+s:""),o=a.long_name.replace("улица","").trim());break;case"administrative_area_level_1":e.region=a.long_name;break;case"administrative_area_level_2":e.city=a.short_name,e.city_long=a.long_name;break;case"locality":r=(r?r+" ":"")+a.short_name;break;case"street_number":s=(s?s+" ":"")+a.short_name;break;case"postal_code":e.postal_code=a.short_name}}return e.region&&e.region==e.city_long?e.city.indexOf(r)==-1?e.city=r:e.city="":r&&e.city.indexOf(r)==-1&&e.region.indexOf(r)==-1&&(s=r+", "+s),e.street&&e.street.indexOf(o)!=-1||(e.street=s),e}},location_callback:{value:function(){n=new google.maps.Geocoder,$p.eve.callEvent("geo_google_ready"),navigator.geolocation&&navigator.geolocation.getCurrentPosition(function(e){$p.ipinfo.latitude=e.coords.latitude,$p.ipinfo.longitude=e.coords.longitude;var t=new google.maps.LatLng($p.ipinfo.latitude,$p.ipinfo.longitude);n.geocode({latLng:t},function(e,t){t==google.maps.GeocoderStatus.OK&&(a=!e[1]||e[0].address_components.length>=e[1].address_components.length?e[0]:e[1],i=a.formatted_address,$p.eve.callEvent("geo_current_position",[$p.ipinfo.components({},a.address_components)]))})},$p.record_log,{timeout:3e4})}}})}function SpreadsheetDocument(e){this._attr={orientation:"portrait",title:"",content:document.createElement("DIV")},e&&"string"==typeof e?this.content=e:"object"==typeof e&&this._mixin(e),e=null}function HandsontableDocument(e,t){var n=function(){this._then&&this._then(this)}.bind(this);this._online=t&&t.allow_offline||navigator.onLine&&$p.wsql.pouch.authorized,e instanceof dhtmlXCellObject?(this._cont=document.createElement("div"),e.detachObject(!0),e.attachObject(this._cont)):this._cont=e,this._cont.classList.add("handsontable_wrapper"),this._online?this._cont.innerHTML=t.autorun?$p.msg.report_prepare:$p.msg.report_need_prepare:this._cont.innerHTML=$p.msg.report_need_online,this.then=function(e){return this._then=e,this},this.requery=function(e){this.hot&&this.hot.destroy(),e instanceof Error?this._cont.innerHTML=$p.msg.report_error+(e.name?" "+e.name+"":"")+(e.message?" "+e.message:""):(this._cont.innerHTML="",this.hot=new Handsontable(this._cont,e))},"function"!=typeof Handsontable&&this._online?$p.load_script("https://cdnjs.cloudflare.com/ajax/libs/pikaday/1.4.0/pikaday.min.js","script").then(function(){return $p.load_script("https://cdnjs.cloudflare.com/ajax/libs/numbro/1.9.2/numbro.min.js","script")}).then(function(){return $p.load_script("https://cdn.jsdelivr.net/g/zeroclipboard,handsontable@0.26(handsontable.min.js)","script")}).then(function(){return Promise.all([$p.load_script("https://cdn.jsdelivr.net/handsontable/0.26/handsontable.min.css","link"),$p.load_script("https://cdnjs.cloudflare.com/ajax/libs/numbro/1.9.2/languages/ru-RU.min.js","script")])}).then(n):setTimeout(n)}function Aes(e){"use strict";function t(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)})}function n(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function a(e){if("undefined"!=typeof btoa)return btoa(e);if("undefined"!=typeof Buffer)return new Buffer(e,"binary").toString("base64");throw new Error("No Base64 Encode")}function i(e){if("undefined"!=typeof atob)return atob(e);if("undefined"!=typeof Buffer)return new Buffer(e,"base64").toString("binary");throw new Error("No Base64 Decode")}var s=this;s.cipher=function(e,t){for(var n=4,a=t.length/n-1,i=[[],[],[],[]],o=0;o<4*n;o++)i[o%4][Math.floor(o/4)]=e[o];i=s.addRoundKey(i,t,0,n);for(var r=1;r6&&r%n==4&&(o=s.subWord(o));for(var c=0;c<4;c++)i[r][c]=i[r-n][c]^o[c]}return i},s.subBytes=function(e,t){for(var n=0;n<4;n++)for(var a=0;a>>8*p&255;for(var p=0;p<2;p++)u[p+2]=_>>>8*p&255;for(var p=0;p<4;p++)u[p+4]=h>>>8*p&255;for(var g="",p=0;p<8;p++)g+=String.fromCharCode(u[p]);for(var b=s.keyExpansion(d),v=Math.ceil(n.length/r),x="",y=0;y>>8*w&255;for(var w=0;w<4;w++)u[15-w-4]=y/4294967296>>>8*w;for(var k=s.cipher(u,b),$=y>>8*x&255;for(var x=0;x<4;x++)f[15-x-4]=(b+1)/4294967296-1>>>8*x&255;for(var y=s.cipher(f,h),w=new Array(a[b].length),d=0;d=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,a){var i={mm:n?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===a?n?"минута":"минуту":e+" "+t(i[a],+e)}var a=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],i=e.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:a,longMonthsParse:a,shortMonthsParse:a,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:n,mm:n,h:"час",hh:n,d:"день",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},ordinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:7}});return i}),Object.defineProperties(Object.prototype,{__define:{value:function(e,t){return t?Object.defineProperty(this,e,t):Object.defineProperties(this,e),this}},_extend:{value:function(e){var t=function(){};t.prototype=e.prototype,this.prototype=new t,this.prototype.constructor=this,this.__define("superclass",{value:e.prototype,enumerable:!1})}},_mixin:{value:function(e,t,n){var a,i,s={};if(t&&t.length)for(a=0;aприложениях Google Chrome",e.unknown_error="Неизвестная ошибка в функции '%1'",e.value="Значение"}($p.msg),DataManager.prototype.__define({family_name:{get:function(){return $p.msg["meta_"+this.class_name.split(".")[0]+"_mgr"].replace($p.msg.meta_mgr+" ","")}},table_name:{get:function(){return this.class_name.replace(".","_")}},find_rows:{value:function(e,t){return $p._find_rows.call(this,this.by_ref,e,t)}},extra_fields:{value:function(e){var t=$p.cat.destinations||$p.cch.destinations,n=_md.class_name_to_1c(this.class_name).replace(".","_"),a=[];return t&&t.find_rows({predefined_name:n},function(e){var t=e.extra_fields||e.ДополнительныеРеквизиты;return t&&t.each(function(e){e._deleted||e.ПометкаУдаления||a.push(e.property||e.Свойство)}),!1}),a}},extra_properties:{value:function(e){return[]}},obj_constructor:{value:function(e){var t=this.class_name.split("."),n=t[0].charAt(0).toUpperCase()+t[0].substr(1)+t[1].charAt(0).toUpperCase()+t[1].substr(1);return e?n+e.charAt(0).toUpperCase()+e.substr(1)+"Row":n}}}),DataManager.prototype.sync_grid=function(e,t){function n(){if("function"==typeof e.custom_selection)return e.custom_selection(e);if("ram"==i.cachable){if("get_tree"==e.action)return $p.wsql.promise(i.get_sql_struct(e),[]).then($p.iface.data_to_tree);if("get_selection"==e.action)return $p.wsql.promise(i.get_sql_struct(e),[]).then(function(t){return $p.iface.data_to_grid.call(i,t,e)})}else if(0==i.cachable.indexOf("doc")){if("get_tree"==e.action)return i.pouch_tree(e);if("get_selection"==e.action)return i.pouch_selection(e)}else{if("get_tree"==e.action)return i.rest_tree(e);if("get_selection"==e.action)return i.rest_selection(e)}}function a(e){return new Promise(function(n,a){"string"==typeof e?("{"==e.substr(0,1)&&(e=JSON.parse(e)),t&&t.parse?(t.xmlFileUrl="exec",t.parse(e,function(){n(e)},"xml")):n(e)):t instanceof dhtmlXTreeView&&t.loadStruct?t.loadStruct(e,function(){n(e)}):n(e)})}var i=this;return n().then(a).catch($p.record_log)},DataManager.prototype.get_option_list=function(e,t){function n(t){return $p.utils.is_equal(t.value,e)&&(t.selected=!0),t}var a,i,s,o=this,r=[];if(t.presentation&&(a=o.metadata().input_by_string)&&(i=t.presentation.like,delete t.presentation,t.or=[],a.forEach(function(e){s={},s[e]={like:i},t.or.push(s)})),"ram"==o.cachable||t&&t._local)return o.find_rows(t,function(e){r.push(n({text:e.presentation,value:e.ref}))}),Promise.resolve(r);if("e1cib"!=o.cachable)return o.pouch_find_rows(t).then(function(e){return e.forEach(function(e){r.push(n({text:e.presentation,value:e.ref}))}),r});var l={selection:t,top:t._top},c=o instanceof DocManager||o instanceof BusinessProcessManager;return delete t._top,c?l.fields=["ref","date","number_doc"]:o.metadata().main_presentation_name?l.fields=["ref","name"]:l.fields=["ref","id"],_rest.load_array(l,o).then(function(e){return e.forEach(function(e){r.push(n({text:c?e.number_doc+" от "+$p.moment(e.date).format($p.moment._masks.ldt):e.name||e.id,value:e.ref}))}),r})},DataManager.prototype.tabular_captions=function(e,t){},DataManager.prototype.get_property_grid_xml=function(e,t,n){var a,i,s,o,r,l,c,p=this,d="",u=function(){if(!e)if(s=p.metadata(),s.form&&s.form.obj&&s.form.obj.head)e=s.form.obj.head;else{if(e={" ":[]},t instanceof CatObj?(s.code_length&&e[" "].push("id"),s.main_presentation_name&&e[" "].push("name")):t instanceof DocObj&&(e[" "].push("number_doc"),e[" "].push("date")),!t.is_folder)for(a in s.fields)"predefined_name"==a||s.fields[a].hide||e[" "].push(a);s.tabular_sections&&s.tabular_sections.extra_fields&&(e["Дополнительные реквизиты"]=[])}},f=function(e,t){l=$p.utils.is_data_obj(e)?e.presentation:e,t.type.is_ref||(t.type.date_part?l=$p.moment(l).format($p.moment._masks[t.type.date_part]):"boolean"==t.type.types[0]&&(l=l?"1":"0"))},m=function(e){r=_md.control_by_type(s.type,e),f(e,s)},h=function(e,a){if(a){var i=e.property||e.param||e.Параметр||e.Свойство,u=void 0!=e.value?e.value:e.Значение;i.empty()?(c=a+"|empty",r="ro",l="",s={synonym:"?"}):(s={synonym:i.presentation,type:i.type},c=a+"|"+i.ref,m(u),"edn"==r&&(r="calck"),i.mandatory&&(r+='" class="cell_mandatory'))}else if("object"==typeof e)c=e.id,s=n&&n.metadata&&n.metadata[c],s?e.synonym&&(s.synonym=e.synonym):s={synonym:e.synonym},r=e.type,l="",e.hasOwnProperty("txt")?l=e.txt:void 0!==(o=t[c])&&f(o,s.type?s:_md.get(p.class_name,c));else if(n&&n.metadata&&void 0!==(s=n.metadata[e]))c=e,m(o=t[e]);else{if(void 0===(o=t[e]))return;s=_md.get(p.class_name,c=e),m(o)}d+=''+(s.synonym||s.name)+''+l+""};u();for(a in e){" "!=a&&(d+=''+a+"");for(i in e[a])h(e[a][i]);if(n&&a==n.title&&t[n.ts]){var _,g=p.extra_fields(t),b="property,param,Свойство,Параметр".split(","),v=t[n.ts]._owner._metadata.tabular_sections[t[n.ts]._name].fields;b.some(function(e){if(v[e])return _=e,!0})&&(t[n.ts].forEach(function(e){var t=g.indexOf(e[_]);t!=-1&&g.splice(t,1)}),g.forEach(function(e){var a=t[n.ts].add();a[_]=e})),t[n.ts].find_rows(n.selection,function(e){h(e,n.ts)})}" "!=a&&(d+="")}return d+=""},DataManager.prototype.print=function(e,t,n){function a(e){n&&n.progressOff&&n.progressOff(),e&&e.focus()}if(n&&n.progressOn&&n.progressOn(),setTimeout(a,3e3),this._printing_plates[t]instanceof DataObj&&(t=this._printing_plates[t]),t instanceof DataObj&&t.execute)return e instanceof DataObj?t.execute(e).then(a):this.get(e,!0,!0).then(t.execute.bind(t)).then(a);var i={};return $p.ajax.default_attr(i,$p.job_prm.irest_url()),i.url+=this.rest_name+"(guid'"+$p.utils.fix_guid(e)+"')/Print(model="+t+", browser_uid="+$p.wsql.get_user_param("browser_uid")+")",$p.ajax.get_and_show_blob(i.url,i,"get").then(a)},DataManager.prototype.printing_plates=function(){var e={},t=this;return t._printing_plates||(t.metadata().printing_plates?t._printing_plates=t.metadata().printing_plates:("ram"==t.metadata().cachable||t.metadata().cachable&&0==t.metadata().cachable.indexOf("doc"))&&(t._printing_plates={})),!t._printing_plates&&$p.ajax.authorized?($p.ajax.default_attr(e,$p.job_prm.irest_url()),e.url+=t.rest_name+"/Print()",$p.ajax.get_ex(e.url,e).then(function(e){return t._printing_plates=JSON.parse(e.response),t._printing_plates}).catch(function(){}).then(function(e){return e||(t._printing_plates={})})):Promise.resolve(t._printing_plates)},RefDataManager._extend(DataManager),RefDataManager.prototype.__define({push:{value:function(e,t){t&&t!=e.ref?(delete this.by_ref[e.ref],this.by_ref[t]=e):this.by_ref[e.ref]=e}},each:{value:function(e){for(var t in this.by_ref)if(t&&t!=$p.utils.blank.guid&&1==e.call(this,this.by_ref[t]))break}},forEach:{value:function(e){return this.each.call(this,e)}},get:{value:function(e,t,n){var a=this.by_ref[e]||this.by_ref[e=$p.utils.fix_guid(e)];if(!a){if(n&&!t)return;a=new($p[this.obj_constructor()])(e,this,(!0))}return t===!1?a:void 0===t&&e===$p.utils.blank.guid?a:a.is_new()?a.load():t?Promise.resolve(a):a}},create:{value:function(e,t,n){e&&"object"==typeof e||(e={}),e.ref&&$p.utils.is_guid(e.ref)&&!$p.utils.is_empty_guid(e.ref)||(e.ref=$p.utils.generate_guid());var a=this.by_ref[e.ref];if(!a)if(a=new($p[this.obj_constructor()])(e,this),!t&&e.ref&&e.presentation&&2==Object.keys(e).length);else{a instanceof DocObj&&a.date==$p.utils.blank.date&&(a.date=new Date);var i=this.handle_event(a,"after_create");if(this instanceof DocManager||this instanceof TaskManager||this instanceof BusinessProcessManager?a.number_doc||a.new_number_doc():!a.id&&a._metadata.code_length&&a.new_number_doc(),i===!1)return Promise.resolve(a);if("object"==typeof i&&i.then)return i;if("e1cib"==this.cachable&&t){var s={};return $p.ajax.default_attr(s,$p.job_prm.irest_url()),s.url+=this.rest_name+"/Create()",$p.ajax.get_ex(s.url,s).then(function(e){return a._mixin(JSON.parse(e.response),void 0,["ref"])})}}return n?a:Promise.resolve(a)}},unload_obj:{value:function(e){delete this.by_ref[e],this.alatable.some(function(t,n,a){if(t.ref==e)return a.splice(n,1),!0})}},find:{value:function(e,t){return $p._find(this.by_ref,e,t)}},load_array:{value:function(e,t){for(var n,a,i=[],s=0;s1&&(t&&(t+="\n"),t+="left outer join "+e[0][0]+" on "+e[0][0]+".ref = _t_."+e[1]));return t}function a(){var t;return t=o instanceof ChartOfAccountManager?" WHERE ("+(u?0:1):r.hierarchical?r.has_owners?" WHERE ("+(c||u?1:0)+" OR _t_.parent = '"+p+"') AND ("+(l==$p.utils.blank.guid?1:0)+" OR _t_.owner = '"+l+"') AND ("+(u?0:1):" WHERE ("+(c||u?1:0)+" OR _t_.parent = '"+p+"') AND ("+(u?0:1):r.has_owners?" WHERE ("+(l==$p.utils.blank.guid?1:0)+" OR _t_.owner = '"+l+"') AND ("+(u?0:1):" WHERE ("+(u?0:1),o.sql_selection_where_flds?t+=o.sql_selection_where_flds(u):o instanceof DocManager?t+=" OR _t_.number_doc LIKE '"+u+"'":((r.main_presentation_name||o instanceof ChartOfAccountManager)&&(t+=" OR _t_.name LIKE '"+u+"'"),r.code_length&&(t+=" OR _t_.id LIKE '"+u+"'")),t+=") AND (_t_.ref != '"+$p.utils.blank.guid+"')",e.selection&&("function"==typeof e.selection||e.selection.forEach(function(e){for(var n in e)if("function"==typeof e[n])t+="\n AND "+e[n](o,n)+" ";else if(r.fields.hasOwnProperty(n)||"ref"===n)if(e[n]===!0)t+="\n AND _t_."+n+" ";else if(e[n]===!1)t+="\n AND (not _t_."+n+") ";else if("object"==typeof e[n])if($p.utils.is_data_obj(e[n])||$p.utils.is_guid(e[n]))t+="\n AND (_t_."+n+" = '"+e[n]+"') ";else{var a,i=Object.keys(e[n]),s=e[n][i[0]],l=r.fields[n];l&&l.type.is_ref&&(a=_md.value_mgr({},n,l.type,!0,s)),t+="not"==i[0]?"\n AND (not _t_."+n+" = '"+s+"') ":"in"==i[0]?"\n AND (_t_."+n+" in ("+e[n].in.reduce(function(e,t){return e&&(e+=","),e+="number"==typeof t?t.toString():"'"+t+"'"},"")+")) ":"\n AND (_t_."+n+" = '"+s+"') "}else t+="string"==typeof e[n]?"\n AND (_t_."+n+" = '"+e[n]+"') ":"\n AND (_t_."+n+" = "+e[n]+") ";else"is_folder"==n&&r.hierarchical&&r.group_hierarchy})),t}function i(){return o instanceof ChartOfAccountManager?"ORDER BY id":r.hierarchical?r.group_hierarchy?"ORDER BY _t_.is_folder desc, is_initial_value, presentation":"ORDER BY _t_.parent desc, is_initial_value, presentation":"ORDER BY is_initial_value, presentation"}function s(){function t(t){t&&(f=e.set_parent=t.parent.ref,p=f,c=!1),u&&u.indexOf("%")==-1&&(u="%"+u+"%")}r.has_owners&&(l=e.owner,e.selection&&"function"!=typeof e.selection&&e.selection.forEach(function(e){e.owner&&(l="object"==typeof e.owner?e.owner.valueOf():e.owner,delete e.owner)}),l||(l=$p.utils.blank.guid)),d!=$p.utils.blank.guid&&c&&r.hierarchical?t(o.get(d,!1)):t()}var l,c=!e.parent,p=e.parent||$p.utils.blank.guid,d=e.initial_value||$p.utils.blank.guid,u=e.filter||"",f=$p.utils.blank.guid;s();var m;return m=o.sql_selection_list_flds?o.sql_selection_list_flds(d):("SELECT %2, case when _t_.ref = '"+d+"' then 0 else 1 end as is_initial_value FROM `"+o.table_name+"` AS _t_ %j %3 %4 LIMIT 300").replace("%2",t()).replace("%j",n()),m.replace("%3",a()).replace("%4",i())}function n(){var t="CREATE TABLE IF NOT EXISTS ";if(e&&e.postgres){t+=o.table_name+" (ref uuid PRIMARY KEY NOT NULL, _deleted boolean",o instanceof DocManager?t+=", posted boolean, date timestamp with time zone, number_doc character(11)":(r.code_length&&(t+=", id character("+r.code_length+")"),t+=", name character varying(50), is_folder boolean");for(i in r.fields)i.length>30?r.fields[i].short_name?s=r.fields[i].short_name:(c++,s=i[0]+c+i.substr(i.length-27)):s=i,t+=", "+s+_md.sql_type(o,i,r.fields[i].type,!0)+_md.sql_composite(r.fields,i,s,!0);for(i in r.tabular_sections)t+=", ts_"+i+" JSON"}else{t+="`"+o.table_name+"` (ref CHAR PRIMARY KEY NOT NULL, `_deleted` BOOLEAN",t+=o instanceof DocManager?", posted boolean, date Date, number_doc CHAR":", id CHAR, name CHAR, is_folder BOOLEAN";for(i in r.fields)t+=_md.sql_mask(i)+_md.sql_type(o,i,r.fields[i].type)+_md.sql_composite(r.fields,i);for(i in r.tabular_sections)t+=", `ts_"+i+"` JSON"}return t+=")"}function a(){var e=["ref","_deleted"],t="INSERT INTO `"+o.table_name+"` (ref, `_deleted`",n="(?";"cat"==o.class_name.substr(0,3)?(t+=", id, name, is_folder",e.push("id"),e.push("name"),e.push("is_folder")):"doc"==o.class_name.substr(0,3)&&(t+=", posted, date, number_doc",e.push("posted"),e.push("date"),e.push("number_doc"));for(i in r.fields)t+=_md.sql_mask(i),e.push(i);for(i in r.tabular_sections)t+=", `ts_"+i+"`",e.push("ts_"+i);for(t+=") VALUES ",i=1;i%6',a=[],i="";if(t.form&&t.form.selection?a=t.form.selection.cols:this instanceof DocManager?(a.push(new Col_struct("date","160","ro","left","server","Дата")),a.push(new Col_struct("number_doc","140","ro","left","server","Номер")),t.fields.note&&a.push(new Col_struct("note","*","ro","left","server",t.fields.note.synonym)),t.fields.responsible&&a.push(new Col_struct("responsible","*","ro","left","server",t.fields.responsible.synonym))):this instanceof ChartOfAccountManager?(a.push(new Col_struct("id","140","ro","left","server","Код")),a.push(new Col_struct("presentation","*","ro","left","server","Наименование"))):a.push(new Col_struct("presentation","*","ro","left","server","Наименование")),e.get_header&&a.length){i="";for(var s in a)i+=n.replace("%1",a[s].id).replace("%2",a[s].width).replace("%3",a[s].type).replace("%4",a[s].align).replace("%5",a[s].sort).replace("%6",a[s].caption);i+=""}return{head:i,acols:a}}},load_cached_server_array:{value:function(e,t){var n,a=[],i=this,s=t?{class_name:i.class_name,rest_name:t}:i,o=!t;if(e.forEach(function(e){n=i.get(e.ref||e,!1,!0),(!n||o&&n.is_new())&&a.push(e.ref||e)}),a.length){var r={url:"",selection:{ref:{in:a}}};return o&&(r.fields=["ref"]),$p.rest.build_select(r,s),$p.ajax.get_ex(r.url,r).then(function(t){var n=JSON.parse(t.response);if(o)n=n.value;else{n=n.data;for(var a in n)!n[a].ref&&n[a].id&&(n[a].ref=n[a].id),n[a].Код&&(n[a].id=n[a].Код,delete n[a].Код),n[a]._not_set_loaded=!0}return i.load_array(n),e})}return Promise.resolve(e)}},predefined:{value:function(e){return this._predefined||(this._predefined={}),this._predefined[e]||(this._predefined[e]=this.get(),this.find_rows({predefined_name:e},function(t){return this._predefined[e]=t,!1})),this._predefined[e]}}}),DataProcessorsManager._extend(DataManager),DataProcessorsManager.prototype.__define({create:{value:function(){return new($p[this.obj_constructor()])({},this)}},unload_obj:{value:function(){}}}),EnumManager._extend(RefDataManager),EnumManager.prototype.__define({get:{value:function(e){if(e instanceof EnumObj)return e;e&&e!=$p.utils.blank.guid||(e="_");var t=this[e];return t||(t=new EnumObj({name:e},this)),t}},push:{value:function(e,t){this.__define(t,{value:e})}},each:{value:function(e){this.alatable.forEach(function(t){t.ref&&"_"!=t.ref&&t.ref!=$p.utils.blank.guid&&e.call(this[t.ref])}.bind(this))}}}),EnumManager.prototype.get_sql_struct=function(e){var t="CREATE TABLE IF NOT EXISTS ",n=e&&e.action?e.action:"create_table";return e&&e.postgres?"create_table"==n?t+=this.table_name+" (ref character varying(255) PRIMARY KEY NOT NULL, sequence INT, synonym character varying(255))":["insert","update","replace"].indexOf(n)!=-1?(t={},t[this.table_name]={sql:"INSERT INTO "+this.table_name+" (ref, sequence, synonym) VALUES ($1, $2, $3)",fields:["ref","sequence","synonym"],values:"($1, $2, $3)"}):"delete"==n&&(t="DELETE FROM "+this.table_name+" WHERE ref = $1"):"create_table"==n?t+="`"+this.table_name+"` (ref CHAR PRIMARY KEY NOT NULL, sequence INT, synonym CHAR)":["insert","update","replace"].indexOf(n)!=-1?(t={},t[this.table_name]={sql:"INSERT INTO `"+this.table_name+"` (ref, sequence, synonym) VALUES (?, ?, ?)",fields:["ref","sequence","synonym"],values:"(?, ?, ?)"}):"delete"==n&&(t="DELETE FROM `"+this.table_name+"` WHERE ref = ?"),t},EnumManager.prototype.get_option_list=function(e,t){function n(t){return $p.utils.is_equal(t.value,e)&&(t.selected=!0),t}var a,i=[],s="";if(t)for(var o in t)"_"!=o.substr(0,1)&&("ref"==o?a=t[o].hasOwnProperty("in")?t[o].in:t[o]:s=t[o]);return"object"==typeof s&&(s=s.like?s.like:""),s=s.toLowerCase(),this.alatable.forEach(function(e){if(!s||e.synonym&&e.synonym.toLowerCase().indexOf(s)!=-1){if(a)if(Array.isArray(a)){if(!a.some(function(t){return t.name==e.ref||t.ref==e.ref||t==e.ref}))return}else if(a.name!=e.ref&&a.ref!=e.ref&&a!=e.ref)return;i.push(n({text:e.synonym||"",value:e.ref}))}}),Promise.resolve(i)},RegisterManager._extend(DataManager),RegisterManager.prototype.__define({get_sql_struct:{value:function(e){function t(){function t(){var e=[],t="_t_.ref";if(r.form&&r.form.selection)r.form.selection.fields.forEach(function(t){e.push(t)});else for(var n in r.dimensions)e.push(n);return e.forEach(function(e){t+=e.indexOf(" as ")!=-1?", "+e:_md.sql_mask(e,!0)}),t}function n(){var e,t="";if(r.form&&r.form.selection)for(var n in r.form.selection.fields)r.form.selection.fields[n].indexOf(" as ")!=-1&&r.form.selection.fields[n].indexOf("_t_.")==-1&&(e=r.form.selection.fields[n].split(" as "),e[0]=e[0].split("."),e[0].length>1&&(t&&(t+="\n"),t+="left outer join "+e[0][0]+" on "+e[0][0]+".ref = _t_."+e[1]));return t}function a(){var t=" WHERE ("+(s?0:1);return o.sql_selection_where_flds&&(t+=o.sql_selection_where_flds(s)),t+=")",e.selection&&("function"==typeof e.selection||e.selection.forEach(function(e){for(var n in e)if("function"==typeof e[n])t+="\n AND "+e[n](o,n)+" ";else if(r.fields.hasOwnProperty(n))if(e[n]===!0)t+="\n AND _t_."+n+" ";else if(e[n]===!1)t+="\n AND (not _t_."+n+") ";else if("object"==typeof e[n])if($p.utils.is_data_obj(e[n]))t+="\n AND (_t_."+n+" = '"+e[n]+"') ";else{var a,i=Object.keys(e[n]),s=e[n][i[0]],l=r.fields[n];l&&l.type.is_ref&&(a=_md.value_mgr({},n,l.type,!0,s)),t+="not"==i[0]?"\n AND (not _t_."+n+" = '"+s+"') ":"\n AND (_t_."+n+" = '"+s+"') "}else t+="string"==typeof e[n]?"\n AND (_t_."+n+" = '"+e[n]+"') ":"\n AND (_t_."+n+" = "+e[n]+") ";else"is_folder"==n&&r.hierarchical&&r.group_hierarchy})),t}function i(){return""}var s=e.filter||"";s&&s.indexOf("%")==-1&&(s="%"+s+"%");var l;return l=o.sql_selection_list_flds?o.sql_selection_list_flds():("SELECT %2 FROM `"+o.table_name+"` AS _t_ %j %3 %4 LIMIT 300").replace("%2",t()).replace("%j",n()),l.replace("%3",a()).replace("%4",i())}function n(){var t="CREATE TABLE IF NOT EXISTS ",n=!0;if(e&&e.postgres){t+=o.table_name+" (",r.splitted&&(t+="zone integer",n=!1);for(s in r.dimensions)n?(t+=s,n=!1):t+=", "+s,t+=_md.sql_type(o,s,r.dimensions[s].type,!0)+_md.sql_composite(r.dimensions,s,"",!0);for(s in r.resources)t+=", "+s+_md.sql_type(o,s,r.resources[s].type,!0)+_md.sql_composite(r.resources,s,"",!0);for(s in r.attributes)t+=", "+s+_md.sql_type(o,s,r.attributes[s].type,!0)+_md.sql_composite(r.attributes,s,"",!0);t+=", PRIMARY KEY (",n=!0,r.splitted&&(t+="zone",n=!1);for(s in r.dimensions)n?(t+=s,n=!1):t+=", "+s}else{t+="`"+o.table_name+"` (ref CHAR PRIMARY KEY NOT NULL, `_deleted` BOOLEAN";for(s in r.dimensions)t+=_md.sql_mask(s)+_md.sql_type(o,s,r.dimensions[s].type);for(s in r.resources)t+=_md.sql_mask(s)+_md.sql_type(o,s,r.resources[s].type);for(s in r.attributes)t+=_md.sql_mask(s)+_md.sql_type(o,s,r.attributes[s].type)}return t+=")"}function a(){var e="INSERT OR REPLACE INTO `"+o.table_name+"` (",t=[],n=!0;for(s in r.dimensions)n?(e+=s,n=!1):e+=", "+s,t.push(s);for(s in r.resources)e+=", "+s,t.push(s);for(s in r.attributes)e+=", "+s,t.push(s);for(e+=") VALUES (?",s=1;s%6',a=[],i="";if(t.form&&t.form.selection)a=t.form.selection.cols;else for(var s in t.dimensions)a.push(new Col_struct(s,"*","ro","left","server",t.dimensions[s].synonym));if(e.get_header&&a.length){i="";for(var o in a)i+=n.replace("%1",a[o].id).replace("%2",a[o].width).replace("%3",a[o].type).replace("%4",a[o].align).replace("%5",a[o].sort).replace("%6",a[o].caption);i+=""}return{head:i,acols:a}}},create:{value:function(e){e&&"object"==typeof e||(e={});var t=this.by_ref[e.ref];if(!t){t=new($p[this.obj_constructor()])(e,this);var n=this.handle_event(t,"after_create");if(n===!1)return Promise.resolve(t);if("object"==typeof n&&n.then)return n}return Promise.resolve(t)}}}),InfoRegManager._extend(RegisterManager),InfoRegManager.prototype.slice_first=function(e){},InfoRegManager.prototype.slice_last=function(e){},LogManager._extend(InfoRegManager),AccumRegManager._extend(RegisterManager),CatManager._extend(RefDataManager),CatManager.prototype.by_name=function(e){var t;return this.find_rows({name:e},function(e){return t=e,!1}),t||(t=this.get()),t},CatManager.prototype.by_id=function(e){var t;return this.find_rows({id:e},function(e){return t=e,!1}),t||(t=this.get()),t},CatManager.prototype.path=function(e){var t,n=[];if(t=e instanceof DataObj?e:this.get(e,!1,!0),t&&n.push({ref:t.ref,presentation:t.presentation}),t&&this.metadata().hierarchical)for(;;){if(t=t.parent,t.empty())break;n.push({ref:t.ref,presentation:t.presentation})}return n},ChartOfCharacteristicManager._extend(CatManager),ChartOfAccountManager._extend(CatManager),DocManager._extend(RefDataManager),TaskManager._extend(CatManager),BusinessProcessManager._extend(CatManager),DataObj.prototype._getter=function(e){var t,n=this._metadata.fields[e].type,a=this._obj?this._obj[e]:"";return"type"==e&&"object"==typeof a?a:"ref"==e?a:n.is_ref?n.digits&&"number"==typeof a?a:n.hasOwnProperty("str_len")&&!$p.utils.is_guid(a)?a:(t=_md.value_mgr(this._obj,e,n))?$p.utils.is_data_mgr(t)?t.get(a,!1):$p.utils.fetch_type(a,t):a?(console.log([e,n,this._obj]),null):void 0:n.date_part?$p.utils.fix_date(this._obj[e],!0):n.digits?$p.utils.fix_number(this._obj[e],!n.hasOwnProperty("str_len")):"boolean"==n.types[0]?$p.utils.fix_boolean(this._obj[e]):this._obj[e]||""},DataObj.prototype.__setter=function(e,t){var n,a=this._metadata.fields[e].type;"type"==e&&t.types?this._obj[e]=t:"ref"==e?this._obj[e]=$p.utils.fix_guid(t):a.is_ref?a.digits&&"number"==typeof t||a.hasOwnProperty("str_len")&&"string"==typeof t&&!$p.utils.is_guid(t)?this._obj[e]=t:(this._obj[e]=$p.utils.fix_guid(t),n=_md.value_mgr(this._obj,e,a,!1,t),n?n instanceof EnumManager?"string"==typeof t?this._obj[e]=t:t?"object"==typeof t&&(this._obj[e]=t.ref||t.name||""):this._obj[e]="":t&&t.presentation?(!t.type||t instanceof DataObj||delete t.type,n.create(t)):$p.utils.is_data_mgr(n)||(this._obj[e]=$p.utils.fetch_type(t,n)):"object"!=typeof t&&(this._obj[e]=t)):a.date_part?this._obj[e]=$p.utils.fix_date(t,!0):a.digits?this._obj[e]=$p.utils.fix_number(t,!a.hasOwnProperty("str_len")):"boolean"==a.types[0]?this._obj[e]=$p.utils.fix_boolean(t):this._obj[e]=t},DataObj.prototype.__notify=function(e){this._data._silent||Object.getNotifier(this).notify({type:"update",name:e,oldValue:this._obj[e]})},DataObj.prototype._setter=function(e,t){this._obj[e]!=t&&(this.__notify(e),this.__setter(e,t),this._data._modified=!0)},DataObj.prototype._getter_ts=function(e){return this._ts_(e)},DataObj.prototype._setter_ts=function(e,t){var n=this._ts_(e);n instanceof TabularSection&&Array.isArray(t)&&n.load(t)},DataObj.prototype.__define({valueOf:{value:function(){return this.ref}},toJSON:{value:function(){return this._obj}},toString:{value:function(){return this.presentation}},_metadata:{get:function(){return this._manager.metadata()}},_deleted:{get:function(){return!!this._obj._deleted}},_modified:{get:function(){return!!this._data&&!!this._data._modified}},is_new:{value:function(){return this._data._is_new}},_set_loaded:{value:function(e){return this._manager.push(this,e),this._data._modified=!1,this._data._is_new=!1,this}},mark_deleted:{value:function(e){return this._obj._deleted=!!e,this.save(),this.__notify("_deleted"),this}},ref:{get:function(){return this._obj.ref},set:function(e){this._obj.ref=$p.utils.fix_guid(e)},enumerable:!0,configurable:!0},empty:{value:function(){return $p.utils.is_empty_guid(this._obj.ref)}},load:{value:function(){var e=function(){return e=null,this._data._modified=!1,this}.bind(this);return this.ref==$p.utils.blank.guid?(this instanceof CatObj?this.id="000000000":this.number_doc="000000000",Promise.resolve(this)):this._manager.cachable&&"e1cib"!=this._manager.cachable?$p.wsql.pouch.load_obj(this).then(e):_rest.load_obj(this).then(e)}},unload:{value:function(){var e,t=this._obj;this._manager.unload_obj(this.ref),this._observers&&(this._observers.length=0),this._notis&&(this._notis.length=0);for(e in this._metadata.tabular_sections)this[e].clear(!0);for(e in this)this.hasOwnProperty(e)&&delete this[e];for(e in t)delete t[e];["_ts_","_obj","_data"].forEach(function(e){delete this[e]}.bind(this)),e=t=null}},save:{value:function(e,t,n){if(this instanceof DocObj&&"boolean"==typeof e){var a=this.posted;this.posted=e}var i,s=this._manager.handle_event(this,"before_save"),o=function(){return s===!1?this instanceof DocObj&&"boolean"==typeof a&&this.posted!=a&&(this.posted=a):this._data._modified=!1,i=null,s=null,o=null,this}.bind(this);if(s===!1)return Promise.reject(o());if(s instanceof Promise||"object"==typeof s&&s.then)return s.then(o);if(this._metadata.hierarchical&&!this._obj.parent&&(this._obj.parent=$p.utils.blank.guid), this instanceof DocObj||this instanceof TaskObj||this instanceof BusinessProcessObj?($p.utils.blank.date==this.date&&(this.date=new Date),this.number_doc||this.new_number_doc()):this.id||this.new_number_doc(),$p.msg&&$p.msg.show_msg)for(var r in this._metadata.fields)if(this._metadata.fields[r].mandatory&&!this._obj[r])return $p.msg.show_msg({title:$p.msg.mandatory_title,type:"alert-error",text:$p.msg.mandatory_field.replace("%1",this._metadata.fields[r].synonym)}),s=!1,Promise.reject(o());return i=this._manager.cachable&&"e1cib"!=this._manager.cachable?$p.wsql.pouch.save_obj:_rest.save_irest,i(this,{post:e,operational:t,attachments:n}).then(function(e){return e._manager.handle_event(e,"after_save")}).then(o)}},get_attachment:{value:function(e){return this._manager.get_attachment(this.ref,e)}},save_attachment:{value:function(e,t,n){return this._manager.save_attachment(this.ref,e,t,n).then(function(t){return this._attachments||(this._attachments={}),this._attachments[e]&&t.stub||(this._attachments[e]=t),t}.bind(this))}},delete_attachment:{value:function(e){return this._manager.delete_attachment(this.ref,e).then(function(t){return this._attachments&&delete this._attachments[e],t}.bind(this))}},_silent:{value:function(e){"boolean"==typeof e?this._data._silent=e:(this._data._silent=!0,setTimeout(function(){this._data._silent=!1}.bind(this)))}},print:{value:function(e,t){return this._manager.print(this,e,t)}}}),CatObj._extend(DataObj),CatObj.prototype.__define("id",{get:function(){return this._obj.id||""},set:function(e){this.__notify("id"),this._obj.id=e},enumerable:!0}),CatObj.prototype.__define("name",{get:function(){return this._obj.name||""},set:function(e){this.__notify("name"),this._obj.name=String(e)},enumerable:!0}),DocObj._extend(DataObj),DocObj.prototype.__define({posted:{get:function(){return this._obj.posted||!1},set:function(e){this.__notify("posted"),this._obj.posted=$p.utils.fix_boolean(e)},enumerable:!0}}),doc_props_date_number(DocObj.prototype),DataProcessorObj._extend(DataObj),TaskObj._extend(CatObj),doc_props_date_number(TaskObj.prototype),BusinessProcessObj._extend(CatObj),doc_props_date_number(BusinessProcessObj.prototype),EnumObj._extend(DataObj),EnumObj.prototype.__define({order:{get:function(){return this._obj.sequence},set:function(e){this._obj.sequence=parseInt(e)},enumerable:!0},name:{get:function(){return this._obj.ref},set:function(e){this._obj.ref=String(e)},enumerable:!0},synonym:{get:function(){return this._obj.synonym||""},set:function(e){this._obj.synonym=String(e)},enumerable:!0},presentation:{get:function(){return this.synonym||this.name}},empty:{value:function(){return!this.ref||"_"==this.ref}}}),RegisterRow._extend(DataObj),RegisterRow.prototype.__define({_metadata:{get:function(){var e=this._manager.metadata();return e.fields||(e.fields={}._mixin(e.dimensions)._mixin(e.resources)._mixin(e.attributes)),e}},ref:{get:function(){return this._manager.get_ref(this)},enumerable:!0},presentation:{get:function(){return this._metadata.obj_presentation||this._metadata.synonym}}}),TabularSection.prototype.toString=function(){return"Табличная часть "+this._owner._manager.class_name+"."+this._name},TabularSection.prototype.get=function(e){return this._obj[e]?this._obj[e]._row:null},TabularSection.prototype.count=function(){return this._obj.length},TabularSection.prototype.clear=function(e){for(var t in this._obj)delete this._obj[t];return this._obj.length=0,e||this._owner._data._silent||Object.getNotifier(this._owner).notify({type:"rows",tabular:this._name}),this},TabularSection.prototype.del=function(e,t){var n,a=this._obj;if("undefined"!=typeof e){if("number"==typeof e)n=e;else if(a[e.row-1]._row===e)n=e.row-1;else for(var i in a)if(a[i]._row===e){n=Number(i),delete a[i]._row;break}void 0!=n&&(a.splice(n,1),a.forEach(function(e,t){e.row=t+1}),t||this._owner._data._silent||Object.getNotifier(this._owner).notify({type:"rows",tabular:this._name}),this._owner._data._modified=!0)}},TabularSection.prototype.find=function(e,t){var n=$p._find(this._obj,e,t);if(n)return n._row},TabularSection.prototype.find_rows=function(e,t){var n=this,a=t?function(e){return t.call(n,e._row)}:null;return $p._find_rows.call(n,n._obj,e,a)},TabularSection.prototype.swap=function(e,t){var n=this._obj[e];this._obj[e]=this._obj[t],this._obj[t]=n,this._owner._data._silent||Object.getNotifier(this._owner).notify({type:"rows",tabular:this._name})},TabularSection.prototype.add=function(e,t){var n=new($p[this._owner._manager.obj_constructor(this._name)])(this);e||(e={});for(var a in n._metadata.fields)n[a]=e[a]||"";return n._obj.row=this._obj.push(n._obj),n._obj.__define("_row",{value:n,enumerable:!1}),t||this._owner._data._silent||Object.getNotifier(this._owner).notify({type:"rows",tabular:this._name}),e=null,this._owner._data._modified=!0,n},TabularSection.prototype.each=function(e){var t=this;t._obj.forEach(function(n){return e.call(t,n._row)})},TabularSection.prototype.forEach=TabularSection.prototype.each,TabularSection.prototype.group_by=function(e,t){try{var n=this.aggregate(e,t,"SUM",!0);return this.clear(!0).load(n)}catch(e){}},TabularSection.prototype.sort=function(e){"string"==typeof e&&(e=e.split(","));var t="select * from ? order by ",n=!0;e.forEach(function(e){e=e.trim().replace(/\s{1,}/g," ").split(" "),n?n=!1:t+=", ",t+="`"+e[0]+"`",e[1]&&(t+=" "+e[1])});try{return n=$p.wsql.alasql(t,[this._obj]),this.clear(!0).load(n)}catch(e){$p.record_log(e)}},TabularSection.prototype.aggregate=function(e,t,n,a){if("string"==typeof e&&(e=e.split(",")),"string"==typeof t&&(t=t.split(",")),n||(n="sum"),!e.length&&1==t.length&&"sum"==n)return this._obj.reduce(function(e,n,a,i){return e+n[t[0]]},0);var i,s=!0;t.forEach(function(e){i?i+=", "+n+"(`"+e+"`) `"+e+"`":i="select "+n+"(`"+e+"`) `"+e+"`"}),e.forEach(function(e){i?i+=", `"+e+"`":i="select `"+e+"`"}),i+=" from ? ",e.forEach(function(e){s?(i+="group by ",s=!1):i+=", ",i+="`"+e+"`"});try{return s=$p.wsql.alasql(i,[this._obj]),a||(s=1==t.length?s.length?s[0][t[0]]:0:s.length?s[0]:{}),s}catch(e){$p.record_log(e)}},TabularSection.prototype.load=function(e){var t,n=this;return n.clear(!0),e instanceof TabularSection?t=e._obj:Array.isArray(e)&&(t=e),t&&t.forEach(function(e){n.add(e,!0)}),this._owner._data._silent||Object.getNotifier(n._owner).notify({type:"rows",tabular:n._name}),n},TabularSection.prototype.sync_grid=function(e,t){for(var n={rows:[]},a=[],i=0;i"+l+""}}var n,a,i,s,o,r,l,c='\t\t\t\t\n<updated>%d</updated><author/><summary/><content type="application/xml">\t\t\t\t\n<m:properties xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">\t\t\t%p\t\t\t\n</m:properties></content></entry>'.replace("%n",this._manager.rest_name).replace("%d",$p.moment().format($p.moment.defaultFormatUtc)),p="\n<d:Ref_Key>"+this.ref+"</d:Ref_Key>\n<d:DeletionMark>"+this._deleted+"</d:DeletionMark>";this instanceof DocObj?(p+="\n<d:Date>"+$p.moment(this.date).format($p.moment.defaultFormatUtc)+"</d:Date>",p+="\n<d:Number>"+this.number_doc+"</d:Number>"):(this._metadata.main_presentation_name&&(p+="\n<d:Description>"+this.name+"</d:Description>"),this._metadata.code_length&&(p+="\n<d:Code>"+this.id+"</d:Code>"),this._metadata.hierarchical&&this._metadata.group_hierarchy&&(p+="\n<d:IsFolder>"+this.is_folder+"</d:IsFolder>")),t(this);for(i in this._metadata.tabular_sections)o=this._metadata.tabular_sections[i],r="StandardODATA."+this._manager.rest_name+"_"+_md.syns_1с(i)+"_RowType",s=this[i],s.count()?(p+="\n<d:"+_md.syns_1с(i)+' m:type="Collection('+r+')">',s.each(function(e){p+='\n\t<d:element m:type="'+r+'">',p+="\n\t<d:LineNumber>"+e.row+"</d:LineNumber>",t(e),p+="\n\t</d:element>"}),p+="\n</d:"+_md.syns_1с(i)+">"):p+="\n<d:"+_md.syns_1с(i)+' m:type="Collection('+r+')" />';return c.replace("%p",p)},DataManager.prototype.__define({pouch_load_array:{value:function(e,t){var n={limit:e.length+1,include_docs:!0,keys:e.map(function(e){return this.class_name+"|"+e}.bind(this))};return t&&(n.attachments=!0,n.binary=!0),this.pouch_db.allDocs(n).then(function(e){return $p.wsql.pouch.load_changes(e,{})})}},pouch_load_view:{value:function(e){var t,n=this,a=[],i={limit:1e3,include_docs:!0,startkey:n.class_name+"|",endkey:n.class_name+"|￿"};return new Promise(function(s,o){function r(l,c){c?c.rows.length?(i.startkey=c.rows[c.rows.length-1].key,i.skip=1,c.rows.forEach(function(e){t=e.doc,key=t._id.split("|"),t.ref=key[1],a.push(t)}),n.load_array(a),a.length=0,n.pouch_db.query(e,i,r)):s():l&&o(l)}n.pouch_db.query(e,i,r)})}},pouch_db:{get:function(){return this.cachable.indexOf("_remote")!=-1?$p.wsql.pouch.remote[this.cachable.replace("_remote","")]:$p.wsql.pouch.local[this.cachable]||$p.wsql.pouch.remote[this.cachable]}},pouch_find_rows:{value:function(e){var t,n,a,i,s,o,r=this,l=[],c=0,p=0,d=0,u={limit:100,include_docs:!0,startkey:r.class_name+"|",endkey:r.class_name+"|￿"};return e&&(e._top?(s=e._top,delete e._top):s=300,e._raw&&(n=e._raw,delete e._raw),e._total_count&&(i=e._total_count,delete e._total_count),e._view&&(a=e._view,delete e._view),e._key&&("des"==e._key._order_by?(u.startkey=e._key.endkey||e._key+"￿",u.endkey=e._key.startkey||e._key,u.descending=!0):(u.startkey=e._key.startkey||e._key,u.endkey=e._key.endkey||e._key+"￿")),"number"==typeof e._skip&&(p=e._skip,delete e._skip),e._attachments&&(u.attachments=!0,u.binary=!0,delete e._attachments)),i&&(o=!0,i=0,Object.keys(e).length<=1&&e._key&&e._key.hasOwnProperty("_search"))?(u.include_docs=!1,u.limit=1e5,r.pouch_db.query(a,u).then(function(t){return t.rows.forEach(function(t){if(!e._key._search||t.key[t.key.length-1].toLowerCase().indexOf(e._key._search)!=-1){if(i++,p&&(d++,d<p))return;if(s&&(c++,c>s))return;l.push(t.id)}}),delete u.startkey,delete u.endkey,u.descending&&delete u.descending,u.keys=l,u.include_docs=!0,r.pouch_db.allDocs(u)}).then(function(e){return{rows:e.rows.map(function(e){var t=e.doc;return t.ref=t._id.split("|")[1],n||(delete t._id,delete t._rev),t}),_total_count:i}})):new Promise(function(f,m){function h(a,h){h?h.rows.length?(u.startkey=h.rows[h.rows.length-1].key,u.skip=1,h.rows.forEach(function(a){t=a.doc,key=t._id.split("|"),t.ref=key[1],n||(delete t._id,delete t._rev),$p._selection.call(r,t,e)&&(o&&i++,p&&(d++,d<p)||s&&(c++,c>s)||l.push(t))}),s&&c>s&&!o?f(n?l:r.load_array(l)):_()):f(o?{rows:n?l:r.load_array(l),_total_count:i}:n?l:r.load_array(l)):a&&m(a)}function _(){a?r.pouch_db.query(a,u,h):r.pouch_db.allDocs(u,h)}_()})}},pouch_selection:{value:function(e){var t,n,a,i=this,s=e.metadata||i.metadata(),o=["ref","_deleted"],r={_raw:!0,_total_count:!0,_top:e.count||30,_skip:e.start||0},l=[];if(s.form&&s.form.selection?s.form.selection.fields.forEach(function(e){o.push(e)}):i instanceof DocManager?(o.push("posted"),o.push("date"),o.push("number_doc")):i instanceof TaskManager?(o.push("name as presentation"),o.push("date"),o.push("number_doc"),o.push("completed")):i instanceof BusinessProcessManager?(o.push("date"),o.push("number_doc"),o.push("started"),o.push("finished")):(s.hierarchical&&s.group_hierarchy?o.push("is_folder"):o.push("0 as is_folder"),s.main_presentation_name?o.push("name as presentation"):s.code_length?o.push("id as presentation"):o.push("'...' as presentation"),s.has_owners&&o.push("owner"),s.code_length&&o.push("id")),_md.get(i.class_name,"date")&&(e.date_from||e.date_till)&&(e.date_from||(e.date_from=new Date("2015-01-01")),e.date_till||(e.date_till=$p.utils.date_add_day(new Date,1)),r.date={between:[e.date_from,e.date_till]}),s.hierarchical&&e.parent&&(r.parent=e.parent),e.selection)if(Array.isArray(e.selection))e.selection.forEach(function(e){for(a in e)"_"==a[0]&&"_view"!=a&&"_key"!=a||(r[a]=e[a])});else for(a in e.selection)"_"==a[0]&&"_view"!=a&&"_key"!=a||(r[a]=e.selection[a]);return r._key&&r._key._drop_date&&r.date&&delete r.date,!e.filter||r._key&&r._key._search||(1==s.input_by_string.length?r[s.input_by_string]={like:e.filter}:(r.or=[],s.input_by_string.forEach(function(t){var n={};n[t]={like:e.filter},r.or.push(n)}))),r._key&&r._key._order_by&&(r._key._order_by=e.direction),i.pouch_find_rows(r).then(function(s){return s.hasOwnProperty("_total_count")&&s.hasOwnProperty("rows")&&(e._total_count=s._total_count,s=s.rows),s.forEach(function(e){t={},o.forEach(function(s){if("ref"==s)return void(t[s]=e[s]);if(s.indexOf(" as ")!=-1?(a=s.split(" as ")[1],s=s.split(" as ")[0].split("."),s=s[s.length-1]):a=s,n=_md.get(i.class_name,s))if(n.type.date_part)t[a]=$p.moment(e[s]).format($p.moment._masks[n.type.date_part]);else if(n.type.is_ref)if(e[s]&&e[s]!=$p.utils.blank.guid){var o=_md.value_mgr(t,s,n.type,!1,e[s]);o?t[a]=o.get(e[s]).presentation:t[a]=""}else t[a]="";else"number"==typeof e[s]&&n.type.fraction_figits?t[a]=e[s].toFixed(n.type.fraction_figits):t[a]=e[s]}),l.push(t)}),$p.iface.data_to_grid.call(i,l,e)}).catch($p.record_log)}},pouch_tree:{value:function(e){return this.pouch_find_rows({is_folder:!0,_raw:!0,_top:e.count||300,_skip:e.start||0}).then(function(e){return e.sort(function(e,t){return e.parent==$p.utils.blank.guid&&t.parent!=$p.utils.blank.guid?-1:t.parent==$p.utils.blank.guid&&e.parent!=$p.utils.blank.guid?1:e.name<t.name?-1:e.name>t.name?1:0}),e.map(function(e){return{ref:e.ref,parent:e.parent,presentation:e.name}})}).then($p.iface.data_to_tree)}},save_attachment:{value:function(e,t,n,a){a||(a={type:"text/plain"}),n instanceof Blob||a.indexOf("text")!=-1||(n=new Blob([n],{type:a}));var i,s=this.pouch_db;return e=this.class_name+"|"+$p.utils.fix_guid(e),s.get(e).then(function(e){e&&(i=e._rev)}).catch(function(e){if(404!=e.status)throw e}).then(function(){return s.putAttachment(e,t,i,n,a)})}},get_attachment:{value:function(e,t){return this.pouch_db.getAttachment(this.class_name+"|"+$p.utils.fix_guid(e),t)}},delete_attachment:{value:function(e,t){var n,a=this.pouch_db;return e=this.class_name+"|"+$p.utils.fix_guid(e),a.get(e).then(function(e){e&&(n=e._rev)}).catch(function(e){if(404!=e.status)throw e}).then(function(){return a.removeAttachment(e,t,n)})}}}),DataObj.prototype.__define({new_number_doc:{value:function(e){if(this._metadata.code_length){e||(e=($p.current_acl&&$p.current_acl.prefix||"")+(this.organization&&this.organization.prefix?this.organization.prefix:$p.wsql.get_user_param("zone")+"-"));var t=this,n="",a=this.date instanceof Date?this.date.getFullYear():0,i=this._metadata.code_length-e.length;return"ram"==this._manager.cachable?Promise.resolve(this.new_cat_id(e)):t._manager.pouch_db.query("doc/number_doc",{limit:1,include_docs:!1,startkey:[t._manager.class_name,a,e+"￿"],endkey:[t._manager.class_name,a,e],descending:!0}).then(function(a){if(a.rows.length){for(var s=a.rows[0].key[2],o=s.length-1;o>0&&!isNaN(parseInt(s[o]));o--)n=s[o]+n;n=(parseInt(n||0)+1).toFixed(0)}else n="1";for(;n.length<i;)n="0"+n;return t instanceof DocObj||t instanceof TaskObj||t instanceof BusinessProcessObj?t.number_doc=e+n:t.id=e+n,t})}}},new_cat_id:{value:function(e){e||(e=($p.current_acl&&$p.current_acl.prefix||"")+(this.organization&&this.organization.prefix?this.organization.prefix:$p.wsql.get_user_param("zone")+"-"));var t=this._metadata.code_length-e.length,n=this instanceof DocObj||this instanceof TaskObj||this instanceof BusinessProcessObj?"number_doc":"id",a="",i=$p.wsql.alasql("select top 1 "+n+" as id from ? where "+n+" like '"+e+"%' order by "+n+" desc",[this._manager.alatable]);if(i.length){for(var s=i[0].id||"",o=s.length-1;o>0&&!isNaN(parseInt(s[o]));o--)a=s[o]+a;a=(parseInt(a||0)+1).toFixed(0)}else a="1";for(;a.length<t;)a="0"+a;return this[n]=e+a,this}}}),$p.iface.OBtnAuthSync=function(){function e(){$p.wsql.pouch.authorized?dhtmlx.confirm({title:$p.msg.log_out_title,text:$p.msg.logged_in+$p.wsql.pouch.authorized+$p.msg.log_out_break,cancel:$p.msg.cancel,callback:function(e){e&&$p.wsql.pouch.log_out()}}):$p.iface.frm_auth({modal_dialog:!0})}function t(e){e&&a?clearTimeout(a):i.forEach(function(t){e?t.buttons.sync.innerHTML='<i class="fa fa-refresh fa-spin md-fa-lg"></i>':$p.wsql.pouch.authorized?t.buttons.sync.innerHTML='<i class="fa fa-refresh md-fa-lg"></i>':t.buttons.sync.innerHTML='<i class="fa fa-ban md-fa-lg"></i>'}),a=e?setTimeout(t,3e3):0}function n(){i.forEach(function(e){$p.wsql.pouch.authorized?(e.buttons.auth.title="Отключиться от сервера",e.buttons.auth.innerHTML='<span class="span_user">'+$p.wsql.pouch.authorized+"</span>",e.buttons.sync.title="Синхронизация выполняется...",e.buttons.sync.innerHTML='<i class="fa fa-refresh md-fa-lg"></i>'):(e.buttons.auth.title="Войти на сервер и включить синхронизацию данных",e.buttons.auth.innerHTML=' <i class="fa fa-sign-in md-fa-lg"></i><span class="span_user">Вход...</span>',e.buttons.sync.title="Синхронизация не выполняется - пользователь не авторизован на сервере",e.buttons.sync.innerHTML='<i class="fa fa-ban md-fa-lg"></i>')})}var a,i=[];this.bind=function(t){return t.buttons.auth.onclick=e,t.buttons.sync.onclick=null,i.push(t),setTimeout(n),t},$p.on({pouch_load_data_start:function(e){$p.iface.sync||$p.iface.wnd_sync(),$p.iface.sync.create($p.eve.stepper),$p.eve.stepper.frm_sync.setItemValue("text_bottom","Читаем справочники"),e.hasOwnProperty("local_rows")&&e.local_rows<10?($p.eve.stepper.wnd_sync.setText("Первый запуск - подготовка данных"),$p.eve.stepper.frm_sync.setItemValue("text_processed","Загрузка начального образа")):($p.eve.stepper.wnd_sync.setText("Загрузка данных из IndexedDB"),$p.eve.stepper.frm_sync.setItemValue("text_processed","Извлечение начального образа")),t(!0)},pouch_load_data_page:function(e){if(t(!0),$p.eve.stepper.wnd_sync){var n=e.docs_written||e.page*e.limit;$p.eve.stepper.frm_sync.setItemValue("text_current","Обработано элементов: "+n+" из "+e.total_rows),$p.eve.stepper.frm_sync.setItemValue("text_bottom","Текущий запрос: "+e.page+" ("+(100*n/e.total_rows).toFixed(0)+"%)")}},pouch_change:function(e,n){t(!0)},pouch_load_data_loaded:function(e){$p.eve.stepper.wnd_sync&&(e.docs_written?$p.iface.sync.close():$p.iface.sync.close())},pouch_load_data_error:function(e){t(),$p.eve.stepper.wnd_sync&&$p.iface.sync.close()},log_in:function(e){n()},log_out:function(){n()}})};var eXcell_proto=new eXcell;eXcell_proto.input_keydown=function(e,t){function n(e){t.source.on_select&&t.source.on_select.call(t.source,e)}if(8===e.keyCode||46===e.keyCode)t.setValue(""),t.grid.editStop(),t.source.on_select&&t.source.on_select.call(t.source,"");else if(9===e.keyCode||13===e.keyCode)t.grid.editStop();else if(115===e.keyCode)t.cell.firstChild.childNodes[1].onclick(e);else if(113===e.keyCode)if(t.source.tabular_section){if(t.mgr=_md.value_mgr(t.source.row,t.source.col,t.source.row._metadata.fields[t.source.col].type),t.mgr){var a=t.source.row[t.source.col];t.mgr.form_obj(t.source.wnd,{o:a,on_select:n})}}else if(1==t.fpath.length&&(t.mgr=_md.value_mgr(t.source.o._obj,t.fpath[0],t.source.o._metadata.fields[t.fpath[0]].type),t.mgr)){var a=t.source.o[t.fpath[0]];t.mgr.form_obj(t.source.wnd,{o:a,on_select:n})}return $p.iface.cancel_bubble(e)},eXcell_ocombo.prototype=eXcell_proto,window.eXcell_ocombo=eXcell_ocombo,window.eXcell_ref=eXcell_ocombo,window.eXcell_refc=eXcell_ocombo,eXcell_pwd.prototype=eXcell_proto,window.eXcell_pwd=eXcell_pwd,dhtmlXCalendarObject.prototype._dateToStr=function(e,t){return e instanceof Date&&e.getFullYear()<1e3?"":window.dhx4.date2str(e,t||this._dateFormat,this._dateStrings())},eXcell_dhxCalendar.prototype.edit=function(){var e=this.grid.getPosition(this.cell);this.grid._grid_calendarA._show(!1,!1),this.grid._grid_calendarA.setPosition(e[0],e[1]+this.cell.offsetHeight),this.grid._grid_calendarA._last_operation_calendar=!1,this.grid.callEvent("onCalendarShow",[this.grid._grid_calendarA,this.cell.parentNode.idd,this.cell._cellIndex]),this.cell._cediton=!0,this.val=this.cell.val,this.val instanceof Date&&this.val.getFullYear()<1e3&&(this.val=new Date),this._val=this.cell.innerHTML;var t=this.grid._grid_calendarA.draw;this.grid._grid_calendarA.draw=function(){},this.grid._grid_calendarA.setDateFormat(this.grid._dtmask||"%d.%m.%Y"),this.grid._grid_calendarA.setDate(this.val||new Date),this.grid._grid_calendarA.draw=t},eXcell_dhxCalendar.prototype.setCValue=function(e,t){this.cell.innerHTML=e instanceof Date?this.grid._grid_calendarA._dateToStr(e):e,this.grid._grid_calendarA.getFormatedDate(this.grid._dtmask||"%d/%m/%Y",e).toString(),this.grid.callEvent("onCellChanged",[this.cell.parentNode.idd,this.cell._cellIndex,arguments.length>1?t:e])},function(){function e(e,t,n,a){if(n.indexOf("odata/standard.odata")!=-1||n.indexOf("/hs/rest")!=-1){var i,s;$p.ajax.authorized?(i=$p.ajax.username,s=$p.aes.Ctr.decrypt($p.ajax.password)):$p.job_prm.guest_name?(i=$p.job_prm.guest_name,s=$p.aes.Ctr.decrypt($p.job_prm.guest_pwd)):(i=$p.wsql.get_user_param("user_name"),s=$p.aes.Ctr.decrypt($p.wsql.get_user_param("user_pwd"))),e.open(t,n,a,i,s),e.withCredentials=!0,e.setRequestHeader("Authorization","Basic "+btoa(unescape(encodeURIComponent(i+":"+s))))}else e.open(t,n,a)}dhx4.ajax._call=function(t,n,a,i,s,o,r){var l=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),c=null!=navigator.userAgent.match(/AppleWebKit/)&&null!=navigator.userAgent.match(/Qt/)&&null!=navigator.userAgent.match(/Safari/);if(1==i&&(l.onreadystatechange=function(){if(4==l.readyState||1==c&&3==l.readyState){if((200!=l.status||""==l.responseText)&&!dhx4.callEvent("onAjaxError",[{xmlDoc:l,filePath:n,async:i}]))return;window.setTimeout(function(){"function"==typeof s&&s.apply(window,[{xmlDoc:l,filePath:n,async:i}]),null!=o&&("undefined"!=typeof o.postData?dhx4.ajax.postLong(o.url,o.postData,s):dhx4.ajax.getLong(o.url,s)),s=null,l=null},1)}}),"GET"==t&&(n+=this._dhxr(n)),l.open(t,n,i),e(l,t,n,i),null!=r)for(var p in r)l.setRequestHeader(p,r[p]);else"POST"==t||"PUT"==t||"DELETE"==t?l.setRequestHeader("Content-Type","application/x-www-form-urlencoded"):"GET"==t&&(a=null);return l.setRequestHeader("X-Requested-With","XMLHttpRequest"),l.send(a),1!=i&&(4==l.readyState||1==c&&3==l.readyState)&&(200==l.status&&""!=l.responseText||dhx4.callEvent("onAjaxError",[{xmlDoc:l,filePath:n,async:i}])),{xmlDoc:l,filePath:n,async:i}},dhtmlx.ajax.prototype.send=function(t,n,a){var i=this.getXHR();if("function"==typeof a&&(a=[a]),"object"==typeof n){var s=[];for(var o in n){var r=n[o];null!==r&&r!==dhtmlx.undefined||(r=""),s.push(o+"="+encodeURIComponent(r))}n=s.join("&")}n&&!this.post&&(t=t+(t.indexOf("?")!=-1?"&":"?")+n,n=null),e(i,this.post?"POST":"GET",t,!this._sync),this.post&&i.setRequestHeader("Content-type","application/x-www-form-urlencoded");var l=this;return i.onreadystatechange=function(){if(!i.readyState||4==i.readyState){if(a&&l)for(var e=0;e<a.length;e++)a[e]&&a[e].call(l.master||l,i.responseText,i.responseXML,i);l.master=null,a=l=null}},i.send(n||null),i}}(),dhtmlXCellObject.prototype.is_visible=function(){var e=this.cell.getBoundingClientRect();return e.right>0&&e.bottom>0},$p.iface.data_to_grid=function(e,t){function n(e){var t;return t=e.hasOwnProperty("posted")?e.posted?"cell_doc_posted":"cell_doc":e.is_folder?"cell_ref_folder":"cell_ref_elm",e._deleted&&(t+="_deleted"),t}function a(e){return e instanceof Date?e.getHours()||e.getMinutes()?$p.moment(e).format($p.moment._masks.date_time):$p.moment(e).format($p.moment._masks.date):"number"==typeof e?e:$p.iface.normalize_xml(e||"")}if(this.data_to_grid)return this.data_to_grid(e,t);var i="<?xml version='1.0' encoding='UTF-8'?><rows total_count='%1' pos='%2' set_parent='%3'>".replace("%1",t._total_count||e.length).replace("%2",t.start).replace("%3",t.set_parent||""),s=this.caption_flds(t);return i+=s.head,e.forEach(function(e){i+='<row id="'+e.ref+'"><cell class="'+n(e)+'">'+a(e[s.acols[0].id])+"</cell>";for(var t=1;t<s.acols.length;t++)i+="<cell>"+a(e[s.acols[t].id])+"</cell>";i+="</row>"}),i+"</rows>"},$p.iface.data_to_tree=function(e){function t(n,a){var i={id:a.ref,text:a.presentation,items:[]};n.push(i),$p._find_rows(e,{parent:a.ref},function(e){t(i.items,e)}),i.items.length||delete i.items}var n=[{id:$p.utils.blank.guid,text:"..."}];return $p._find_rows(e,{parent:$p.utils.blank.guid},function(e){t(n,e)}),n},$p.iface.ODropdownList=ODropdownList,dhtmlXCellObject.prototype.attachDynTree=function(e,t,n){this.setCollapsedText&&this.setCollapsedText("Дерево"),t||(t={is_folder:!0});var a=this.attachTreeView();return a.__define({filter:{get:function(){},set:function(e){t=e},enumerable:!1,configurable:!1}}),setTimeout(function(){e.sync_grid({action:"get_tree",filter:t},a).then(function(e){n&&n(e)})}),a},OCombo._extend(dhtmlXCombo),$p.iface.OCombo=OCombo,$p.iface.select_from_list=function(e,t){return new Promise(function(n,a){function i(e){"cancel"!=e&&(s=c.getSelectedRowId()),l.close()}Array.isArray(e)&&e.length?1==e.length&&n(e[0]):n(void 0);var s,o,r={name:"wnd_select_from_list",wnd:{id:"wnd_select_from_list",width:300,height:300,modal:!0,center:!0,caption:$p.msg.select_from_list,allow_close:!0,on_close:function(){return s&&n(e[parseInt(s)-1]),!0}}},l=$p.iface.dat_blank(null,r.wnd),c=l.attachGrid(),p=l.attachToolbar({items:[{id:"select",type:"button",text:$p.msg.select_from_list},{id:"cancel",type:"button",text:"Отмена"}],onClick:i});c.setIconsPath(dhtmlx.image_path),c.setImagePath(dhtmlx.image_path),c.setHeader($p.msg.value),c.setColTypes("ro"),c.enableAutoWidth(!0,1200,600),c.attachEvent("onRowDblClicked",i),c.enableMultiselect(!!t),c.setNoHeader(!0),c.init(),p.addSpacer("select"),l.hideHeader(),l.cell.offsetParent.querySelector(".dhxwin_brd").style.border="none",e.forEach(function(e,t){ var n;n="object"==typeof e?e.presentation||e.text||e.toString():e.toString(),c.addRow(1+t,n),e.selected&&(o=1+t)}),o&&c.selectRowById(o)})},$p.iface.ODateRangePicker=ODateRangePicker,dhtmlXCellObject.prototype.attachHeadFields=function(e){function t(e){if(a)u.entBox&&!u.entBox.parentElement?setTimeout(u.destructor):e.forEach(function(e){"unload"==e.type?d&&d.close?d.close():u.destructor():u.forEachRow(function(t){t==e.name&&u.cells(t,1).setValue(a[e.name])})});else{var i=[];e.forEach(function(e){i.indexOf[e.object]==-1&&(i.push(e.object),Object.unobserve(e.object,t),c&&c instanceof TabularSection&&Object.unobserve(e.object,n))}),i=null}}function n(t){var n;t.forEach(function(t){!n&&u.clearAll&&l==t.tabular&&(n=!0,u.clearAll(),u.parse(o.get_property_grid_xml(i,a,{title:e.ts_title,ts:l,selection:r,metadata:s}),function(){},"xml"))})}var a,i,s,o,r,l,c,p,d=this,u=d.attachGrid(),f=u.destructor;return new dhtmlXPropertyGrid(u),u.setInitWidthsP("40,60"),u.setDateFormat("%d.%m.%Y %H:%i"),u.init(),u.setSizes(),u.attachEvent("onPropertyChanged",function(e,t,n){if(e||u&&u.getSelectedRowId())return p.on_select(t)}),u.attachEvent("onCheckbox",function(e,t,n){return void 0!=a[e]?p.on_select(n,{obj:a,field:e}):e.split("|").length>1?p.on_select(n,u.get_cell_field(e)):void 0}),u.attachEvent("onKeyPress",function(e,t,n){switch(e){case 13:case 9:u.editStop&&u.editStop();break;case 46:}}),e.read_only&&u.setEditable(!1),u.__define({selection:{get:function(){return r},set:function(e){r=e,this.reload()}},reload:{value:function(){n([{tabular:l}])}},get_cell_field:{value:function(e){if(a){var t={row_id:e||u.getSelectedRowId()},n=t.row_id.split("|");if(n.length<2)return{obj:a,field:n[0]}._mixin(p);var i;return r?a[n[0]].find_rows(r,function(e){if(e.property==n[1]||e.param==n[1]||e.Свойство==n[1]||e.Параметр==n[1])return i=e,!1}):i=a[n[0]].find(n[1]),i?(t.obj=i,i["Значение"]?(t.field="Значение",t.property=i.Свойство||i.Параметр):(t.field="value",t.property=i.property||i.param),t._mixin(p)):void 0}},enumerable:!1},_obj:{get:function(){return a}},_owner_cell:{get:function(){return d}},destructor:{value:function(){a&&Object.unobserve(a,t),c&&c instanceof TabularSection&&Object.unobserve(c,n),a=null,c=null,s=null,o=null,p=null,f.call(u)}},attach:{value:function(e){a&&Object.unobserve(a,t),c&&c instanceof TabularSection&&Object.unobserve(a,n),e.oxml&&(i=e.oxml),e.selection&&(r=e.selection),a=e.obj,s=e.metadata||a._metadata.fields,o=a._manager,l=e.ts||"",c=l?a[l]:a.extra_fields||a["ДополнительныеРеквизиты"],c&&!l&&(l=a.extra_fields?"extra_fields":"ДополнительныеРеквизиты"),p={on_select:function(e,t){if(t||(t=u.get_cell_field()),t){var n=o.handle_event(a,"value_change",{field:t.field,value:e,tabular_section:t.row_id?l:"",grid:u,cell:u.cells(t.row_id||t.field,1),wnd:p.pwnd});return"boolean"!=typeof n&&(t.obj[t.field]=e,n=!0),n}},pwnd:e.pwnd||d},Object.observe(a,t,["update","unload"]),c&&c instanceof TabularSection&&Object.observe(a,n,["row","rows"]),l&&!e.ts_title&&(e.ts_title=a._metadata.tabular_sections[l].synonym),n([{tabular:l}])}}}),e&&u.attach(e),u},dhtmlXGridObject.prototype.get_cell_value=function(){var e=this.get_cell_field();if(e&&e.obj)return e.obj[e.field]},dhtmlXCellObject.prototype.attachTabular=function(e){function t(e){var t=m.getSelectedRowId();return t&&!isNaN(Number(t))?Number(t)-1:void(e||$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",o._metadata.tabular_sections[r].synonym||r),title:(o._metadata.obj_presentation||o._metadata.synonym)+": "+o.presentation}))}function n(e,t,n,a,i){if(2!=e||a==i)return!0;var s=m.get_cell_field(),l=c.handle_event(o,"value_change",{field:s.field,value:a,tabular_section:r,grid:m,row:s.obj,cell:t&&n?m.cells(t,n):m.getSelectedCellIndex()>=0?m.cells():null,wnd:g.pwnd});return"boolean"!=typeof l&&(s.obj[s.field]=a,l=!0),l}function a(e){m.clearAll&&e.some(function(e){if("rows"==e.type&&e.tabular==r)return l.sync_grid(m,f),!0})}function i(e){if(e.length>20)try{l.sync_grid(m,f)}catch(e){}else e.forEach(function(e){r==e.tabular&&(e.row&&m.getSelectedRowId()==e.row.row?void 0!=m.getColIndexById(e.name)&&m.cells(e.row.row,m.getColIndexById(e.name)).setCValue($p.utils.is_data_obj(e.row[e.name])?e.row[e.name].presentation:e.row[e.name]):l.sync_grid(m,f))})}function s(e){if(e.clipboardData.types.indexOf("text/plain")!=-1)try{$p.eve.callEvent("tabular_paste",[{obj:o,grid:m,tsname:r,e:e,data:e.clipboardData.getData("text/plain")}])}catch(e){return}}var o=e.obj,r=e.ts,l=o[r],c=o._manager,p=e.metadata||c.metadata().tabular_sections[r].fields,d=this,u=e.ts_captions||{},f=e.selection;if(e.ts_captions||_md.ts_captions(c.class_name,r,u)){var m=this.attachGrid(),h=this.attachToolbar(),_=m.destructor,g={on_select:function(e){n(2,null,null,e)},pwnd:e.pwnd||d,is_tabular:!0};return m.setDateFormat("%d.%m.%Y %H:%i"),m.enableAccessKeyMap(),m._add_row=function(){if(!e.read_only){var t;if(f)for(var n in f)p[n]&&("object"!=typeof f[n]||$p.is_data_obj(f[n]))&&(t||(t={}),t[n]=f[n]);var a=l.add(t);if(c.handle_event(o,"add_row",{tabular_section:r,grid:m,row:a,wnd:g.pwnd})===!1)return;setTimeout(function(){m.selectRowById(a.row)},100)}},m._del_row=function(){if(!e.read_only){var n=t();if(void 0!=n){if(c.handle_event(o,"del_row",{tabular_section:r,grid:m,row:n,wnd:g.pwnd})===!1)return;l.del(n),setTimeout(function(){m.selectRowById(n<l.count()?n+1:n)},100)}}},h.setIconsPath(dhtmlx.image_path+"dhxtoolbar"+dhtmlx.skin_suffix()),h.loadStruct(e.toolbar_struct||$p.injected_data["toolbar_add_del.xml"],function(){this.attachEvent("onclick",function(e){switch(e){case"btn_add":m._add_row();break;case"btn_delete":m._del_row()}})}),m.setIconsPath(dhtmlx.image_path),m.setImagePath(dhtmlx.image_path),m.setHeader(u.headers),u.min_widths&&m.setInitWidths(u.widths),u.min_widths&&m.setColumnMinWidth(u.min_widths),u.aligns&&m.setColAlign(u.aligns),m.setColSorting(u.sortings),m.setColTypes(u.types),m.setColumnIds(u.fields.join(",")),m.enableAutoWidth(!0,1200,600),m.enableEditTabOnly(!0),m.init(),e.read_only&&(m.setEditable(!1),h.forEachItem(function(e){["btn_add","btn_delete"].indexOf(e)!=-1&&h.disableItem(e)})),m.__define({selection:{get:function(){return f},set:function(e){f=e,a([{tabular:r,type:"rows"}])}},destructor:{value:function(){o&&(Object.unobserve(o,i),Object.unobserve(o,a)),o=null,l=null,p=null,c=null,g=null,d.detachToolbar(),m.entBox.removeEventListener("paste",s),_.call(m)}},get_cell_field:{value:function(){if(l){var e,n,a=t(!0),i=m.getSelectedCellIndex();if(void 0!=a?e=l.get(a):m._last&&(e=l.get(m._last.row)),i>=0?n=m.getColumnId(i):m._last&&(n=m.getColumnId(m._last.cindex)),e&&n)return{obj:e,field:n,metadata:p[n]}._mixin(g)}}},refresh_row:{value:function(e){m.selectRowById(e.row),m.forEachCell(e.row,function(t,n){var a=e[m.getColumnId(n)];t.setCValue($p.utils.is_data_obj(a)?a.presentation:a)})}}}),m.attachEvent("onEditCell",n),m.attachEvent("onRowSelect",function(e,t){l&&(m._last={row:e-1,cindex:t})}),a([{tabular:r,type:"rows"}]),Object.observe(o,i,["row"]),Object.observe(o,a,["rows"]),m.entBox.addEventListener("paste",s),m}},$p.iface.Toolbar_filter=function(e){function t(){i&&clearTimeout(i),i=setTimeout(function(){i&&a.call_event()},500)}function n(e,t){"min"==t?a.сalendar.setSensitiveRange(e.value,null):a.сalendar.setSensitiveRange(null,e.value)}var a=this,i=0,s="desktop"==$p.job_prm.device_type?300:120,o={};e.pos||(e.pos=6),a.__define({custom_selection:{get:function(){return o},enumerable:!1,configurable:!1},toolbar:{get:function(){return e.toolbar},enumerable:!1,configurable:!1},call_event:{value:function(){i&&(clearTimeout(i),i=0),e.onchange.call(a,a.get_filter())}}}),a.toolbar.addText("div_filter",e.pos,""),a.div=a.toolbar.objPull[a.toolbar.idPrefix+"div_filter"],e.pos++,(e.manager instanceof DocManager||e.manager instanceof BusinessProcessManager||e.manager instanceof TaskManager||e.period)&&(s="desktop"==$p.job_prm.device_type?180:120,a.toolbar.addInput("input_date_from",e.pos,"","desktop"==$p.job_prm.device_type?80:72),e.pos++,a.toolbar.addText("lbl_date_till",e.pos,"-"),e.pos++,a.toolbar.addInput("input_date_till",e.pos,"","desktop"==$p.job_prm.device_type?80:72),e.pos++,a.input_date_from=a.toolbar.getInput("input_date_from"),a.input_date_from.onclick=function(){n(a.input_date_till,"max")},a.input_date_till=a.toolbar.getInput("input_date_till"),a.input_date_till.onclick=function(){n(a.input_date_from,"min")},a.сalendar=new dhtmlXCalendarObject([a.input_date_from,a.input_date_till]),a.сalendar.attachEvent("onclick",a.call_event),e.date_from||(e.date_from=new Date((new Date).getFullYear().toFixed()+"-01-01")),e.date_till||(e.date_till=$p.utils.date_add_day(new Date,1)),a.input_date_from.value=$p.moment(e.date_from).format("L"),a.input_date_till.value=$p.moment(e.date_till).format("L"),"doc"!=e.manager.cachable||e.custom_selection||(o._view={get value(){return"doc/by_date"}},o._key={get value(){var t=a.get_filter(!0);return{startkey:[e.manager.class_name,t.date_from.getFullYear(),t.date_from.getMonth()+1,t.date_from.getDate()],endkey:[e.manager.class_name,t.date_till.getFullYear(),t.date_till.getMonth()+1,t.date_till.getDate()],_drop_date:!0,_order_by:!0,_search:t.filter.toLowerCase()}}})),e.hide_filter?a.input_date_till?a.toolbar.addSpacer("input_date_till"):a.toolbar.addSpacer("div_filter"):(a.toolbar.addSeparator("filter_sep",e.pos),e.pos++,a.toolbar.addInput("input_filter",e.pos,"",s),a.input_filter=a.toolbar.getInput("input_filter"),a.input_filter.onchange=a.call_event,a.input_filter.onclick=function(){var e=a.input_filter.value;setTimeout(function(){e!=a.input_filter.value&&a.call_event()})},a.input_filter.onkeydown=t,a.input_filter.type="search",a.input_filter.setAttribute("placeholder","Фильтр"),a.toolbar.addSpacer("input_filter"))},$p.iface.Toolbar_filter.prototype.__define({get_filter:{value:function(e){var t,n,a={date_from:this.input_date_from?$p.utils.date_add_day(dhx4.str2date(this.input_date_from.value),0,!0):"",date_till:this.input_date_till?$p.utils.date_add_day(dhx4.str2date(this.input_date_till.value),1,!0):"",filter:this.input_filter?this.input_filter.value:""};if(!e)for(t in this.custom_selection)a.selection||(a.selection=[]),n={},n[t]=this.custom_selection[t].value,a.selection.push(n);return a}},add_filter:{value:function(e){var t=this.toolbar.getPosition("input_filter")-2,n=dhx4.newId(),a=(this.toolbar.getWidth("input_filter")/2).round(0);this.toolbar.setWidth("input_filter",a),this.toolbar.addText("lbl_"+n,t,e.text||""),t++,this.toolbar.addInput("input_"+n,t,"",a),this.custom_selection[e.name]=this.toolbar.getInput("input_"+n)}}}),$p.iface.dat_blank=function(e,t){t||(t={});var n,a=(e||$p.iface.w).createWindow({id:dhx4.newId(),left:t.left||700,top:t.top||20,width:t.width||220,height:t.height||300,move:!0,park:!t.allow_close,center:!!t.center,resize:!0,caption:t.caption||"Tools"}),i={x:(e||$p.iface.w).vp.clientWidth,y:(e||$p.iface.w).vp.clientHeight};return a.getPosition()[0]+a.getDimension()[0]>i.x?(i.x=i.x-a.getDimension()[0],n=!0):i.x=a.getPosition()[0],a.getPosition()[1]+a.getDimension()[1]>i.y?(i.y=i.y-a.getDimension()[1],n=!0):i.y=a.getPosition()[1],n&&(i.x<0||i.y<0?a.maximize():a.setPosition(i.x,i.y)),e=null,t.hasOwnProperty("allow_minmax")&&!t.allow_minmax&&a.button("minmax").hide(),t.allow_close?a.button("park").hide():a.button("close").hide(),a.attachEvent("onClose",function(){var e="function"!=typeof t.on_close||t.on_close(a);if(e)return t.pwnd_modal&&t.pwnd&&t.pwnd.setModal&&t.pwnd.setModal(1),e}),a.setIconCss("without_icon"),a.cell.parentNode.children[1].classList.add("dat_gui"),$p.iface.bind_help(a,t.help_path),a.elmnts={grids:{}},a.wnd_options=function(e){var t=a.getPosition(),n=a.getDimension(),i=a.isParked();e.left=t[0],e.top=t[1],e.width=n[0],e.parked=i,i||(e.height=n[1])},a.bottom_toolbar=function(e){var t={wrapper:a.cell,width:"100%",height:"28px",bottom:"0px",left:"0px",name:"tb_bottom",buttons:[{name:"btn_cancel",text:"Отмена",title:"Закрыть без сохранения",width:"60px",float:"right"},{name:"btn_ok",b:"Ок",title:"Применить изменения",width:"30px",float:"right"}],onclick:function(e){return!1}}._mixin(e),n=new OTooolBar(t),i=a.attachStatusBar({height:12});return i.style.zIndex=-1e3,i.firstChild.style.backgroundColor="transparent",i.firstChild.style.border="none",n},t.modal&&(t.pwnd&&t.pwnd.setModal&&(t.pwnd_modal=t.pwnd.isModal(),t.pwnd.setModal(0)),a.setModal(1)),a},$p.iface.pgrid_on_select=function(e){if(void 0!==e){var t=this.grid instanceof dhtmlXGridObject?this.grid:this,n=t.getUserData("","source"),a=t.getSelectedRowId();if(void 0!=n.o[a])"number"==typeof n.o[a]?n.o[a]=$p.utils.fix_number(e,!0):n.o[a]=e;else if(a.indexOf("fprms")>-1){var i=$p._find(n.o.fprms,a.split("|")[1]);i.value=e}t.cells().setValue($p.utils.is_data_obj(e)?e.presentation:e||""),n.grid_on_change&&n.grid_on_change.call(t,a,e)}},$p.iface.pgrid_on_change=function(e,t,n){e&&$p.iface.pgrid_on_select.call(this,t)},$p.iface.pgrid_on_checkbox=function(e,t,n){var a=this.grid instanceof dhtmlXGridObject?this.grid:this,i=a.getUserData("","source");void 0!=i.o[e]&&(i.o[e]=n),i.grid_on_change&&i.grid_on_change(e,n)},$p.iface.frm_auth=function(e,t,n){function a(n,a){$p.ajax.username=n,$p.ajax.password=$p.aes.Ctr.encrypt(a),n?($p.wsql.get_user_param("user_name")!=n&&$p.wsql.set_user_param("user_name",n),$p.wsql.pouch.log_in(n,a).then(function(){$p.wsql.get_user_param("enable_save_pwd")?$p.aes.Ctr.decrypt($p.wsql.get_user_param("user_pwd"))!=a&&$p.wsql.set_user_param("user_pwd",$p.aes.Ctr.encrypt(a)):""!=$p.wsql.get_user_param("user_pwd")&&$p.wsql.set_user_param("user_pwd",""),$p.eve.logged_in=!0,e.modal_dialog?s.close():t&&t()}).catch(function(e){l=!0,o.onerror(e)}).then(function(){$p.iface.sync&&$p.iface.sync.close(),s&&s.progressOff&&(s.progressOff(),!l&&e.hide_header&&s.hideHeader()),$p.iface.cell_tree&&!l&&$p.iface.cell_tree.expand()})):this.validate()}function i(e){if(l=!1,this.resetValidateCss(),"guest"==this.getCheckedValue("type")){var t=this.getItemValue("guest"),n="";$p.job_prm.guests&&$p.job_prm.guests.length&&$p.job_prm.guests.some(function(e){if(e.username==t)return n=$p.aes.Ctr.decrypt(e.password),!0}),a.call(this,t,n)}else"auth"==this.getCheckedValue("type")&&a.call(this,this.getItemValue("login"),this.getItemValue("password"))}e||(e={});var s,o,r,l;e.modal_dialog?(e.options||(e.options={name:"frm_auth",caption:"Вход на сервер",width:360,height:300,center:!0,allow_close:!0,allow_minmax:!0,modal:!0}),s=$p.iface.dat_blank(e._dxw,e.options),s.attachEvent("onClose",function(e){return l?n&&n(err):t&&t(),!0}),o=s.attachForm()):(s=e.cell||$p.iface.docs,o=$p.iface.auth=s.attachForm(),$p.msg.show_msg($p.msg.init_login,s)),o.loadStruct($p.injected_data["form_auth.xml"],function(){var t;if($p.job_prm.guests&&$p.job_prm.guests.length){var n=$p.job_prm.guests.map(function(e){var n={text:e.username,value:e.username};return $p.wsql.get_user_param("user_name")==e.username&&(n.selected=!0,t=e.username),n});t||(n[0].selected=!0,t=n[0].value),o.reloadOptions("guest",n)}$p.wsql.get_user_param("user_name")&&$p.wsql.get_user_param("user_name")!=t&&(o.setItemValue("login",$p.wsql.get_user_param("user_name")),o.setItemValue("type","auth"),$p.wsql.get_user_param("enable_save_pwd")&&$p.wsql.get_user_param("user_pwd")&&o.setItemValue("password",$p.aes.Ctr.decrypt($p.wsql.get_user_param("user_pwd")))),e.modal_dialog||((r=((s.getWidth?s.getWidth():s.cell.offsetWidth)-500)/2)>=10?o.cont.style.paddingLeft=r.toFixed()+"px":o.cont.style.paddingLeft="20px"),setTimeout(function(){dhx4.callEvent("on_draw_auth",[o]),($p.wsql.get_user_param("autologin")||e.try_auto)&&(t||$p.wsql.get_user_param("user_name")&&$p.wsql.get_user_param("user_pwd"))&&i.call(o)})}),o.attachEvent("onButtonClick",i),o.attachEvent("onKeyDown",function(e,t,n,a){13==t.keyCode&&("password"!=n&&"guest"!=this.getCheckedValue("type")||i.call(this))}),o.onerror=function(e){$p.ajax.authorized=!1;var t=e.message.toLowerCase();t.indexOf("auth")!=-1?($p.msg.show_msg({title:$p.msg.main_title+$p.version,type:"alert-error",text:$p.msg.error_auth}),o.setItemValue("password",""),o.validate()):t.indexOf("gateway")==-1&&t.indexOf("net")==-1||$p.msg.show_msg({title:$p.msg.main_title+$p.version,type:"alert-error",text:$p.msg.error_network})}},$p.iface.open_settings=function(e){var t=e||("undefined"!=typeof event?event:void 0);t&&t.preventDefault();var n=$p.job_prm.parse_url();return $p.iface.set_hash(n.obj,n.ref,n.frm,"settings"),$p.iface.cancel_bubble(t)},$p.iface.swith_view=function(e){var t,n=$p.iface,a=function(e){function t(e,t){return e.text>t.text?1:e.text<t.text?-1:void 0}if(n.tree){if(n.tree._view!=e&&["rep","cal"].indexOf(e)==-1){if(n.tree.deleteChildItems(0),"oper"==e){var a,i,s={id:0,item:[{id:"oper_cat",text:$p.msg.meta_cat,open:!0,item:[]},{id:"oper_doc",text:$p.msg.meta_doc,item:[]},{id:"oper_cch",text:$p.msg.meta_cch,item:[]},{id:"oper_cacc",text:$p.msg.meta_cacc,item:[]},{id:"oper_tsk",text:$p.msg.meta_tsk,item:[]}]},o=s.item[0].item;for(a in $p.cat)"function"!=typeof $p.cat[a]&&(i=$p.cat[a].metadata(),i.hide||o.push({id:"oper.cat."+a,text:i.synonym||i.name,tooltip:i.illustration||i.list_presentation}));o.sort(t),o=s.item[1].item;for(a in $p.doc)"function"!=typeof $p.doc[a]&&(i=$p.doc[a].metadata(),i.hide||o.push({id:"oper.doc."+a,text:i.synonym||i.name,tooltip:i.illustration||i.list_presentation}));o.sort(t),o=s.item[2].item;for(a in $p.cch)"function"!=typeof $p.cch[a]&&(i=$p.cch[a].metadata(),i.hide||o.push({id:"oper.cch."+a,text:i.synonym||i.name,tooltip:i.illustration||i.list_presentation}));o.sort(t),o=s.item[3].item;for(a in $p.cacc)"function"!=typeof $p.cacc[a]&&(i=$p.cacc[a].metadata(),i.hide||o.push({id:"oper.cacc."+a,text:i.synonym||i.name,tooltip:i.illustration||i.list_presentation}));o.sort(t),o=s.item[4].item;for(a in $p.tsk)"function"!=typeof $p.tsk[a]&&(i=$p.tsk[a].metadata(),i.hide||o.push({id:"oper.tsk."+a,text:i.synonym||i.name,tooltip:i.illustration||i.list_presentation}));o.sort(t),n.tree.parse(s,function(){var e=$p.job_prm.parse_url();e.obj&&n.tree.selectItem(e.view+"."+e.obj,!0)},"json")}else n.tree.loadXML(n.tree.tree_filteres,function(){});n.tree._view=e}}else{var r=$p.job_prm.parse_url();if(r.obj){var l=r.obj.split(".");if(l.length>1){var c=$p.md.mgr_by_class_name(r.obj);"function"==typeof n.docs.close&&n.docs.close(),c&&c.form_list(n.docs,{})}}}};return 0==e.indexOf(n.docs.getViewName())?n.docs.getViewName():(t=n.docs.showView(e),1==t&&("cal"!=e||window.dhtmlXScheduler||($p.load_script("dist/dhtmlxscheduler.min.js","script",function(){scheduler.config.first_hour=8,scheduler.config.last_hour=22,n.docs.scheduler=n.docs.attachScheduler(new Date("2015-11-20"),"week","scheduler_here"),n.docs.scheduler.attachEvent("onBeforeViewChange",function(e,t,n,a){return"timeline"!=n||($p.msg.show_not_implemented(),!1)})}),$p.load_script("dist/dhtmlxscheduler.css","link"))),a(e),void("def"==e?n.main.showStatusBar():n.main.hideStatusBar()))},$p.iface.OTooolBar=OTooolBar,$p.iface.add_button=function(e,t,n){var a=document.createElement("div"),i="";return a.name=(t?t.name+"_":"")+n.name,e.appendChild(a),a.className=0==n.name.indexOf("sep_")?"md_otooolbar_sep":"md_otooolbar_button",n.hasOwnProperty("class_name")&&a.classList.add(n.class_name),n.img&&(i='<img src="'+(t?t.image_path:"")+n.img+'">'),n.b?i+='<b style="vertical-align: super;"> '+n.b+"</b>":n.text?i+='<span style="vertical-align: super;"> '+n.text+"</span>":n.css&&a.classList.add(n.css),a.innerHTML=i,n.float&&(a.style.float=n.float),n.clear&&(a.style.clear=n.clear),n.width&&(a.style.width=n.width),n.paddingRight&&(a.style.paddingRight=n.paddingRight),n.paddingLeft&&(a.style.paddingLeft=n.paddingLeft),n.tooltip&&(a.title=n.tooltip),a},"undefined"!=typeof window&&"dhtmlx"in window&&(eXcell_addr.prototype=eXcell_proto,window.eXcell_addr=eXcell_addr),DataManager.prototype.form_obj=function(e,t){function n(){h||((e instanceof dhtmlXLayoutCell||e instanceof dhtmlXSideBarCell||e instanceof dhtmlXCarouselCell)&&(t.bind_pwnd||t.Приклеить)?("function"==typeof e.close&&e.close(!0),f=e,f.close=function(t){var n=f||e;(t||d())&&(n&&(n.elmnts&&["vault","vault_pop"].forEach(function(e){n.elmnts[e]&&n.elmnts[e].unload&&n.elmnts[e].unload()}),v&&v.class_name&&$p.eve.callEvent("frm_close",[v.class_name,y&&y._obj?y.ref:""]),n.conf&&(n.detachToolbar(),n.detachStatusBar(),n.conf.unloading=!0,n.detachObject(!0))),p(t))},f.elmnts={grids:{}}):(m={name:"wnd_obj_"+v.class_name,wnd:{top:80+40*Math.random(),left:120+80*Math.random(),width:700,height:400,modal:!0,center:!1,pwnd:e,allow_close:!0,allow_minmax:!0,on_close:u,caption:x.obj_presentation||x.synonym}},f=$p.iface.dat_blank(null,m.wnd)),f.ref||f.__define({ref:{get:function(){return y?y.ref:$p.utils.blank.guid},enumerable:!1,configurable:!0},set_text:{value:function(e){if(t&&t.set_text||f&&f.setText){var n=y.presentation;if(!n)return;y instanceof CatObj?n=(x.obj_presentation||x.synonym)+": "+n:y instanceof DocObj&&(n+=y.posted?" (проведен)":" (не проведен)"),y._modified&&n.lastIndexOf("*")!=n.length-1?n+=" *":y._modified||n.lastIndexOf("*")!=n.length-1||(n=n.replace(" *","")),(e||g!==n)&&(g=n,t.set_text?t.set_text(n):f.setText(n))}},enumerable:!1,configurable:!0}}),f.elmnts.frm_tabs=f.attachTabbar({arrows_mode:"auto",offsets:{top:0,right:0,bottom:0,left:0}}),f.elmnts.frm_tabs.addTab("tab_header"," Реквизиты ",null,null,!0),f.elmnts.tabs={tab_header:f.elmnts.frm_tabs.cells("tab_header")},f.elmnts.frm_toolbar=f.attachToolbar(),f.elmnts.frm_toolbar.setIconsPath(dhtmlx.image_path+"dhxtoolbar"+dhtmlx.skin_suffix()),f.elmnts.frm_toolbar.loadStruct(t.toolbar_struct||$p.injected_data["toolbar_obj.xml"],function(){f===e&&(this.cont.style.top="4px"),this.addSpacer("btn_unpost"),this.attachEvent("onclick",t.toolbar_click||s);var n=$p.current_acl.get_acl(v.class_name);v instanceof DocManager&&n.indexOf("p")!=-1?(this.enableItem("btn_post"),t.toolbar_struct||this.setItemText("btn_save_close","<b>Провести и закрыть</b>")):this.hideItem("btn_post"),v instanceof DocManager&&n.indexOf("o")!=-1?this.enableItem("btn_unpost"):this.hideItem("btn_unpost"),n.indexOf("e")==-1&&(this.hideItem("btn_save_close"),this.disableItem("btn_save")),t.on_select&&this.setItemText("btn_save_close","Записать и выбрать"),v instanceof CatManager||v instanceof DocManager?(v.printing_plates().then(function(e){for(var t in e)f.elmnts.frm_toolbar.addListOption("bs_print",t,"~","button",e[t].toString())}),f.elmnts.vault_pop=new dhtmlXPopup({toolbar:this,id:"btn_files"}),f.elmnts.vault_pop.attachEvent("onShow",r)):this.disableItem("bs_print"),f!=e&&this.hideItem("btn_close")}),h=!0)}function a(e){y&&f&&f.set_text()}function i(){if(h||(clearTimeout(_),n()),f.set_text(),!t.hide_header&&f.showHeader&&f.showHeader(),t.draw_tabular_sections)t.draw_tabular_sections(y,f,l);else if(!y.is_folder)if(x.form&&x.form.obj&&x.form.obj.tabular_sections_order)x.form.obj.tabular_sections_order.forEach(function(e){l(e)});else for(var e in x.tabular_sections)"extra_fields"!==e&&y[e]instanceof TabularSection&&l(e);if(t.draw_pg_header)t.draw_pg_header(y,f);else{var i=$p.current_acl.get_acl(v.class_name);f.elmnts.pg_header=f.elmnts.tabs.tab_header.attachHeadFields({obj:y,pwnd:f,read_only:i.indexOf("e")==-1}),f.attachEvent("onResizeFinish",function(e){f.elmnts.pg_header.enableAutoHeight(!1,f.elmnts.tabs.tab_header._getHeight()-20,!0)})}return Object.observe(y,a,["update","row"]),{wnd:f,o:y}}function s(e){"btn_save_close"==e?c("close"):"btn_save"==e?c("save"):"btn_post"==e?c("post"):"btn_unpost"==e?c("unpost"):"btn_close"==e?f.close():"btn_go_connection"==e?o():"prn_"==e.substr(0,4)?v.print(y,e,f):"btn_import"==e?v.import(null,y):"btn_export"==e&&v.export({items:[y],pwnd:f,obj:!0})}function o(){$p.msg.show_not_implemented()}function r(){f.elmnts.vault||(f.elmnts.vault=f.elmnts.vault_pop.attachVault(400,250,{_obj:y,buttonClear:!1,autoStart:!0,filesLimit:10,mode:"pouch"}),f.elmnts.vault.conf.wnd=f)}function l(e,t){if(_md.ts_captions(v.class_name,e)){f.elmnts.frm_tabs.addTab("tab_"+e," "+x.tabular_sections[e].synonym+" "),f.elmnts.tabs["tab_"+e]=f.elmnts.frm_tabs.cells("tab_"+e);var n=$p.current_acl.get_acl(v.class_name);if(f.elmnts.grids[e]=f.elmnts.tabs["tab_"+e].attachTabular({obj:y,ts:e,pwnd:f,read_only:n.indexOf("e")==-1,toolbar_struct:t}),n.indexOf("e")==-1){var a=f.elmnts.tabs["tab_"+e].getAttachedToolbar();a.disableItem("btn_add"),a.disableItem("btn_delete")}}}function c(e){f.progressOn();var n;y instanceof DocObj&&("post"==e?n=!0:"unpost"==e?n=!1:"close"==e&&$p.current_acl.get_acl(v.class_name).indexOf("p")!=-1&&(n=!0)),y.save(n).then(function(){f.progressOff(),"close"==e?(t.on_select&&t.on_select(y),f.close()):f.set_text()}).catch(function(e){f.progressOff(),e instanceof Error&&$p.record_log(e)})}function p(n){t&&t.on_close&&!n&&t.on_close(),n||(delete f.ref,delete f.set_text,Object.unobserve(y,a),v=f=y=x=m=e=t=null)}function d(){return!(y._modified&&!b)||(dhtmlx.confirm({title:y.presentation,text:$p.msg.modified_close,cancel:$p.msg.cancel,callback:function(e){e&&(b=!0,"ram"==y._manager.cachable?this.close():y.is_new()?(y.unload(),this.close()):(setTimeout(y.load.bind(y),100),this.close()))}.bind(f)}),!1)}function u(e){if(d())return setTimeout(p),e&&e.elmnts&&["vault","vault_pop"].forEach(function(t){e.elmnts[t]&&e.elmnts[t].unload&&e.elmnts[t].unload()}),v&&v.class_name&&$p.eve.callEvent("frm_close",[v.class_name,y&&y._obj?y.ref:""]),!0}var f,m,h,_,g,b,v=this,x=v.metadata(),y=t.o;return _=setTimeout(n),$p.utils.is_data_obj(y)?y.is_new()&&t.on_select?v.create({},!0).then(function(e){return y=e,e=null,i()}):y.is_new()&&!y.empty()?y.load().then(i):Promise.resolve(i()):(e&&e.progressOn&&e.progressOn(),v.get(t.hasOwnProperty("ref")?t.ref:t,!0,!0).then(function(t){return y=t,t=null,e&&e.progressOff&&e.progressOff(),i()}).catch(function(t){e&&e.progressOff&&e.progressOff(),f.close(),$p.record_log(t)}))},DataObj.prototype.form_obj=function(e,t){return t||(t={}),t.o=this,this._manager.form_obj(e,t)},DataProcessorsManager.prototype.form_rep=function(e,t){function n(){if((e instanceof dhtmlXLayoutCell||e instanceof dhtmlXSideBarCell||e instanceof dhtmlXCarouselCell)&&(t.bind_pwnd||t.Приклеить)){if(o==e&&o._mgr==c)return;"function"==typeof e.close&&e.close(!0),o=e,o.close=function(t){var n=o||e;(t||check_modified())&&(n&&n.conf&&(n.detachToolbar(),n.detachStatusBar(),n.conf.unloading=!0,n.detachObject(!0)),s(t))},o.elmnts={grids:{}}}else r={name:"wnd_rep_"+c.class_name,wnd:{top:80+40*Math.random(),left:120+80*Math.random(),width:700,height:400,modal:!0,center:!1,pwnd:e,allow_close:!0,allow_minmax:!0,on_close:frm_close,caption:p.obj_presentation||p.synonym}},o=$p.iface.dat_blank(null,r.wnd);o._mgr=c,o.report=c.create(),o.set_text||o.__define({set_text:{value:function(e){if(t&&t.set_text||o&&o.setText){var n=p.obj_presentation||p.synonym;(e||l!==n)&&(l=n,t.set_text?t.set_text(n):o.setText(n))}},configurable:!0}}),o.elmnts.layout=o.attachLayout({pattern:"2U",cells:[{id:"a",text:"Отчет",header:!1},{id:"b",text:"Параметры",collapsed_text:"Параметры",width:220}],offsets:{top:0,right:0,bottom:0,left:0}}),o.elmnts.frm_toolbar=o.attachToolbar(),o.elmnts.frm_toolbar.setIconsPath(dhtmlx.image_path+"dhxtoolbar"+dhtmlx.skin_suffix()),o.elmnts.frm_toolbar.loadStruct(t.toolbar_struct||$p.injected_data["toolbar_rep.xml"],function(){o===e&&(this.cont.style.top="4px"),this.addSpacer("btn_run"),this.attachEvent("onclick",t.toolbar_click||a)}),o.set_text(),!t.hide_header&&o.showHeader&&o.showHeader(),o.elmnts.table=new $p.HandsontableDocument(o.elmnts.layout.cells("a"),{allow_offline:o.report.allow_offline,autorun:!1}).then(function(e){if(!e._online)return o.elmnts.table=null}),o.elmnts.frm_prm=document.createElement("DIV"),o.elmnts.frm_prm.style="height: 100%; min-height: 300px; width: 100%",o.elmnts.layout.cells("b").attachObject(o.elmnts.frm_prm),o.report.daterange=new $p.iface.ODateRangePicker(o.elmnts.frm_prm,t)}function a(e){"btn_close"==e?o.close():"btn_run"==e&&o.report.build().then(i).catch(i)}function i(e){o.elmnts.table.requery(e)}function s(n){t&&t.on_close&&!n&&t.on_close(),n||(delete o.set_text,o.elmnts.table&&o.elmnts.table.hot.destroy(),o.report.daterange&&o.report.daterange.remove(),o.report=null,c=o=p=r=e=t=null)}var o,r,l,c=this,p=c.metadata();return t||(t={}),t.date_from||(t.date_from=new Date((new Date).getFullYear().toFixed()+"-01-01")),t.date_till||(t.date_till=new Date((new Date).getFullYear().toFixed()+"-12-31")),n(),o},DataManager.prototype.form_selection=function(e,t){function n(){return e instanceof dhtmlXCellObject?(e instanceof dhtmlXTabBarCell||"function"!=typeof e.close||e.close(!0),m=e,m.close=function(t){(m||e)&&((m||e).detachToolbar(),(m||e).detachStatusBar(),(m||e).conf&&((m||e).conf.unloading=!0),(m||e).detachObject(!0)),p(t)},t.hide_header||setTimeout(function(){m.showHeader()})):(m=$p.iface.w.createWindow(null,0,0,700,500),m.centerOnScreen(),m.setModal(1),m.button("park").hide(),m.button("minmax").show(),m.button("minmax").enable(),m.attachEvent("onClose",d)),$p.iface.bind_help(m),m.setText&&!t.hide_text&&m.setText("Список "+(h.class_name.indexOf("doc.")==-1?'справочника "':'документов "')+(_.list_presentation||_.synonym)+'"'),document.body.addEventListener("keydown",a,!1),m.elmnts={},!t.status_bar&&t.smart_rendering||(m.elmnts.status_bar=m.attachStatusBar()),t.smart_rendering||m.elmnts.status_bar.setText("<div id='"+h.class_name.replace(".","_")+"_select_recinfoArea'></div>"),m.elmnts.toolbar=m.attachToolbar(),m.elmnts.toolbar.setIconsPath(dhtmlx.image_path+"dhxtoolbar"+dhtmlx.skin_suffix()),m.elmnts.toolbar.loadStruct(t.toolbar_struct||$p.injected_data["toolbar_selection.xml"],function(){this.attachEvent("onclick",o),m===e&&(this.cont.parentElement.classList.add("dhx_cell_toolbar_no_borders"),this.cont.parentElement.classList.remove("dhx_cell_toolbar_def"),this.cont.style.top="4px");var n={manager:h,toolbar:this,onchange:i,hide_filter:t.hide_filter,custom_selection:t.custom_selection};t.date_from&&(n.date_from=t.date_from),t.date_till&&(n.date_till=t.date_till),t.period&&(n.period=t.period),m.elmnts.filter=new $p.iface.Toolbar_filter(n);var a=$p.current_acl.get_acl(h.class_name);a.indexOf("i")==-1&&this.hideItem("btn_new"),a.indexOf("v")==-1&&this.hideItem("btn_edit"),a.indexOf("d")==-1&&this.hideItem("btn_delete"),y||(this.hideItem("btn_select"),this.hideItem("sep1"),$p.iface.docs&&$p.iface.docs.getViewName&&"oper"==$p.iface.docs.getViewName()&&this.addListOption("bs_more","btn_order_list","~","button","<i class='fa fa-briefcase fa-lg fa-fw'></i> Список заказов")),this.addListOption("bs_more","btn_import","~","button","<i class='fa fa-upload fa-lg fa-fw'></i> Загрузить из файла"),this.addListOption("bs_more","btn_export","~","button","<i class='fa fa-download fa-lg fa-fw'></i> Выгрузить в файл"),h.printing_plates?h.printing_plates().then(function(e){var t;for(var n in e)m.elmnts.toolbar.addListOption("bs_print",n,"~","button",e[n].toString()),t=!0;t||m.elmnts.toolbar.hideItem("bs_print")}):m.elmnts.toolbar.hideItem("bs_print"),s()}),m._mgr=h,m}function a(e){function t(){var e;return $p.iface.w.forEachWindow(function(t){t==m||!t.isModal()&&$p.iface.w.getTopmostWindow()!=t||(e=!0)}),e}if(m&&m.is_visible&&m.is_visible())if(e.ctrlKey&&70==e.keyCode){if(!t())return setTimeout(function(){m.elmnts.filter.input_filter&&"desktop"==$p.job_prm.device_type&&m.elmnts.filter.input_filter.focus()}),$p.iface.cancel_bubble(e)}else if(e.shiftKey&&116==e.keyCode){if(!t())return setTimeout(function(){m.elmnts.grid.reload()}),e.preventDefault&&e.preventDefault(),$p.iface.cancel_bubble(e)}else 27==e.keyCode&&(t()||setTimeout(function(){m.close()}))}function i(e){m&&m.elmnts&&(g&&(e.filter||e.hide_tree?m.elmnts.cell_tree.collapse():m.elmnts.cell_tree.expand()),m.elmnts.grid.reload())}function s(){var e,n,a,i,s,o;g?(e=m.attachLayout("2U"),a=e.cells("b"),a.hideHeader(),n=m.elmnts.cell_tree=e.cells("a"),n.setWidth("220"),n.hideHeader(),i=m.elmnts.tree=n.attachDynTree(h,null,function(){setTimeout(function(){s&&s.reload&&s.reload()},20)}),i.attachEvent("onSelect",function(e,t){t&&(this.do_not_reload?delete this.do_not_reload:setTimeout(function(){ -s&&s.reload&&s.reload()},20))}),i.attachEvent("onDblClick",function(e){r(e)})):(a=m,setTimeout(function(){s&&s.reload&&s.reload()},20)),s=m.elmnts.grid=a.attachGrid(),s.setIconsPath(dhtmlx.image_path),s.setImagePath(dhtmlx.image_path),s.attachEvent("onBeforeSorting",f),s.attachEvent("onBeforePageChanged",function(){return!!this.getRowsNum()}),s.attachEvent("onXLE",function(){a.progressOff()}),s.attachEvent("onXLS",function(){a.progressOn()}),s.attachEvent("onDynXLS",function(e,t){var n=u(e,t);if(n)return h.sync_grid(n,s),!1}),s.attachEvent("onRowDblClicked",function(e,t){if(i&&i.items[e]){i.selectItem(e);var n=i.getParentId(e);n&&n!=$p.utils.blank.guid&&i.openItem(n)}else r(e)}),t.smart_rendering?s.enableSmartRendering(!0,50):(s.setPagingWTMode(!0,!0,!0,[20,30,60]),s.enablePaging(!0,30,8,h.class_name.replace(".","_")+"_select_recinfoArea"),s.setPagingSkin("toolbar",dhtmlx.skin)),$p.iface.docs&&$p.iface.docs.getViewName&&"oper"==$p.iface.docs.getViewName()&&s.enableMultiselect(!0),s.reload=function(){var e=u();return e?(a.progressOn(),s.clearAll(),h.sync_grid(e,s).then(function(n){if("object"==typeof n)$p.msg.check_soap_result(n);else if(!o){if(e.initial_value){var r=n.indexOf("set_parent"),l=n.indexOf("'>",r),c=n.substr(r+12,l-r-12);$p.utils.is_guid(c)&&g&&(i.do_not_reload=!0,i.selectItem(c,!1)),s.selectRowById(e.initial_value)}else e.parent&&$p.utils.is_guid(e.parent)&&g&&(i.do_not_reload=!0,i.selectItem(e.parent,!1));s.setColumnMinWidth(200,s.getColIndexById("presentation")),s.enableAutoWidth(!0,1200,600),s.setSizes(),o=!0,m.elmnts.filter.input_filter&&"desktop"==$p.job_prm.device_type&&m.elmnts.filter.input_filter.focus(),t.on_grid_inited&&t.on_grid_inited()}v&&o&&s.setSortImgState(!0,b,v),a.progressOff()})):Promise.resolve()}}function o(e){if("btn_select"==e)r();else if("btn_new"==e)h.create({},!0).then(function(e){t.on_new?t.on_new(e,m):$p.job_prm.keep_hash?e.form_obj(m):(e._set_loaded(e.ref),$p.iface.set_hash(h.class_name,e.ref))});else if("btn_edit"==e){var n=m.elmnts.grid.getSelectedRowId();n?t.on_edit?t.on_edit(h,n,m):$p.job_prm.keep_hash?h.form_obj(m,{ref:n}):$p.iface.set_hash(h.class_name,n):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}else"prn_"==e.substr(0,4)?l(e):"btn_order_list"==e?$p.iface.set_hash("","","","def"):"btn_delete"==e?c():"btn_import"==e?h.import():"btn_export"==e?h.export(m.elmnts.grid.getSelectedRowId()):"btn_requery"==e&&(x={},m.elmnts.grid.reload())}function r(n){n||(n=m.elmnts.grid.getSelectedRowId());var a;if(t.selection&&t.selection.forEach(function(e){for(var t in e)"is_folder"==t&&(a=e[t])}),m.elmnts.tree&&m.elmnts.tree.items[n]&&m.elmnts.tree.getSelectedId()!=n)return void m.elmnts.tree.selectItem(n,!0);if(n&&a===!0&&m.elmnts.grid.cells(n,0).cell.classList.contains("cell_ref_elm"))return void $p.msg.show_msg($p.msg.select_grp);if(!n&&m.elmnts.tree||m.elmnts.tree&&m.elmnts.tree.getSelectedId()==n){if(a===!1)return void $p.msg.show_msg($p.msg.select_elm);n=m.elmnts.tree.getSelectedId()}n&&(t.on_edit?t.on_edit(h,n,m):y?h.get(n,!0).then(function(t){m.close(),y.call(e.grid||e,t)}):$p.job_prm.keep_hash?h.form_obj(m,{ref:n}):$p.iface.set_hash(h.class_name,n))}function l(e){var t=m.elmnts.grid.getSelectedRowId();t?h.print(t,e,m):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}function c(){var e=m.elmnts.grid.getSelectedRowId();e?h.get(e,!0,!0).then(function(e){dhtmlx.confirm({title:$p.msg.main_title,text:e._deleted?$p.msg.mark_undelete_confirm.replace("%1",e.presentation):$p.msg.mark_delete_confirm.replace("%1",e.presentation),cancel:"Отмена",callback:function(t){t&&e.mark_deleted(!e._deleted)}})}):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}function p(n){document.body.removeEventListener("keydown",a),t&&t.on_close&&!n&&t.on_close(),n||(h=m=_=x=y=e=t=null)}function d(){return setTimeout(p,10),e.on_unload&&e.on_unload.call(e.grid||e),w&&($p.eve.detachEvent(w),w=null),!0}function u(e,n){var a=m.elmnts.filter.get_filter()._mixin({action:"get_selection",metadata:_,class_name:h.class_name,order_by:m.elmnts.grid.columnIds[b]||b,direction:v,start:e||((m.elmnts.grid.currentPage||1)-1)*m.elmnts.grid.rowsBufferOutSize,count:n||m.elmnts.grid.rowsBufferOutSize,get_header:void 0==x.get_header}),i=g?m.elmnts.tree.getSelectedId():null;if(t.smart_rendering&&(a.smart_rendering=!0),t.date_from&&!a.date_from&&(a.date_from=t.date_from),t.date_till&&!a.date_till&&(a.date_till=t.date_till),t.initial_value&&(a.initial_value=t.initial_value),t.custom_selection&&(a.custom_selection=t.custom_selection),t.selection)if(a.selection)if(Array.isArray(t.selection))t.selection.forEach(function(e){a.selection.push(e)});else for(var s in t.selection){res.selection||(res.selection=[]);var o={};o[s]=t.selection[s],a.selection.push(o)}else a.selection=t.selection;t.owner&&!a.owner&&(a.owner=t.owner),a.parent=!i&&!t.parent||a.filter?null:i||t.parent,g&&!a.parent&&(a.parent=$p.utils.blank.guid);for(var r in a)if(x[r]!=a[r])return x=a,a}function f(e){var t=m.elmnts.grid.getSortingState();return b=e,v="des"==t[1]?"asc":"des",m.elmnts.grid.reload(),!0}e||(e=t&&t.pwnd?t.pwnd:{}),t||e instanceof dhtmlXCellObject||(t=e,e={}),t||(t={});var m,h=this,_=t.metadata||h.metadata(),g=_.hierarchical&&!(h instanceof ChartOfAccountManager),b=0,v="asc",x={},y=e.on_select||t.on_select,w=$p.eve.attachEvent("frm_close",function(e,t){h&&h.class_name==e&&m&&m.elmnts&&m.elmnts.grid.reload().then(function(){$p.utils.is_empty_guid(t)||m.elmnts.grid.selectRowById(t,!1,!0,!0)})});return g&&t.initial_value&&t.initial_value!=$p.utils.blank.guid&&!t.parent?h.get(t.initial_value,!0).then(function(e){return t.parent=e.parent.ref,t.set_parent=t.parent,n()}):n()},DataManager.prototype.form_list=function(e,t){return this.form_selection(e,t)},$p.iface.wnd_sync=function(){function e(){var e={name:"wnd_sync",wnd:{id:"wnd_sync",top:130,left:200,width:496,height:290,modal:!0,center:!0,caption:"Подготовка данных"}};t.wnd_sync=$p.iface.dat_blank(null,e.wnd);var n=[{type:"block",name:"form_block_1",list:[{type:"label",name:"form_label_1",label:$p.msg.sync_data},{type:"block",name:"form_block_2",list:[{type:"template",name:"img_long",className:"img_long"},{type:"newcolumn"},{type:"template",name:"text_processed"},{type:"template",name:"text_current"},{type:"template",name:"text_bottom"}]}]},{type:"button",name:"form_button_1",value:$p.msg.sync_break}];t.frm_sync=t.wnd_sync.attachForm(n),t.frm_sync.attachEvent("onButtonClick",function(e){t&&(t.do_break=!0)}),t.frm_sync.setItemValue("text_processed","Инициализация"),t.frm_sync.setItemValue("text_bottom","Загружается структура таблиц...")}var t,n=$p.iface.sync={};n.create=function(n){t=n,e()},n.update=function(e){t.frm_sync.setItemValue("text_processed","Обработано элементов: "+t.step*t.step_size+" из "+t.count_all);var n,a="",i=0;for(var s in e){if(i++,i>4)break;a&&(a+="<br />"),n=$p.cat[s].metadata(),a+=(n.list_presentation||n.synonym)+" ("+e[s].length+")"}t.frm_sync.setItemValue("text_current","Текущий запрос: "+t.step+" ("+Math.round(t.step*t.step_size*100/t.count_all)+"%)"),t.frm_sync.setItemValue("text_bottom",a)},n.close=function(){t&&t.wnd_sync&&(t.wnd_sync.close(),delete t.wnd_sync,delete t.frm_sync)}},DataManager.prototype.export=function(e){function t(){$p.wsql.restore_options("data_manager",l),l.wnd.caption="Экспорт "+r.family_name+" '"+(r.metadata().synonym||r.metadata().name)+"'",o=$p.iface.dat_blank(null,l.wnd),o.bottom_toolbar({buttons:[{name:"btn_cancel",text:'<i class="fa fa-times fa-lg"></i> Отмена',title:"Отмена",width:"80px",float:"right"},{name:"btn_ok",b:'<i class="fa fa-floppy-o"></i> Ок',title:"Выполнить экспорт",width:"50px",float:"right"}],onclick:function(e){return"btn_ok"==e?i():o.close(),!1}}),o.button("close").show(),o.button("park").hide(),o.attachEvent("onClose",s);var t=[{type:"fieldset",name:"form_range",label:"Выгрузить",list:[{type:"settings",labelWidth:320,labelAlign:"left",position:"label-right"},{type:"radio",name:"range",label:"Выделенные строки",value:"selected"},{type:"radio",name:"range",label:"Весь справочник",value:"all"}]},{type:"fieldset",name:"form_fieldset_2",label:"Дополнительно выгрузить",list:[{type:"settings",labelWidth:160,position:"label-right"},{type:"checkbox",name:"meta",label:"Описание метаданных",labelAlign:"left",position:"label-right",checked:l.meta},{type:"newcolumn"},{type:"checkbox",name:"relation",label:"Связанные объекты",position:"label-right",checked:l.relation,tooltip:"Связанные объекты по ссылкам (пока не реализовано)"}]},{type:"fieldset",name:"fieldset_format",label:"Формат файла",list:[{type:"settings",labelWidth:60,labelAlign:"left",position:"label-right"},{type:"radio",name:"format",label:"json",value:"json",tooltip:"Выгрузить в формате JSON"},{type:"newcolumn"},{type:"radio",name:"format",label:"xlsx",value:"xlsx",tooltip:"Выгрузить в офисном формате XLSX"},{type:"newcolumn"},{type:"radio",name:"format",label:"atom",value:"atom",tooltip:"Выгрузить в формате XML Atom"}]}];o.elmnts.frm=o.attachForm(t),o.elmnts.frm.setItemValue("range",l.range||"all"),e.items&&1==e.items.length?(e.obj?o.elmnts.frm.setItemLabel("range","selected","Тек. объект: "+e.items[0].presentation):r.get(e.items[0],!0).then(function(e){o.elmnts.frm.setItemLabel("range","selected","Тек. объект: "+e.presentation)}),o.elmnts.frm.setItemValue("range","selected")):e.items&&e.items.length&&o.elmnts.frm.setItemLabel("range","selected","Выделенные строки ("+e.items.length+" элем.)"),r instanceof DocManager&&o.elmnts.frm.setItemLabel("range","all","Все документы из кеша (0 элем.)"),o.elmnts.frm.setItemValue("format",l.format||"json"),o.elmnts.frm.attachEvent("onChange",n),n(),e.pwnd&&e.pwnd.isModal&&e.pwnd.isModal()&&(e.set_pwnd_modal=!0,e.pwnd.setModal(!1)),o.setModal(!0)}function n(){o.elmnts.frm.setItemValue("relation",!1),o.elmnts.frm.disableItem("relation"),"all"==o.elmnts.frm.getItemValue("range")?(o.elmnts.frm.disableItem("format","atom"),"atom"==o.elmnts.frm.getItemValue("format")&&o.elmnts.frm.setItemValue("format","json")):o.elmnts.frm.enableItem("format","atom"),"json"==o.elmnts.frm.getItemValue("format")?o.elmnts.frm.enableItem("meta"):"sql"==o.elmnts.frm.getItemValue("format")?(o.elmnts.frm.setItemValue("meta",!1),o.elmnts.frm.disableItem("meta")):(o.elmnts.frm.setItemValue("meta",!1),o.elmnts.frm.disableItem("meta"))}function a(){return l.format=o.elmnts.frm.getItemValue("format"),l.range=o.elmnts.frm.getItemValue("range"),l.meta=o.elmnts.frm.getItemValue("meta"),l.relation=o.elmnts.frm.getItemValue("relation"),l}function i(){function t(){e.obj?$p.wsql.alasql("SELECT * INTO XLSX('"+r.table_name+".xlsx',{headers:true}) FROM ?",[e.items[0]._obj]):$p.wsql.alasql("SELECT * INTO XLSX('"+r.table_name+".xlsx',{headers:true}) FROM "+r.table_name)}a();var n={meta:{},items:{}},i=n.items[r.class_name]=[];if(l.meta&&(n.meta[r.class_name]=r.metadata()),"json"==l.format)e.obj?i.push(e.items[0]._obj):r.each(function(t){"all"!=l.range&&e.items.indexOf(t.ref)==-1||i.push(t._obj)}),e.items.length&&!i.length?r.get(e.items[0],!0).then(function(e){i.push(e._obj),alasql.utils.saveFile(r.table_name+".json",JSON.stringify(n,null,4))}):alasql.utils.saveFile(r.table_name+".json",JSON.stringify(n,null,4));else if("xlsx"==l.format)window.xlsx?t():$p.load_script("//cdn.jsdelivr.net/js-xlsx/latest/xlsx.core.min.js","script",t);else if("atom"==l.format&&e.items.length){var s=e.obj?Promise.resolve(e.items[0]):r.get(e.items[0],!0);s.then(function(e){alasql.utils.saveFile(r.table_name+".xml",e.to_atom())})}else $p.msg.show_not_implemented()}function s(t){return $p.iface.popup.hide(),o.wnd_options(l.wnd),$p.wsql.save_options("data_manager",a()),o.setModal(!1),e.set_pwnd_modal&&e.pwnd.setModal&&e.pwnd.setModal(!0),!0}e&&"string"==typeof e?e={items:e.split(",")}:e||(e={items:[]});var o,r=this,l={name:"export",wnd:{top:130,left:200,width:480,height:350}};t()},DataManager.prototype.import=function(e,t){function n(e){function n(e,n){var a=_md.mgr_by_class_name(e);if(n.length)if(t){if(t._manager==a)for(var s in n)$p.utils.fix_guid(n[s])==t.ref&&(i=!0,a.load_array([n[s]],!0))}else i=!0,a.load_array(n,!0)}if(o.close(),a.files.length){var s=new FileReader;s.onload=function(e){try{var t=JSON.parse(s.result);if(t.items)for(var a in t.items)n(a,t.items[a]);else["cat","doc","ireg","areg","cch","cacc"].forEach(function(e){if(t[e])for(var a in t[e])n(e+"."+a,t.cat[a])});i||$p.msg.show_msg($p.msg.sync_no_data)}catch(e){$p.msg.show_msg(e.message)}},s.readAsText(a.files[0])}}var a,i;if(!e&&void 0!=typeof window){var s={name:"import",wnd:{width:300,height:100,caption:$p.msg.select_file_import}},o=$p.iface.dat_blank(null,s.wnd);a=document.createElement("input"),a.setAttribute("id","json_file"),a.setAttribute("type","file"),a.setAttribute("accept",".json"),a.setAttribute("value","*.json"),a.onchange=n,o.button("close").show(),o.button("park").hide(),o.attachObject(a),o.centerOnScreen(),o.setModal(!0),setTimeout(function(){a.click()},100)}},$p.eve.__define({set_offline:{value:function(e){var t=$p.job_prm.offline;$p.job_prm.offline=!(!e&&!$p.wsql.get_user_param("offline","boolean")),t!=$p.job_prm.offline&&(t=$p.job_prm.offline)}},on_rotate:{value:function(e){$p.job_prm.device_orient=0==window.orientation||180==window.orientation?"portrait":"landscape","undefined"!=typeof e&&$p.eve.callEvent("onOrientationChange",[$p.job_prm.device_orient])}},steps:{value:{load_meta:0,authorization:1,create_managers:2,process_access:3,load_data_files:4,load_data_db:5,load_data_wsql:6,save_data_wsql:7}},log_in:{value:function(e){var t,n={};return e($p.eve.steps.load_meta),$p.ajax.default_attr(n,$p.job_prm.irest_url()),($p.job_prm.offline?Promise.resolve({responseURL:"",response:""}):$p.ajax.get_ex(n.url,n)).then(function(e){if($p.job_prm.offline||($p.job_prm.irest_enabled=!0),"{"==e.response[0])return JSON.parse(e.response)}).catch(function(){}).then(function(n){return e($p.eve.steps.authorization),t=n,t.root=!0,$p.job_prm.offline||$p.job_prm.irest_enabled?t:$p.ajax.get_ex($p.job_prm.rest_url()+"?$format=json",!0).then(function(){return t})}).catch(function(e){throw $p.iface.auth.onerror&&$p.iface.auth.onerror(e),e}).then(function(t){return e($p.eve.steps.load_data_files),$p.job_prm.offline?t:($p.eve.callEvent("log_in",[$p.ajax.authorized=!0]),"string"==typeof t&&(t=JSON.parse(t)),void($p.msg.check_soap_result(t)||($p.wsql.get_user_param("enable_save_pwd")?$p.wsql.set_user_param("user_pwd",$p.ajax.password):$p.wsql.get_user_param("user_pwd")&&$p.wsql.set_user_param("user_pwd",""),t.now_1c&&t.now_js&&$p.wsql.set_user_param("time_diff",t.now_1c-t.now_js))))}).then(function(){_md.printing_plates(t.printing_plates)})}}}),function(w,eve,msg){var timer_setted=!1,cache;w.addEventListener("online",eve.set_offline),w.addEventListener("offline",function(){eve.set_offline(!0)}),w.addEventListener("load",function(){setTimeout(function(){function navigate(e){e&&(location.origin+location.pathname).indexOf(e)==-1&&location.replace(e)}function init_params(){function e(){var e=dhtmlx.codebase,t=!0,n=!0;e.indexOf("cdn.jsdelivr.net")!=-1&&(e="//cdn.jsdelivr.net/metadata/latest/");for(var a=0;a<document.styleSheets.length;a++)document.styleSheets[a].href&&(document.styleSheets[a].href.indexOf("dhx_web")==-1&&document.styleSheets[a].href.indexOf("dhx_terrace")==-1||(t=!1),document.styleSheets[a].href.indexOf("metadata.css")!=-1&&(n=!1));dhtmlx.skin=$p.wsql.get_user_param("skin")||$p.job_prm.skin||"dhx_web",t&&$p.load_script(e+("dhx_web"==dhtmlx.skin?"dhx_web.css":"dhx_terrace.css"),"link"),n&&$p.load_script(e+"metadata.css","link"),$p.job_prm.additional_css&&$p.job_prm.additional_css.forEach(function(e){(dhx4.isIE||e.indexOf("ie_only")==-1)&&$p.load_script(e,"link")}),dhtmlx.image_path="//oknosoft.github.io/metadata.js/lib/imgs/",dhtmlx.skin_suffix=function(){return dhtmlx.skin.replace("dhx","")+"/"},dhx4.ajax.cache=!0,$p.iface.__define("w",{value:new dhtmlXWindows,enumerable:!1}),$p.iface.w.setSkin(dhtmlx.skin),$p.iface.__define("popup",{value:new dhtmlXPopup,enumerable:!1})}$p.wsql.init_params(),"dhtmlx"in w&&e(),"undefined"==typeof w.orientation?$p.job_prm.device_orient=w.innerWidth>w.innerHeight?"landscape":"portrait":eve.on_rotate(),w.addEventListener("orientationchange",eve.on_rotate,!1),eve.stepper={step:0,count_all:0,step_size:57,files:0},eve.set_offline(!navigator.onLine),setTimeout(function(){$p.wsql.pouch.load_data().catch($p.record_log);var e;(e=document.querySelector("#splash"))&&e.parentNode.removeChild(e),eve.callEvent("iface_init",[$p])},20),(cache=w.applicationCache)&&(cache.addEventListener("noupdate",function(e){},!1),cache.addEventListener("cached",function(e){timer_setted=!0,$p.iface.appcache&&$p.iface.appcache.close()},!1),cache.addEventListener("updateready",function(e){try{cache.swapCache()}catch(e){}$p.iface.do_reload()},!1),cache.addEventListener("error",$p.record_log,!1))}if(!w.JSON||!w.indexedDB)throw eve.redirect=!0,msg.show_msg({type:"alert-error",text:msg.unsupported_browser,title:msg.unsupported_browser_title}),msg.unsupported_browser;$p.__define("job_prm",{value:new JobPrm,writable:!1}),($p.job_prm.use_ip_geo||$p.job_prm.use_google_geo)&&($p.ipinfo=new IPInfo),$p.job_prm.use_google_geo&&(window.google&&window.google.maps?location_callback():$p.on("iface_init",function(){setTimeout(function(){$p.load_script("//maps.google.com/maps/api/js?callback=$p.ipinfo.location_callback","script",function(){})},100)})),$p.job_prm.allow_post_message&&w.addEventListener("message",function(event){if(("*"==$p.job_prm.allow_post_message||$p.job_prm.allow_post_message==event.origin)&&"string"==typeof event.data)try{var res=eval(event.data);if(res&&event.source){if("object"==typeof res)res=JSON.stringify(res);else if("function"==typeof res)return;event.source.postMessage(res,"*")}}catch(e){$p.record_log(e)}}),$p.job_prm.__define("device_type",{get:function(){var e=$p.wsql.get_user_param("device_type");return e||(e=function(e){return e<800?"phone":e<1024?"tablet":"desktop"}(Math.max(screen.width,screen.height)),$p.wsql.set_user_param("device_type",e)),e},set:function(e){$p.wsql.set_user_param("device_type",e)}}),document.body.addEventListener("keydown",function(e){eve.callEvent("keydown",[e])},!1),setTimeout(init_params,10)},10)},!1),w.onbeforeunload=function(){if(!eve.redirect)return msg.onbeforeunload},w.addEventListener("popstat",$p.iface.hash_route),w.addEventListener("hashchange",$p.iface.hash_route)}(window,$p.eve,$p.msg),SpreadsheetDocument.prototype.__define({clear:{value:function(){for(;this._attr.content.firstChild;)this._attr.content.removeChild(this._attr.content.firstChild)}},put:{value:function(e,t){var n;e instanceof HTMLElement?(n=document.createElement(e.tagName),n.innerHTML=e.innerHTML,t||(t=e.attributes)):(n=document.createElement("DIV"),n.innerHTML=e),t&&Object.keys(t).forEach(function(e){"id"!=e&&"id"!=t[e].name&&n.setAttribute(t[e].name||e,t[e].value||t[e])}),this._attr.content.appendChild(n)}},content:{get:function(){return this._attr.content},set:function(e){this.clear(),"string"==typeof e?this._attr.content.innerHTML=e:e instanceof HTMLElement&&(this._attr.content.innerHTML=e.innerHTML)}},title:{get:function(){return this._attr.title},set:function(e){this._attr.title=e}}}),$p.SpreadsheetDocument=SpreadsheetDocument,$p.HandsontableDocument=HandsontableDocument,$p.injected_data._mixin({"form_auth.xml":'<?xml version="1.0" encoding="UTF-8"?>\n<items>\n\t<item type="settings" position="label-left" labelWidth="80" inputWidth="180" noteWidth="180"/>\n\t<item type="fieldset" name="data" inputWidth="auto" label="Авторизация">\n\n <item type="radio" name="type" labelWidth="auto" position="label-right" checked="true" value="guest" label="Гостевой (демо) режим">\n <item type="select" name="guest" label="Роль">\n <option value="Дилер" label="Дилер"/>\n </item>\n </item>\n\n\t\t<item type="radio" name="type" labelWidth="auto" position="label-right" value="auth" label="Есть учетная запись">\n\t\t\t<item type="input" value="" name="login" label="Логин" validate="NotEmpty" />\n\t\t\t<item type="password" value="" name="password" label="Пароль" validate="NotEmpty" />\n\t\t</item>\n\n\t\t<item type="button" value="Войти" name="submit"/>\n\n <item type="template" name="text_options" className="order_dealer_options" inputWidth="170"\n value="<a href=\'#\' onclick=\'$p.iface.open_settings();\' title=\'Страница настроек программы\' > <i class=\'fa fa-cog fa-lg\'></i> Настройки </a> <a href=\'//www.oknosoft.ru/feedback\' target=\'_blank\' style=\'margin-left: 9px;\' title=\'Задать вопрос через форму обратной связи\' > <i class=\'fa fa-question-circle fa-lg\'></i> Вопрос </a>" />\n\n\t</item>\n</items>',"toolbar_add_del.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_add" text="<i class=\'fa fa-plus-circle fa-fw\'></i> Добавить" title="Добавить строку" />\r\n <item type="button" id="btn_delete" text="<i class=\'fa fa-times fa-fw\'></i> Удалить" title="Удалить строку" />\r\n</toolbar>',"toolbar_obj.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_save_close" text="<b>Записать и закрыть</b>" title="Рассчитать, записать и закрыть" />\r\n <item type="button" id="btn_save" text="<i class=\'fa fa-floppy-o fa-fw\'></i>" title="Рассчитать и записать данные"/>\r\n <item type="button" id="btn_post" enabled="false" text="<i class=\'fa fa-check-square-o fa-fw\'></i>" title="Провести документ" />\r\n <item type="button" id="btn_unpost" enabled="false" text="<i class=\'fa fa-square-o fa-fw\'></i>" title="Отмена проведения" />\r\n\r\n <item type="button" id="btn_files" text="<i class=\'fa fa-paperclip fa-fw\'></i>" title="Присоединенные файлы"/>\r\n\r\n <item type="buttonSelect" id="bs_print" text="<i class=\'fa fa-print fa-fw\'></i>" title="Печать" openAll="true">\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_create_by_virtue" text="<i class=\'fa fa-bolt fa-fw\'></i>" title="Создать на основании" openAll="true" >\r\n <item type="button" id="btn_message" enabled="false" text="Сообщение" />\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_go_to" text="<i class=\'fa fa-external-link fa-fw\'></i>" title="Перейти" openAll="true" >\r\n <item type="button" id="btn_go_connection" enabled="false" text="Связи" />\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n\r\n <item type="button" id="btn_import" text="<i class=\'fa fa-upload fa-fw\'></i> Загрузить из файла" />\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-download fa-fw\'></i> Выгрузить в файл" />\r\n </item>\r\n\r\n <item id="sep1" type="separator"/>\r\n <item type="button" id="btn_close" text="<i class=\'fa fa-times fa-fw\'></i>" title="Закрыть форму"/>\r\n <item id="sep2" type="separator"/>\r\n\r\n</toolbar>\r\n',"toolbar_ok_cancel.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="btn_ok" type="button" img="" imgdis="" text="<b>Ок</b>" />\r\n <item id="btn_cancel" type="button"\timg="" imgdis="" text="Отмена" />\r\n</toolbar>',"toolbar_rep.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_run" text="<i class=\'fa fa-play fa-fw\'></i> Сформировать" title="Сформировать отчет"/>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n\r\n <item type="button" id="btn_print" text="<i class=\'fa fa-print fa-fw\'></i> Печать" />\r\n\r\n <item id="sep3" type="separator"/>\r\n\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-file-excel-o fa-fw\'></i> Выгрузить в файл" />\r\n\r\n <item id="sep4" type="separator"/>\r\n\r\n <item type="button" id="btn_import" text="<i class=\'fa fa-folder-open-o fa-fw\'></i> Выбрать вариант" />\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-floppy-o fa-fw\'></i> Сохранить вариант" />\r\n\r\n </item>\r\n\r\n <item id="sep1" type="separator"/>\r\n\r\n</toolbar>\r\n',"toolbar_selection.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n\r\n <item id="sep0" type="separator"/>\r\n\r\n <item id="btn_select" type="button" title="Выбрать элемент списка" text="<b>Выбрать</b>" />\r\n\r\n <item id="sep1" type="separator"/>\r\n <item id="btn_new" type="button"\ttext="<i class=\'fa fa-plus-circle fa-fw\'></i>"\ttitle="Создать" />\r\n <item id="btn_edit" type="button"\ttext="<i class=\'fa fa-pencil fa-fw\'></i>"\ttitle="Изменить" />\r\n <item id="btn_delete" type="button"\ttext="<i class=\'fa fa-times fa-fw\'></i>"\ttitle="Удалить" />\r\n <item id="sep2" type="separator"/>\r\n\r\n <item type="buttonSelect" id="bs_print" text="<i class=\'fa fa-print fa-fw\'></i> Печать" openAll="true" >\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n <item id="btn_requery" type="button"\ttext="<i class=\'fa fa-refresh fa-fw\'></i> Обновить список" />\r\n </item>\r\n\r\n <item id="sep3" type="separator"/>\r\n\r\n</toolbar>'});var xmlToJSON=function(){this.version="1.3";var e={mergeCDATA:!0,grokAttr:!0,grokText:!0,normalize:!0,xmlns:!0,namespaceKey:"_ns",textKey:"_text",valueKey:"_value",attrKey:"_attr",cdataKey:"_cdata",attrsAsObject:!0,stripAttrPrefix:!0,stripElemPrefix:!0,childrenAsArray:!0},t=new RegExp(/(?!xmlns)^.*:/),n=new RegExp(/^\s+|\s+$/g);return this.grokType=function(e){return/^\s*$/.test(e)?null:/^(?:true|false)$/i.test(e)?"true"===e.toLowerCase():isFinite(e)?parseFloat(e):e},this.parseString=function(e,t){return this.parseXML(this.stringToXML(e),t)},this.parseXML=function(a,i){for(var s in i)e[s]=i[s];var o={},r=0,l="";if(e.xmlns&&a.namespaceURI&&(o[e.namespaceKey]=a.namespaceURI),a.attributes&&a.attributes.length>0){var c={};for(r;r<a.attributes.length;r++){var p=a.attributes.item(r);m={};var d="";d=e.stripAttrPrefix?p.name.replace(t,""):p.name,e.grokAttr?m[e.valueKey]=this.grokType(p.value.replace(n,"")):m[e.valueKey]=p.value.replace(n,""),e.xmlns&&p.namespaceURI&&(m[e.namespaceKey]=p.namespaceURI),e.attrsAsObject?c[d]=m:o[e.attrKey+d]=m}e.attrsAsObject&&(o[e.attrKey]=c)}if(a.hasChildNodes())for(var u,f,m,h=0;h<a.childNodes.length;h++)u=a.childNodes.item(h),4===u.nodeType?e.mergeCDATA?l+=u.nodeValue:o.hasOwnProperty(e.cdataKey)?(o[e.cdataKey].constructor!==Array&&(o[e.cdataKey]=[o[e.cdataKey]]),o[e.cdataKey].push(u.nodeValue)):e.childrenAsArray?(o[e.cdataKey]=[],o[e.cdataKey].push(u.nodeValue)):o[e.cdataKey]=u.nodeValue:3===u.nodeType?l+=u.nodeValue:1===u.nodeType&&(0===r&&(o={}),f=e.stripElemPrefix?u.nodeName.replace(t,""):u.nodeName,m=xmlToJSON.parseXML(u),o.hasOwnProperty(f)?(o[f].constructor!==Array&&(o[f]=[o[f]]),o[f].push(m)):(e.childrenAsArray?(o[f]=[],o[f].push(m)):o[f]=m,r++));else l||(e.childrenAsArray?(o[e.textKey]=[],o[e.textKey].push(null)):o[e.textKey]=null);if(l)if(e.grokText){var _=this.grokType(l.replace(n,""));null!==_&&void 0!==_&&(o[e.textKey]=_)}else e.normalize?o[e.textKey]=l.replace(n,"").replace(/\s+/g," "):o[e.textKey]=l.replace(n,"");return o},this.xmlToString=function(e){try{var t=e.xml?e.xml:(new XMLSerializer).serializeToString(e);return t}catch(e){return null}},this.stringToXML=function(e){try{var t=null;if(window.DOMParser){var n=new DOMParser;return t=n.parseFromString(e,"text/xml")}return t=new ActiveXObject("Microsoft.XMLDOM"),t.async=!1,t.loadXML(e),t}catch(e){return null}},this}();"undefined"!=typeof module&&null!==module&&module.exports?module.exports=xmlToJSON:"function"==typeof define&&define.amd&&define(function(){return xmlToJSON});/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ +s&&s.reload&&s.reload()},20))}),i.attachEvent("onDblClick",function(e){r(e)})):(a=m,setTimeout(function(){s&&s.reload&&s.reload()},20)),s=m.elmnts.grid=a.attachGrid(),s.setIconsPath(dhtmlx.image_path),s.setImagePath(dhtmlx.image_path),s.attachEvent("onBeforeSorting",f),s.attachEvent("onBeforePageChanged",function(){return!!this.getRowsNum()}),s.attachEvent("onXLE",function(){a.progressOff()}),s.attachEvent("onXLS",function(){a.progressOn()}),s.attachEvent("onDynXLS",function(e,t){var n=u(e,t);if(n)return h.sync_grid(n,s),!1}),s.attachEvent("onRowDblClicked",function(e,t){if(i&&i.items[e]){i.selectItem(e);var n=i.getParentId(e);n&&n!=$p.utils.blank.guid&&i.openItem(n)}else r(e)}),t.smart_rendering?s.enableSmartRendering(!0,50):(s.setPagingWTMode(!0,!0,!0,[20,30,60]),s.enablePaging(!0,30,8,h.class_name.replace(".","_")+"_select_recinfoArea"),s.setPagingSkin("toolbar",dhtmlx.skin)),$p.iface.docs&&$p.iface.docs.getViewName&&"oper"==$p.iface.docs.getViewName()&&s.enableMultiselect(!0),s.reload=function(){var e=u();return e?(a.progressOn(),s.clearAll(),h.sync_grid(e,s).then(function(n){if("object"==typeof n)$p.msg.check_soap_result(n);else if(!o){if(e.initial_value){var r=n.indexOf("set_parent"),l=n.indexOf("'>",r),c=n.substr(r+12,l-r-12);$p.utils.is_guid(c)&&g&&(i.do_not_reload=!0,i.selectItem(c,!1)),s.selectRowById(e.initial_value)}else e.parent&&$p.utils.is_guid(e.parent)&&g&&(i.do_not_reload=!0,i.selectItem(e.parent,!1));s.setColumnMinWidth(200,s.getColIndexById("presentation")),s.enableAutoWidth(!0,1200,600),s.setSizes(),o=!0,m.elmnts.filter.input_filter&&"desktop"==$p.job_prm.device_type&&m.elmnts.filter.input_filter.focus(),t.on_grid_inited&&t.on_grid_inited()}v&&o&&s.setSortImgState(!0,b,v),a.progressOff()})):Promise.resolve()}}function o(e){if(!t.toolbar_click||t.toolbar_click(e,m,h)!==!1)if("btn_select"==e)r();else if("btn_new"==e)h.create({},!0).then(function(e){t.on_new?t.on_new(e,m):$p.job_prm.keep_hash?e.form_obj(m):(e._set_loaded(e.ref),$p.iface.set_hash(h.class_name,e.ref))});else if("btn_edit"==e){var n=m.elmnts.grid.getSelectedRowId();n?t.on_edit?t.on_edit(h,n,m):$p.job_prm.keep_hash?h.form_obj(m,{ref:n}):$p.iface.set_hash(h.class_name,n):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}else"prn_"==e.substr(0,4)?l(e):"btn_order_list"==e?$p.iface.set_hash("","","","def"):"btn_delete"==e?c():"btn_import"==e?h.import():"btn_export"==e?h.export(m.elmnts.grid.getSelectedRowId()):"btn_requery"==e&&(x={},m.elmnts.grid.reload())}function r(n){n||(n=m.elmnts.grid.getSelectedRowId());var a;if(t.selection&&t.selection.forEach(function(e){for(var t in e)"is_folder"==t&&(a=e[t])}),m.elmnts.tree&&m.elmnts.tree.items[n]&&m.elmnts.tree.getSelectedId()!=n)return void m.elmnts.tree.selectItem(n,!0);if(n&&a===!0&&m.elmnts.grid.cells(n,0).cell.classList.contains("cell_ref_elm"))return void $p.msg.show_msg($p.msg.select_grp);if(!n&&m.elmnts.tree||m.elmnts.tree&&m.elmnts.tree.getSelectedId()==n){if(a===!1)return void $p.msg.show_msg($p.msg.select_elm);n=m.elmnts.tree.getSelectedId()}n&&(t.on_edit?t.on_edit(h,n,m):y?h.get(n,!0).then(function(t){m.close(),y.call(e.grid||e,t)}):$p.job_prm.keep_hash?h.form_obj(m,{ref:n}):$p.iface.set_hash(h.class_name,n))}function l(e){var t=m.elmnts.grid.getSelectedRowId();t?h.print(t,e,m):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}function c(){var e=m.elmnts.grid.getSelectedRowId();e?h.get(e,!0,!0).then(function(e){dhtmlx.confirm({title:$p.msg.main_title,text:e._deleted?$p.msg.mark_undelete_confirm.replace("%1",e.presentation):$p.msg.mark_delete_confirm.replace("%1",e.presentation),cancel:"Отмена",callback:function(t){t&&e.mark_deleted(!e._deleted)}})}):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}function p(n){document.body.removeEventListener("keydown",a),t&&t.on_close&&!n&&t.on_close(),n||(h=m=_=x=y=e=t=null)}function d(){return setTimeout(p,10),e.on_unload&&e.on_unload.call(e.grid||e),w&&($p.eve.detachEvent(w),w=null),!0}function u(e,n){var a=m.elmnts.filter.get_filter()._mixin({action:"get_selection",metadata:_,class_name:h.class_name,order_by:m.elmnts.grid.columnIds[b]||b,direction:v,start:e||((m.elmnts.grid.currentPage||1)-1)*m.elmnts.grid.rowsBufferOutSize,count:n||m.elmnts.grid.rowsBufferOutSize,get_header:void 0==x.get_header}),i=g?m.elmnts.tree.getSelectedId():null;if(t.smart_rendering&&(a.smart_rendering=!0),t.date_from&&!a.date_from&&(a.date_from=t.date_from),t.date_till&&!a.date_till&&(a.date_till=t.date_till),t.initial_value&&(a.initial_value=t.initial_value),t.custom_selection&&(a.custom_selection=t.custom_selection),t.selection)if(a.selection)if(Array.isArray(t.selection))t.selection.forEach(function(e){a.selection.push(e)});else for(var s in t.selection){res.selection||(res.selection=[]);var o={};o[s]=t.selection[s],a.selection.push(o)}else a.selection=t.selection;t.owner&&!a.owner&&(a.owner=t.owner),a.parent=!i&&!t.parent||a.filter?null:i||t.parent,g&&!a.parent&&(a.parent=$p.utils.blank.guid);for(var r in a)if(x[r]!=a[r])return x=a,a}function f(e){var t=m.elmnts.grid.getSortingState();return b=e,v="des"==t[1]?"asc":"des",m.elmnts.grid.reload(),!0}e||(e=t&&t.pwnd?t.pwnd:{}),t||e instanceof dhtmlXCellObject||(t=e,e={}),t||(t={});var m,h=this,_=t.metadata||h.metadata(),g=_.hierarchical&&!(h instanceof ChartOfAccountManager),b=0,v="asc",x={},y=e.on_select||t.on_select,w=$p.eve.attachEvent("frm_close",function(e,t){h&&h.class_name==e&&m&&m.elmnts&&m.elmnts.grid.reload().then(function(){$p.utils.is_empty_guid(t)||m.elmnts.grid.selectRowById(t,!1,!0,!0)})});return g&&t.initial_value&&t.initial_value!=$p.utils.blank.guid&&!t.parent?h.get(t.initial_value,!0).then(function(e){return t.parent=e.parent.ref,t.set_parent=t.parent,n()}):n()},DataManager.prototype.form_list=function(e,t){return this.form_selection(e,t)},$p.iface.wnd_sync=function(){function e(){var e={name:"wnd_sync",wnd:{id:"wnd_sync",top:130,left:200,width:496,height:290,modal:!0,center:!0,caption:"Подготовка данных"}};t.wnd_sync=$p.iface.dat_blank(null,e.wnd);var n=[{type:"block",name:"form_block_1",list:[{type:"label",name:"form_label_1",label:$p.msg.sync_data},{type:"block",name:"form_block_2",list:[{type:"template",name:"img_long",className:"img_long"},{type:"newcolumn"},{type:"template",name:"text_processed"},{type:"template",name:"text_current"},{type:"template",name:"text_bottom"}]}]},{type:"button",name:"form_button_1",value:$p.msg.sync_break}];t.frm_sync=t.wnd_sync.attachForm(n),t.frm_sync.attachEvent("onButtonClick",function(e){t&&(t.do_break=!0)}),t.frm_sync.setItemValue("text_processed","Инициализация"),t.frm_sync.setItemValue("text_bottom","Загружается структура таблиц...")}var t,n=$p.iface.sync={};n.create=function(n){t=n,e()},n.update=function(e){t.frm_sync.setItemValue("text_processed","Обработано элементов: "+t.step*t.step_size+" из "+t.count_all);var n,a="",i=0;for(var s in e){if(i++,i>4)break;a&&(a+="<br />"),n=$p.cat[s].metadata(),a+=(n.list_presentation||n.synonym)+" ("+e[s].length+")"}t.frm_sync.setItemValue("text_current","Текущий запрос: "+t.step+" ("+Math.round(t.step*t.step_size*100/t.count_all)+"%)"),t.frm_sync.setItemValue("text_bottom",a)},n.close=function(){t&&t.wnd_sync&&(t.wnd_sync.close(),delete t.wnd_sync,delete t.frm_sync)}},DataManager.prototype.export=function(e){function t(){$p.wsql.restore_options("data_manager",l),l.wnd.caption="Экспорт "+r.family_name+" '"+(r.metadata().synonym||r.metadata().name)+"'",o=$p.iface.dat_blank(null,l.wnd),o.bottom_toolbar({buttons:[{name:"btn_cancel",text:'<i class="fa fa-times fa-lg"></i> Отмена',title:"Отмена",width:"80px",float:"right"},{name:"btn_ok",b:'<i class="fa fa-floppy-o"></i> Ок',title:"Выполнить экспорт",width:"50px",float:"right"}],onclick:function(e){return"btn_ok"==e?i():o.close(),!1}}),o.button("close").show(),o.button("park").hide(),o.attachEvent("onClose",s);var t=[{type:"fieldset",name:"form_range",label:"Выгрузить",list:[{type:"settings",labelWidth:320,labelAlign:"left",position:"label-right"},{type:"radio",name:"range",label:"Выделенные строки",value:"selected"},{type:"radio",name:"range",label:"Весь справочник",value:"all"}]},{type:"fieldset",name:"form_fieldset_2",label:"Дополнительно выгрузить",list:[{type:"settings",labelWidth:160,position:"label-right"},{type:"checkbox",name:"meta",label:"Описание метаданных",labelAlign:"left",position:"label-right",checked:l.meta},{type:"newcolumn"},{type:"checkbox",name:"relation",label:"Связанные объекты",position:"label-right",checked:l.relation,tooltip:"Связанные объекты по ссылкам (пока не реализовано)"}]},{type:"fieldset",name:"fieldset_format",label:"Формат файла",list:[{type:"settings",labelWidth:60,labelAlign:"left",position:"label-right"},{type:"radio",name:"format",label:"json",value:"json",tooltip:"Выгрузить в формате JSON"},{type:"newcolumn"},{type:"radio",name:"format",label:"xlsx",value:"xlsx",tooltip:"Выгрузить в офисном формате XLSX"},{type:"newcolumn"},{type:"radio",name:"format",label:"atom",value:"atom",tooltip:"Выгрузить в формате XML Atom"}]}];o.elmnts.frm=o.attachForm(t),o.elmnts.frm.setItemValue("range",l.range||"all"),e.items&&1==e.items.length?(e.obj?o.elmnts.frm.setItemLabel("range","selected","Тек. объект: "+e.items[0].presentation):r.get(e.items[0],!0).then(function(e){o.elmnts.frm.setItemLabel("range","selected","Тек. объект: "+e.presentation)}),o.elmnts.frm.setItemValue("range","selected")):e.items&&e.items.length&&o.elmnts.frm.setItemLabel("range","selected","Выделенные строки ("+e.items.length+" элем.)"),r instanceof DocManager&&o.elmnts.frm.setItemLabel("range","all","Все документы из кеша (0 элем.)"),o.elmnts.frm.setItemValue("format",l.format||"json"),o.elmnts.frm.attachEvent("onChange",n),n(),e.pwnd&&e.pwnd.isModal&&e.pwnd.isModal()&&(e.set_pwnd_modal=!0,e.pwnd.setModal(!1)),o.setModal(!0)}function n(){o.elmnts.frm.setItemValue("relation",!1),o.elmnts.frm.disableItem("relation"),"all"==o.elmnts.frm.getItemValue("range")?(o.elmnts.frm.disableItem("format","atom"),"atom"==o.elmnts.frm.getItemValue("format")&&o.elmnts.frm.setItemValue("format","json")):o.elmnts.frm.enableItem("format","atom"),"json"==o.elmnts.frm.getItemValue("format")?o.elmnts.frm.enableItem("meta"):"sql"==o.elmnts.frm.getItemValue("format")?(o.elmnts.frm.setItemValue("meta",!1),o.elmnts.frm.disableItem("meta")):(o.elmnts.frm.setItemValue("meta",!1),o.elmnts.frm.disableItem("meta"))}function a(){return l.format=o.elmnts.frm.getItemValue("format"),l.range=o.elmnts.frm.getItemValue("range"),l.meta=o.elmnts.frm.getItemValue("meta"),l.relation=o.elmnts.frm.getItemValue("relation"),l}function i(){function t(){e.obj?$p.wsql.alasql("SELECT * INTO XLSX('"+r.table_name+".xlsx',{headers:true}) FROM ?",[e.items[0]._obj]):$p.wsql.alasql("SELECT * INTO XLSX('"+r.table_name+".xlsx',{headers:true}) FROM "+r.table_name)}a();var n={meta:{},items:{}},i=n.items[r.class_name]=[];if(l.meta&&(n.meta[r.class_name]=r.metadata()),"json"==l.format)e.obj?i.push(e.items[0]._obj):r.each(function(t){"all"!=l.range&&e.items.indexOf(t.ref)==-1||i.push(t._obj)}),e.items.length&&!i.length?r.get(e.items[0],!0).then(function(e){i.push(e._obj),alasql.utils.saveFile(r.table_name+".json",JSON.stringify(n,null,4))}):alasql.utils.saveFile(r.table_name+".json",JSON.stringify(n,null,4));else if("xlsx"==l.format)window.xlsx?t():$p.load_script("//cdn.jsdelivr.net/js-xlsx/latest/xlsx.core.min.js","script",t);else if("atom"==l.format&&e.items.length){var s=e.obj?Promise.resolve(e.items[0]):r.get(e.items[0],!0);s.then(function(e){alasql.utils.saveFile(r.table_name+".xml",e.to_atom())})}else $p.msg.show_not_implemented()}function s(t){return $p.iface.popup.hide(),o.wnd_options(l.wnd),$p.wsql.save_options("data_manager",a()),o.setModal(!1),e.set_pwnd_modal&&e.pwnd.setModal&&e.pwnd.setModal(!0),!0}e&&"string"==typeof e?e={items:e.split(",")}:e||(e={items:[]});var o,r=this,l={name:"export",wnd:{top:130,left:200,width:480,height:350}};t()},DataManager.prototype.import=function(e,t){function n(e){function n(e,n){var a=_md.mgr_by_class_name(e);if(n.length)if(t){if(t._manager==a)for(var s in n)$p.utils.fix_guid(n[s])==t.ref&&(i=!0,a.load_array([n[s]],!0))}else i=!0,a.load_array(n,!0)}if(o.close(),a.files.length){var s=new FileReader;s.onload=function(e){try{var t=JSON.parse(s.result);if(t.items)for(var a in t.items)n(a,t.items[a]);else["cat","doc","ireg","areg","cch","cacc"].forEach(function(e){if(t[e])for(var a in t[e])n(e+"."+a,t.cat[a])});i||$p.msg.show_msg($p.msg.sync_no_data)}catch(e){$p.msg.show_msg(e.message)}},s.readAsText(a.files[0])}}var a,i;if(!e&&void 0!=typeof window){var s={name:"import",wnd:{width:300,height:100,caption:$p.msg.select_file_import}},o=$p.iface.dat_blank(null,s.wnd);a=document.createElement("input"),a.setAttribute("id","json_file"),a.setAttribute("type","file"),a.setAttribute("accept",".json"),a.setAttribute("value","*.json"),a.onchange=n,o.button("close").show(),o.button("park").hide(),o.attachObject(a),o.centerOnScreen(),o.setModal(!0),setTimeout(function(){a.click()},100)}},$p.eve.__define({set_offline:{value:function(e){var t=$p.job_prm.offline;$p.job_prm.offline=!(!e&&!$p.wsql.get_user_param("offline","boolean")),t!=$p.job_prm.offline&&(t=$p.job_prm.offline)}},on_rotate:{value:function(e){$p.job_prm.device_orient=0==window.orientation||180==window.orientation?"portrait":"landscape","undefined"!=typeof e&&$p.eve.callEvent("onOrientationChange",[$p.job_prm.device_orient])}},steps:{value:{load_meta:0,authorization:1,create_managers:2,process_access:3,load_data_files:4,load_data_db:5,load_data_wsql:6,save_data_wsql:7}},log_in:{value:function(e){var t,n={};return e($p.eve.steps.load_meta),$p.ajax.default_attr(n,$p.job_prm.irest_url()),($p.job_prm.offline?Promise.resolve({responseURL:"",response:""}):$p.ajax.get_ex(n.url,n)).then(function(e){if($p.job_prm.offline||($p.job_prm.irest_enabled=!0),"{"==e.response[0])return JSON.parse(e.response)}).catch(function(){}).then(function(n){return e($p.eve.steps.authorization),t=n,t.root=!0,$p.job_prm.offline||$p.job_prm.irest_enabled?t:$p.ajax.get_ex($p.job_prm.rest_url()+"?$format=json",!0).then(function(){return t})}).catch(function(e){throw $p.iface.auth.onerror&&$p.iface.auth.onerror(e),e}).then(function(t){return e($p.eve.steps.load_data_files),$p.job_prm.offline?t:($p.eve.callEvent("log_in",[$p.ajax.authorized=!0]),"string"==typeof t&&(t=JSON.parse(t)),void($p.msg.check_soap_result(t)||($p.wsql.get_user_param("enable_save_pwd")?$p.wsql.set_user_param("user_pwd",$p.ajax.password):$p.wsql.get_user_param("user_pwd")&&$p.wsql.set_user_param("user_pwd",""),t.now_1c&&t.now_js&&$p.wsql.set_user_param("time_diff",t.now_1c-t.now_js))))}).then(function(){_md.printing_plates(t.printing_plates)})}}}),function(w,eve,msg){var timer_setted=!1,cache;w.addEventListener("online",eve.set_offline),w.addEventListener("offline",function(){eve.set_offline(!0)}),w.addEventListener("load",function(){setTimeout(function(){function navigate(e){e&&(location.origin+location.pathname).indexOf(e)==-1&&location.replace(e)}function init_params(){function e(){var e=dhtmlx.codebase,t=!0,n=!0;e.indexOf("cdn.jsdelivr.net")!=-1&&(e="//cdn.jsdelivr.net/metadata/latest/");for(var a=0;a<document.styleSheets.length;a++)document.styleSheets[a].href&&(document.styleSheets[a].href.indexOf("dhx_web")==-1&&document.styleSheets[a].href.indexOf("dhx_terrace")==-1||(t=!1),document.styleSheets[a].href.indexOf("metadata.css")!=-1&&(n=!1));dhtmlx.skin=$p.wsql.get_user_param("skin")||$p.job_prm.skin||"dhx_web",t&&$p.load_script(e+("dhx_web"==dhtmlx.skin?"dhx_web.css":"dhx_terrace.css"),"link"),n&&$p.load_script(e+"metadata.css","link"),$p.job_prm.additional_css&&$p.job_prm.additional_css.forEach(function(e){(dhx4.isIE||e.indexOf("ie_only")==-1)&&$p.load_script(e,"link")}),dhtmlx.image_path="//oknosoft.github.io/metadata.js/lib/imgs/",dhtmlx.skin_suffix=function(){return dhtmlx.skin.replace("dhx","")+"/"},dhx4.ajax.cache=!0,$p.iface.__define("w",{value:new dhtmlXWindows,enumerable:!1}),$p.iface.w.setSkin(dhtmlx.skin),$p.iface.__define("popup",{value:new dhtmlXPopup,enumerable:!1})}$p.wsql.init_params(),"dhtmlx"in w&&e(),"undefined"==typeof w.orientation?$p.job_prm.device_orient=w.innerWidth>w.innerHeight?"landscape":"portrait":eve.on_rotate(),w.addEventListener("orientationchange",eve.on_rotate,!1),eve.stepper={step:0,count_all:0,step_size:57,files:0},eve.set_offline(!navigator.onLine),setTimeout(function(){$p.wsql.pouch.load_data().catch($p.record_log);var e;(e=document.querySelector("#splash"))&&e.parentNode.removeChild(e),eve.callEvent("iface_init",[$p])},20),(cache=w.applicationCache)&&(cache.addEventListener("noupdate",function(e){},!1),cache.addEventListener("cached",function(e){timer_setted=!0,$p.iface.appcache&&$p.iface.appcache.close()},!1),cache.addEventListener("updateready",function(e){try{cache.swapCache()}catch(e){}$p.iface.do_reload()},!1),cache.addEventListener("error",$p.record_log,!1))}if(!w.JSON||!w.indexedDB)throw eve.redirect=!0,msg.show_msg({type:"alert-error",text:msg.unsupported_browser,title:msg.unsupported_browser_title}),msg.unsupported_browser;$p.__define("job_prm",{value:new JobPrm,writable:!1}),($p.job_prm.use_ip_geo||$p.job_prm.use_google_geo)&&($p.ipinfo=new IPInfo),$p.job_prm.use_google_geo&&(window.google&&window.google.maps?location_callback():$p.on("iface_init",function(){setTimeout(function(){$p.load_script("//maps.google.com/maps/api/js?callback=$p.ipinfo.location_callback","script",function(){})},100)})),$p.job_prm.allow_post_message&&w.addEventListener("message",function(event){if(("*"==$p.job_prm.allow_post_message||$p.job_prm.allow_post_message==event.origin)&&"string"==typeof event.data)try{var res=eval(event.data);if(res&&event.source){if("object"==typeof res)res=JSON.stringify(res);else if("function"==typeof res)return;event.source.postMessage(res,"*")}}catch(e){$p.record_log(e)}}),$p.job_prm.__define("device_type",{get:function(){var e=$p.wsql.get_user_param("device_type");return e||(e=function(e){return e<800?"phone":e<1024?"tablet":"desktop"}(Math.max(screen.width,screen.height)),$p.wsql.set_user_param("device_type",e)),e},set:function(e){$p.wsql.set_user_param("device_type",e)}}),document.body.addEventListener("keydown",function(e){eve.callEvent("keydown",[e])},!1),setTimeout(init_params,10)},10)},!1),w.onbeforeunload=function(){if(!eve.redirect)return msg.onbeforeunload},w.addEventListener("popstat",$p.iface.hash_route),w.addEventListener("hashchange",$p.iface.hash_route)}(window,$p.eve,$p.msg),SpreadsheetDocument.prototype.__define({clear:{value:function(){for(;this._attr.content.firstChild;)this._attr.content.removeChild(this._attr.content.firstChild)}},put:{value:function(e,t){var n;e instanceof HTMLElement?(n=document.createElement(e.tagName),n.innerHTML=e.innerHTML,t||(t=e.attributes)):(n=document.createElement("DIV"),n.innerHTML=e),t&&Object.keys(t).forEach(function(e){"id"!=e&&"id"!=t[e].name&&n.setAttribute(t[e].name||e,t[e].value||t[e])}),this._attr.content.appendChild(n)}},content:{get:function(){return this._attr.content},set:function(e){this.clear(),"string"==typeof e?this._attr.content.innerHTML=e:e instanceof HTMLElement&&(this._attr.content.innerHTML=e.innerHTML)}},title:{get:function(){return this._attr.title},set:function(e){this._attr.title=e}}}),$p.SpreadsheetDocument=SpreadsheetDocument,$p.HandsontableDocument=HandsontableDocument,$p.injected_data._mixin({"form_auth.xml":'<?xml version="1.0" encoding="UTF-8"?>\n<items>\n\t<item type="settings" position="label-left" labelWidth="80" inputWidth="180" noteWidth="180"/>\n\t<item type="fieldset" name="data" inputWidth="auto" label="Авторизация">\n\n <item type="radio" name="type" labelWidth="auto" position="label-right" checked="true" value="guest" label="Гостевой (демо) режим">\n <item type="select" name="guest" label="Роль">\n <option value="Дилер" label="Дилер"/>\n </item>\n </item>\n\n\t\t<item type="radio" name="type" labelWidth="auto" position="label-right" value="auth" label="Есть учетная запись">\n\t\t\t<item type="input" value="" name="login" label="Логин" validate="NotEmpty" />\n\t\t\t<item type="password" value="" name="password" label="Пароль" validate="NotEmpty" />\n\t\t</item>\n\n\t\t<item type="button" value="Войти" name="submit"/>\n\n <item type="template" name="text_options" className="order_dealer_options" inputWidth="170"\n value="<a href=\'#\' onclick=\'$p.iface.open_settings();\' title=\'Страница настроек программы\' > <i class=\'fa fa-cog fa-lg\'></i> Настройки </a> <a href=\'//www.oknosoft.ru/feedback\' target=\'_blank\' style=\'margin-left: 9px;\' title=\'Задать вопрос через форму обратной связи\' > <i class=\'fa fa-question-circle fa-lg\'></i> Вопрос </a>" />\n\n\t</item>\n</items>',"toolbar_add_del.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_add" text="<i class=\'fa fa-plus-circle fa-fw\'></i> Добавить" title="Добавить строку" />\r\n <item type="button" id="btn_delete" text="<i class=\'fa fa-times fa-fw\'></i> Удалить" title="Удалить строку" />\r\n</toolbar>',"toolbar_obj.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_save_close" text="<b>Записать и закрыть</b>" title="Рассчитать, записать и закрыть" />\r\n <item type="button" id="btn_save" text="<i class=\'fa fa-floppy-o fa-fw\'></i>" title="Рассчитать и записать данные"/>\r\n <item type="button" id="btn_post" enabled="false" text="<i class=\'fa fa-check-square-o fa-fw\'></i>" title="Провести документ" />\r\n <item type="button" id="btn_unpost" enabled="false" text="<i class=\'fa fa-square-o fa-fw\'></i>" title="Отмена проведения" />\r\n\r\n <item type="button" id="btn_files" text="<i class=\'fa fa-paperclip fa-fw\'></i>" title="Присоединенные файлы"/>\r\n\r\n <item type="buttonSelect" id="bs_print" text="<i class=\'fa fa-print fa-fw\'></i>" title="Печать" openAll="true">\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_create_by_virtue" text="<i class=\'fa fa-bolt fa-fw\'></i>" title="Создать на основании" openAll="true" >\r\n <item type="button" id="btn_message" enabled="false" text="Сообщение" />\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_go_to" text="<i class=\'fa fa-external-link fa-fw\'></i>" title="Перейти" openAll="true" >\r\n <item type="button" id="btn_go_connection" enabled="false" text="Связи" />\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n\r\n <item type="button" id="btn_import" text="<i class=\'fa fa-upload fa-fw\'></i> Загрузить из файла" />\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-download fa-fw\'></i> Выгрузить в файл" />\r\n </item>\r\n\r\n <item id="sep1" type="separator"/>\r\n <item type="button" id="btn_close" text="<i class=\'fa fa-times fa-fw\'></i>" title="Закрыть форму"/>\r\n <item id="sep2" type="separator"/>\r\n\r\n</toolbar>\r\n',"toolbar_ok_cancel.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="btn_ok" type="button" img="" imgdis="" text="<b>Ок</b>" />\r\n <item id="btn_cancel" type="button"\timg="" imgdis="" text="Отмена" />\r\n</toolbar>',"toolbar_rep.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_run" text="<i class=\'fa fa-play fa-fw\'></i> Сформировать" title="Сформировать отчет"/>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n\r\n <item type="button" id="btn_print" text="<i class=\'fa fa-print fa-fw\'></i> Печать" />\r\n\r\n <item id="sep3" type="separator"/>\r\n\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-file-excel-o fa-fw\'></i> Выгрузить в файл" />\r\n\r\n <item id="sep4" type="separator"/>\r\n\r\n <item type="button" id="btn_import" text="<i class=\'fa fa-folder-open-o fa-fw\'></i> Выбрать вариант" />\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-floppy-o fa-fw\'></i> Сохранить вариант" />\r\n\r\n </item>\r\n\r\n <item id="sep1" type="separator"/>\r\n\r\n</toolbar>\r\n',"toolbar_selection.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n\r\n <item id="sep0" type="separator"/>\r\n\r\n <item id="btn_select" type="button" title="Выбрать элемент списка" text="<b>Выбрать</b>" />\r\n\r\n <item id="sep1" type="separator"/>\r\n <item id="btn_new" type="button"\ttext="<i class=\'fa fa-plus-circle fa-fw\'></i>"\ttitle="Создать" />\r\n <item id="btn_edit" type="button"\ttext="<i class=\'fa fa-pencil fa-fw\'></i>"\ttitle="Изменить" />\r\n <item id="btn_delete" type="button"\ttext="<i class=\'fa fa-times fa-fw\'></i>"\ttitle="Удалить" />\r\n <item id="sep2" type="separator"/>\r\n\r\n <item type="buttonSelect" id="bs_print" text="<i class=\'fa fa-print fa-fw\'></i> Печать" openAll="true" >\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n <item id="btn_requery" type="button"\ttext="<i class=\'fa fa-refresh fa-fw\'></i> Обновить список" />\r\n </item>\r\n\r\n <item id="sep3" type="separator"/>\r\n\r\n</toolbar>'});var xmlToJSON=function(){this.version="1.3";var e={mergeCDATA:!0,grokAttr:!0,grokText:!0,normalize:!0,xmlns:!0,namespaceKey:"_ns",textKey:"_text",valueKey:"_value",attrKey:"_attr",cdataKey:"_cdata",attrsAsObject:!0,stripAttrPrefix:!0,stripElemPrefix:!0,childrenAsArray:!0},t=new RegExp(/(?!xmlns)^.*:/),n=new RegExp(/^\s+|\s+$/g);return this.grokType=function(e){return/^\s*$/.test(e)?null:/^(?:true|false)$/i.test(e)?"true"===e.toLowerCase():isFinite(e)?parseFloat(e):e},this.parseString=function(e,t){return this.parseXML(this.stringToXML(e),t)},this.parseXML=function(a,i){for(var s in i)e[s]=i[s];var o={},r=0,l="";if(e.xmlns&&a.namespaceURI&&(o[e.namespaceKey]=a.namespaceURI),a.attributes&&a.attributes.length>0){var c={};for(r;r<a.attributes.length;r++){var p=a.attributes.item(r);m={};var d="";d=e.stripAttrPrefix?p.name.replace(t,""):p.name,e.grokAttr?m[e.valueKey]=this.grokType(p.value.replace(n,"")):m[e.valueKey]=p.value.replace(n,""),e.xmlns&&p.namespaceURI&&(m[e.namespaceKey]=p.namespaceURI),e.attrsAsObject?c[d]=m:o[e.attrKey+d]=m}e.attrsAsObject&&(o[e.attrKey]=c)}if(a.hasChildNodes())for(var u,f,m,h=0;h<a.childNodes.length;h++)u=a.childNodes.item(h),4===u.nodeType?e.mergeCDATA?l+=u.nodeValue:o.hasOwnProperty(e.cdataKey)?(o[e.cdataKey].constructor!==Array&&(o[e.cdataKey]=[o[e.cdataKey]]),o[e.cdataKey].push(u.nodeValue)):e.childrenAsArray?(o[e.cdataKey]=[],o[e.cdataKey].push(u.nodeValue)):o[e.cdataKey]=u.nodeValue:3===u.nodeType?l+=u.nodeValue:1===u.nodeType&&(0===r&&(o={}),f=e.stripElemPrefix?u.nodeName.replace(t,""):u.nodeName,m=xmlToJSON.parseXML(u),o.hasOwnProperty(f)?(o[f].constructor!==Array&&(o[f]=[o[f]]),o[f].push(m)):(e.childrenAsArray?(o[f]=[],o[f].push(m)):o[f]=m,r++));else l||(e.childrenAsArray?(o[e.textKey]=[],o[e.textKey].push(null)):o[e.textKey]=null);if(l)if(e.grokText){var _=this.grokType(l.replace(n,""));null!==_&&void 0!==_&&(o[e.textKey]=_)}else e.normalize?o[e.textKey]=l.replace(n,"").replace(/\s+/g," "):o[e.textKey]=l.replace(n,"");return o},this.xmlToString=function(e){try{var t=e.xml?e.xml:(new XMLSerializer).serializeToString(e);return t}catch(e){return null}},this.stringToXML=function(e){try{var t=null;if(window.DOMParser){var n=new DOMParser;return t=n.parseFromString(e,"text/xml")}return t=new ActiveXObject("Microsoft.XMLDOM"),t.async=!1,t.loadXML(e),t}catch(e){return null}},this}();"undefined"!=typeof module&&null!==module&&module.exports?module.exports=xmlToJSON:"function"==typeof define&&define.amd&&define(function(){return xmlToJSON});/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ var saveAs=saveAs||function(e){"use strict";if(!("undefined"==typeof e||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var t=e.document,n=function(){return e.URL||e.webkitURL||e},a=t.createElementNS("http://www.w3.org/1999/xhtml","a"),i="download"in a,s=function(e){var t=new MouseEvent("click");e.dispatchEvent(t)},o=/constructor/i.test(e.HTMLElement),r=/CriOS\/[\d]+/.test(navigator.userAgent),l=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},c="application/octet-stream",p=4e4,d=function(e){var t=function(){"string"==typeof e?n().revokeObjectURL(e):e.remove()};setTimeout(t,p)},u=function(e,t,n){t=[].concat(t);for(var a=t.length;a--;){var i=e["on"+t[a]];if("function"==typeof i)try{i.call(e,n||e)}catch(e){l(e)}}},f=function(e){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e},m=function(t,l,p){p||(t=f(t));var m,h=this,_=t.type,g=_===c,b=function(){u(h,"writestart progress write writeend".split(" "))},v=function(){if((r||g&&o)&&e.FileReader){var a=new FileReader;return a.onloadend=function(){var t=r?a.result:a.result.replace(/^data:[^;]*;/,"data:attachment/file;"),n=e.open(t,"_blank");n||(e.location.href=t),t=void 0,h.readyState=h.DONE,b()},a.readAsDataURL(t),void(h.readyState=h.INIT)}if(m||(m=n().createObjectURL(t)),g)e.location.href=m;else{var i=e.open(m,"_blank");i||(e.location.href=m)}h.readyState=h.DONE,b(),d(m)};return h.readyState=h.INIT,i?(m=n().createObjectURL(t),void setTimeout(function(){a.href=m,a.download=l,s(a),b(),d(m),h.readyState=h.DONE})):void v()},h=m.prototype,_=function(e,t,n){return new m(e,t||e.name||"download",n)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(e,t,n){return t=t||e.name||"download",n||(e=f(e)),navigator.msSaveOrOpenBlob(e,t)}:(h.abort=function(){},h.readyState=h.INIT=0,h.WRITING=1,h.DONE=2,h.error=h.onwritestart=h.onprogress=h.onwrite=h.onabort=h.onerror=h.onwriteend=null,_)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);/*! * @version: 2.1.24 * @author: Dan Grossman http://www.dangrossman.info/ diff --git a/history.md b/history.md index 323849044..dd107cfdd 100644 --- a/history.md +++ b/history.md @@ -1,5 +1,9 @@ # v0.11.223 +### 02.12.2016 +- Подключаемый обработчик нажатия кнопок панели инструментов формы _wnd_selection_ +- В атрибутах метода _Pouch.save_obj_ учтено значение _db_, что позволяет сохранить текущий объект в другой базе. Например, зарегистрировать изменения объекта с типом кеширования _ram_ на сервере + ### 21.11.2016 - В конструктор _OTabular_ добавлен параметр _ts_captions_, позволяющий задать индивидуальную настроку колонок табчасти - Исправлена ошибка _OTabular_ при работе с булевыми типами дополнительных реквизитов diff --git a/lib/metadata.core.js b/lib/metadata.core.js index 8dc7c42ab..233890e92 100644 --- a/lib/metadata.core.js +++ b/lib/metadata.core.js @@ -1,5 +1,5 @@ /*! - metadata.js v0.11.223, built:2016-11-30 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 + metadata.js v0.11.223, built:2016-12-02 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 metadata.js may be freely distributed under the AGPL-3.0. To obtain _Oknosoft Commercial license_, contact info@oknosoft.ru */ (function(root, factory) { @@ -2791,8 +2791,8 @@ function Pouch(){ value: function (tObj, attr) { var tmp = tObj._obj._clone(), - db = tObj._manager.pouch_db; - + db = attr.db || tObj._manager.pouch_db; + tmp._id = tObj._manager.class_name + "|" + tObj.ref; delete tmp.ref; @@ -2819,10 +2819,10 @@ function Pouch(){ return db.put(tmp); }) .then(function () { - + if(tObj.is_new()) tObj._set_loaded(tObj.ref); - + if(tmp._attachments){ if(!tObj._attachments) tObj._attachments = {}; @@ -2831,7 +2831,7 @@ function Pouch(){ tObj._attachments[att] = tmp._attachments[att]; } } - + tmp = null; attr = null; return tObj; diff --git a/lib/metadata.js b/lib/metadata.js index 74c095618..da356524a 100644 --- a/lib/metadata.js +++ b/lib/metadata.js @@ -1,5 +1,5 @@ /*! - metadata.js v0.11.223, built:2016-11-30 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 + metadata.js v0.11.223, built:2016-12-02 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 metadata.js may be freely distributed under the AGPL-3.0. To obtain _Oknosoft Commercial license_, contact info@oknosoft.ru */ (function(root, factory) { @@ -3433,8 +3433,8 @@ function Pouch(){ value: function (tObj, attr) { var tmp = tObj._obj._clone(), - db = tObj._manager.pouch_db; - + db = attr.db || tObj._manager.pouch_db; + tmp._id = tObj._manager.class_name + "|" + tObj.ref; delete tmp.ref; @@ -3461,10 +3461,10 @@ function Pouch(){ return db.put(tmp); }) .then(function () { - + if(tObj.is_new()) tObj._set_loaded(tObj.ref); - + if(tmp._attachments){ if(!tObj._attachments) tObj._attachments = {}; @@ -3473,7 +3473,7 @@ function Pouch(){ tObj._attachments[att] = tmp._attachments[att]; } } - + tmp = null; attr = null; return tObj; @@ -15379,7 +15379,7 @@ DataManager.prototype.form_selection = function(pwnd, attr){ if(attr.period) tbattr.period = attr.period; wnd.elmnts.filter = new $p.iface.Toolbar_filter(tbattr); - + // учтём права для каждой роли на каждый объект var _acl = $p.current_acl.get_acl(_mgr.class_name); @@ -15622,6 +15622,11 @@ DataManager.prototype.form_selection = function(pwnd, attr){ */ function toolbar_click(btn_id){ + // если внешний обработчик вернул false - выходим + if(attr.toolbar_click && attr.toolbar_click(btn_id, wnd, _mgr) === false){ + return; + } + if(btn_id=="btn_select"){ select(); @@ -15897,9 +15902,9 @@ DataManager.prototype.form_selection = function(pwnd, attr){ wnd.elmnts.grid.reload(); return true; } - + /** - * подписываемся на событие закрытия формы объекта, чтобы обновить список и попытаться спозиционироваться на нужной строке + * подписываемся на событие закрытия формы объекта, чтобы обновить список и попытаться спозиционироваться на нужной строке */ var _frm_close = $p.eve.attachEvent("frm_close", function (class_name, ref) { if(_mgr && _mgr.class_name == class_name && wnd && wnd.elmnts){ diff --git a/lib/metadata.min.js b/lib/metadata.min.js index db60d91fb..6cdf46bab 100644 --- a/lib/metadata.min.js +++ b/lib/metadata.min.js @@ -1,14 +1,14 @@ /*! - metadata.js v0.11.223, built:2016-11-30 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 + metadata.js v0.11.223, built:2016-12-02 © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016 metadata.js may be freely distributed under the AGPL-3.0. To obtain _Oknosoft Commercial license_, contact info@oknosoft.ru */ -!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.$p=t()}(this,function(){function MetaEngine(){this.__define({version:{value:"0.11.223",writable:!1},toString:{value:function(){return"Oknosoft data engine. v:"+this.version},writable:!1},utils:{value:new Utils},injected_data:{value:{},writable:!1},ajax:{value:new Ajax,writable:!1},msg:{value:new Messages,writable:!1},wsql:{value:new WSQL,writable:!1},eve:{value:new AppEvents,writable:!1},aes:{value:new Aes("metadata.js"),writable:!1},moment:{get:function(){return this.utils.moment}},_patch:{value:function(e,t){for(var n in t)"object"==typeof t[n]&&e[n]&&"object"==typeof e[n]?$p._patch(e[n],t[n]):e[n]=t[n];return e}},_find:{value:function(e,t,n){var a,i,s;if("object"!=typeof t)for(i in e){a=e[i];for(var o in a)if("function"!=typeof a[o]&&$p.utils.is_equal(a[o],t))return a}else for(i in e){a=e[i],s=!0;for(var o in t)if("function"!=typeof a[o]&&!$p.utils.is_equal(a[o],t[o])){s=!1;break}if(s)return a}}},_selection:{value:function(e,t){var n,a,i,s=!0;if(t)if("function"==typeof t)s=t.call(this,e);else for(n in t)if(a=t[n],i="object"==typeof a,"_"!=n.substr(0,1))if("function"==typeof a){if(s=a.call(this,e,n),!s)break}else if("or"==n&&Array.isArray(a)){if(s=a.some(function(t){var n=Object.keys(t)[0];return t[n].hasOwnProperty("like")?e[n]&&e[n].toLowerCase().indexOf(t[n].like.toLowerCase())!=-1:$p.utils.is_equal(e[n],t[n])}),!s)break}else if(i&&a.hasOwnProperty("like")){if(!e[n]||e[n].toLowerCase().indexOf(a.like.toLowerCase())==-1){s=!1;break}}else if(i&&a.hasOwnProperty("not")){if($p.utils.is_equal(e[n],a.not)){s=!1;break}}else if(i&&a.hasOwnProperty("in")){if(s=a.in.some(function(t){return $p.utils.is_equal(t,e[n])}),!s)break}else if(i&&a.hasOwnProperty("lt")){if(s=e[n]<a.lt,!s)break}else if(i&&a.hasOwnProperty("gt")){if(s=e[n]>a.gt,!s)break}else if(i&&a.hasOwnProperty("between")){var o=e[n];if("number"!=typeof o&&(o=$p.utils.fix_date(e[n])),s=o>=a.between[0]&&o<=a.between[1],!s)break}else if(!$p.utils.is_equal(e[n],a)){s=!1;break}return s}},_find_rows:{value:function(e,t,n){var a,i,s=[],o=0;t&&(t._top?(i=t._top,delete t._top):i=300);for(var r in e)if(a=e[r],$p._selection.call(this,a,t)){if(n){if(n.call(this,a)===!1)break}else s.push(a);if(i&&(o++,o>=i))break}return s}},on:{value:function(e,t){if("object"!=typeof e)return this.eve.attachEvent(e,t);for(var n in e)e[n]._evnts||(e[n]._evnts=[]),e[n]._evnts.push(this.eve.attachEvent(n,e[n]))}},off:{value:function(e){"function"==typeof e&&e._evnts?e._evnts.forEach(function(e){$p.eve.detachEvent(e)}):e?$p.eve.detachEvent(e):$p.eve.detachAllEvents()}},record_log:{value:function(e){$p.ireg&&$p.ireg.$log&&$p.ireg.$log.record(e),console.log(e)}},md:{value:new Meta},enm:{value:new function(){this.toString=function(){return $p.msg.meta_enn_mgr}}},cat:{value:new function(){this.toString=function(){return $p.msg.meta_cat_mgr}}},doc:{value:new function(){this.toString=function(){return $p.msg.meta_doc_mgr}}},ireg:{value:new function(){this.toString=function(){return $p.msg.meta_ireg_mgr}}},areg:{value:new function(){this.toString=function(){return $p.msg.meta_areg_mgr}}},accreg:{value:new function(){this.toString=function(){return $p.msg.meta_accreg_mgr}}},dp:{value:new function(){this.toString=function(){return $p.msg.meta_dp_mgr}}},rep:{value:new function(){this.toString=function(){return $p.msg.meta_reports_mgr}}},cacc:{value:new function(){this.toString=function(){return $p.msg.meta_charts_of_accounts_mgr}}},cch:{value:new function(){this.toString=function(){return $p.msg.meta_charts_of_characteristic_mgr}}},tsk:{value:new function(){this.toString=function(){return $p.msg.meta_task_mgr}}},bp:{value:new function(){this.toString=function(){return $p.msg.meta_bp_mgr}}},DataManager:{value:DataManager},RefDataManager:{value:RefDataManager},DataProcessorsManager:{value:DataProcessorsManager},EnumManager:{value:EnumManager},RegisterManager:{value:RegisterManager},InfoRegManager:{value:InfoRegManager},LogManager:{value:LogManager},AccumRegManager:{value:AccumRegManager},CatManager:{value:CatManager},ChartOfCharacteristicManager:{value:ChartOfCharacteristicManager},ChartOfAccountManager:{value:ChartOfAccountManager},DocManager:{value:DocManager},TaskManager:{value:TaskManager},BusinessProcessManager:{value:BusinessProcessManager},DataObj:{value:DataObj},CatObj:{value:CatObj},DocObj:{value:DocObj},DataProcessorObj:{value:DataProcessorObj},TaskObj:{value:TaskObj},BusinessProcessObj:{value:BusinessProcessObj},EnumObj:{value:EnumObj},RegisterRow:{value:RegisterRow},TabularSection:{value:TabularSection},TabularSectionRow:{value:TabularSectionRow}})}function Utils(){this.moment="function"==typeof moment?moment:require("moment"),this.moment._masks={date:"DD.MM.YY",date_time:"DD.MM.YYYY HH:mm",ldt:"DD MMMM YYYY, HH:mm",iso:"YYYY-MM-DDTHH:mm:ss"},this.fix_date=function(e,t){if(e instanceof Date)return e;var n=this.moment(e,["DD-MM-YYYY","DD-MM-YYYY HH:mm","DD-MM-YYYY HH:mm:ss","DD-MM-YY HH:mm","YYYYDDMMHHmmss",this.moment.ISO_8601]);return n.isValid()?n.toDate():t?this.blank.date:e},this.fix_guid=function(e,t){if(e&&"string"==typeof e);else{if(e instanceof DataObj)return e.ref;if(e&&"object"==typeof e)if(e.presentation){if(e.ref)return e.ref;if(e.name)return e.name}else e="object"==typeof e.ref&&e.ref.hasOwnProperty("ref")?e.ref.ref:e.ref}return this.is_guid(e)||t===!1?e:t?this.generate_guid():this.blank.guid},this.fix_number=function(e,t){var n=parseFloat(e);return isNaN(n)?t?0:e:n},this.fix_boolean=function(e){return"string"==typeof e?!(!e||"false"==e.toLowerCase()):!!e},this.blank={date:this.fix_date("0001-01-01T00:00:00"),guid:"00000000-0000-0000-0000-000000000000",by_type:function(e){var t;return t=e.is_ref?this.guid:e.date_part?this.date:e.digits?0:(!e.types||"boolean"!=e.types[0])&&""}},this.fetch_type=function(e,t){var n=e;return t.is_ref?n=this.fix_guid(e):t.date_part?n=this.fix_date(e,!0):t.digits?n=this.fix_number(e,!0):"boolean"==t.types[0]&&(n=this.fix_boolean(e)),n},this.date_add_day=function(e,t,n){var a=new Date(e);return a.setDate(e.getDate()+t),n&&a.setHours(0,-a.getTimezoneOffset(),0,0),a},this.generate_guid=function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?n:7&n|8).toString(16)})},this.is_guid=function(e){return!("string"!=typeof e||e.length<36)&&(e.length>36&&(e=e.substr(0,36)),/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e))},this.is_empty_guid=function(e){return!e||e===this.blank.guid},this.is_data_obj=function(e){return e&&e instanceof DataObj},this.is_data_mgr=function(e){return e&&e instanceof DataManager},this.is_equal=function(e,t){return e==t||typeof e!=typeof t&&this.fix_guid(e,!1)==this.fix_guid(t,!1)},this.blob_as_text=function(e,t){return new Promise(function(n,a){var i=new FileReader;i.onload=function(e){n(i.result)},i.onerror=function(e){a(e)},"data_url"==t?i.readAsDataURL(e):i.readAsText(e)})}}function Ajax(){function e(e,t,n,a,i){return new Promise(function(s,o){if("undefined"==typeof window&&a&&a.request)a.request({url:encodeURI(t),headers:{Authorization:a.auth}},function(e,t,n){e?o(e):200!=t.statusCode?o({message:t.statusMessage,description:n,status:t.statusCode}):s({response:n})});else{var r=new XMLHttpRequest;if(window.dhx4&&window.dhx4.isIE&&(t=encodeURI(t)),a){var l,c;"object"==typeof a&&a.username&&a.hasOwnProperty("password")?(l=a.username,c=a.password):$p.ajax.username&&$p.ajax.authorized?(l=$p.ajax.username,c=$p.aes.Ctr.decrypt($p.ajax.password)):(l=$p.wsql.get_user_param("user_name"),c=$p.aes.Ctr.decrypt($p.wsql.get_user_param("user_pwd")),!l&&$p.job_prm&&$p.job_prm.guest_name&&(l=$p.job_prm.guest_name,c=$p.aes.Ctr.decrypt($p.job_prm.guest_pwd))),r.open(e,t,!0,l,c),r.withCredentials=!0,r.setRequestHeader("Authorization","Basic "+btoa(unescape(encodeURIComponent(l+":"+c))))}else r.open(e,t,!0);i&&i.call(this,r),"GET"!=e?this.hide_headers||a.hide_headers||(r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.setRequestHeader("X-Requested-With","XMLHttpRequest")):n=null,r.onload=function(){200==r.status&&(r.response instanceof Blob||"<!DOCTYPE"!==r.response.substr(0,9))?(void 0==r.responseURL&&(r.responseURL=t),s(r)):o(r.response?{message:r.statusText,description:r.response,status:r.status}:Error(r.statusText))},r.onerror=function(){o(Error("Network Error"))},r.send(n)}})}this.username="",this.password="",this.root=!0,this.authorized=!1,this.get=function(t){return e.call(this,"GET",t)},this.post=function(t,n){return 1==arguments.length?n="":2==arguments.length&&"function"==typeof n?(onLoad=n,n=""):n=String(n),e.call(this,"POST",t,n)},this.get_ex=function(t,n,a){return e.call(this,"GET",t,null,n,a)},this.post_ex=function(t,n,a,i){return e.call(this,"POST",t,n,a,i)},this.put_ex=function(t,n,a,i){return e.call(this,"PUT",t,n,a,i)},this.patch_ex=function(t,n,a,i){return e.call(this,"PATCH",t,n,a,i)},this.delete_ex=function(t,n,a){return e.call(this,"DELETE",t,null,n,a)},this.get_and_show_blob=function(e,t,n){function a(t){return e=window.URL.createObjectURL(t.response),i=window.open(e,"wnd_print",s),i.onload=function(t){window.URL.revokeObjectURL(e)},i}var i,s="menubar=no,toolbar=no,location=no,status=no,directories=no,resizable=yes,scrollbars=yes";return!n||"string"==typeof n&&n.toLowerCase().indexOf("post")!=-1?this.post_ex(e,"object"==typeof t?JSON.stringify(t):t,!0,function(e){e.responseType="blob"}).then(a):this.get_ex(e,!0,function(e){e.responseType="blob"}).then(a)},this.get_and_save_blob=function(e,t,n){return this.post_ex(e,"object"==typeof t?JSON.stringify(t):t,!0,function(e){e.responseType="blob"}).then(function(e){saveAs(e.response,n)})},this.default_attr=function(e,t){e.url||(e.url=t),e.username||(e.username=this.username),e.password||(e.password=this.password),e.hide_headers=!0,$p.job_prm["1c"]&&(e.auth=$p.job_prm["1c"].auth,e.request=$p.job_prm["1c"].request)}}function WSQL(){var e,t=this,n={};this.__define({js_time_diff:{value:-new Date("0001-01-01").valueOf()},time_diff:{get:function(){var e=this.get_user_param("time_diff","number");return!e||isNaN(e)||e<621355716e5||e>62135622e6?this.js_time_diff:e}},set_user_param:{value:function(t,a){var i=a;"object"==typeof a?i=JSON.stringify(a):a===!1&&(i=""),e.setItem($p.job_prm.local_storage_prefix+t,i),n[t]=a}},get_user_param:{value:function(t,a){return!n.hasOwnProperty(t)&&e&&(n[t]=this.fetch_type(e.getItem($p.job_prm.local_storage_prefix+t),a)),n[t]}},promise:{value:function(e,n){return new Promise(function(a,i){t.alasql(e,n||[],function(e,t){t?i(t):a(e)})})}},save_options:{value:function(e,n){return t.set_user_param(e+"_"+n.name,n)}},restore_options:{value:function(e,n){var a=t.get_user_param(e+"_"+n.name,"object");for(var i in a)if("object"!=typeof a[i])n[i]=a[i];else{n[i]||(n[i]={});for(var s in a[i])n[i][s]=a[i][s]}return n}},fetch_type:{value:function(e,t){if("object"==t){try{e=JSON.parse(e)}catch(t){e={}}return e}return"number"==t?$p.utils.fix_number(e,!0):"date"==t?$p.utils.fix_date(e,!0):"boolean"==t?$p.utils.fix_boolean(e):e}},alasql:{value:"undefined"!=typeof alasql?alasql:require("alasql")},init_params:{value:function(){if(!$p.job_prm.local_storage_prefix&&!$p.job_prm.create_tables)return Promise.resolve();e="undefined"==typeof localStorage?"undefined"==typeof WorkerGlobalScope?new require("node-localstorage").LocalStorage("./localstorage"):{setItem:function(e,t){},getItem:function(e){}}:localStorage;var n,a=[{p:"user_name",v:"",t:"string"},{p:"user_pwd",v:"",t:"string"},{p:"browser_uid",v:$p.utils.generate_guid(),t:"string"},{p:"zone",v:$p.job_prm.hasOwnProperty("zone")?$p.job_prm.zone:1,t:$p.job_prm.zone_is_string?"string":"number"},{p:"enable_save_pwd",v:$p.job_prm.enable_save_pwd,t:"boolean"},{p:"autologin",v:"",t:"boolean"},{p:"skin",v:"dhx_web",t:"string"},{p:"rest_path",v:"",t:"string"}];$p.job_prm.additional_params&&(a=a.concat($p.job_prm.additional_params)),e.getItem($p.job_prm.local_storage_prefix+"zone")||(n=$p.job_prm.hasOwnProperty("zone")?$p.job_prm.zone:1),$p.job_prm.url_prm.hasOwnProperty("zone")&&(n=$p.job_prm.zone_is_string?$p.job_prm.url_prm.zone:$p.utils.fix_number($p.job_prm.url_prm.zone,!0)),void 0!==n&&t.set_user_param("zone",n),a.forEach(function(e){(void 0==t.get_user_param(e.p,e.t)||!t.get_user_param(e.p,e.t)&&e.p.indexOf("url")!=-1)&&t.set_user_param(e.p,$p.job_prm.hasOwnProperty(e.p)?$p.job_prm[e.p]:e.v)});var i={path:t.get_user_param("couch_path","string")||$p.job_prm.couch_path||"",zone:t.get_user_param("zone","number"),prefix:$p.job_prm.local_storage_prefix,suffix:t.get_user_param("couch_suffix","string")||"",user_node:$p.job_prm.user_node,noreplicate:$p.job_prm.noreplicate};i.path&&(t.__define("pouch",{value:new Pouch}),t.pouch.init(i)),this.create_tables&&(this.alasq(this.create_tables,[]),this.create_tables="")}},drop_tables:{value:function(e){function n(){s--,s<=0?setTimeout(e,10):a()}function a(){var e=o[s-1].tableid;"_"==e.substr(0,1)?n():t.alasql("drop table IF EXISTS "+e,[],n)}function i(e){o=e,(s=e.length)?a():n()}var s=0,o=[];t.alasql("SHOW TABLES",[],i)}}}),this.__define({aladb:{value:new this.alasql.Database("md")}})}function Col_struct(e,t,n,a,i,s){this.id=e,this.width=t,this.type=n,this.align=a,this.sort=i,this.caption=s}function InterfaceObjs(){function e(e,t,n){if(this.layout=e.attachLayout({pattern:"2U",cells:[{id:"a",text:"Разделы",collapsed_text:"Разделы",width:220},{id:"b",text:"Раздел",header:!1}],offsets:{top:0,right:0,bottom:0,left:0}}),this.tree=this.layout.cells("a").attachTreeView(),this.tree.attachEvent("onSelect",function(e,t){if(t){var a=$p.md.mgr_by_class_name(e);a instanceof DataProcessorsManager?a.form_rep(this.layout.cells("b"),n||{hide_header:!0}):a&&a.form_list(this.layout.cells("b"),n||{hide_header:!0})}}.bind(this)),!t){var a=$p.md.get_classes();t=[];for(var i in a)a[i].length&&t.push(i)}1==t.length?$p.md.get_classes()[t[0]].forEach(function(e){var n=t[0]+"."+e,a=$p.md.get(n);a.hide||(this.tree.addItem(n,a.list_presentation||a.synonym),this.tree.setItemIcons(n,{file:"icon_1c_"+t[0]}))}.bind(this)):t.forEach(function(e){this.tree.addItem(e,$p.msg["meta_"+e]),this.tree.setItemIcons(e,{file:"icon_1c_"+e,folder_opened:"icon_1c_"+e,folder_closed:"icon_1c_"+e}),$p.md.get_classes()[e].forEach(function(t){var n=e+"."+t,a=$p.md.get(n);a.hide||(this.tree.addItem(n,a.list_presentation||a.synonym,e),this.tree.setItemIcons(n,{file:"icon_1c_"+e}))}.bind(this))}.bind(this))}function t(e){e.attachHTMLString($p.injected_data["view_settings.html"]),this.cont=e.cell.querySelector(".dhx_cell_cont_tabbar"),this.cont.style.overflow="auto",this.form2=function(e){var t=new dhtmlXForm(e,[{type:"settings",labelWidth:80,position:"label-left"},{type:"label",labelWidth:320,label:"Адрес CouchDB",className:"label_options"},{type:"input",inputWidth:220,name:"couch_path",label:"Путь:",validate:"NotEmpty"},{type:"template",label:"",value:"",note:{text:"Можно указать как относительный, так и абсолютный URL публикации CouchDB",width:320}},{type:"label",labelWidth:320,label:"Адрес http сервиса 1С",className:"label_options"},{type:"input",inputWidth:220,name:"rest_path",label:"Путь",validate:"NotEmpty"},{type:"template",label:"",value:"",note:{text:"Можно указать как относительный, так и абсолютный URL публикации 1С OData",width:320}},{type:"label",labelWidth:320,label:"Значение разделителя данных",className:"label_options"},{type:"input",inputWidth:220,name:"zone",label:"Зона:",numberFormat:["0","",""],validate:"NotEmpty,ValidInteger"},{type:"template",label:"",value:"",note:{text:"Для неразделенной публикации, зона = 0",width:320}},{type:"label",labelWidth:320,label:"Суффикс базы пользователя",className:"label_options"},{type:"input",inputWidth:220,name:"couch_suffix",label:"Суффикс:"},{type:"template",label:"",value:"",note:{text:"Назначается абоненту при регистрации",width:320}},{type:"block",blockOffset:0,name:"block_buttons",list:[{type:"button",name:"save",value:"<i class='fa fa-floppy-o fa-lg'></i>",tooltip:"Применить настройки и перезагрузить программу"},{type:"newcolumn"},{type:"button",offsetLeft:20,name:"reset",value:"<i class='fa fa-refresh fa-lg'></i>",tooltip:"Стереть справочники и перезаполнить данными сервера"}]}]);return t.cont.style.fontSize="100%",["zone","couch_path","couch_suffix","rest_path"].forEach(function(e){"zone"==e?t.setItemValue(e,$p.wsql.get_user_param(e)):t.setItemValue(e,$p.wsql.get_user_param(e)||$p.job_prm[e])}),t.attachEvent("onChange",function(e,t,n){$p.wsql.set_user_param(e,"enable_save_pwd"==e?n||"":t)}),t.disableItem("couch_suffix"),$p.job_prm.rest_path||t.disableItem("rest_path"),t.attachEvent("onButtonClick",function(e){"save"==e?($p.wsql.pouch.log_out(),setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)):"reset"==e&&dhtmlx.confirm({title:"Сброс данных",text:"Стереть справочники и перезаполнить данными сервера?",cancel:$p.msg.cancel,callback:function(e){e&&$p.wsql.pouch.reset_local_data()}})}),t}(this.cont.querySelector("[name=form2]").firstChild),this.form1=function(e){var t=new dhtmlXForm(e,[{type:"settings",labelWidth:320,position:"label-left"},{type:"label",label:"Тип устройства",className:"label_options"},{type:"block",blockOffset:0,name:"block_device_type",list:[{type:"settings",labelAlign:"left",position:"label-right"},{type:"radio",name:"device_type",labelWidth:120,label:'<i class="fa fa-desktop"></i> Компьютер',value:"desktop"},{type:"newcolumn"},{type:"radio",name:"device_type",labelWidth:150,label:'<i class="fa fa-mobile fa-lg"></i> Телефон, планшет',value:"phone"}]},{type:"template",label:"",value:"",note:{text:"Класс устройства определяется автоматически, но пользователь может задать его явно",width:320}},{type:"label",label:"Сохранять пароль пользователя",className:"label_options"},{type:"checkbox",name:"enable_save_pwd",label:"Разрешить:",labelWidth:90,checked:$p.wsql.get_user_param("enable_save_pwd","boolean")},{type:"template",label:"",value:"",note:{text:"Не рекомендуется, если к компьютеру имеют доступ посторонние лица",width:320}},{type:"template",label:"",value:"",note:{text:"",width:320}},{type:"label",label:"Подключаемые модули",className:"label_options"},{type:"input",position:"label-top",inputWidth:320,name:"modifiers",label:"Модификаторы:",value:$p.wsql.get_user_param("modifiers"),rows:3,style:"height:80px;"},{type:"template",label:"",value:"",note:{text:"Список дополнительных модулей",width:320}}]);return t.cont.style.fontSize="100%",t.checkItem("device_type",$p.job_prm.device_type),t.attachEvent("onChange",function(e,t,n){$p.wsql.set_user_param(e,"enable_save_pwd"==e?n||"":t)}),t.disableItem("modifiers"),t.getInput("modifiers").onchange=function(){$p.wsql.set_user_param("modifiers",this.value)},t}(this.cont.querySelector("[name=form1]").firstChild)}var n=this;this.clear_svgs=function(e){for("string"==typeof e&&(e=document.getElementById(e));e.firstChild;)e.removeChild(e.firstChild)},this.get_offset=function(e){var t={left:0,top:0};if(e.offsetParent)do t.left+=e.offsetLeft,t.top+=e.offsetTop;while(e=e.offsetParent);return t},this.normalize_xml=function(e){if(!e)return"";var t={"&":"&",'"':""","'":"'","<":"<",">":">"};return e.replace(/[&"'<>]/g,function(e){return t[e]})},this.scale_svg=function(e,t,n){var a,i,s,o,r,l,c,p,d,u={},f="number"==typeof t?t:t.height,m="number"==typeof t?(1.5*t).round(0):t.width,h="number"==typeof t?1/0:t.zoom||1/0;r=e.indexOf(">"),c=e.substring(5,r),s=c.split(" "),o=e.substr(r+1),o=o.substr(0,o.length-6);for(a in s)e=s[a].split("="),"width,height,x,y".indexOf(e[0])!=-1&&(e[1]=Number(e[1].replace(/"/g,"")),u[e[0]]=e[1]);(l=c.indexOf("viewBox="))!=-1?(p=c.substring(l+9),d='viewBox="'+p.substring(0,p.indexOf('"'))+'"'):d='viewBox="'+(u.x||0)+" "+(u.y||0)+" "+(u.width-n)+" "+(u.height-n)+'"';var _=u.height,g=u.width;return i=(f-n)/_,u.height=f,u.width=(g*i).round(0),u.width>m&&(i=(m-n)/g,u.height=(_*i).round(0),u.width=m),i>h&&(i=h,u.height=(_*i).round(0),u.width=(g*i).round(0)),u.x=(u.x*i).round(0),u.y=(u.y*i).round(0),'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="'+u.width+'" height="'+u.height+'" x="'+u.x+'" y="'+u.y+'" xml:space="preserve" '+d+">"+o+"</svg>"},this.bind_help=function(e,t){function n(e){if(!e.help_path)return void $p.msg.show_msg({title:"Справка",type:"alert-info",text:$p.msg.not_implemented})}e instanceof dhtmlXCellObject||(!e.help_path&&t&&(e.help_path=t),e.button("help").show(),e.button("help").enable(),e.attachEvent("onHelp",n))},this.set_hash=function(e,t,a,i){var s={},o=$p.job_prm.parse_url();1==arguments.length&&"object"==typeof e&&(s=e,s.hasOwnProperty("obj")&&(e=s.obj,delete s.obj),s.hasOwnProperty("ref")&&(t=s.ref,delete s.ref),s.hasOwnProperty("frm")&&(a=s.frm,delete s.frm),s.hasOwnProperty("view")&&(i=s.view,delete s.view)),void 0===e&&(e=o.obj||""),void 0===t&&(t=o.ref||""),void 0===a&&(a=o.frm||""),void 0===i&&(i=o.view||"");var r="obj="+e+"&ref="+t+"&frm="+a+"&view="+i;for(var l in s)r+="&"+l+"="+s[l];location.hash.substr(1)==r?n.hash_route():location.hash=r},this.hash_route=function(e){var t,a=$p.job_prm.parse_url(),i=$p.eve.callEvent("hash_route",[a]);if(i===!1||n.before_route&&n.before_route(e)===!1||$p.ajax.authorized&&(a.ref&&"undefined"!=typeof _md?(t=_md.mgr_by_class_name(a.obj),t&&t[a.frm||"form_obj"](n.docs,a.ref)):a.view&&n.swith_view&&n.swith_view(a.view)),e)return n.cancel_bubble(e)},this.cancel_bubble=function(e){var t=e||event;return t&&t.stopPropagation&&t.stopPropagation(),t&&!t.cancelBubble&&(t.cancelBubble=!0),!1},this.Col_struct=Col_struct,this.init_sidebar=function(e,t,a){n.btn_auth_sync=new n.OBtnAuthSync,n.btns_nav=function(e){return n.btn_auth_sync.bind(new n.OTooolBar({wrapper:e,class_name:"md_otbnav",width:"260px",height:"28px",top:"3px",right:"3px",name:"right",buttons:t,onclick:function(e){return n.main.cells(e).setActive(!0),!1}}))},n.main=new dhtmlXSideBar({parent:document.body,icons_path:a||"dist/imgs/",width:180,header:!0,template:"tiles",autohide:!0,items:e,offsets:{top:0,right:0,bottom:0,left:0}}),n.main.attachEvent("onSelect",function(e){var t=$p.job_prm.parse_url();t.view!=e&&n.set_hash(t.obj,t.ref,t.frm,e),n["view_"+e](n.main.cells(e))}),n.main.progressOn();var i=$p.job_prm.parse_url();i.view&&n.main.getAllItems().indexOf(i.view)!=-1?setTimeout(n.hash_route):n.set_hash(i.obj,i.ref,i.frm,"doc")},this.All_meta_objs=e,this.Setting2col=t,this.do_reload=function(){function e(){dhtmlx.confirm({title:$p.msg.file_new_date_title,text:$p.msg.file_new_date,ok:"Перезагрузка",cancel:"Продолжить",callback:function(n){n?($p.wsql.pouch.log_out(),setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)):(t++,setTimeout(e,3e4*t))}})}var t=0;e()}}function Pouch(){var e,t,n,a,i=this,s={};i.__define({DB:{value:"undefined"==typeof PouchDB?require("pouchdb-core").plugin(require("pouchdb-adapter-memory")).plugin(require("pouchdb-adapter-http")).plugin(require("pouchdb-replication")).plugin(require("pouchdb-mapreduce")):PouchDB},init:{value:function(e){s._mixin(e),s.path&&0!=s.path.indexOf("http")&&"undefined"!=typeof location&&(s.path=location.protocol+"//"+location.host+s.path)}},local:{get:function(){if(!e){var t={auto_compaction:!0,revs_limit:2};e={ram:new i.DB(s.prefix+s.zone+"_ram",t),doc:new i.DB(s.prefix+s.zone+"_doc",t),meta:new i.DB(s.prefix+"meta",t),sync:{}}}return s.path&&!e._meta&&(e._meta=new i.DB(s.path+"meta",{auth:{username:"guest",password:"meta"},skip_setup:!0}),i.run_sync(e.meta,e._meta,"meta")),e}},remote:{get:function(){return!t&&n&&(t={ram:new i.DB(s.path+s.zone+"_ram",{auth:{username:n.username,password:n.password},skip_setup:!0}),doc:new i.DB(s.path+s.zone+"_doc"+s.suffix,{auth:{username:n.username,password:n.password},skip_setup:!0})}),t}},log_in:{value:function(e,t){return void 0==e&&void 0==t&&(e=$p.job_prm.guest_name,t=$p.aes.Ctr.decrypt($p.job_prm.guest_pwd)),n?n.username==e?Promise.resolve():Promise.reject():$p.ajax.get_ex(s.path+s.zone+"_ram",{username:e,password:t}).then(function(a){return n={username:e,password:t},setTimeout(function(){dhx4.callEvent("log_in",[e])}),{ram:i.run_sync(i.local.ram,i.remote.ram,"ram"),doc:i.run_sync(i.local.doc,i.remote.doc,"doc")}})}},log_out:{value:function(){if(n){if(e.sync.doc)try{e.sync.doc.cancel()}catch(e){}if(e.sync.ram)try{e.sync.ram.cancel()}catch(e){}n=null}t&&t.ram&&delete t.ram,t&&t.doc&&delete t.doc,t=null,dhx4.callEvent("log_out")}},reset_local_data:{value:function(){var e=i.local.ram.destroy.bind(i.local.ram),t=i.local.doc.destroy.bind(i.local.doc),n=function(){setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)};i.log_out(),setTimeout(function(){e().then(t).catch(t).then(n).catch(n)},1e3)}},load_data:{value:function(){var e={limit:800,include_docs:!0},t={total_rows:0,limit:e.limit,page:0,start:Date.now()};return new Promise(function(n,s){function o(){i.local.ram.allDocs(e,function(r,l){l?(t.page++,t.total_rows=l.total_rows,t.duration=Date.now()-t.start,$p.eve.callEvent("pouch_load_data_page",[t]),i.load_changes(l,e)?o():(n(),a=!0,$p.eve.callEvent("pouch_load_data_loaded",[t]),t.note="pouch_load_data_loaded",$p.record_log(t))):r&&(s(r),$p.eve.callEvent("pouch_load_data_error",[r]))})}i.local.ram.info().then(function(e){e.doc_count>=($p.job_prm.pouch_ram_doc_count||10)?($p.eve.callEvent("pouch_load_data_start",[t]),o()):($p.eve.callEvent("pouch_load_data_error",[e]),s(e))})})}},authorized:{get:function(){return n&&n.username}},data_loaded:{get:function(){return!!a}},run_sync:{value:function(t,n,s){var o,r;return t.info().then(function(e){return o=e,n.info()}).then(function(e){return"ram"!=s?e:n.get("data_version").then(function(t){return t.version!=$p.wsql.get_user_param("couch_ram_data_version")&&($p.wsql.get_user_param("couch_ram_data_version")&&(e=i.reset_local_data()),$p.wsql.set_user_param("couch_ram_data_version",t.version)),e}).catch(function(e){$p.record_log(e)}).then(function(){return e})}).then(function(l){if(l){"ram"==s&&o.doc_count<($p.job_prm.pouch_ram_doc_count||10)?(r={total_rows:l.doc_count,local_rows:o.doc_count,docs_written:0,limit:200,page:0,start:Date.now()},$p.eve.callEvent("pouch_load_data_start",[r])):"doc"==s&&setTimeout(function(){$p.eve.callEvent("pouch_doc_sync_start")});var c={live:!0,retry:!0,batch_size:300,batches_limit:8};return"meta"==s?c.filter="auth/meta":$p.job_prm.pouch_filter&&$p.job_prm.pouch_filter[s]&&(c.filter=$p.job_prm.pouch_filter[s]),"ram"==s||"meta"==s||$p.wsql.get_user_param("zone")==$p.job_prm.zone_demo?e.sync[s]=t.replicate.from(n,c):e.sync[s]=t.sync(n,c),e.sync[s].on("change",function(e){"ram"==s?(i.load_changes(e),o.doc_count<($p.job_prm.pouch_ram_doc_count||10)&&(r.page++,r.docs_written=e.docs_written,r.duration=Date.now()-r.start,$p.eve.callEvent("pouch_load_data_page",[r]),r.docs_written>=r.total_rows&&(a=!0,$p.eve.callEvent("pouch_load_data_loaded",[r]),r.note="pouch_load_data_loaded",$p.record_log(r)))):(e.update_only=!0,i.load_changes(e)),$p.eve.callEvent("pouch_change",[s,e])}).on("paused",function(e){e&&$p.eve.callEvent("pouch_paused",[s,e])}).on("active",function(e){$p.eve.callEvent("pouch_active",[s,e])}).on("denied",function(e){$p.eve.callEvent("pouch_denied",[s,e])}).on("complete",function(e){$p.eve.callEvent("pouch_complete",[s,e])}).on("error",function(e){$p.eve.callEvent("pouch_error",[s,e])}),e.sync[s]}})}},load_obj:{value:function(e){return e._manager.pouch_db.get(e._manager.class_name+"|"+e.ref).then(function(t){delete t._id,delete t._rev,e._mixin(t)._set_loaded()}).catch(function(e){if(404!=e.status)throw e}).then(function(t){return e})}},save_obj:{value:function(e,t){var n=e._obj._clone(),a=e._manager.pouch_db;return n._id=e._manager.class_name+"|"+e.ref,delete n.ref,t.attachments&&(n._attachments=t.attachments),(e.is_new()?Promise.resolve():a.get(n._id)).then(function(e){if(e){n._rev=e._rev;for(var t in e._attachments)n._attachments||(n._attachments={}),n._attachments[t]||(n._attachments[t]=e._attachments[t])}}).catch(function(e){if(404!=e.status)throw e}).then(function(){return a.put(n)}).then(function(){if(e.is_new()&&e._set_loaded(e.ref),n._attachments){e._attachments||(e._attachments={});for(var a in n._attachments)e._attachments[a]&&n._attachments[a].stub||(e._attachments[a]=n._attachments[a])}return n=null,t=null,e})}},load_changes:{value:function(e,t){var n,a,i,s,o={};if(t)n=e.rows;else if(e.direction){if("pull"!=e.direction)return;n=e.change.docs}else n=e.docs;if(n.length>0){t&&(t.startkey=n[n.length-1].key,t.skip=1),n.forEach(function(e){if(a=t?e.doc:e,!a)if(e.value&&e.value.deleted)a={_id:e.id,_deleted:!0};else if(e.error)return;s=a._id.split("|"),i=s[0].split("."),a.ref=s[1],delete a._id,delete a._rev,o[i[0]]||(o[i[0]]={}),o[i[0]][i[1]]||(o[i[0]][i[1]]=[]),o[i[0]][i[1]].push(a)});for(var r in o)for(i in o[r])$p[r]&&$p[r][i]&&$p[r][i].load_array(o[r][i],!e.update_only||"update_only");return o=e=n=a=null,!0}return!1}},backup_database:{value:function(e){}},restore_database:{value:function(e){}}})}function Messages(){this.toString=function(){return"Интернационализация сообщений"},"undefined"!=typeof window&&"dhtmlx"in window&&(this.show_msg=function(e,t){if(e){if("string"==typeof e){if($p.iface.synctxt)return void $p.iface.synctxt.show_message(e);e={type:"info",text:e}}t&&"function"==typeof t.setText&&t.setText(e.text),dhtmlx.message(e)}},this.check_soap_result=function(e){return e?"limit_query"==e.error?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-warning",text:$p.msg.limit_query.replace("%1",e.queries).replace("%2",e.queries_avalable),title:$p.msg.srv_overload}),!0):"network"==e.error||"empty"==e.error?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-warning",text:$p.msg.error_network,title:$p.msg.error_critical}),!0):e.error&&e.error_description?($p.iface.docs.progressOff(),e.error_description.indexOf("Недостаточно прав")!=-1&&(e.error_type="alert-warning",e.error_title=$p.msg.error_rights),$p.msg.show_msg({type:e.error_type||"alert-error",text:e.error_description,title:e.error_title||$p.msg.error_critical}),!0):e.error&&!e.messages?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-error",title:$p.msg.error_critical,text:$p.msg.unknown_error.replace("%1","unknown_error")}),!0):void 0:($p.msg.show_msg({type:"alert-error",text:$p.msg.empty_response,title:$p.msg.error_critical}),!0)},this.show_not_implemented=function(){$p.msg.show_msg({type:"alert-warning",text:$p.msg.not_implemented,title:$p.msg.main_title})})}function Meta(){function e(e){return e.info().then(function(){return e.get("meta")}).then(function(n){return t=n,n=null,e.get("meta_patch")}).then(function(e){return $p._patch(t,e),e=null,delete t._id,delete t._rev,t})}var t;_md=this,_md.create_managers=function(){},_md.init=function(n){function a(){return!n||i||s?e(n||$p.wsql.pouch.local.meta).then(function(){return i?void _md.create_managers():t}).catch($p.record_log):(t=n,n=null,_md.create_managers(),void 0)}var i=!n||$p.wsql.pouch&&n==$p.wsql.pouch.local.meta,s=n&&$p.wsql.pouch&&n==$p.wsql.pouch.local._meta;return $p.on("pouch_change",function(e,n){"meta"==e&&(t?setTimeout(function(){$p.iface.do_reload()},3e3):a())}),a()},_md.get=function(e,n){var a=e.split(".");if(!n)return t[a[0]][a[1]];var i={multiline_mode:!1,note:"",synonym:"",tooltip:"",type:{is_ref:!1,types:["string"]}},s="doc,tsk,bp".indexOf(a[0])!=-1,o="cat,cch,cacc,tsk".indexOf(a[0])!=-1;return s&&"number_doc"==n?(i.synonym="Номер",i.tooltip="Номер документа",i.type.str_len=11):s&&"date"==n?(i.synonym="Дата",i.tooltip="Дата документа",i.type.date_part="date_time",i.type.types[0]="date"):s&&"posted"==n?(i.synonym="Проведен",i.type.types[0]="boolean"):o&&"id"==n?i.synonym="Код":o&&"name"==n?i.synonym="Наименование":"_deleted"==n?(i.synonym="Пометка удаления",i.type.types[0]="boolean"):"is_folder"==n?(i.synonym="Это группа",i.type.types[0]="boolean"):"ref"==n?(i.synonym="Ссылка",i.type.is_ref=!0,i.type.types[0]=e):i=n?t[a[0]][a[1]].fields[n]:t[a[0]][a[1]],i},_md.get_classes=function(){ +!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.$p=t()}(this,function(){function MetaEngine(){this.__define({version:{value:"0.11.223",writable:!1},toString:{value:function(){return"Oknosoft data engine. v:"+this.version},writable:!1},utils:{value:new Utils},injected_data:{value:{},writable:!1},ajax:{value:new Ajax,writable:!1},msg:{value:new Messages,writable:!1},wsql:{value:new WSQL,writable:!1},eve:{value:new AppEvents,writable:!1},aes:{value:new Aes("metadata.js"),writable:!1},moment:{get:function(){return this.utils.moment}},_patch:{value:function(e,t){for(var n in t)"object"==typeof t[n]&&e[n]&&"object"==typeof e[n]?$p._patch(e[n],t[n]):e[n]=t[n];return e}},_find:{value:function(e,t,n){var a,i,s;if("object"!=typeof t)for(i in e){a=e[i];for(var o in a)if("function"!=typeof a[o]&&$p.utils.is_equal(a[o],t))return a}else for(i in e){a=e[i],s=!0;for(var o in t)if("function"!=typeof a[o]&&!$p.utils.is_equal(a[o],t[o])){s=!1;break}if(s)return a}}},_selection:{value:function(e,t){var n,a,i,s=!0;if(t)if("function"==typeof t)s=t.call(this,e);else for(n in t)if(a=t[n],i="object"==typeof a,"_"!=n.substr(0,1))if("function"==typeof a){if(s=a.call(this,e,n),!s)break}else if("or"==n&&Array.isArray(a)){if(s=a.some(function(t){var n=Object.keys(t)[0];return t[n].hasOwnProperty("like")?e[n]&&e[n].toLowerCase().indexOf(t[n].like.toLowerCase())!=-1:$p.utils.is_equal(e[n],t[n])}),!s)break}else if(i&&a.hasOwnProperty("like")){if(!e[n]||e[n].toLowerCase().indexOf(a.like.toLowerCase())==-1){s=!1;break}}else if(i&&a.hasOwnProperty("not")){if($p.utils.is_equal(e[n],a.not)){s=!1;break}}else if(i&&a.hasOwnProperty("in")){if(s=a.in.some(function(t){return $p.utils.is_equal(t,e[n])}),!s)break}else if(i&&a.hasOwnProperty("lt")){if(s=e[n]<a.lt,!s)break}else if(i&&a.hasOwnProperty("gt")){if(s=e[n]>a.gt,!s)break}else if(i&&a.hasOwnProperty("between")){var o=e[n];if("number"!=typeof o&&(o=$p.utils.fix_date(e[n])),s=o>=a.between[0]&&o<=a.between[1],!s)break}else if(!$p.utils.is_equal(e[n],a)){s=!1;break}return s}},_find_rows:{value:function(e,t,n){var a,i,s=[],o=0;t&&(t._top?(i=t._top,delete t._top):i=300);for(var r in e)if(a=e[r],$p._selection.call(this,a,t)){if(n){if(n.call(this,a)===!1)break}else s.push(a);if(i&&(o++,o>=i))break}return s}},on:{value:function(e,t){if("object"!=typeof e)return this.eve.attachEvent(e,t);for(var n in e)e[n]._evnts||(e[n]._evnts=[]),e[n]._evnts.push(this.eve.attachEvent(n,e[n]))}},off:{value:function(e){"function"==typeof e&&e._evnts?e._evnts.forEach(function(e){$p.eve.detachEvent(e)}):e?$p.eve.detachEvent(e):$p.eve.detachAllEvents()}},record_log:{value:function(e){$p.ireg&&$p.ireg.$log&&$p.ireg.$log.record(e),console.log(e)}},md:{value:new Meta},enm:{value:new function(){this.toString=function(){return $p.msg.meta_enn_mgr}}},cat:{value:new function(){this.toString=function(){return $p.msg.meta_cat_mgr}}},doc:{value:new function(){this.toString=function(){return $p.msg.meta_doc_mgr}}},ireg:{value:new function(){this.toString=function(){return $p.msg.meta_ireg_mgr}}},areg:{value:new function(){this.toString=function(){return $p.msg.meta_areg_mgr}}},accreg:{value:new function(){this.toString=function(){return $p.msg.meta_accreg_mgr}}},dp:{value:new function(){this.toString=function(){return $p.msg.meta_dp_mgr}}},rep:{value:new function(){this.toString=function(){return $p.msg.meta_reports_mgr}}},cacc:{value:new function(){this.toString=function(){return $p.msg.meta_charts_of_accounts_mgr}}},cch:{value:new function(){this.toString=function(){return $p.msg.meta_charts_of_characteristic_mgr}}},tsk:{value:new function(){this.toString=function(){return $p.msg.meta_task_mgr}}},bp:{value:new function(){this.toString=function(){return $p.msg.meta_bp_mgr}}},DataManager:{value:DataManager},RefDataManager:{value:RefDataManager},DataProcessorsManager:{value:DataProcessorsManager},EnumManager:{value:EnumManager},RegisterManager:{value:RegisterManager},InfoRegManager:{value:InfoRegManager},LogManager:{value:LogManager},AccumRegManager:{value:AccumRegManager},CatManager:{value:CatManager},ChartOfCharacteristicManager:{value:ChartOfCharacteristicManager},ChartOfAccountManager:{value:ChartOfAccountManager},DocManager:{value:DocManager},TaskManager:{value:TaskManager},BusinessProcessManager:{value:BusinessProcessManager},DataObj:{value:DataObj},CatObj:{value:CatObj},DocObj:{value:DocObj},DataProcessorObj:{value:DataProcessorObj},TaskObj:{value:TaskObj},BusinessProcessObj:{value:BusinessProcessObj},EnumObj:{value:EnumObj},RegisterRow:{value:RegisterRow},TabularSection:{value:TabularSection},TabularSectionRow:{value:TabularSectionRow}})}function Utils(){this.moment="function"==typeof moment?moment:require("moment"),this.moment._masks={date:"DD.MM.YY",date_time:"DD.MM.YYYY HH:mm",ldt:"DD MMMM YYYY, HH:mm",iso:"YYYY-MM-DDTHH:mm:ss"},this.fix_date=function(e,t){if(e instanceof Date)return e;var n=this.moment(e,["DD-MM-YYYY","DD-MM-YYYY HH:mm","DD-MM-YYYY HH:mm:ss","DD-MM-YY HH:mm","YYYYDDMMHHmmss",this.moment.ISO_8601]);return n.isValid()?n.toDate():t?this.blank.date:e},this.fix_guid=function(e,t){if(e&&"string"==typeof e);else{if(e instanceof DataObj)return e.ref;if(e&&"object"==typeof e)if(e.presentation){if(e.ref)return e.ref;if(e.name)return e.name}else e="object"==typeof e.ref&&e.ref.hasOwnProperty("ref")?e.ref.ref:e.ref}return this.is_guid(e)||t===!1?e:t?this.generate_guid():this.blank.guid},this.fix_number=function(e,t){var n=parseFloat(e);return isNaN(n)?t?0:e:n},this.fix_boolean=function(e){return"string"==typeof e?!(!e||"false"==e.toLowerCase()):!!e},this.blank={date:this.fix_date("0001-01-01T00:00:00"),guid:"00000000-0000-0000-0000-000000000000",by_type:function(e){var t;return t=e.is_ref?this.guid:e.date_part?this.date:e.digits?0:(!e.types||"boolean"!=e.types[0])&&""}},this.fetch_type=function(e,t){var n=e;return t.is_ref?n=this.fix_guid(e):t.date_part?n=this.fix_date(e,!0):t.digits?n=this.fix_number(e,!0):"boolean"==t.types[0]&&(n=this.fix_boolean(e)),n},this.date_add_day=function(e,t,n){var a=new Date(e);return a.setDate(e.getDate()+t),n&&a.setHours(0,-a.getTimezoneOffset(),0,0),a},this.generate_guid=function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?n:7&n|8).toString(16)})},this.is_guid=function(e){return!("string"!=typeof e||e.length<36)&&(e.length>36&&(e=e.substr(0,36)),/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e))},this.is_empty_guid=function(e){return!e||e===this.blank.guid},this.is_data_obj=function(e){return e&&e instanceof DataObj},this.is_data_mgr=function(e){return e&&e instanceof DataManager},this.is_equal=function(e,t){return e==t||typeof e!=typeof t&&this.fix_guid(e,!1)==this.fix_guid(t,!1)},this.blob_as_text=function(e,t){return new Promise(function(n,a){var i=new FileReader;i.onload=function(e){n(i.result)},i.onerror=function(e){a(e)},"data_url"==t?i.readAsDataURL(e):i.readAsText(e)})}}function Ajax(){function e(e,t,n,a,i){return new Promise(function(s,o){if("undefined"==typeof window&&a&&a.request)a.request({url:encodeURI(t),headers:{Authorization:a.auth}},function(e,t,n){e?o(e):200!=t.statusCode?o({message:t.statusMessage,description:n,status:t.statusCode}):s({response:n})});else{var r=new XMLHttpRequest;if(window.dhx4&&window.dhx4.isIE&&(t=encodeURI(t)),a){var l,c;"object"==typeof a&&a.username&&a.hasOwnProperty("password")?(l=a.username,c=a.password):$p.ajax.username&&$p.ajax.authorized?(l=$p.ajax.username,c=$p.aes.Ctr.decrypt($p.ajax.password)):(l=$p.wsql.get_user_param("user_name"),c=$p.aes.Ctr.decrypt($p.wsql.get_user_param("user_pwd")),!l&&$p.job_prm&&$p.job_prm.guest_name&&(l=$p.job_prm.guest_name,c=$p.aes.Ctr.decrypt($p.job_prm.guest_pwd))),r.open(e,t,!0,l,c),r.withCredentials=!0,r.setRequestHeader("Authorization","Basic "+btoa(unescape(encodeURIComponent(l+":"+c))))}else r.open(e,t,!0);i&&i.call(this,r),"GET"!=e?this.hide_headers||a.hide_headers||(r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.setRequestHeader("X-Requested-With","XMLHttpRequest")):n=null,r.onload=function(){200==r.status&&(r.response instanceof Blob||"<!DOCTYPE"!==r.response.substr(0,9))?(void 0==r.responseURL&&(r.responseURL=t),s(r)):o(r.response?{message:r.statusText,description:r.response,status:r.status}:Error(r.statusText))},r.onerror=function(){o(Error("Network Error"))},r.send(n)}})}this.username="",this.password="",this.root=!0,this.authorized=!1,this.get=function(t){return e.call(this,"GET",t)},this.post=function(t,n){return 1==arguments.length?n="":2==arguments.length&&"function"==typeof n?(onLoad=n,n=""):n=String(n),e.call(this,"POST",t,n)},this.get_ex=function(t,n,a){return e.call(this,"GET",t,null,n,a)},this.post_ex=function(t,n,a,i){return e.call(this,"POST",t,n,a,i)},this.put_ex=function(t,n,a,i){return e.call(this,"PUT",t,n,a,i)},this.patch_ex=function(t,n,a,i){return e.call(this,"PATCH",t,n,a,i)},this.delete_ex=function(t,n,a){return e.call(this,"DELETE",t,null,n,a)},this.get_and_show_blob=function(e,t,n){function a(t){return e=window.URL.createObjectURL(t.response),i=window.open(e,"wnd_print",s),i.onload=function(t){window.URL.revokeObjectURL(e)},i}var i,s="menubar=no,toolbar=no,location=no,status=no,directories=no,resizable=yes,scrollbars=yes";return!n||"string"==typeof n&&n.toLowerCase().indexOf("post")!=-1?this.post_ex(e,"object"==typeof t?JSON.stringify(t):t,!0,function(e){e.responseType="blob"}).then(a):this.get_ex(e,!0,function(e){e.responseType="blob"}).then(a)},this.get_and_save_blob=function(e,t,n){return this.post_ex(e,"object"==typeof t?JSON.stringify(t):t,!0,function(e){e.responseType="blob"}).then(function(e){saveAs(e.response,n)})},this.default_attr=function(e,t){e.url||(e.url=t),e.username||(e.username=this.username),e.password||(e.password=this.password),e.hide_headers=!0,$p.job_prm["1c"]&&(e.auth=$p.job_prm["1c"].auth,e.request=$p.job_prm["1c"].request)}}function WSQL(){var e,t=this,n={};this.__define({js_time_diff:{value:-new Date("0001-01-01").valueOf()},time_diff:{get:function(){var e=this.get_user_param("time_diff","number");return!e||isNaN(e)||e<621355716e5||e>62135622e6?this.js_time_diff:e}},set_user_param:{value:function(t,a){var i=a;"object"==typeof a?i=JSON.stringify(a):a===!1&&(i=""),e.setItem($p.job_prm.local_storage_prefix+t,i),n[t]=a}},get_user_param:{value:function(t,a){return!n.hasOwnProperty(t)&&e&&(n[t]=this.fetch_type(e.getItem($p.job_prm.local_storage_prefix+t),a)),n[t]}},promise:{value:function(e,n){return new Promise(function(a,i){t.alasql(e,n||[],function(e,t){t?i(t):a(e)})})}},save_options:{value:function(e,n){return t.set_user_param(e+"_"+n.name,n)}},restore_options:{value:function(e,n){var a=t.get_user_param(e+"_"+n.name,"object");for(var i in a)if("object"!=typeof a[i])n[i]=a[i];else{n[i]||(n[i]={});for(var s in a[i])n[i][s]=a[i][s]}return n}},fetch_type:{value:function(e,t){if("object"==t){try{e=JSON.parse(e)}catch(t){e={}}return e}return"number"==t?$p.utils.fix_number(e,!0):"date"==t?$p.utils.fix_date(e,!0):"boolean"==t?$p.utils.fix_boolean(e):e}},alasql:{value:"undefined"!=typeof alasql?alasql:require("alasql")},init_params:{value:function(){if(!$p.job_prm.local_storage_prefix&&!$p.job_prm.create_tables)return Promise.resolve();e="undefined"==typeof localStorage?"undefined"==typeof WorkerGlobalScope?new require("node-localstorage").LocalStorage("./localstorage"):{setItem:function(e,t){},getItem:function(e){}}:localStorage;var n,a=[{p:"user_name",v:"",t:"string"},{p:"user_pwd",v:"",t:"string"},{p:"browser_uid",v:$p.utils.generate_guid(),t:"string"},{p:"zone",v:$p.job_prm.hasOwnProperty("zone")?$p.job_prm.zone:1,t:$p.job_prm.zone_is_string?"string":"number"},{p:"enable_save_pwd",v:$p.job_prm.enable_save_pwd,t:"boolean"},{p:"autologin",v:"",t:"boolean"},{p:"skin",v:"dhx_web",t:"string"},{p:"rest_path",v:"",t:"string"}];$p.job_prm.additional_params&&(a=a.concat($p.job_prm.additional_params)),e.getItem($p.job_prm.local_storage_prefix+"zone")||(n=$p.job_prm.hasOwnProperty("zone")?$p.job_prm.zone:1),$p.job_prm.url_prm.hasOwnProperty("zone")&&(n=$p.job_prm.zone_is_string?$p.job_prm.url_prm.zone:$p.utils.fix_number($p.job_prm.url_prm.zone,!0)),void 0!==n&&t.set_user_param("zone",n),a.forEach(function(e){(void 0==t.get_user_param(e.p,e.t)||!t.get_user_param(e.p,e.t)&&e.p.indexOf("url")!=-1)&&t.set_user_param(e.p,$p.job_prm.hasOwnProperty(e.p)?$p.job_prm[e.p]:e.v)});var i={path:t.get_user_param("couch_path","string")||$p.job_prm.couch_path||"",zone:t.get_user_param("zone","number"),prefix:$p.job_prm.local_storage_prefix,suffix:t.get_user_param("couch_suffix","string")||"",user_node:$p.job_prm.user_node,noreplicate:$p.job_prm.noreplicate};i.path&&(t.__define("pouch",{value:new Pouch}),t.pouch.init(i)),this.create_tables&&(this.alasq(this.create_tables,[]),this.create_tables="")}},drop_tables:{value:function(e){function n(){s--,s<=0?setTimeout(e,10):a()}function a(){var e=o[s-1].tableid;"_"==e.substr(0,1)?n():t.alasql("drop table IF EXISTS "+e,[],n)}function i(e){o=e,(s=e.length)?a():n()}var s=0,o=[];t.alasql("SHOW TABLES",[],i)}}}),this.__define({aladb:{value:new this.alasql.Database("md")}})}function Col_struct(e,t,n,a,i,s){this.id=e,this.width=t,this.type=n,this.align=a,this.sort=i,this.caption=s}function InterfaceObjs(){function e(e,t,n){if(this.layout=e.attachLayout({pattern:"2U",cells:[{id:"a",text:"Разделы",collapsed_text:"Разделы",width:220},{id:"b",text:"Раздел",header:!1}],offsets:{top:0,right:0,bottom:0,left:0}}),this.tree=this.layout.cells("a").attachTreeView(),this.tree.attachEvent("onSelect",function(e,t){if(t){var a=$p.md.mgr_by_class_name(e);a instanceof DataProcessorsManager?a.form_rep(this.layout.cells("b"),n||{hide_header:!0}):a&&a.form_list(this.layout.cells("b"),n||{hide_header:!0})}}.bind(this)),!t){var a=$p.md.get_classes();t=[];for(var i in a)a[i].length&&t.push(i)}1==t.length?$p.md.get_classes()[t[0]].forEach(function(e){var n=t[0]+"."+e,a=$p.md.get(n);a.hide||(this.tree.addItem(n,a.list_presentation||a.synonym),this.tree.setItemIcons(n,{file:"icon_1c_"+t[0]}))}.bind(this)):t.forEach(function(e){this.tree.addItem(e,$p.msg["meta_"+e]),this.tree.setItemIcons(e,{file:"icon_1c_"+e,folder_opened:"icon_1c_"+e,folder_closed:"icon_1c_"+e}),$p.md.get_classes()[e].forEach(function(t){var n=e+"."+t,a=$p.md.get(n);a.hide||(this.tree.addItem(n,a.list_presentation||a.synonym,e),this.tree.setItemIcons(n,{file:"icon_1c_"+e}))}.bind(this))}.bind(this))}function t(e){e.attachHTMLString($p.injected_data["view_settings.html"]),this.cont=e.cell.querySelector(".dhx_cell_cont_tabbar"),this.cont.style.overflow="auto",this.form2=function(e){var t=new dhtmlXForm(e,[{type:"settings",labelWidth:80,position:"label-left"},{type:"label",labelWidth:320,label:"Адрес CouchDB",className:"label_options"},{type:"input",inputWidth:220,name:"couch_path",label:"Путь:",validate:"NotEmpty"},{type:"template",label:"",value:"",note:{text:"Можно указать как относительный, так и абсолютный URL публикации CouchDB",width:320}},{type:"label",labelWidth:320,label:"Адрес http сервиса 1С",className:"label_options"},{type:"input",inputWidth:220,name:"rest_path",label:"Путь",validate:"NotEmpty"},{type:"template",label:"",value:"",note:{text:"Можно указать как относительный, так и абсолютный URL публикации 1С OData",width:320}},{type:"label",labelWidth:320,label:"Значение разделителя данных",className:"label_options"},{type:"input",inputWidth:220,name:"zone",label:"Зона:",numberFormat:["0","",""],validate:"NotEmpty,ValidInteger"},{type:"template",label:"",value:"",note:{text:"Для неразделенной публикации, зона = 0",width:320}},{type:"label",labelWidth:320,label:"Суффикс базы пользователя",className:"label_options"},{type:"input",inputWidth:220,name:"couch_suffix",label:"Суффикс:"},{type:"template",label:"",value:"",note:{text:"Назначается абоненту при регистрации",width:320}},{type:"block",blockOffset:0,name:"block_buttons",list:[{type:"button",name:"save",value:"<i class='fa fa-floppy-o fa-lg'></i>",tooltip:"Применить настройки и перезагрузить программу"},{type:"newcolumn"},{type:"button",offsetLeft:20,name:"reset",value:"<i class='fa fa-refresh fa-lg'></i>",tooltip:"Стереть справочники и перезаполнить данными сервера"}]}]);return t.cont.style.fontSize="100%",["zone","couch_path","couch_suffix","rest_path"].forEach(function(e){"zone"==e?t.setItemValue(e,$p.wsql.get_user_param(e)):t.setItemValue(e,$p.wsql.get_user_param(e)||$p.job_prm[e])}),t.attachEvent("onChange",function(e,t,n){$p.wsql.set_user_param(e,"enable_save_pwd"==e?n||"":t)}),t.disableItem("couch_suffix"),$p.job_prm.rest_path||t.disableItem("rest_path"),t.attachEvent("onButtonClick",function(e){"save"==e?($p.wsql.pouch.log_out(),setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)):"reset"==e&&dhtmlx.confirm({title:"Сброс данных",text:"Стереть справочники и перезаполнить данными сервера?",cancel:$p.msg.cancel,callback:function(e){e&&$p.wsql.pouch.reset_local_data()}})}),t}(this.cont.querySelector("[name=form2]").firstChild),this.form1=function(e){var t=new dhtmlXForm(e,[{type:"settings",labelWidth:320,position:"label-left"},{type:"label",label:"Тип устройства",className:"label_options"},{type:"block",blockOffset:0,name:"block_device_type",list:[{type:"settings",labelAlign:"left",position:"label-right"},{type:"radio",name:"device_type",labelWidth:120,label:'<i class="fa fa-desktop"></i> Компьютер',value:"desktop"},{type:"newcolumn"},{type:"radio",name:"device_type",labelWidth:150,label:'<i class="fa fa-mobile fa-lg"></i> Телефон, планшет',value:"phone"}]},{type:"template",label:"",value:"",note:{text:"Класс устройства определяется автоматически, но пользователь может задать его явно",width:320}},{type:"label",label:"Сохранять пароль пользователя",className:"label_options"},{type:"checkbox",name:"enable_save_pwd",label:"Разрешить:",labelWidth:90,checked:$p.wsql.get_user_param("enable_save_pwd","boolean")},{type:"template",label:"",value:"",note:{text:"Не рекомендуется, если к компьютеру имеют доступ посторонние лица",width:320}},{type:"template",label:"",value:"",note:{text:"",width:320}},{type:"label",label:"Подключаемые модули",className:"label_options"},{type:"input",position:"label-top",inputWidth:320,name:"modifiers",label:"Модификаторы:",value:$p.wsql.get_user_param("modifiers"),rows:3,style:"height:80px;"},{type:"template",label:"",value:"",note:{text:"Список дополнительных модулей",width:320}}]);return t.cont.style.fontSize="100%",t.checkItem("device_type",$p.job_prm.device_type),t.attachEvent("onChange",function(e,t,n){$p.wsql.set_user_param(e,"enable_save_pwd"==e?n||"":t)}),t.disableItem("modifiers"),t.getInput("modifiers").onchange=function(){$p.wsql.set_user_param("modifiers",this.value)},t}(this.cont.querySelector("[name=form1]").firstChild)}var n=this;this.clear_svgs=function(e){for("string"==typeof e&&(e=document.getElementById(e));e.firstChild;)e.removeChild(e.firstChild)},this.get_offset=function(e){var t={left:0,top:0};if(e.offsetParent)do t.left+=e.offsetLeft,t.top+=e.offsetTop;while(e=e.offsetParent);return t},this.normalize_xml=function(e){if(!e)return"";var t={"&":"&",'"':""","'":"'","<":"<",">":">"};return e.replace(/[&"'<>]/g,function(e){return t[e]})},this.scale_svg=function(e,t,n){var a,i,s,o,r,l,c,p,d,u={},f="number"==typeof t?t:t.height,m="number"==typeof t?(1.5*t).round(0):t.width,h="number"==typeof t?1/0:t.zoom||1/0;r=e.indexOf(">"),c=e.substring(5,r),s=c.split(" "),o=e.substr(r+1),o=o.substr(0,o.length-6);for(a in s)e=s[a].split("="),"width,height,x,y".indexOf(e[0])!=-1&&(e[1]=Number(e[1].replace(/"/g,"")),u[e[0]]=e[1]);(l=c.indexOf("viewBox="))!=-1?(p=c.substring(l+9),d='viewBox="'+p.substring(0,p.indexOf('"'))+'"'):d='viewBox="'+(u.x||0)+" "+(u.y||0)+" "+(u.width-n)+" "+(u.height-n)+'"';var _=u.height,g=u.width;return i=(f-n)/_,u.height=f,u.width=(g*i).round(0),u.width>m&&(i=(m-n)/g,u.height=(_*i).round(0),u.width=m),i>h&&(i=h,u.height=(_*i).round(0),u.width=(g*i).round(0)),u.x=(u.x*i).round(0),u.y=(u.y*i).round(0),'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="'+u.width+'" height="'+u.height+'" x="'+u.x+'" y="'+u.y+'" xml:space="preserve" '+d+">"+o+"</svg>"},this.bind_help=function(e,t){function n(e){if(!e.help_path)return void $p.msg.show_msg({title:"Справка",type:"alert-info",text:$p.msg.not_implemented})}e instanceof dhtmlXCellObject||(!e.help_path&&t&&(e.help_path=t),e.button("help").show(),e.button("help").enable(),e.attachEvent("onHelp",n))},this.set_hash=function(e,t,a,i){var s={},o=$p.job_prm.parse_url();1==arguments.length&&"object"==typeof e&&(s=e,s.hasOwnProperty("obj")&&(e=s.obj,delete s.obj),s.hasOwnProperty("ref")&&(t=s.ref,delete s.ref),s.hasOwnProperty("frm")&&(a=s.frm,delete s.frm),s.hasOwnProperty("view")&&(i=s.view,delete s.view)),void 0===e&&(e=o.obj||""),void 0===t&&(t=o.ref||""),void 0===a&&(a=o.frm||""),void 0===i&&(i=o.view||"");var r="obj="+e+"&ref="+t+"&frm="+a+"&view="+i;for(var l in s)r+="&"+l+"="+s[l];location.hash.substr(1)==r?n.hash_route():location.hash=r},this.hash_route=function(e){var t,a=$p.job_prm.parse_url(),i=$p.eve.callEvent("hash_route",[a]);if(i===!1||n.before_route&&n.before_route(e)===!1||$p.ajax.authorized&&(a.ref&&"undefined"!=typeof _md?(t=_md.mgr_by_class_name(a.obj),t&&t[a.frm||"form_obj"](n.docs,a.ref)):a.view&&n.swith_view&&n.swith_view(a.view)),e)return n.cancel_bubble(e)},this.cancel_bubble=function(e){var t=e||event;return t&&t.stopPropagation&&t.stopPropagation(),t&&!t.cancelBubble&&(t.cancelBubble=!0),!1},this.Col_struct=Col_struct,this.init_sidebar=function(e,t,a){n.btn_auth_sync=new n.OBtnAuthSync,n.btns_nav=function(e){return n.btn_auth_sync.bind(new n.OTooolBar({wrapper:e,class_name:"md_otbnav",width:"260px",height:"28px",top:"3px",right:"3px",name:"right",buttons:t,onclick:function(e){return n.main.cells(e).setActive(!0),!1}}))},n.main=new dhtmlXSideBar({parent:document.body,icons_path:a||"dist/imgs/",width:180,header:!0,template:"tiles",autohide:!0,items:e,offsets:{top:0,right:0,bottom:0,left:0}}),n.main.attachEvent("onSelect",function(e){var t=$p.job_prm.parse_url();t.view!=e&&n.set_hash(t.obj,t.ref,t.frm,e),n["view_"+e](n.main.cells(e))}),n.main.progressOn();var i=$p.job_prm.parse_url();i.view&&n.main.getAllItems().indexOf(i.view)!=-1?setTimeout(n.hash_route):n.set_hash(i.obj,i.ref,i.frm,"doc")},this.All_meta_objs=e,this.Setting2col=t,this.do_reload=function(){function e(){dhtmlx.confirm({title:$p.msg.file_new_date_title,text:$p.msg.file_new_date,ok:"Перезагрузка",cancel:"Продолжить",callback:function(n){n?($p.wsql.pouch.log_out(),setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)):(t++,setTimeout(e,3e4*t))}})}var t=0;e()}}function Pouch(){var e,t,n,a,i=this,s={};i.__define({DB:{value:"undefined"==typeof PouchDB?require("pouchdb-core").plugin(require("pouchdb-adapter-memory")).plugin(require("pouchdb-adapter-http")).plugin(require("pouchdb-replication")).plugin(require("pouchdb-mapreduce")):PouchDB},init:{value:function(e){s._mixin(e),s.path&&0!=s.path.indexOf("http")&&"undefined"!=typeof location&&(s.path=location.protocol+"//"+location.host+s.path)}},local:{get:function(){if(!e){var t={auto_compaction:!0,revs_limit:2};e={ram:new i.DB(s.prefix+s.zone+"_ram",t),doc:new i.DB(s.prefix+s.zone+"_doc",t),meta:new i.DB(s.prefix+"meta",t),sync:{}}}return s.path&&!e._meta&&(e._meta=new i.DB(s.path+"meta",{auth:{username:"guest",password:"meta"},skip_setup:!0}),i.run_sync(e.meta,e._meta,"meta")),e}},remote:{get:function(){return!t&&n&&(t={ram:new i.DB(s.path+s.zone+"_ram",{auth:{username:n.username,password:n.password},skip_setup:!0}),doc:new i.DB(s.path+s.zone+"_doc"+s.suffix,{auth:{username:n.username,password:n.password},skip_setup:!0})}),t}},log_in:{value:function(e,t){return void 0==e&&void 0==t&&(e=$p.job_prm.guest_name,t=$p.aes.Ctr.decrypt($p.job_prm.guest_pwd)),n?n.username==e?Promise.resolve():Promise.reject():$p.ajax.get_ex(s.path+s.zone+"_ram",{username:e,password:t}).then(function(a){return n={username:e,password:t},setTimeout(function(){dhx4.callEvent("log_in",[e])}),{ram:i.run_sync(i.local.ram,i.remote.ram,"ram"),doc:i.run_sync(i.local.doc,i.remote.doc,"doc")}})}},log_out:{value:function(){if(n){if(e.sync.doc)try{e.sync.doc.cancel()}catch(e){}if(e.sync.ram)try{e.sync.ram.cancel()}catch(e){}n=null}t&&t.ram&&delete t.ram,t&&t.doc&&delete t.doc,t=null,dhx4.callEvent("log_out")}},reset_local_data:{value:function(){var e=i.local.ram.destroy.bind(i.local.ram),t=i.local.doc.destroy.bind(i.local.doc),n=function(){setTimeout(function(){$p.eve.redirect=!0,location.reload(!0)},1e3)};i.log_out(),setTimeout(function(){e().then(t).catch(t).then(n).catch(n)},1e3)}},load_data:{value:function(){var e={limit:800,include_docs:!0},t={total_rows:0,limit:e.limit,page:0,start:Date.now()};return new Promise(function(n,s){function o(){i.local.ram.allDocs(e,function(r,l){l?(t.page++,t.total_rows=l.total_rows,t.duration=Date.now()-t.start,$p.eve.callEvent("pouch_load_data_page",[t]),i.load_changes(l,e)?o():(n(),a=!0,$p.eve.callEvent("pouch_load_data_loaded",[t]),t.note="pouch_load_data_loaded",$p.record_log(t))):r&&(s(r),$p.eve.callEvent("pouch_load_data_error",[r]))})}i.local.ram.info().then(function(e){e.doc_count>=($p.job_prm.pouch_ram_doc_count||10)?($p.eve.callEvent("pouch_load_data_start",[t]),o()):($p.eve.callEvent("pouch_load_data_error",[e]),s(e))})})}},authorized:{get:function(){return n&&n.username}},data_loaded:{get:function(){return!!a}},run_sync:{value:function(t,n,s){var o,r;return t.info().then(function(e){return o=e,n.info()}).then(function(e){return"ram"!=s?e:n.get("data_version").then(function(t){return t.version!=$p.wsql.get_user_param("couch_ram_data_version")&&($p.wsql.get_user_param("couch_ram_data_version")&&(e=i.reset_local_data()),$p.wsql.set_user_param("couch_ram_data_version",t.version)),e}).catch(function(e){$p.record_log(e)}).then(function(){return e})}).then(function(l){if(l){"ram"==s&&o.doc_count<($p.job_prm.pouch_ram_doc_count||10)?(r={total_rows:l.doc_count,local_rows:o.doc_count,docs_written:0,limit:200,page:0,start:Date.now()},$p.eve.callEvent("pouch_load_data_start",[r])):"doc"==s&&setTimeout(function(){$p.eve.callEvent("pouch_doc_sync_start")});var c={live:!0,retry:!0,batch_size:300,batches_limit:8};return"meta"==s?c.filter="auth/meta":$p.job_prm.pouch_filter&&$p.job_prm.pouch_filter[s]&&(c.filter=$p.job_prm.pouch_filter[s]),"ram"==s||"meta"==s||$p.wsql.get_user_param("zone")==$p.job_prm.zone_demo?e.sync[s]=t.replicate.from(n,c):e.sync[s]=t.sync(n,c),e.sync[s].on("change",function(e){"ram"==s?(i.load_changes(e),o.doc_count<($p.job_prm.pouch_ram_doc_count||10)&&(r.page++,r.docs_written=e.docs_written,r.duration=Date.now()-r.start,$p.eve.callEvent("pouch_load_data_page",[r]),r.docs_written>=r.total_rows&&(a=!0,$p.eve.callEvent("pouch_load_data_loaded",[r]),r.note="pouch_load_data_loaded",$p.record_log(r)))):(e.update_only=!0,i.load_changes(e)),$p.eve.callEvent("pouch_change",[s,e])}).on("paused",function(e){e&&$p.eve.callEvent("pouch_paused",[s,e])}).on("active",function(e){$p.eve.callEvent("pouch_active",[s,e])}).on("denied",function(e){$p.eve.callEvent("pouch_denied",[s,e])}).on("complete",function(e){$p.eve.callEvent("pouch_complete",[s,e])}).on("error",function(e){$p.eve.callEvent("pouch_error",[s,e])}),e.sync[s]}})}},load_obj:{value:function(e){return e._manager.pouch_db.get(e._manager.class_name+"|"+e.ref).then(function(t){delete t._id,delete t._rev,e._mixin(t)._set_loaded()}).catch(function(e){if(404!=e.status)throw e}).then(function(t){return e})}},save_obj:{value:function(e,t){var n=e._obj._clone(),a=t.db||e._manager.pouch_db;return n._id=e._manager.class_name+"|"+e.ref,delete n.ref,t.attachments&&(n._attachments=t.attachments),(e.is_new()?Promise.resolve():a.get(n._id)).then(function(e){if(e){n._rev=e._rev;for(var t in e._attachments)n._attachments||(n._attachments={}),n._attachments[t]||(n._attachments[t]=e._attachments[t])}}).catch(function(e){if(404!=e.status)throw e}).then(function(){return a.put(n)}).then(function(){if(e.is_new()&&e._set_loaded(e.ref),n._attachments){e._attachments||(e._attachments={});for(var a in n._attachments)e._attachments[a]&&n._attachments[a].stub||(e._attachments[a]=n._attachments[a])}return n=null,t=null,e})}},load_changes:{value:function(e,t){var n,a,i,s,o={};if(t)n=e.rows;else if(e.direction){if("pull"!=e.direction)return;n=e.change.docs}else n=e.docs;if(n.length>0){t&&(t.startkey=n[n.length-1].key,t.skip=1),n.forEach(function(e){if(a=t?e.doc:e,!a)if(e.value&&e.value.deleted)a={_id:e.id,_deleted:!0};else if(e.error)return;s=a._id.split("|"),i=s[0].split("."),a.ref=s[1],delete a._id,delete a._rev,o[i[0]]||(o[i[0]]={}),o[i[0]][i[1]]||(o[i[0]][i[1]]=[]),o[i[0]][i[1]].push(a)});for(var r in o)for(i in o[r])$p[r]&&$p[r][i]&&$p[r][i].load_array(o[r][i],!e.update_only||"update_only");return o=e=n=a=null,!0}return!1}},backup_database:{value:function(e){}},restore_database:{value:function(e){}}})}function Messages(){this.toString=function(){return"Интернационализация сообщений"},"undefined"!=typeof window&&"dhtmlx"in window&&(this.show_msg=function(e,t){if(e){if("string"==typeof e){if($p.iface.synctxt)return void $p.iface.synctxt.show_message(e);e={type:"info",text:e}}t&&"function"==typeof t.setText&&t.setText(e.text),dhtmlx.message(e)}},this.check_soap_result=function(e){return e?"limit_query"==e.error?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-warning",text:$p.msg.limit_query.replace("%1",e.queries).replace("%2",e.queries_avalable),title:$p.msg.srv_overload}),!0):"network"==e.error||"empty"==e.error?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-warning",text:$p.msg.error_network,title:$p.msg.error_critical}),!0):e.error&&e.error_description?($p.iface.docs.progressOff(),e.error_description.indexOf("Недостаточно прав")!=-1&&(e.error_type="alert-warning",e.error_title=$p.msg.error_rights),$p.msg.show_msg({type:e.error_type||"alert-error",text:e.error_description,title:e.error_title||$p.msg.error_critical}),!0):e.error&&!e.messages?($p.iface.docs.progressOff(),$p.msg.show_msg({type:"alert-error",title:$p.msg.error_critical,text:$p.msg.unknown_error.replace("%1","unknown_error")}),!0):void 0:($p.msg.show_msg({type:"alert-error",text:$p.msg.empty_response,title:$p.msg.error_critical}),!0)},this.show_not_implemented=function(){$p.msg.show_msg({type:"alert-warning",text:$p.msg.not_implemented,title:$p.msg.main_title})})}function Meta(){function e(e){return e.info().then(function(){return e.get("meta")}).then(function(n){return t=n,n=null,e.get("meta_patch")}).then(function(e){return $p._patch(t,e),e=null,delete t._id,delete t._rev,t})}var t;_md=this,_md.create_managers=function(){},_md.init=function(n){function a(){return!n||i||s?e(n||$p.wsql.pouch.local.meta).then(function(){return i?void _md.create_managers():t}).catch($p.record_log):(t=n,n=null,_md.create_managers(),void 0)}var i=!n||$p.wsql.pouch&&n==$p.wsql.pouch.local.meta,s=n&&$p.wsql.pouch&&n==$p.wsql.pouch.local._meta;return $p.on("pouch_change",function(e,n){"meta"==e&&(t?setTimeout(function(){$p.iface.do_reload()},3e3):a())}),a()},_md.get=function(e,n){var a=e.split(".");if(!n)return t[a[0]][a[1]];var i={multiline_mode:!1,note:"",synonym:"",tooltip:"",type:{is_ref:!1,types:["string"]}},s="doc,tsk,bp".indexOf(a[0])!=-1,o="cat,cch,cacc,tsk".indexOf(a[0])!=-1;return s&&"number_doc"==n?(i.synonym="Номер",i.tooltip="Номер документа",i.type.str_len=11):s&&"date"==n?(i.synonym="Дата",i.tooltip="Дата документа",i.type.date_part="date_time",i.type.types[0]="date"):s&&"posted"==n?(i.synonym="Проведен",i.type.types[0]="boolean"):o&&"id"==n?i.synonym="Код":o&&"name"==n?i.synonym="Наименование":"_deleted"==n?(i.synonym="Пометка удаления",i.type.types[0]="boolean"):"is_folder"==n?(i.synonym="Это группа",i.type.types[0]="boolean"):"ref"==n?(i.synonym="Ссылка",i.type.is_ref=!0,i.type.types[0]=e):i=n?t[a[0]][a[1]].fields[n]:t[a[0]][a[1]],i},_md.get_classes=function(){ var e={};for(var n in t){e[n]=[];for(var a in t[n])e[n].push(a)}return e},_md.sql_type=function(e,t,n,a){var i;return i="type"==t&&"cch_properties"==e.table_name||"svg"==t&&"cat_production_params"==e.table_name?" JSON":n.is_ref||n.types.indexOf("guid")!=-1?a?n.types.every(function(e){return 0==e.indexOf("enm.")})?" character varying(100)":n.hasOwnProperty("str_len")?" character varying("+Math.max(36,n.str_len)+")":" uuid":" CHAR":n.hasOwnProperty("str_len")?a?n.str_len?" character varying("+n.str_len+")":" text":" CHAR":n.date_part?a&&"date"!=n.date_part?"date_time"==n.date_part?" timestamp with time zone":" time without time zone":" Date":n.hasOwnProperty("digits")?0==n.fraction_figits?a?n.digits<7?" integer":" bigint":" INT":a?" numeric("+n.digits+","+n.fraction_figits+")":" FLOAT":n.types.indexOf("boolean")!=-1?" BOOLEAN":n.types.indexOf("json")!=-1?" JSON":a?" character varying(255)":" CHAR"},_md.sql_composite=function(e,t,n,a){var i="";return e[t].type.types.length>1&&"type"!=t&&(n=n?n.substr(0,29)+"_T":t.substr(0,29)+"_T",i=a?', "'+n+'" character varying(255)':_md.sql_mask(n)+" CHAR"),i},_md.sql_mask=function(e,t){return", "+(t?"_t_.":"")+("`"+e+"`")},_md.mgr_by_class_name=function(e){if(e){var t=e.split(".");if(t[1]&&$p[t[0]])return $p[t[0]][t[1]]}},_md.value_mgr=function(e,t,n,a,i){function s(e){return e&&1==n.types.length&&(n._mgr=e),e}var o,r,l,c,p;if(n._mgr)return n._mgr;if(1==n.types.length){if(l=n.types[0].split("."),l.length>1&&$p[l[0]])return s($p[l[0]][l[1]])}else if(i&&i.type&&(l=i.type.split("."),l.length>1&&$p[l[0]]))return s($p[l[0]][l[1]]);if(o=e.property||e.param,"value"==t&&o){if($p.utils.is_data_obj(o))r=o;else{if(!$p.utils.is_guid(o))return;r=$p.cch.properties.get(o,!1)}if($p.utils.is_data_obj(r)){if(r.is_new())return $p.cat.property_values;if(c=[],r.type.types.forEach(function(e){l=e.split("."),l.length>1&&$p[l[0]][l[1]]&&c.push($p[l[0]][l[1]])}),1==c.length||e[t]==$p.utils.blank.guid)return s(c[0]);if(a)return c;if((o=e[t])instanceof DataObj)return o._manager;if($p.utils.is_guid(o)&&o!=$p.utils.blank.guid)for(var d in c)if(p=c[d],p.get(o,!1,!0))return p}}else{if(c=[],n.types.forEach(function(e){l=e.split("."),l.length>1&&$p[l[0]][l[1]]&&c.push($p[l[0]][l[1]])}),1==c.length||e[t]==$p.utils.blank.guid)return s(c[0]);if(a)return c;if((o=e[t])instanceof DataObj)return o._manager;if($p.utils.is_guid(o)&&o!=$p.utils.blank.guid)for(var d in c)if(p=c[d],p.get(o,!1,!0))return p}},_md.control_by_type=function(e,t){var n;return n="boolean"==typeof t&&e.types.indexOf("boolean")!=-1?"ch":"number"==typeof t&&e.digits?e.fraction_figits<5?"calck":"edn":t instanceof Date&&e.date_part?"dhxCalendar":e.is_ref?"ocombo":e.date_part?"dhxCalendar":e.digits?e.fraction_figits<5?"calck":"edn":"boolean"==e.types[0]?"ch":e.hasOwnProperty("str_len")&&(e.str_len>=100||0==e.str_len)?"txt":"ed"},_md.ts_captions=function(e,t,n){n||(n={});var a,i=_md.get(e).tabular_sections[t],s=_md.get(e).form,o=i.fields;if(s&&s.obj){if(!s.obj.tabular_sections[t])return;n._mixin(s.obj.tabular_sections[t])}else{"contact_information"===t&&(o={type:"",kind:"",presentation:""}),n.fields=["row"],n.headers="№",n.widths="40",n.min_widths="",n.aligns="",n.sortings="na",n.types="cntr";for(var r in o)a=i.fields[r],a.hide||(n.fields.push(r),n.headers+=","+(a.synonym?a.synonym.replace(/,/g," "):r),n.types+=","+_md.control_by_type(a.type),n.sortings+=",na")}return!0},_md.syns_js=function(e){var n={DeletionMark:"_deleted",Description:"name",DataVersion:"data_version",IsFolder:"is_folder",Number:"number_doc",Date:"date","Дата":"date",Posted:"posted",Code:"id",Parent_Key:"parent",Owner_Key:"owner",Owner:"owner",Ref_Key:"ref","Ссылка":"ref",LineNumber:"row"};return n[e]?n[e]:t.syns_js[t.syns_1с.indexOf(e)]||e},_md.syns_1с=function(e){var n={_deleted:"DeletionMark",name:"Description",is_folder:"IsFolder",number_doc:"Number",date:"Date",posted:"Posted",id:"Code",ref:"Ref_Key",parent:"Parent_Key",owner:"Owner_Key",row:"LineNumber"};return n[e]?n[e]:t.syns_1с[t.syns_js.indexOf(e)]||e},_md.printing_plates=function(e){if(e)for(var n in e.doc)t.doc[n].printing_plates=e.doc[n]},_md.class_name_from_1c=function(e){var t=e.split(".");return 1==t.length?"enm."+e:("Перечисление"==t[0]?e="enm.":"Справочник"==t[0]?e="cat.":"Документ"==t[0]?e="doc.":"РегистрСведений"==t[0]?e="ireg.":"РегистрНакопления"==t[0]?e="areg.":"РегистрБухгалтерии"==t[0]?e="accreg.":"ПланВидовХарактеристик"==t[0]?e="cch.":"ПланСчетов"==t[0]?e="cacc.":"Обработка"==t[0]?e="dp.":"Отчет"==t[0]&&(e="rep."),e+_md.syns_js(t[1]))},_md.class_name_to_1c=function(e){var t=e.split(".");return 1==t.length?"Перечисление."+e:("enm"==t[0]?e="Перечисление.":"cat"==t[0]?e="Справочник.":"doc"==t[0]?e="Документ.":"ireg"==t[0]?e="РегистрСведений.":"areg"==t[0]?e="РегистрНакопления.":"accreg"==t[0]?e="РегистрБухгалтерии.":"cch"==t[0]?e="ПланВидовХарактеристик.":"cacc"==t[0]?e="ПланСчетов.":"dp"==t[0]?e="Обработка.":"rep"==t[0]&&(e="Отчет."),e+_md.syns_1с(t[1]))},_md.create_tables=function(e,t){function n(){s--,0==s?e?e(l):alasql.utils.saveFile("create_tables.sql",l):a()}function a(){var e=o[s-1];l+=e.class[e.name].get_sql_struct(t)+"; ",n()}var i,s=0,o=[],r=_md.get_classes(),l=t&&t.postgres?"":"USE md; ";"enm,cch,cacc,cat,bp,tsk,doc,ireg,areg".split(",").forEach(function(e){for(i in r[e])o.push({class:$p[e],name:r[e][i]})}),s=o.length,a()}}function DataManager(e){var t=_md.get(e),n={after_create:[],after_load:[],before_save:[],after_save:[],value_change:[],add_row:[],del_row:[]};this.__define({cachable:{get:function(){return e.indexOf("enm.")!=-1?"ram":t.cachable?t.cachable:e.indexOf("doc.")!=-1||e.indexOf("dp.")!=-1||e.indexOf("rep.")!=-1?"doc":"ram"}},class_name:{value:e,writable:!1},alatable:{get:function(){return $p.wsql.aladb.tables[this.table_name]?$p.wsql.aladb.tables[this.table_name].data:[]}},metadata:{value:function(e){return e?t.fields[e]||t.tabular_sections[e]:t}},on:{value:function(e,t){if("object"==typeof e)for(var a in e)e.hasOwnProperty(a)&&n[a].push(e[a]);else n[e].push(t)}},off:{value:function(e,t){}},handle_event:{value:function(e,t,a){var i,s=[];return n[t].forEach(function(t){s!==!1&&(i=t.call(e,a),i===!1?s=i:i&&s.push(i))}),s===!1?s:s.length?1==s.length?s[0]:s.some(function(e){return"object"==typeof e&&e.then})?Promise.all(s):s:void 0}},by_ref:{value:{}}})}function RefDataManager(e){RefDataManager.superclass.constructor.call(this,e)}function DataProcessorsManager(e){DataProcessorsManager.superclass.constructor.call(this,e)}function EnumManager(e){EnumManager.superclass.constructor.call(this,e);var t=$p.md.get(e);for(var n in t)new EnumObj(t[n],this)}function RegisterManager(e){RegisterManager.superclass.constructor.call(this,e),this.push=function(e,t){t&&t!=e.ref?(delete this.by_ref[e.ref],this.by_ref[t]=e):this.by_ref[e.ref]=e},this.get=function(e,t,n){if(e?"string"==typeof e&&(e={ref:e}):e={},e.ref&&n)return t?Promise.resolve(this.by_ref[e.ref]):this.by_ref[e.ref];e.action="select";var a,i=$p.wsql.alasql(this.get_sql_struct(e),e._values);if(delete e.action,delete e._values,i.length)if(n)a=this.by_ref[this.get_ref(i[0])];else{a=[];for(var s in i)a.push(this.by_ref[this.get_ref(i[s])])}return t?Promise.resolve(a):a},this.unload_obj=function(e){delete this.by_ref[e],this.alatable.some(function(t,n,a){if(t.ref==e)return a.splice(n,1),!0})},this.load_array=function(e,t){for(var n,a,i=[],s=0;s<e.length;s++){if(n=this.get_ref(e[s]),a=this.by_ref[n],a||e[s]._deleted){if(a&&e[s]._deleted){a.unload();continue}(a.is_new()||t)&&(a._mixin(e[s]),a._set_loaded())}else a=new($p[this.obj_constructor()])(e[s],this),t&&a._set_loaded();i.push(a)}return i}}function InfoRegManager(e){InfoRegManager.superclass.constructor.call(this,e)}function LogManager(){LogManager.superclass.constructor.call(this,"ireg.$log");var e;this.__define({record:{value:function(t){t instanceof Error?(console&&console.log(t),t={class:"error",note:t.toString()}):"object"!=typeof t||t.class||t.obj?"object"!=typeof t&&(t={note:t}):t={class:"obj",obj:t,note:t.note},t.date=Date.now()+$p.wsql.time_diff,e||(e=alasql.compile("select MAX(`sequence`) as `sequence` from `ireg_$log` where `date` = ?"));var n=e([t.date]);n.length&&void 0!==n[0].sequence?t.sequence=parseInt(n[0].sequence)+1:t.sequence=0,t.class||(t.class="note"),$p.wsql.alasql("insert into `ireg_$log` (`ref`, `date`, `sequence`, `class`, `note`, `obj`) values (?,?,?,?,?,?)",[t.date+"¶"+t.sequence,t.date,t.sequence,t.class,t.note,t.obj?JSON.stringify(t.obj):""])}},backup:{value:function(e,t){}},restore:{value:function(e,t){}},clear:{value:function(e,t){}},show:{value:function(e){}},get:{value:function(e,t,n){if("object"==typeof e&&(e=e.ref||""),!this.by_ref[e]){if(t===!1)return;var a=e.split("¶");$p.wsql.alasql("select * from `ireg_$log` where date="+a[0]+" and sequence="+a[1]).forEach(function(e){new RegisterRow(e,this)}.bind(this))}return t?Promise.resolve(this.by_ref[e]):this.by_ref[e]}},get_sql_struct:{value:function(e){if(e&&"get_selection"==e.action){var t="select * from `ireg_$log`";return e.date_from?t+=e.date_till?" where `date` >= ? and `date` <= ?":" where `date` >= ?":e.date_till&&(t+=" where `date` <= ?"),t}return LogManager.superclass.get_sql_struct.call(this,e)}},caption_flds:{value:function(e){var t='<column id="%1" width="%2" type="%3" align="%4" sort="%5">%6</column>',n=[],a="";if(n.push(new Col_struct("date","200","ro","left","server","Дата")),n.push(new Col_struct("class","100","ro","left","server","Класс")),n.push(new Col_struct("note","*","ro","left","server","Событие")),e.get_header){a="<head>";for(var i in n)a+=t.replace("%1",n[i].id).replace("%2",n[i].width).replace("%3",n[i].type).replace("%4",n[i].align).replace("%5",n[i].sort).replace("%6",n[i].caption);a+="</head>"}return{head:a,acols:n}}},data_to_grid:{value:function(e,t){var n="<?xml version='1.0' encoding='UTF-8'?><rows total_count='%1' pos='%2' set_parent='%3'>".replace("%1",e.length).replace("%2",t.start).replace("%3",t.set_parent||""),a=this.caption_flds(t);return n+=a.head,e.forEach(function(e){n+='<row id="'+e.ref+'"><cell>'+$p.moment(e.date-$p.wsql.time_diff).format("DD.MM.YYYY HH:mm:ss")+"."+e.sequence+"</cell><cell>"+(e.class||"")+"</cell><cell>"+(e.note||"")+"</cell></row>"}),n+"</rows>"}}})}function AccumRegManager(e){AccumRegManager.superclass.constructor.call(this,e)}function CatManager(e){CatManager.superclass.constructor.call(this,e),this.metadata().hierarchical&&this.metadata().group_hierarchy&&$p[this.obj_constructor()].prototype.__define("is_folder",{get:function(){return this._obj.is_folder||!1},set:function(e){this._obj.is_folder=$p.utils.fix_boolean(e)},enumerable:!0,configurable:!0})}function ChartOfCharacteristicManager(e){ChartOfCharacteristicManager.superclass.constructor.call(this,e)}function ChartOfAccountManager(e){ChartOfAccountManager.superclass.constructor.call(this,e)}function DocManager(e){DocManager.superclass.constructor.call(this,e)}function TaskManager(e){TaskManager.superclass.constructor.call(this,e)}function BusinessProcessManager(e){BusinessProcessManager.superclass.constructor.call(this,e)}function DataObj(e,t){var n,a={},i={},s={_is_new:!(this instanceof EnumObj)};return t instanceof DataProcessorsManager||t instanceof EnumManager||(n=t.get(e,!1,!0)),n?(e=null,n):(t instanceof EnumManager?i.ref=e.name:t instanceof RegisterManager?i.ref=t.get_ref(e):i.ref=$p.utils.fix_guid(e),this.__define({_obj:{value:i,configurable:!0},_ts_:{value:function(e){return a[e]||(a[e]=new TabularSection(e,this)),a[e]},configurable:!0},_manager:{value:t},_data:{value:s,configurable:!0}}),t.alatable&&t.push&&(t.alatable.push(i),t.push(this,i.ref)),void(e=null))}function CatObj(e,t){var n="";CatObj.superclass.constructor.call(this,e,t),this.__define("presentation",{get:function(){return this.name||this.id?this.name||this.id||this._metadata.obj_presentation||this._metadata.synonym:n},set:function(e){e&&(n=String(e))}}),e&&"object"==typeof e&&(e._not_set_loaded?(delete e._not_set_loaded,this._mixin(e)):(this._mixin(e),$p.utils.is_empty_guid(this.ref)||!e.id&&!e.name||this._set_loaded(this.ref))),e=null}function DocObj(e,t){var n="";DocObj.superclass.constructor.call(this,e,t),this.__define("presentation",{get:function(){return this.number_doc?(this._metadata.obj_presentation||this._metadata.synonym)+" №"+this.number_doc+" от "+$p.moment(this.date).format($p.moment._masks.ldt):n},set:function(e){e&&(n=String(e))}}),e&&"object"==typeof e&&this._mixin(e),!$p.utils.is_empty_guid(this.ref)&&e.number_doc&&this._set_loaded(this.ref),e=null}function doc_props_date_number(e){e.__define({number_doc:{get:function(){return this._obj.number_doc||""},set:function(e){this.__notify("number_doc"),this._obj.number_doc=e},enumerable:!0},date:{get:function(){return this._obj.date||$p.utils.blank.date},set:function(e){this.__notify("date"),this._obj.date=$p.utils.fix_date(e,!0)},enumerable:!0}})}function DataProcessorObj(e,t){DataProcessorObj.superclass.constructor.call(this,e,t);var n,a=t.metadata();for(n in a.fields)e[n]=$p.utils.fetch_type("",a.fields[n].type);for(n in a.tabular_sections)e[n]=[];this._mixin(e)}function TaskObj(e,t){TaskObj.superclass.constructor.call(this,e,t)}function BusinessProcessObj(e,t){BusinessProcessObj.superclass.constructor.call(this,e,t)}function EnumObj(e,t){EnumObj.superclass.constructor.call(this,e,t),e&&"object"==typeof e&&this._mixin(e)}function RegisterRow(e,t){RegisterRow.superclass.constructor.call(this,e,t),e&&"object"==typeof e&&this._mixin(e);for(var n in t.metadata().dimensions)if(!e.hasOwnProperty(n)&&e.ref){var a=e.ref.split("¶");Object.keys(t.metadata().dimensions).forEach(function(e,t){this[e]=a[t]}.bind(this));break}}function TabularSection(e,t){t._obj[e]||(t._obj[e]=[]),this.__define("_name",{value:e,enumerable:!1}),this.__define("_owner",{value:t,enumerable:!1}),this.__define("_obj",{value:t._obj[e],writable:!1,enumerable:!1})}function TabularSectionRow(e){var t={};this.__define("_owner",{value:e,enumerable:!1}),this.__define("_obj",{value:t,writable:!1,enumerable:!1})}function Rest(){this.filter_date=function(e,t,n){t||(t=new Date("2015-01-01"));var a=e+" gt datetime'"+$p.moment(t).format($p.moment._masks.iso)+"'";return n&&(a+=" and "+e+" lt datetime'"+$p.moment(n).format($p.moment._masks.iso)+"'"),a},this.to_data=function(e,t){var n,a,i,s,o,r,l={},c=t.metadata(),p=c.fields,d=c.tabular_sections;t instanceof RefDataManager?(e.hasOwnProperty("DeletionMark")&&(l._deleted=e.DeletionMark),e.hasOwnProperty("DataVersion"),e.hasOwnProperty("Ref_Key")&&(l.ref=e.Ref_Key)):p={}._mixin(c.dimensions)._mixin(c.resources)._mixin(c.attributes),t instanceof DocManager?(e.hasOwnProperty("Number")?l.number_doc=e.Number||e.number_doc:e.hasOwnProperty("number_doc")&&(l.number_doc=e.number_doc),e.hasOwnProperty("Date")?l.date=e.Date:e.hasOwnProperty("date")&&(l.date=e.date),e.hasOwnProperty("Posted")?l.posted=e.Posted:e.hasOwnProperty("posted")&&(l.posted=e.posted)):(c.main_presentation_name&&(e.hasOwnProperty("Description")?l.name=e.Description:e.hasOwnProperty("name")&&(l.name=e.name)),c.code_length&&(e.hasOwnProperty("Code")?l.id=e.Code:e.hasOwnProperty("id")&&(l.id=e.id)));for(a in p)if(e.hasOwnProperty(a))l[a]=e[a];else{if(o=_md.syns_1с(a),o.indexOf("_Key")==-1&&p[a].type.is_ref&&e[o+"_Key"]&&(o+="_Key"),!e.hasOwnProperty(o))continue;l[a]=e[o]}for(n in d)r="extra_fields"==n||e.hasOwnProperty(n)?n:_md.syns_1с(n),e.hasOwnProperty(r)&&(l[n]=[],e[r]&&(e[r].sort(function(e,t){return(e.LineNumber||e.row)>(t.LineNumber||t.row)}),e[r].forEach(function(e){s={};for(i in d[n].fields)o=e.hasOwnProperty(i)||"extra_fields"==n&&("property"==i||"value"==i)?i:_md.syns_1с(i),o.indexOf("_Key")==-1&&d[n].fields[i].type.is_ref&&e[o+"_Key"]&&(o+="_Key"),s[i]=e[o];l[n].push(s)})));return l},this.ajax_to_data=function(e,t){return $p.ajax.get_ex(e.url,e).then(function(e){return JSON.parse(e.response)}).then(function(e){var n=[];return e.value.forEach(function(e){n.push(_rest.to_data(e,t))}),n})},this.build_select=function(e,t){function n(e,a){"function"==typeof a?s+=a(t,e):(o=_md.syns_1с(e),r=_md.get(t.class_name,e),r&&(r=r.type,r.is_ref&&o.indexOf("_Key")==-1&&r.types.length&&r.types[0].indexOf("enm.")==-1&&(o+="_Key"),r.types.length&&(["boolean","number"].indexOf(typeof a)!=-1?s+=o+" eq "+a:r.is_ref&&"object"!=typeof a||a instanceof DataObj?s+=o+" eq guid'"+a+"'":"string"==typeof a?s+=o+" eq '"+a+"'":"object"==typeof a&&(a.hasOwnProperty("like")?s+=o+" like '%"+a.like+"%'":a.hasOwnProperty("not")?s+=" not ("+n(e,a.not)+") ":a.hasOwnProperty("in")&&(s+=o+" in ("+(r.is_ref?a.in.map(function(e){return"guid'"+e+"'"}).join(","):a.in.join(","))+") ")))))}function a(e){for(var t in e)if(s?s+=" and ":s="&$filter=","or"==t&&Array.isArray(e[t])){var a=!0;e[t].forEach(function(e){a?(s+=" ( ",a=!1):s+=" or ";var t=Object.keys(e)[0];n(t,e[t])}),s+=" ) "}else n(t,e[t])}var i,s,o,r,l="";e||(e={}),e.fields&&(e.fields.forEach(function(e){"ref"==e?o="Ref_Key":(o=_md.syns_1с(e),r=_md.get(t.class_name,e).type,r.is_ref&&o.indexOf("_Key")==-1&&r.types.length&&r.types[0].indexOf("enm.")==-1&&(o+="_Key")),i?i+=",":i="&$select=",i+=o}),l+=i),e.selection&&("function"==typeof e.selection||(Array.isArray(e.selection)?e.selection.forEach(a):a(e.selection)),s&&(l+=s)),$p.job_prm.rest&&t.rest_name.indexOf("Module_")==-1&&t.rest_name.indexOf("DataProcessor_")==-1&&t.rest_name.indexOf("Report_")==-1&&l.indexOf(" like ")==-1&&l.indexOf(" in ")==-1&&!t.metadata().irest?$p.ajax.default_attr(e,$p.job_prm.rest_url()):$p.ajax.default_attr(e,$p.job_prm.irest_url()),e.url+=t.rest_name+"?allowedOnly=true&$format=json&$top="+(e.top||300)+l},this.load_array=function(e,t){return _rest.build_select(e,t),_rest.ajax_to_data(e,t)},this.load_obj=function(e){var t={};return $p.ajax.default_attr(t,!e._metadata.irest&&$p.job_prm.rest?$p.job_prm.rest_url():$p.job_prm.irest_url()),t.url+=e._manager.rest_name+"(guid'"+e.ref+"')?$format=json",$p.ajax.get_ex(t.url,t).then(function(e){return JSON.parse(e.response)}).then(function(t){return e._mixin(_rest.to_data(t,e._manager))._set_loaded(),e}).catch(function(t){return 404==t.status?e:void $p.record_log(t)})},this.save_irest=function(e,t){var n=JSON.stringify(e),a=(void 0!=t.post?",post="+t.post:"")+(void 0!=t.operational?",operational="+t.operational:"");return $p.ajax.default_attr(t,$p.job_prm.irest_url()),t.url+=e._manager.rest_name+"(guid'"+e.ref+"'"+a+")",$p.ajax.post_ex(t.url,n,t).then(function(e){return JSON.parse(e.response)}).then(function(t){return e._mixin(t)})},this.save_rest=function(e,t){var n,a=e.to_atom();return $p.ajax.default_attr(t,$p.job_prm.rest_url()),n=t.url+e._manager.rest_name,t.url=n+"(guid'"+e.ref+"')?$format=json&$select=Ref_Key,DeletionMark",$p.ajax.get_ex(t.url,t).catch(function(e){return 404==e.status?{response:JSON.stringify({is_new:!0})}:Promise.reject(e)}).then(function(e){return JSON.parse(e.response)}).then(function(i){return i.is_new?$p.ajax.post_ex(n,a,t):$p.ajax.patch_ex(n+"(guid'"+e.ref+"')",a,t)}).then(function(t){var n=xmlToJSON.parseString(t.response,{mergeCDATA:!1,grokAttr:!0,grokText:!1,normalize:!0,xmlns:!1,namespaceKey:"_ns",textKey:"_text",valueKey:"_value",attrKey:"_attr",cdataKey:"_cdata",attrsAsObject:!1,stripAttrPrefix:!0,stripElemPrefix:!0,childrenAsArray:!1});if(n.entry&&n.entry.content&&n.entry.updated){var a,i=n.entry.content.properties,s={};for(var o in i)if(0!=o.indexOf("_"))if(a=i[o].element)if(s[o]=[],Array.isArray(a))for(var r in a){s[o][r]={};for(var l in a[r])0!=l.indexOf("_")&&(s[o][r][l]="false"!==a[r][l]._text&&a[r][l]._text)}else{s[o][0]={};for(var l in a)0!=l.indexOf("_")&&(s[o][0][l]="false"!==a[l]._text&&a[l]._text)}else s[o]="false"!==i[o]._text&&i[o]._text;return _rest.to_data(s,e._manager)}}).then(function(t){return e._mixin(t)})}}function eXcell_ocombo(e){if(e){var t=this;t.cell=e,t.grid=e.parentNode.grid,t.setValue=function(e){t.setCValue(e instanceof DataObj?e.presentation:e||"")},t.getValue=function(){return t.grid.get_cell_value()},t.shiftNext=function(){t.grid.editStop()},t.edit=function(){t.combo||(t.val=t.getValue(),t.cell.innerHTML="",t.combo=new OCombo({parent:t.cell}._mixin(t.grid.get_cell_field())),t.combo.getInput().focus())},t.detach=function(){if(t.combo){if(t.combo.getComboText){t.setValue(t.combo.getComboText()),t.combo.getSelectedValue()||t.combo.callEvent("onChange");var e=!$p.utils.is_equal(t.val,t.getValue());return t.combo.unload(),e}t.combo.unload&&t.combo.unload()}return!0}}}function eXcell_pwd(e){var t;e&&(this.cell=e,this.grid=e.parentNode.grid,eXcell_ed.call(this),t=this.edit,this.edit=function(){t.call(this),this.obj.type="password"},this.setValue=function(){this.setCValue("*********")},this.getValue=function(){return this.grid.get_cell_value()},this.detach=function(){if(this.grid.get_cell_field){var e=this.grid.get_cell_field();e.obj[e.field]=this.obj.value}return this.setValue(),t=null,this.val!=this.getValue()})}function ODropdownList(e){function t(t){s.innerHTML=e.values[s.getAttribute("current")],e.event_name&&!t&&dhx4.callEvent(e.event_name,[s.getAttribute("current")])}function n(){i.classList.remove("open")}var a,i,s,o=document.createElement("ul");e.container.innerHTML='<div class="dropdown_list">'+e.title+'<a href="#" class="dropdown_list"></a></div>',i=e.container.firstChild,s=i.querySelector("a"),s.setAttribute("current",Array.isArray(e.values)?"0":Object.keys(e.values)[0]),i.onclick=function(e){if(i.classList.contains("open")){if("LI"==e.target.tagName)for(var a in o.childNodes)if(o.childNodes[a]==e.target){s.setAttribute("current",e.target.getAttribute("current")),t();break}n()}else i.classList.add("open");return $p.iface.cancel_bubble(e)},i.appendChild(o),o.className="dropdown_menu",e.class_name&&(i.classList.add(e.class_name),o.classList.add(e.class_name));for(var r in e.values){a=document.createElement("li");var l=e.values[r].indexOf("<i");a.innerHTML=e.values[r].substr(l)+" "+e.values[r].substr(0,l),a.setAttribute("current",r),o.appendChild(a)}document.body.addEventListener("keydown",function(e){27==e.keyCode&&i.classList.remove("open")}),document.body.addEventListener("click",n),this.unload=function(){for(var t;t=i.lastChild;)i.removeChild(t);e.container.removeChild(i),a=o=i=s=e=null},t(!0)}function OCombo(e){function t(e){var t={_top:30};return f&&f.metadata().hierarchical&&f.metadata().group_hierarchy&&("elm"==u.choice_groups_elm?t.is_folder=!1:"grp"!=u.choice_groups_elm&&"parent"!=d||(t.is_folder=!0)),u.choice_links&&u.choice_links.forEach(function(e){e.name&&"selection"==e.name[0]&&(p instanceof TabularSectionRow?e.path.length<2?t[e.name[1]]="function"==typeof e.path[0]?e.path[0]:p._owner._owner[e.path[0]]:t[e.name[1]]=p[e.path[1]]:t[e.name[1]]="function"==typeof e.path[0]?e.path[0]:p[e.path[0]])}),u.choice_params&&u.choice_params.forEach(function(e){var n=Array.isArray(e.path)?{in:e.path}:e.path;t[e.name]?Array.isArray(t[e.name])?t[e.name].push(n):(t[e.name]=[t[e.name]],t[e.name].push(n)):t[e.name]=n}),u._option_list_local&&(t._local=!0),e&&(t.presentation={like:e}),t}function n(a){if("select"==this.name)f?f.form_selection(g,{initial_value:p[d].ref,selection:[t()]}):n.call({name:"type"});else if("add"==this.name)f&&f.create({},!0).then(function(t){t._set_loaded(t.ref),t.form_obj(e.pwnd)});else if("open"==this.name)p&&p[d]&&!p[d].empty()&&p[d].form_obj(e.pwnd);else if("type"==this.name){var i,s,o=[],r=p,l=d;u.type.types.forEach(function(e){i=_md.mgr_by_class_name(e),s=i.metadata(),o.push({presentation:s.synonym||s.name,mgr:i,selected:f===i})}),$p.iface.select_from_list(o).then(function(e){(!r[l]||r[l]&&r[l]._manager!=e.mgr)&&(f=e.mgr,p=r,d=l,u=p._metadata.fields[d],f.form_selection({on_select:function(e){p[d]=e,p=null,d=null,u=null}},{selection:[t()]})),f=null,i=null,s=null,r=null,l=null})}if(a)return $p.iface.cancel_bubble(a)}function a(){h=!1,setTimeout(function(){h||($p.iface.popup.p&&$p.iface.popup.p.onmouseover&&($p.iface.popup.p.onmouseover=null),$p.iface.popup.p&&$p.iface.popup.p.onmouseout&&($p.iface.popup.p.onmouseout=null),$p.iface.popup.clear(),$p.iface.popup.hide())},300)}function i(){if(!(f instanceof EnumManager)){h=!0;var t=document.createElement("div"),i=e.hide_frm?"":"<a href='#' name='select' title='Форма выбора {F4}'>Показать все</a><a href='#' name='open' style='margin-left: 9px;' title='Открыть форму элемента {Ctrl+Shift+F4}'><i class='fa fa-external-link fa-fw'></i></a>";if(!e.hide_frm){var s=$p.current_acl.get_acl(f.class_name);s.indexOf("i")!=-1&&(i+=" <a href='#' name='add' title='Создать новый элемент {F8}'><i class='fa fa-plus fa-fwfa-fw'></i></a>")}if(u.type.types.length>1&&(i+=" <a href='#' name='type' title='Выбрать тип значения {Alt+T}'><i class='fa fa-level-up fa-fw'></i></a>"),i){t.innerHTML=i;for(var o=0;o<t.children.length;o++)t.children[o].onclick=n;$p.iface.popup.clear(),$p.iface.popup.attachObject(t),$p.iface.popup.show(dhx4.absLeft(_.getButton())-77,dhx4.absTop(_.getButton()),_.getButton().offsetWidth,_.getButton().offsetHeight),$p.iface.popup.p.onmouseover=function(){h=!0},$p.iface.popup.p.onmouseout=a}}}function s(e){return setTimeout(i,10),e.preventDefault(),!1}function o(n){if(!(f instanceof EnumManager))return 115==n.keyCode?(n.ctrlKey&&n.shiftKey?p[d].empty()||p[d].form_obj(e.pwnd):n.ctrlKey||n.shiftKey||f&&f.form_selection(g,{initial_value:p[d].ref,selection:[t()]}),$p.iface.cancel_bubble(n)):void 0}function r(e){setTimeout(function(){_&&_.getInput&&_.getInput().select()},50)}function l(e){_&&_.getBase&&(_.getBase().parentElement?p instanceof TabularSectionRow||e.forEach(function(e){e.name==d&&c(p[d])}):setTimeout(_.unload))}function c(e){if(e&&e instanceof DataObj&&!e.empty()){if(_.getOption(e.ref)||_.addOption(e.ref,e.presentation),_.getSelectedValue()==e.ref)return;_.setComboValue(e.ref)}else _.getSelectedValue()||(_.setComboValue(""),_.setComboText(""))}var p,d,u,f,m,h,_=this,g={on_select:e.on_select||function(e){p[d]=e}};e.pwnd&&e.pwnd.setModal&&(g.setModal=e.pwnd.setModal.bind(e.pwnd)),OCombo.superclass.constructor.call(_,e),e.on_select?(_.getBase().style.border="none",_.getInput().style.left="-3px",e.is_tabular||(_.getButton().style.right="9px")):_.getBase().style.marginBottom="4px",e.left&&(_.getBase().style.left=left+"px"),this.attachEvent("onChange",function(){p&&d&&(p[d]=this.getSelectedValue())}),this.attachEvent("onBlur",function(){!this.getSelectedValue()&&this.getComboText()&&this.setComboText("")}),this.attachEvent("onDynXLS",function(n){f||(f=_md.value_mgr(p,d,u.type)),f&&(_.clearAll(),(e.get_option_list||f.get_option_list).call(f,null,t(n)).then(function(e){_.addOption&&(_.addOption(e),_.openSelect())}))}),_.getButton().addEventListener("mouseover",i),_.getButton().addEventListener("mouseout",a),_.getBase().addEventListener("click",$p.iface.cancel_bubble),_.getBase().addEventListener("contextmenu",s),_.getInput().addEventListener("keyup",o),_.getInput().addEventListener("focus",r),this.attach=function(e){p&&(p instanceof TabularSectionRow?Object.unobserve(p._owner._owner,l):Object.unobserve(p,l)),p=e.obj,d=e.field,m=e.property,e.metadata?u=e.metadata:m?(u=p._metadata.fields[d]._clone(),u.type=m.type):u=p._metadata.fields[d],_.clearAll(),f=_md.value_mgr(p,d,u.type),(f||e.get_option_list)&&(e.get_option_list||f.get_option_list).call(f,p[d],t()).then(function(e){_.addOption&&(_.addOption(e),c(p[d]))}),p instanceof TabularSectionRow?Object.observe(p._owner._owner,l,["row"]):Object.observe(p,l,["update"])};var b=this.unload;this.unload=function(){a(),_.getButton().removeEventListener("mouseover",i),_.getButton().removeEventListener("mouseout",a),_.getBase().removeEventListener("click",$p.iface.cancel_bubble),_.getBase().removeEventListener("contextmenu",s),_.getInput().removeEventListener("keyup",o),_.getInput().removeEventListener("focus",r),p&&(p instanceof TabularSectionRow?Object.unobserve(p._owner._owner,l):Object.unobserve(p,l)),_.conf&&_.conf.tm_confirm_blur&&clearTimeout(_.conf.tm_confirm_blur),p=null,d=null,u=null,f=null,g=null;try{b.call(_)}catch(e){}},e.obj&&e.field&&this.attach(e),this.enableFilteringMode("between","dummy",!1,!1),this.__define({value:{get:function(){if(p)return p[d]}}})}function ODateRangePicker(e,t){var n=this._cont=document.createElement("div");e instanceof dhtmlXCellObject?e.appendObject(this._cont):e.appendChild(this._cont),this._cont.className="odaterangepicker",this._cont.innerHTML='<i class="fa fa-calendar"></i>  <span></span>  <i class="fa fa-caret-down"></i>',this.__define({set_text:{value:function(){$("span",n).html(this.date_from.format("DD MMM YY")+" - "+this.date_till.format("DD MMM YY"))}},on:{value:function(e,t){return $(n).on(e,t)}},date_from:{get:function(){return $(n).data("daterangepicker").startDate},set:function(e){$(n).data("daterangepicker").setStartDate(e),this.set_text()}},date_till:{get:function(){return $(n).data("daterangepicker").endDate},set:function(e){$(n).data("daterangepicker").setEndDate(e),this.set_text()}}}),$(n).daterangepicker({startDate:t.date_from?moment(t.date_from):moment().subtract(29,"days"),endDate:moment(t.date_till),showDropdowns:!0,alwaysShowCalendars:!0,opens:"left",ranges:{"Сегодня":[moment(),moment()],"Вчера":[moment().subtract(1,"days"),moment().subtract(1,"days")],"Последние 7 дней":[moment().subtract(6,"days"),moment()],"Последние 30 дней":[moment().subtract(29,"days"),moment()],"Этот месяц":[moment().startOf("month"),moment().endOf("month")],"Прошлый месяц":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")]}},this.set_text.bind(this)),this.set_text()}function _clear_all(){$p.iface.docs.__define({clear_all:{value:function(){this.detachToolbar(),this.detachStatusBar(),this.detachObject(!0)},enumerable:!1},"Очистить":{get:function(){return this.clear_all},enumerable:!1},"Контейнер":{get:function(){return this.cell.querySelector(".dhx_cell_cont_layout")},enumerable:!1}})}function OTooolBar(e){function t(e){for(var t=0;t<c.children.length;t++)c.children[t].classList.remove("selected");e&&!this.classList.contains("selected")&&this.classList.add("selected")}function n(){s=!1,setTimeout(function(){s||$p.iface.popup.hide()},300)}function a(){e.onclick&&e.onclick.call(l,this.name.replace(e.name+"_",""),e.name)}var i,s,o,r,l=this,c=document.createElement("div");e.image_path||(e.image_path=dhtmlx.image_path),e.hasOwnProperty("class_name")?c.className=e.class_name:c.className="md_otooolbar",l.cell=c,l.buttons={},this.add=function(t){function p(e){if(e||(e=d),e.subdiv&&!o&&!r){for(;e.subdiv.firstChild;)e.subdiv.removeChild(e.subdiv.firstChild);e.subdiv.parentNode.removeChild(e.subdiv),e.subdiv=null}}var d=$p.iface.add_button(c,e,t);d.onclick=a,d.onmouseover=function(){t.title&&!t.sub&&(s=!0,$p.iface.popup.clear(),$p.iface.popup.attachHTML(t.title),$p.iface.popup.show(dhx4.absLeft(d),dhx4.absTop(d),d.offsetWidth,d.offsetHeight),$p.iface.popup.p.onmouseover=function(){s=!0},$p.iface.popup.p.onmouseout=n,e.on_popup&&e.on_popup($p.iface.popup,d))},d.onmouseout=n,l.buttons[t.name]=d,t.sub&&(d.onmouseover=function(){for(var n=0;n<d.parentNode.children.length;n++)if(d.parentNode.children[n]!=d&&d.parentNode.children[n].subdiv){p(d.parentNode.children[n]);break}if(r=!0,!this.subdiv){this.subdiv=document.createElement("div"),this.subdiv.className="md_otooolbar",i=$p.iface.get_offset(d),"right"==t.sub.align?this.subdiv.style.left=i.left+d.offsetWidth-(parseInt(t.sub.width.replace(/\D+/g,""))||56)+"px":this.subdiv.style.left=i.left+"px",this.subdiv.style.top=i.top+c.offsetHeight+"px",this.subdiv.style.height=t.sub.height||"198px",this.subdiv.style.width=t.sub.width||"56px";for(var n in t.sub.buttons){var s=$p.iface.add_button(this.subdiv,e,t.sub.buttons[n]);s.onclick=a}e.wrapper.appendChild(this.subdiv),this.subdiv.onmouseover=function(){o=!0},this.subdiv.onmouseout=function(){o=!1,setTimeout(p,500)},t.title&&$p.iface.popup.show(dhx4.absLeft(this.subdiv),dhx4.absTop(this.subdiv),this.subdiv.offsetWidth,this.subdiv.offsetHeight)}},d.onmouseout=function(){r=!1,setTimeout(p,500)})},this.select=function(n){for(var a=0;a<c.children.length;a++){var i=c.children[a];if(i.name==e.name+"_"+n)return void t.call(i,!0); }},this.get_selected=function(){for(var e=0;e<c.children.length;e++){var t=c.children[e];if(t.classList.contains("selected"))return t.name}},this.unload=function(){for(;c.firstChild;)c.removeChild(c.firstChild);e.wrapper.removeChild(c)},e.wrapper.appendChild(c),c.style.width=e.width||"28px",c.style.height=e.height||"150px",c.style.position="absolute",e.top&&(c.style.top=e.top),e.left&&(c.style.left=e.left),e.bottom&&(c.style.bottom=e.bottom),e.right&&(c.style.right=e.right),e.paddingRight&&(c.style.paddingRight=e.paddingRight),e.paddingLeft&&(c.style.paddingLeft=e.paddingLeft),e.buttons&&e.buttons.forEach(function(e){l.add(e)})}function eXcell_addr(e){if(e){var t,n=this,a=function(e){return eXcell_proto.input_keydown(e,n)},i=function(e){var t={grid:n.grid}._mixin(n.grid.get_cell_field());return wnd_address(t),$p.iface.cancel_bubble(e)};n.cell=e,n.grid=n.cell.parentNode.grid,n.open_selection=i,n.setValue=function(e){n.setCValue(e)},n.getValue=function(){return n.grid.get_cell_value()},n.edit=function(){var e;n.val=n.getValue(),n.cell.innerHTML='<div class="ref_div21"><input type="text" class="dhx_combo_edit" style="height: 20px;"><div class="ref_field21"> </div></div>',t=n.cell.firstChild,e=t.childNodes[0],e.value=n.val,e.onclick=$p.iface.cancel_bubble,e.readOnly=!0,e.focus(),e.onkeydown=a,t.childNodes[1].onclick=i},n.detach=function(){return n.setValue(n.getValue()),!$p.utils.is_equal(n.val,n.getValue())}}}function wnd_address(e){function t(){var e={name:"wnd_addr",wnd:{id:"wnd_addr",top:130,left:200,width:800,height:560,modal:!0,center:!0,pwnd:g,allow_close:!0,allow_minmax:!0,on_close:m,caption:_.shipping_address}};g&&g.getHeight&&e.wnd.height>g.getHeight()&&(e.wnd.height=g.getHeight()),h=$p.iface.dat_blank(null,e.wnd),h.elmnts.layout=h.attachLayout("2E"),h.elmnts.cell_frm=h.elmnts.layout.cells("a"),h.elmnts.cell_frm.setHeight("110"),h.elmnts.cell_frm.hideHeader(),h.elmnts.cell_frm.fixSize(0,1),h.elmnts.pgrid=h.elmnts.cell_frm.attachPropertyGrid(),h.elmnts.pgrid.setDateFormat("%d.%m.%Y %H:%i"),h.elmnts.pgrid.init(),h.elmnts.pgrid.parse(_._manager.get_property_grid_xml({" ":[{id:"delivery_area",path:"o.delivery_area",synonym:"Район доставки",type:"ref",txt:v.delivery_area.presentation},{id:"region",path:"o.region",synonym:"Регион",type:"ro",txt:v.region},{id:"city",path:"o.city",synonym:"Населенный пункт",type:"ed",txt:v.city},{id:"street",path:"o.street",synonym:"Улица, дом, корпус, литера, квартира",type:"ed",txt:v.street}]},v),function(){h.elmnts.pgrid.enableAutoHeight(!0),h.elmnts.pgrid.setInitWidthsP("40,60"),h.elmnts.pgrid.setSizes(),h.elmnts.pgrid.attachEvent("onPropertyChanged",f)},"xml"),h.elmnts.pgrid.get_cell_field=function(){return{obj:v,field:"delivery_area",on_select:a,pwnd:h,metadata:{synonym:"Район",tooltip:"Район (зона, направление) доставки для группировки при планировании и оптимизации маршрута геокодером",choice_groups_elm:"elm",type:{types:["cat.delivery_areas"],is_ref:!0}}}},h.elmnts.toolbar=h.attachToolbar({icons_path:dhtmlx.image_path+"dhxtoolbar"+dhtmlx.skin_suffix()}),h.elmnts.toolbar.loadStruct('<toolbar><item id="btn_select" type="button" title="Установить адрес" text="<b>Выбрать</b>" /></toolbar>',function(){this.attachEvent("onclick",n)}),h.elmnts.cell_map=h.elmnts.layout.cells("b"),h.elmnts.cell_map.hideHeader();var t={center:new google.maps.LatLng(v.latitude,v.longitude),zoom:v.street?15:12,mapTypeId:google.maps.MapTypeId.ROADMAP};h.elmnts.map=h.elmnts.cell_map.attachMap(t),v.marker=new google.maps.Marker({map:h.elmnts.map,draggable:!0,animation:google.maps.Animation.DROP,position:t.center}),google.maps.event.addListener(v.marker,"click",d),google.maps.event.addListener(v.marker,"dragend",u),s()}function n(e){"btn_select"==e&&(_.delivery_area=v.delivery_area,l(),_.coordinates=JSON.stringify([v.latitude,v.longitude])),h.close()}function a(e){if(void 0!==e){var t,n=b;b=$p.utils.is_data_obj(e)?e:$p.cat.delivery_areas.get(e,!1),t=n!=b,$p.utils.is_data_obj(b)||(b=$p.cat.delivery_areas.get()),h.elmnts.pgrid.cells().setValue(e.presentation),i(t)}}function i(e){if(!v.delivery_area.empty()&&e&&(v.street=""),v.delivery_area.region?(v.region=v.delivery_area.region,h.elmnts.pgrid.cells("region",1).setValue(v.region)):e&&(v.region=""),v.delivery_area.city?(v.city=v.delivery_area.city,h.elmnts.pgrid.cells("city",1).setValue(v.city)):e&&(v.city=""),v.delivery_area.latitude&&v.delivery_area.longitude){var t=new google.maps.LatLng(v.delivery_area.latitude,v.delivery_area.longitude);h.elmnts.map.setCenter(t),v.marker.setPosition(t)}s()}function s(){h.elmnts.pgrid.cells("region",1).setValue(v.region),h.elmnts.pgrid.cells("city",1).setValue(v.city),h.elmnts.pgrid.cells("street",1).setValue(v.street)}function o(){var e=v.street?15:12;h.elmnts.map.getZoom()!=e&&h.elmnts.map.setZoom(e),p(function(e,t){if(t==google.maps.GeocoderStatus.OK){var n=e[0].geometry.location;h.elmnts.map.setCenter(n),v.marker.setPosition(n),v.latitude=n.lat(),v.longitude=n.lng(),v.postal_code=$p.ipinfo.components({},e[0].address_components).postal_code||""}})}function r(){return(v.street?v.street.replace(/,/g," ")+", ":"")+(v.city?v.city+", ":"")+(v.region?v.region+", ":"")+v.country+(v.postal_code?", "+v.postal_code:"")}function l(){_.shipping_address=r();var e='<КонтактнаяИнформация \t\t\t\txmlns="http://www.v8.1c.ru/ssl/contactinfo" \t\t\t\txmlns:xs="http://www.w3.org/2001/XMLSchema" \t\t\t\txmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \t\t\t\tПредставление="%1"> \t\t\t\t\t<Комментарий/> \t\t\t\t\t<Состав xsi:type="Адрес" Страна="РОССИЯ"> \t\t\t\t\t\t<Состав xsi:type="АдресРФ">'.replace("%1",_.shipping_address);if(v.region&&(e+="\n<СубъектРФ>"+v.region+"</СубъектРФ>"),v.city&&(e+=v.city.indexOf("г.")!=-1||v.city.indexOf("г ")!=-1||v.city.indexOf(" г")!=-1?"\n<Город>"+v.city+"</Город>":"\n<НаселПункт>"+v.city+"</НаселПункт>"),v.street){var t,n,a,i,s,o=v.street.replace(/,/g," ");for(var l in $p.fias){if(1==$p.fias[l].type)for(var c in $p.fias[l].syn)if((n=o.indexOf($p.fias[l].syn[c]))!=-1){i=l,t=o.substr(n+$p.fias[l].syn[c].length).trim(),o=o.substr(0,n).trim();break}if(i)break}if(i||(i="1010",(n=o.indexOf(" "))!=-1&&(t=o.substr(n),o=o.substr(0,n))),e+="\n<Улица>"+o.trim()+"</Улица>",t){a=t.toLowerCase(),t="";for(var l in $p.fias){if(3==$p.fias[l].type)for(var c in $p.fias[l].syn)if((n=a.indexOf($p.fias[l].syn[c]))!=-1){s=l,t=a.substr(n+$p.fias[l].syn[c].length),a=a.substr(0,n);break}if(s)break}s||(s="2010",(n=a.indexOf(" "))!=-1&&(t=a.substr(n),a=a.substr(0,n))),e+='\n<ДопАдрЭл><Номер Тип="'+i+'" Значение="'+a.trim()+'"/></ДопАдрЭл>'}t&&(e+='\n<ДопАдрЭл><Номер Тип="'+s+'" Значение="'+t.trim()+'"/></ДопАдрЭл>')}v.postal_code&&(e+='<ДопАдрЭл ТипАдрЭл="10100000" Значение="'+v.postal_code+'"/>'),e+="</Состав> \t\t\t\t\t</Состав></КонтактнаяИнформация>",_.address_fields=e}function c(){function e(e){if(e.attributes&&2==e.attributes.length){var t={};return t[e.attributes[0].value]=e.attributes[1].value,t}}if(_.address_fields){v.xml=(new DOMParser).parseFromString(_.address_fields,"text/xml");var t,n={},a={building_room:""},i=[],s="СубъектРФ,Округ,СвРайМО,СвРайМО,ВнутригРайон,НаселПункт,Улица,Город,ДопАдрЭл,Адрес_по_документу,Местоположение".split(",");for(var o in s)n[s[o]]=v.xml.getElementsByTagName(s[o]);for(var o in n)for(var r in n[o])if("length"!=r&&n[o].hasOwnProperty(r))if(t=e(n[o][r]))a[o]||(a[o]=[]),a[o].push(t);else if(n[o][r].childNodes.length)for(var l in n[o][r].childNodes)"length"!=l&&n[o][r].childNodes.hasOwnProperty(l)&&((t=e(n[o][r].childNodes[l]))?(a[o]||(a[o]=[]),a[o].push(t)):n[o][r].childNodes[l].nodeValue&&(a[o]?a[o]+=" "+n[o][r].childNodes[l].nodeValue:a[o]=n[o][r].childNodes[l].nodeValue));for(var o in a["ДопАдрЭл"]){for(var r in $p.fias)4==r.length&&a["ДопАдрЭл"][o][r]&&(i[$p.fias[r].type]=$p.fias[r].name+" "+a["ДопАдрЭл"][o][r]);a["ДопАдрЭл"][o][101e5]&&(v.postal_code=a["ДопАдрЭл"][o][101e5])}v.address_fields=a,v.region=a["СубъектРФ"]||a["Округ"]||"",v.city=a["Город"]||a["НаселПункт"]||"",v.street=a["Улица"]||"";for(var o in i)v.street+=" "+i[o]}return new Promise(function(e,t){if($p.ipinfo||($p.ipinfo=new IPInfo),window.google&&window.google.maps)e();else{$p.load_script("//maps.google.com/maps/api/js?callback=$p.ipinfo.location_callback","script",function(){});var n=$p.eve.attachEvent("geo_google_ready",function(){a&&clearTimeout(a),n&&($p.eve.detachEvent(n),n=null,e())}),a=setTimeout(function(){n&&($p.eve.detachEvent(n),n=null),$p.msg.show_msg({type:"alert-warning",text:$p.msg.error_geocoding+" Google",title:$p.msg.main_title}),e()},1e4)}}).then(function(){v.coordinates.length?(v.latitude=v.coordinates[0],v.longitude=v.coordinates[1]):_.shipping_address?p(function(e,t){t==google.maps.GeocoderStatus.OK&&(v.latitude=e[0].geometry.location.lat(),v.longitude=e[0].geometry.location.lng())}):$p.ipinfo.latitude&&$p.ipinfo.longitude?(v.latitude=$p.ipinfo.latitude,v.longitude=$p.ipinfo.longitude):(v.latitude=55.635924,v.longitude=37.6066379,$p.msg.show_msg($p.msg.empty_geocoding))})}function p(e){var t=r();$p.ipinfo.ggeocoder.geocode({address:t},e)}function d(){null!=v.marker.getAnimation()?v.marker.setAnimation(null):(v.marker.setAnimation(google.maps.Animation.BOUNCE),setTimeout(function(){v.marker.setAnimation(null)},1500))}function u(e){$p.ipinfo.ggeocoder.geocode({latLng:e.latLng},function(t,n){if(n==google.maps.GeocoderStatus.OK&&t[0]){var a=t[0];h.setText(a.formatted_address),$p.ipinfo.components(v,a.address_components),s();var i=v.street?15:12;h.elmnts.map.getZoom()!=i&&(h.elmnts.map.setZoom(i),h.elmnts.map.setCenter(e.latLng)),v.latitude=e.latLng.lat(),v.longitude=e.latLng.lng()}})}function f(e,t,n){e&&(v.delivery_area.empty()?(t=n,$p.msg.show_msg({type:"alert",text:$p.msg.delivery_area_empty,title:$p.msg.addr_title}),setTimeout(function(){h.elmnts.pgrid.selectRowById("delivery_area")},50)):"delivery_area"==e?a(t):(v[h.elmnts.pgrid.getSelectedRowId()]=t,o()))}function m(t){return e.grid.editStop(),!t.error}var h,_=e.obj,g=e.pwnd,b=_.delivery_area,v={coordinates:_.coordinates?JSON.parse(_.coordinates):[],country:"Россия",region:"",city:"",street:"",postal_code:"",marker:{}};return v.__define("delivery_area",{get:function(){return b},set:function(e){a(e)}}),c().then(t),h}function AppEvents(){if(this.__define({init:{value:function(){$p.__define("job_prm",{value:new JobPrm,writable:!1}),$p.wsql.init_params()}},do_eventable:{value:function(e){function t(e,t){e=String(e).toLowerCase(),this._evnts.data[e]||(this._evnts.data[e]={});var n=$p.utils.generate_guid();return this._evnts.data[e][n]=t,n}function n(e){if(!e)return a.call(this);for(var t in this._evnts.data){var n=0;for(var i in this._evnts.data[t])i==e?(this._evnts.data[t][i]=null,delete this._evnts.data[t][i]):n++;0==n&&(this._evnts.data[t]=null,delete this._evnts.data[t])}}function a(){for(var e in this._evnts.data){for(var t in this._evnts.data[e])this._evnts.data[e][t]=null,delete this._evnts.data[e][t];this._evnts.data[e]=null,delete this._evnts.data[e]}}function i(e,t){if(e=String(e).toLowerCase(),null==this._evnts.data[e])return!0;var n=!0;for(var a in this._evnts.data[e])n=this._evnts.data[e][a].apply(this,t)&&n;return n}function s(){for(var e in this._evnts.evnts){var t=this._evnts.evnts[e].length;if(t){for(var n=0;n<t;n++)this.emit(e,this._evnts.evnts[e][n]);this._evnts.evnts[e].length=0}}this._evnts.timer=0}e.__define({_evnts:{value:{data:{},timer:0,evnts:{}}},on:{value:t},attachEvent:{value:t},off:{value:n},detachEvent:{value:n},detachAllEvents:{value:a},checkEvent:{value:function(e){return e=String(e).toLowerCase(),null!=this._evnts.data[e]}},callEvent:{value:i},emit:{value:i},emit_async:{value:function(e,t){this._evnts.evnts[e]||(this._evnts.evnts[e]=[]),this._evnts.evnts[e].push(t),this._evnts.timer&&clearTimeout(this._evnts.timer),this._evnts.timer=setTimeout(s.bind(this),4)}}})}}}),"undefined"!=typeof window&&window.dhx4){for(var e in dhx4)this[e]=dhx4[e],delete dhx4[e];window.dhx4=this}else"undefined"==typeof WorkerGlobalScope&&this.do_eventable(this)}function JobPrm(){function e(){return $p.wsql.get_user_param("rest_path")||$p.job_prm.rest_path||"/a/zd/%1/odata/standard.odata/"}function t(){function e(e){var t,n={},a=[];if("#"!==e.substr(0,1)&&"?"!==e.substr(0,1)||(e=e.substr(1)),e.length>2){t=decodeURI(e).split("&");for(var i in t)if(a=t[i].split("="),"m"==a[0])try{n[a[0]]=JSON.parse(a[1])}catch(e){n[a[0]]={}}else n[a[0]]=a[1]||""}return n}return e(location.search)._mixin(e(location.hash))}this.__define({parse_url:{value:t},offline:{value:!1,writable:!0},local_storage_prefix:{value:"",writable:!0},create_tables:{value:!0,writable:!0},url_prm:{value:"undefined"!=typeof window?t():{}},rest_url:{value:function(){var t=e(),n=$p.wsql.get_user_param("zone",$p.job_prm.zone_is_string?"string":"number");return n?t.replace("%1",n):t.replace("%1/","")}},irest_url:{value:function(){var t=e(),n=$p.wsql.get_user_param("zone",$p.job_prm.zone_is_string?"string":"number");return t=t.replace("odata/standard.odata","hs/rest"),n?t.replace("%1",n):t.replace("%1/","")}}}),$p.eve.callEvent("settings",[this]);for(var n in this)"url_prm"!==n&&"function"!=typeof this[n]&&this.url_prm.hasOwnProperty[n]&&(this[n]=this.url_prm[n])}function Modifiers(){var e=[];this.push=function(t){e.push(t)},this.detache=function(t){var n=e.indexOf(t);n!=-1&&e.splice(n,1)},this.clear=function(){e.length=0},this.execute=function(t){var n,a;return e.forEach(function(e){a="function"==typeof e?e(t):$p.injected_data[e](t),n!==!1&&(n=a)}),n},this.execute_external=function(e){var t=$p.wsql.get_user_param("modifiers");return t=t?t.split("\n").map(function(e){return e?new Promise(function(t,n){$p.load_script(e,"script",t)}):Promise.resolve()}):[],Promise.all(t).then(function(){this.execute(e)}.bind(this))}}function IPInfo(){function e(){this.geocode=function(e){return Promise.resolve(!1)}}var t,n,a,i="";this.__define({ipgeo:{value:function(){return $p.ajax.get("//api.sypexgeo.net/").then(function(e){return JSON.parse(e.response)}).catch($p.record_log)}},yageocoder:{get:function(){return t||(t=new e),t},enumerable:!1,configurable:!1},ggeocoder:{get:function(){return n},enumerable:!1,configurable:!1},addr:{get:function(){return i}},parts:{get:function(){return a}},components:{value:function(e,t){var n,a,i,s="",o="",r="";for(n in t){a=t[n];for(i in a.types)switch(a.types[i]){case"route":a.short_name.indexOf("Unnamed")==-1&&(s=a.short_name+(s?" "+s:""),o=a.long_name.replace("улица","").trim());break;case"administrative_area_level_1":e.region=a.long_name;break;case"administrative_area_level_2":e.city=a.short_name,e.city_long=a.long_name;break;case"locality":r=(r?r+" ":"")+a.short_name;break;case"street_number":s=(s?s+" ":"")+a.short_name;break;case"postal_code":e.postal_code=a.short_name}}return e.region&&e.region==e.city_long?e.city.indexOf(r)==-1?e.city=r:e.city="":r&&e.city.indexOf(r)==-1&&e.region.indexOf(r)==-1&&(s=r+", "+s),e.street&&e.street.indexOf(o)!=-1||(e.street=s),e}},location_callback:{value:function(){n=new google.maps.Geocoder,$p.eve.callEvent("geo_google_ready"),navigator.geolocation&&navigator.geolocation.getCurrentPosition(function(e){$p.ipinfo.latitude=e.coords.latitude,$p.ipinfo.longitude=e.coords.longitude;var t=new google.maps.LatLng($p.ipinfo.latitude,$p.ipinfo.longitude);n.geocode({latLng:t},function(e,t){t==google.maps.GeocoderStatus.OK&&(a=!e[1]||e[0].address_components.length>=e[1].address_components.length?e[0]:e[1],i=a.formatted_address,$p.eve.callEvent("geo_current_position",[$p.ipinfo.components({},a.address_components)]))})},$p.record_log,{timeout:3e4})}}})}function SpreadsheetDocument(e){this._attr={orientation:"portrait",title:"",content:document.createElement("DIV")},e&&"string"==typeof e?this.content=e:"object"==typeof e&&this._mixin(e),e=null}function HandsontableDocument(e,t){var n=function(){this._then&&this._then(this)}.bind(this);this._online=t&&t.allow_offline||navigator.onLine&&$p.wsql.pouch.authorized,e instanceof dhtmlXCellObject?(this._cont=document.createElement("div"),e.detachObject(!0),e.attachObject(this._cont)):this._cont=e,this._cont.classList.add("handsontable_wrapper"),this._online?this._cont.innerHTML=t.autorun?$p.msg.report_prepare:$p.msg.report_need_prepare:this._cont.innerHTML=$p.msg.report_need_online,this.then=function(e){return this._then=e,this},this.requery=function(e){this.hot&&this.hot.destroy(),e instanceof Error?this._cont.innerHTML=$p.msg.report_error+(e.name?" <b>"+e.name+"</b>":"")+(e.message?" "+e.message:""):(this._cont.innerHTML="",this.hot=new Handsontable(this._cont,e))},"function"!=typeof Handsontable&&this._online?$p.load_script("https://cdnjs.cloudflare.com/ajax/libs/pikaday/1.4.0/pikaday.min.js","script").then(function(){return $p.load_script("https://cdnjs.cloudflare.com/ajax/libs/numbro/1.9.2/numbro.min.js","script")}).then(function(){return $p.load_script("https://cdn.jsdelivr.net/g/zeroclipboard,handsontable@0.26(handsontable.min.js)","script")}).then(function(){return Promise.all([$p.load_script("https://cdn.jsdelivr.net/handsontable/0.26/handsontable.min.css","link"),$p.load_script("https://cdnjs.cloudflare.com/ajax/libs/numbro/1.9.2/languages/ru-RU.min.js","script")])}).then(n):setTimeout(n)}function Aes(e){"use strict";function t(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)})}function n(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function a(e){if("undefined"!=typeof btoa)return btoa(e);if("undefined"!=typeof Buffer)return new Buffer(e,"binary").toString("base64");throw new Error("No Base64 Encode")}function i(e){if("undefined"!=typeof atob)return atob(e);if("undefined"!=typeof Buffer)return new Buffer(e,"base64").toString("binary");throw new Error("No Base64 Decode")}var s=this;s.cipher=function(e,t){for(var n=4,a=t.length/n-1,i=[[],[],[],[]],o=0;o<4*n;o++)i[o%4][Math.floor(o/4)]=e[o];i=s.addRoundKey(i,t,0,n);for(var r=1;r<a;r++)i=s.subBytes(i,n),i=s.shiftRows(i,n),i=s.mixColumns(i,n),i=s.addRoundKey(i,t,r,n);i=s.subBytes(i,n),i=s.shiftRows(i,n),i=s.addRoundKey(i,t,a,n);for(var l=new Array(4*n),o=0;o<4*n;o++)l[o]=i[o%4][Math.floor(o/4)];return l},s.keyExpansion=function(e){for(var t=4,n=e.length/4,a=n+6,i=new Array(t*(a+1)),o=new Array(4),r=0;r<n;r++){var l=[e[4*r],e[4*r+1],e[4*r+2],e[4*r+3]];i[r]=l}for(var r=n;r<t*(a+1);r++){i[r]=new Array(4);for(var c=0;c<4;c++)o[c]=i[r-1][c];if(r%n==0){o=s.subWord(s.rotWord(o));for(var c=0;c<4;c++)o[c]^=s.rCon[r/n][c]}else n>6&&r%n==4&&(o=s.subWord(o));for(var c=0;c<4;c++)i[r][c]=i[r-n][c]^o[c]}return i},s.subBytes=function(e,t){for(var n=0;n<4;n++)for(var a=0;a<t;a++)e[n][a]=s.sBox[e[n][a]];return e},s.shiftRows=function(e,t){for(var n=new Array(4),a=1;a<4;a++){for(var i=0;i<4;i++)n[i]=e[a][(i+a)%t];for(var i=0;i<4;i++)e[a][i]=n[i]}return e},s.mixColumns=function(e,t){for(var n=0;n<4;n++){for(var a=new Array(4),i=new Array(4),s=0;s<4;s++)a[s]=e[s][n],i[s]=128&e[s][n]?e[s][n]<<1^283:e[s][n]<<1;e[0][n]=i[0]^a[1]^i[1]^a[2]^a[3],e[1][n]=a[0]^i[1]^a[2]^i[2]^a[3],e[2][n]=a[0]^a[1]^i[2]^a[3]^i[3],e[3][n]=a[0]^i[0]^a[1]^a[2]^i[3]}return e},s.addRoundKey=function(e,t,n,a){for(var i=0;i<4;i++)for(var s=0;s<a;s++)e[i][s]^=t[4*n+s][i];return e},s.subWord=function(e){for(var t=0;t<4;t++)e[t]=s.sBox[e[t]];return e},s.rotWord=function(e){for(var t=e[0],n=0;n<3;n++)e[n]=e[n+1];return e[3]=t,e},s.sBox=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],s.rCon=[[0,0,0,0],[1,0,0,0],[2,0,0,0],[4,0,0,0],[8,0,0,0],[16,0,0,0],[32,0,0,0],[64,0,0,0],[128,0,0,0],[27,0,0,0],[54,0,0,0]],s.Ctr={},s.Ctr.encrypt=function(n,i,o){var r=16;128!=o&&192!=o&&256!=o&&(o=128),n=t(n),i=t(i||e);for(var l=o/8,c=new Array(l),p=0;p<l;p++)c[p]=p<i.length?i.charCodeAt(p):0;var d=s.cipher(c,s.keyExpansion(c));d=d.concat(d.slice(0,l-16));for(var u=new Array(r),f=(new Date).getTime(),m=f%1e3,h=Math.floor(f/1e3),_=Math.floor(65535*Math.random()),p=0;p<2;p++)u[p]=m>>>8*p&255;for(var p=0;p<2;p++)u[p+2]=_>>>8*p&255;for(var p=0;p<4;p++)u[p+4]=h>>>8*p&255;for(var g="",p=0;p<8;p++)g+=String.fromCharCode(u[p]);for(var b=s.keyExpansion(d),v=Math.ceil(n.length/r),x="",y=0;y<v;y++){for(var w=0;w<4;w++)u[15-w]=y>>>8*w&255;for(var w=0;w<4;w++)u[15-w-4]=y/4294967296>>>8*w;for(var k=s.cipher(u,b),$=y<v-1?r:(n.length-1)%r+1,j=new Array($),p=0;p<$;p++)j[p]=k[p]^n.charCodeAt(y*r+p),j[p]=String.fromCharCode(j[p]);x+=j.join(""),"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&y%1e3==0&&self.postMessage({progress:y/v})}return x=a(g+x)},s.Ctr.decrypt=function(a,o,r){var l=16;128!=r&&192!=r&&256!=r&&(r=128),a=i(a),o=t(o||e);for(var c=r/8,p=new Array(c),d=0;d<c;d++)p[d]=d<o.length?o.charCodeAt(d):0;var u=s.cipher(p,s.keyExpansion(p));u=u.concat(u.slice(0,c-16));for(var f=new Array(8),m=a.slice(0,8),d=0;d<8;d++)f[d]=m.charCodeAt(d);for(var h=s.keyExpansion(u),_=Math.ceil((a.length-8)/l),g=new Array(_),b=0;b<_;b++)g[b]=a.slice(8+b*l,8+b*l+l);a=g;for(var v="",b=0;b<_;b++){for(var x=0;x<4;x++)f[15-x]=b>>>8*x&255;for(var x=0;x<4;x++)f[15-x-4]=(b+1)/4294967296-1>>>8*x&255;for(var y=s.cipher(f,h),w=new Array(a[b].length),d=0;d<a[b].length;d++)w[d]=y[d]^a[b].charCodeAt(d),w[d]=String.fromCharCode(w[d]);v+=w.join(""),"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&b%1e3==0&&self.postMessage({progress:b/_})}return v=n(v)}}!function(e,t){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?t(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],t):t(e.moment)}(this,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,a){var i={mm:n?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===a?n?"минута":"минуту":e+" "+t(i[a],+e)}var a=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],i=e.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:a,longMonthsParse:a,shortMonthsParse:a,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:n,mm:n,h:"час",hh:n,d:"день",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},ordinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:7}});return i}),Object.defineProperties(Object.prototype,{__define:{value:function(e,t){return t?Object.defineProperty(this,e,t):Object.defineProperties(this,e),this}},_extend:{value:function(e){var t=function(){};t.prototype=e.prototype,this.prototype=new t,this.prototype.constructor=this,this.__define("superclass",{value:e.prototype,enumerable:!1})}},_mixin:{value:function(e,t,n){var a,i,s={};if(t&&t.length)for(a=0;a<t.length;a++)i=t[a],n&&n.indexOf(i)!=-1||"undefined"!=typeof s[i]&&s[i]==e[i]||(this[i]=e[i]);else for(i in e)n&&n.indexOf(i)!=-1||"undefined"!=typeof s[i]&&s[i]==e[i]||(this[i]=e[i]);return this}},_clone:{value:function(){if(!this||"object"!=typeof this)return this;var e,t,n="function"==typeof this.pop?[]:{};for(e in this)this.hasOwnProperty(e)&&(t=this[e],t?"function"==typeof t||t instanceof DataObj||t instanceof DataManager||t instanceof Date?n[e]=t:"object"==typeof t?n[e]=t._clone():n[e]=t:n[e]=t);return n}}}),Number.prototype.round||(Number.prototype.round=function(e){var t=Math.pow(10,e);return Math.round(this*t)/t}),Number.prototype.pad||(Number.prototype.pad=function(e){for(var t=String(this);t.length<(e||2);)t="0"+t;return t}),Object.observe||Object.unobserve||Object.getNotifier||Object.prototype.__define({observe:{value:function(e,t){e._observers||e.__define({_observers:{value:[],enumerable:!1},_notis:{value:[],enumerable:!1}}),e._observers.push(t)},enumerable:!1},unobserve:{value:function(e,t){if(e._observers){t||(e._observers.length=0);for(var n=0;n<e._observers.length;n++)if(e._observers[n]===t){e._observers.splice(n,1);break}}},enumerable:!1},getNotifier:{value:function(e){var t;return{notify:function(n){e._observers&&n&&(n.object||(n.object=e),e._notis.push(n),n=null,t&&clearTimeout(t),t=setTimeout(function(){e._notis.length&&(e._observers.forEach(function(t){t(e._notis)}),e._notis.length=0),t=!1},4))}}},enumerable:!1}});var $p=new MetaEngine;$p.__define({iface:{value:new InterfaceObjs,writable:!1},current_user:{get:function(){return $p.cat&&$p.cat.users?$p.cat.users.by_id($p.wsql.get_user_param("user_name")):$p.utils.blank.guid}},current_acl:{get:function(){var e,t;return $p.cat&&$p.cat.users_acl&&($p.cat.users_acl.find_rows({owner:$p.current_user},function(t){return e=t,!1}),t=$p.CatUsers_acl.prototype),t||(t={}),e||(this.utils.blank.users_acl?e=this.utils.blank.users_acl:(e=this.utils.blank.users_acl=Object.create(t),e.__define({acl_objs:{value:{_obj:[],each:function(){},find_rows:function(){}}}}))),t.hasOwnProperty("role_available")||t.__define({role_available:{value:function(e){return this.acl_objs._obj.some(function(t){return t.type==e})}},get_acl:{value:function(e){var t=e.split(".");return this._acl&&this._acl[t[0]]?this._acl[t[0]][t[1]]:"e"}}}),e}},load_script:{value:function(e,t,n){return new Promise(function(a,i){var s=document.createElement(t);"script"==t?(s.type="text/javascript",s.src=e,s.async=!0,s.addEventListener("load",n?function(){n(),a()}:a,!1)):(s.type="text/css",s.rel="stylesheet",s.href=e),document.head.appendChild(s),"script"!=t&&a()})}}}),"undefined"!=typeof window&&window.dhx4&&(dhx4.dateFormat.ru="%d.%m.%Y",dhx4.dateLang="ru",dhx4.dateStrings={ru:{monthFullName:["Январь","Февраль","Март","Апрель","Maй","Июнь","Июль","Август","Сентябрь","Oктябрь","Ноябрь","Декабрь"],monthShortName:["Янв","Фев","Maр","Aпр","Maй","Июн","Июл","Aвг","Сен","Окт","Ноя","Дек"],dayFullName:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],dayShortName:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"]}}),$p.fias=function(){},function(e){e.toString=function(){return"Коды адресного классификатора"},e.types=["владение","здание","помещение"],e[1010]={name:"дом",type:1,order:1,fid:2,syn:[" д."," д "," дом"]},e[1020]={name:"владение",type:1,order:2,fid:1,syn:[" вл."," вл "," влад."," влад "," владен."," владен "," владение"]},e[1030]={name:"домовладение",type:1,order:3,fid:3},e[1050]={name:"корпус",type:2,order:1,syn:[" к."," к "," корп."," корп ","корпус"]},e[1060]={name:"строение",type:2,order:2,fid:1,syn:[" стр."," стр "," строен."," строен ","строение"]},e[1080]={name:"литера",type:2,order:3,fid:3,syn:[" л."," л "," лит."," лит ","литера"]},e[1070]={name:"сооружение",type:2,order:4,fid:2,syn:[" соор."," соор "," сооруж."," сооруж ","сооружение"]},e[1040]={name:"участок",type:2,order:5,syn:[" уч."," уч ","участок"]},e[2010]={name:"квартира",type:3,order:1,syn:["кв.","кв ","кварт.","кварт ","квартира","-"]},e[2030]={name:"офис",type:3,order:2,syn:["оф.","оф ","офис","-"]},e[2040]={name:"бокс",type:3,order:3},e[2020]={name:"помещение",type:3,order:4},e[2050]={name:"комната",type:3,order:5,syn:["комн.","комн ","комната"]},e[101e5]={name:"Почтовый индекс"},e[102e5]={name:"Адресная точка"},e[103e5]={name:"Садовое товарищество"},e[104e5]={name:"Элемент улично-дорожной сети, планировочной структуры дополнительного адресного элемента"},e[105e5]={name:"Промышленная зона"},e[106e5]={name:"Гаражно-строительный кооператив"},e[107e5]={name:"Территория"}}($p.fias),function(e){e.store_url_od="https://chrome.google.com/webstore/detail/hcncallbdlondnoadgjomnhifopfaage",e.argument_is_not_ref="Аргумент не является ссылкой",e.addr_title="Ввод адреса",e.cache_update_title="Обновление кеша браузера",e.cache_update="Выполняется загрузка измененных файлов<br/>и их кеширование в хранилище браузера",e.cancel="Отмена",e.delivery_area_empty="Укажите район доставки",e.empty_login_password="Не указаны имя пользователя или пароль",e.empty_response="Пустой ответ сервера",e.empty_geocoding="Пустой ответ геокодера. Вероятно, отслеживание адреса запрещено в настройках браузера",e.error_geocoding="Ошибка геокодера",e.error_auth="Авторизация пользователя не выполнена",e.error_critical="Критическая ошибка",e.error_metadata="Ошибка загрузки метаданных конфигурации",e.error_network="Ошибка сети или сервера - запрос отклонен",e.error_rights="Ограничение доступа",e.error_low_acl="Недостаточно прав для выполнения операции",e.file_size="Запрещена загрузка файлов<br/>размером более ",e.file_confirm_delete="Подтвердите удаление файла ",e.file_new_date="Файлы на сервере обновлены<br /> Рекомендуется закрыть браузер и войти<br />повторно для применения обновления",e.file_new_date_title="Версия файлов",e.init_catalogues="Загрузка справочников с сервера",e.init_catalogues_meta=": Метаданные объектов",e.init_catalogues_tables=": Реструктуризация таблиц",e.init_catalogues_nom=": Базовые типы + номенклатура",e.init_catalogues_sys=": Технологические справочники", e.init_login="Укажите имя пользователя и пароль",e.requery="Повторите попытку через 1-2 минуты",e.limit_query="Превышено число обращений к серверу<br/>Запросов за минуту:%1<br/>Лимит запросов:%2<br/>"+e.requery,e.long_operation="Длительная операция",e.logged_in="Авторизован под именем: ",e.log_out_title="Отключиться от сервера?",e.log_out_break="<br/>Завершить синхронизацию?",e.sync_title="Обмен с сервером",e.sync_complite="Синхронизация завершена",e.main_title="Окнософт: заказ дилера ",e.mark_delete_confirm="Пометить объект %1 на удаление?",e.mark_undelete_confirm="Снять пометку удаления с объекта %1?",e.meta={cat:"Справочник",doc:"Документ",cch:"План видов характеристик",cacc:"Планы счетов",tsk:"Задача",ireg:"Регистр сведений",areg:"Регистр накопления",bp:"Бизнес процесс",ts_row:"Строка табличной части",dp:"Обработка",rep:"Отчет"},e.meta_cat="Справочники",e.meta_doc="Документы",e.meta_cch="Планы видов характеристик",e.meta_cacc="Планы счетов",e.meta_tsk="Задачи",e.meta_ireg="Регистры сведений",e.meta_areg="Регистры накопления",e.meta_mgr="Менеджер",e.meta_cat_mgr="Менеджер справочников",e.meta_doc_mgr="Менеджер документов",e.meta_enn_mgr="Менеджер перечислений",e.meta_ireg_mgr="Менеджер регистров сведений",e.meta_areg_mgr="Менеджер регистров накопления",e.meta_accreg_mgr="Менеджер регистров бухгалтерии",e.meta_dp_mgr="Менеджер обработок",e.meta_task_mgr="Менеджер задач",e.meta_bp_mgr="Менеджер бизнес-процессов",e.meta_reports_mgr="Менеджер отчетов",e.meta_charts_of_accounts_mgr="Менеджер планов счетов",e.meta_charts_of_characteristic_mgr="Менеджер планов видов характеристик",e.meta_extender="Модификаторы объектов и менеджеров",e.modified_close="Объект изменен<br/>Закрыть без сохранения?",e.mandatory_title="Обязательный реквизит",e.mandatory_field="Укажите значение реквизита '%1'",e.no_metadata="Не найдены метаданные объекта '%1'",e.no_selected_row="Не выбрана строка табличной части '%1'",e.no_dhtmlx="Библиотека dhtmlx не загружена",e.not_implemented="Не реализовано в текущей версии",e.offline_request="Запрос к серверу в автономном режиме",e.onbeforeunload="Окнософт: легкий клиент. Закрыть программу?",e.order_sent_title="Подтвердите отправку заказа",e.order_sent_message="Отправленный заказ нельзя изменить.<br/>После проверки менеджером<br/>он будет запущен в работу",e.report_error="<i class='fa fa-exclamation-circle fa-2x fa-fw'></i> Ошибка",e.report_prepare="<i class='fa fa-spinner fa-spin fa-2x fa-fw'></i> Подготовка отчета",e.report_need_prepare="<i class='fa fa-info fa-2x fa-fw'></i> Нажмите 'Сформировать' для получения отчета",e.report_need_online="<i class='fa fa-plug fa-2x fa-fw'></i> Нет подключения. Отчет недоступен в автономном режиме",e.request_title="Запрос регистрации",e.request_message="Заявка зарегистрирована. После обработки менеджером будет сформировано ответное письмо",e.select_from_list="Выбор из списка",e.select_grp="Укажите группу, а не элемент",e.select_elm="Укажите элемент, а не группу",e.select_file_import="Укажите файл для импорта",e.srv_overload="Сервер перегружен",e.sub_row_change_disabled="Текущая строка подчинена продукции.<br/>Строку нельзя изменить-удалить в документе<br/>только через построитель",e.sync_script="Обновление скриптов приложения:",e.sync_data="Синхронизация с сервером выполняется:<br />* при первом старте программы<br /> * при обновлении метаданных<br /> * при изменении цен или технологических справочников",e.sync_break="Прервать синхронизацию",e.sync_no_data="Файл не содержит подходящих элементов для загрузки",e.tabular_will_cleared="Табличная часть '%1' будет очищена. Продолжить?",e.unsupported_browser_title="Браузер не поддерживается",e.unsupported_browser="Несовместимая версия браузера<br/>Рекомендуется Google Chrome",e.supported_browsers="Рекомендуется Chrome, Safari или Opera",e.unsupported_mode_title="Режим не поддерживается",e.unsupported_mode="Программа не установлена<br/> в <a href='"+e.store_url_od+"'>приложениях Google Chrome</a>",e.unknown_error="Неизвестная ошибка в функции '%1'",e.value="Значение"}($p.msg),DataManager.prototype.__define({family_name:{get:function(){return $p.msg["meta_"+this.class_name.split(".")[0]+"_mgr"].replace($p.msg.meta_mgr+" ","")}},table_name:{get:function(){return this.class_name.replace(".","_")}},find_rows:{value:function(e,t){return $p._find_rows.call(this,this.by_ref,e,t)}},extra_fields:{value:function(e){var t=$p.cat.destinations||$p.cch.destinations,n=_md.class_name_to_1c(this.class_name).replace(".","_"),a=[];return t&&t.find_rows({predefined_name:n},function(e){var t=e.extra_fields||e.ДополнительныеРеквизиты;return t&&t.each(function(e){e._deleted||e.ПометкаУдаления||a.push(e.property||e.Свойство)}),!1}),a}},extra_properties:{value:function(e){return[]}},obj_constructor:{value:function(e){var t=this.class_name.split("."),n=t[0].charAt(0).toUpperCase()+t[0].substr(1)+t[1].charAt(0).toUpperCase()+t[1].substr(1);return e?n+e.charAt(0).toUpperCase()+e.substr(1)+"Row":n}}}),DataManager.prototype.sync_grid=function(e,t){function n(){if("function"==typeof e.custom_selection)return e.custom_selection(e);if("ram"==i.cachable){if("get_tree"==e.action)return $p.wsql.promise(i.get_sql_struct(e),[]).then($p.iface.data_to_tree);if("get_selection"==e.action)return $p.wsql.promise(i.get_sql_struct(e),[]).then(function(t){return $p.iface.data_to_grid.call(i,t,e)})}else if(0==i.cachable.indexOf("doc")){if("get_tree"==e.action)return i.pouch_tree(e);if("get_selection"==e.action)return i.pouch_selection(e)}else{if("get_tree"==e.action)return i.rest_tree(e);if("get_selection"==e.action)return i.rest_selection(e)}}function a(e){return new Promise(function(n,a){"string"==typeof e?("{"==e.substr(0,1)&&(e=JSON.parse(e)),t&&t.parse?(t.xmlFileUrl="exec",t.parse(e,function(){n(e)},"xml")):n(e)):t instanceof dhtmlXTreeView&&t.loadStruct?t.loadStruct(e,function(){n(e)}):n(e)})}var i=this;return n().then(a).catch($p.record_log)},DataManager.prototype.get_option_list=function(e,t){function n(t){return $p.utils.is_equal(t.value,e)&&(t.selected=!0),t}var a,i,s,o=this,r=[];if(t.presentation&&(a=o.metadata().input_by_string)&&(i=t.presentation.like,delete t.presentation,t.or=[],a.forEach(function(e){s={},s[e]={like:i},t.or.push(s)})),"ram"==o.cachable||t&&t._local)return o.find_rows(t,function(e){r.push(n({text:e.presentation,value:e.ref}))}),Promise.resolve(r);if("e1cib"!=o.cachable)return o.pouch_find_rows(t).then(function(e){return e.forEach(function(e){r.push(n({text:e.presentation,value:e.ref}))}),r});var l={selection:t,top:t._top},c=o instanceof DocManager||o instanceof BusinessProcessManager;return delete t._top,c?l.fields=["ref","date","number_doc"]:o.metadata().main_presentation_name?l.fields=["ref","name"]:l.fields=["ref","id"],_rest.load_array(l,o).then(function(e){return e.forEach(function(e){r.push(n({text:c?e.number_doc+" от "+$p.moment(e.date).format($p.moment._masks.ldt):e.name||e.id,value:e.ref}))}),r})},DataManager.prototype.tabular_captions=function(e,t){},DataManager.prototype.get_property_grid_xml=function(e,t,n){var a,i,s,o,r,l,c,p=this,d="<rows>",u=function(){if(!e)if(s=p.metadata(),s.form&&s.form.obj&&s.form.obj.head)e=s.form.obj.head;else{if(e={" ":[]},t instanceof CatObj?(s.code_length&&e[" "].push("id"),s.main_presentation_name&&e[" "].push("name")):t instanceof DocObj&&(e[" "].push("number_doc"),e[" "].push("date")),!t.is_folder)for(a in s.fields)"predefined_name"==a||s.fields[a].hide||e[" "].push(a);s.tabular_sections&&s.tabular_sections.extra_fields&&(e["Дополнительные реквизиты"]=[])}},f=function(e,t){l=$p.utils.is_data_obj(e)?e.presentation:e,t.type.is_ref||(t.type.date_part?l=$p.moment(l).format($p.moment._masks[t.type.date_part]):"boolean"==t.type.types[0]&&(l=l?"1":"0"))},m=function(e){r=_md.control_by_type(s.type,e),f(e,s)},h=function(e,a){if(a){var i=e.property||e.param||e.Параметр||e.Свойство,u=void 0!=e.value?e.value:e.Значение;i.empty()?(c=a+"|empty",r="ro",l="",s={synonym:"?"}):(s={synonym:i.presentation,type:i.type},c=a+"|"+i.ref,m(u),"edn"==r&&(r="calck"),i.mandatory&&(r+='" class="cell_mandatory'))}else if("object"==typeof e)c=e.id,s=n&&n.metadata&&n.metadata[c],s?e.synonym&&(s.synonym=e.synonym):s={synonym:e.synonym},r=e.type,l="",e.hasOwnProperty("txt")?l=e.txt:void 0!==(o=t[c])&&f(o,s.type?s:_md.get(p.class_name,c));else if(n&&n.metadata&&void 0!==(s=n.metadata[e]))c=e,m(o=t[e]);else{if(void 0===(o=t[e]))return;s=_md.get(p.class_name,c=e),m(o)}d+='<row id="'+c+'"><cell>'+(s.synonym||s.name)+'</cell><cell type="'+r+'">'+l+"</cell></row>"};u();for(a in e){" "!=a&&(d+='<row open="1"><cell>'+a+"</cell>");for(i in e[a])h(e[a][i]);if(n&&a==n.title&&t[n.ts]){var _,g=p.extra_fields(t),b="property,param,Свойство,Параметр".split(","),v=t[n.ts]._owner._metadata.tabular_sections[t[n.ts]._name].fields;b.some(function(e){if(v[e])return _=e,!0})&&(t[n.ts].forEach(function(e){var t=g.indexOf(e[_]);t!=-1&&g.splice(t,1)}),g.forEach(function(e){var a=t[n.ts].add();a[_]=e})),t[n.ts].find_rows(n.selection,function(e){h(e,n.ts)})}" "!=a&&(d+="</row>")}return d+="</rows>"},DataManager.prototype.print=function(e,t,n){function a(e){n&&n.progressOff&&n.progressOff(),e&&e.focus()}if(n&&n.progressOn&&n.progressOn(),setTimeout(a,3e3),this._printing_plates[t]instanceof DataObj&&(t=this._printing_plates[t]),t instanceof DataObj&&t.execute)return e instanceof DataObj?t.execute(e).then(a):this.get(e,!0,!0).then(t.execute.bind(t)).then(a);var i={};return $p.ajax.default_attr(i,$p.job_prm.irest_url()),i.url+=this.rest_name+"(guid'"+$p.utils.fix_guid(e)+"')/Print(model="+t+", browser_uid="+$p.wsql.get_user_param("browser_uid")+")",$p.ajax.get_and_show_blob(i.url,i,"get").then(a)},DataManager.prototype.printing_plates=function(){var e={},t=this;return t._printing_plates||(t.metadata().printing_plates?t._printing_plates=t.metadata().printing_plates:("ram"==t.metadata().cachable||t.metadata().cachable&&0==t.metadata().cachable.indexOf("doc"))&&(t._printing_plates={})),!t._printing_plates&&$p.ajax.authorized?($p.ajax.default_attr(e,$p.job_prm.irest_url()),e.url+=t.rest_name+"/Print()",$p.ajax.get_ex(e.url,e).then(function(e){return t._printing_plates=JSON.parse(e.response),t._printing_plates}).catch(function(){}).then(function(e){return e||(t._printing_plates={})})):Promise.resolve(t._printing_plates)},RefDataManager._extend(DataManager),RefDataManager.prototype.__define({push:{value:function(e,t){t&&t!=e.ref?(delete this.by_ref[e.ref],this.by_ref[t]=e):this.by_ref[e.ref]=e}},each:{value:function(e){for(var t in this.by_ref)if(t&&t!=$p.utils.blank.guid&&1==e.call(this,this.by_ref[t]))break}},forEach:{value:function(e){return this.each.call(this,e)}},get:{value:function(e,t,n){var a=this.by_ref[e]||this.by_ref[e=$p.utils.fix_guid(e)];if(!a){if(n&&!t)return;a=new($p[this.obj_constructor()])(e,this,(!0))}return t===!1?a:void 0===t&&e===$p.utils.blank.guid?a:a.is_new()?a.load():t?Promise.resolve(a):a}},create:{value:function(e,t,n){e&&"object"==typeof e||(e={}),e.ref&&$p.utils.is_guid(e.ref)&&!$p.utils.is_empty_guid(e.ref)||(e.ref=$p.utils.generate_guid());var a=this.by_ref[e.ref];if(!a)if(a=new($p[this.obj_constructor()])(e,this),!t&&e.ref&&e.presentation&&2==Object.keys(e).length);else{a instanceof DocObj&&a.date==$p.utils.blank.date&&(a.date=new Date);var i=this.handle_event(a,"after_create");if(this instanceof DocManager||this instanceof TaskManager||this instanceof BusinessProcessManager?a.number_doc||a.new_number_doc():!a.id&&a._metadata.code_length&&a.new_number_doc(),i===!1)return Promise.resolve(a);if("object"==typeof i&&i.then)return i;if("e1cib"==this.cachable&&t){var s={};return $p.ajax.default_attr(s,$p.job_prm.irest_url()),s.url+=this.rest_name+"/Create()",$p.ajax.get_ex(s.url,s).then(function(e){return a._mixin(JSON.parse(e.response),void 0,["ref"])})}}return n?a:Promise.resolve(a)}},unload_obj:{value:function(e){delete this.by_ref[e],this.alatable.some(function(t,n,a){if(t.ref==e)return a.splice(n,1),!0})}},find:{value:function(e,t){return $p._find(this.by_ref,e,t)}},load_array:{value:function(e,t){for(var n,a,i=[],s=0;s<e.length;s++){if(n=$p.utils.fix_guid(e[s]),a=this.by_ref[n])(a.is_new()||t)&&(a._mixin(e[s]),a._set_loaded());else{if("update_only"==t)continue;a=new($p[this.obj_constructor()])(e[s],this),t&&a._set_loaded()}i.push(a)}return i}},first_folder:{value:function(e){for(var t in this.by_ref){var n=this.by_ref[t];if(n.is_folder&&(!e||$p.utils.is_equal(e,n.owner)))return n}return this.get()}},get_sql_struct:{value:function(e){function t(){function t(){var e=[],t="_t_.ref, _t_.`_deleted`";return r.form&&r.form.selection?r.form.selection.fields.forEach(function(t){e.push(t)}):o instanceof DocManager?(e.push("posted"),e.push("date"),e.push("number_doc")):(r.hierarchical&&r.group_hierarchy?e.push("is_folder"):e.push("0 as is_folder"),o instanceof ChartOfAccountManager?(e.push("id"),e.push("name as presentation")):r.main_presentation_name?e.push("name as presentation"):r.code_length?e.push("id as presentation"):e.push("'...' as presentation"),r.has_owners&&e.push("owner"),r.code_length&&e.push("id")),e.forEach(function(e){t+=e.indexOf(" as ")!=-1?", "+e:_md.sql_mask(e,!0)}),t}function n(){var e,t="";if(r.form&&r.form.selection)for(var n in r.form.selection.fields)r.form.selection.fields[n].indexOf(" as ")!=-1&&r.form.selection.fields[n].indexOf("_t_.")==-1&&(e=r.form.selection.fields[n].split(" as "),e[0]=e[0].split("."),e[0].length>1&&(t&&(t+="\n"),t+="left outer join "+e[0][0]+" on "+e[0][0]+".ref = _t_."+e[1]));return t}function a(){var t;return t=o instanceof ChartOfAccountManager?" WHERE ("+(u?0:1):r.hierarchical?r.has_owners?" WHERE ("+(c||u?1:0)+" OR _t_.parent = '"+p+"') AND ("+(l==$p.utils.blank.guid?1:0)+" OR _t_.owner = '"+l+"') AND ("+(u?0:1):" WHERE ("+(c||u?1:0)+" OR _t_.parent = '"+p+"') AND ("+(u?0:1):r.has_owners?" WHERE ("+(l==$p.utils.blank.guid?1:0)+" OR _t_.owner = '"+l+"') AND ("+(u?0:1):" WHERE ("+(u?0:1),o.sql_selection_where_flds?t+=o.sql_selection_where_flds(u):o instanceof DocManager?t+=" OR _t_.number_doc LIKE '"+u+"'":((r.main_presentation_name||o instanceof ChartOfAccountManager)&&(t+=" OR _t_.name LIKE '"+u+"'"),r.code_length&&(t+=" OR _t_.id LIKE '"+u+"'")),t+=") AND (_t_.ref != '"+$p.utils.blank.guid+"')",e.selection&&("function"==typeof e.selection||e.selection.forEach(function(e){for(var n in e)if("function"==typeof e[n])t+="\n AND "+e[n](o,n)+" ";else if(r.fields.hasOwnProperty(n)||"ref"===n)if(e[n]===!0)t+="\n AND _t_."+n+" ";else if(e[n]===!1)t+="\n AND (not _t_."+n+") ";else if("object"==typeof e[n])if($p.utils.is_data_obj(e[n])||$p.utils.is_guid(e[n]))t+="\n AND (_t_."+n+" = '"+e[n]+"') ";else{var a,i=Object.keys(e[n]),s=e[n][i[0]],l=r.fields[n];l&&l.type.is_ref&&(a=_md.value_mgr({},n,l.type,!0,s)),t+="not"==i[0]?"\n AND (not _t_."+n+" = '"+s+"') ":"in"==i[0]?"\n AND (_t_."+n+" in ("+e[n].in.reduce(function(e,t){return e&&(e+=","),e+="number"==typeof t?t.toString():"'"+t+"'"},"")+")) ":"\n AND (_t_."+n+" = '"+s+"') "}else t+="string"==typeof e[n]?"\n AND (_t_."+n+" = '"+e[n]+"') ":"\n AND (_t_."+n+" = "+e[n]+") ";else"is_folder"==n&&r.hierarchical&&r.group_hierarchy})),t}function i(){return o instanceof ChartOfAccountManager?"ORDER BY id":r.hierarchical?r.group_hierarchy?"ORDER BY _t_.is_folder desc, is_initial_value, presentation":"ORDER BY _t_.parent desc, is_initial_value, presentation":"ORDER BY is_initial_value, presentation"}function s(){function t(t){t&&(f=e.set_parent=t.parent.ref,p=f,c=!1),u&&u.indexOf("%")==-1&&(u="%"+u+"%")}r.has_owners&&(l=e.owner,e.selection&&"function"!=typeof e.selection&&e.selection.forEach(function(e){e.owner&&(l="object"==typeof e.owner?e.owner.valueOf():e.owner,delete e.owner)}),l||(l=$p.utils.blank.guid)),d!=$p.utils.blank.guid&&c&&r.hierarchical?t(o.get(d,!1)):t()}var l,c=!e.parent,p=e.parent||$p.utils.blank.guid,d=e.initial_value||$p.utils.blank.guid,u=e.filter||"",f=$p.utils.blank.guid;s();var m;return m=o.sql_selection_list_flds?o.sql_selection_list_flds(d):("SELECT %2, case when _t_.ref = '"+d+"' then 0 else 1 end as is_initial_value FROM `"+o.table_name+"` AS _t_ %j %3 %4 LIMIT 300").replace("%2",t()).replace("%j",n()),m.replace("%3",a()).replace("%4",i())}function n(){var t="CREATE TABLE IF NOT EXISTS ";if(e&&e.postgres){t+=o.table_name+" (ref uuid PRIMARY KEY NOT NULL, _deleted boolean",o instanceof DocManager?t+=", posted boolean, date timestamp with time zone, number_doc character(11)":(r.code_length&&(t+=", id character("+r.code_length+")"),t+=", name character varying(50), is_folder boolean");for(i in r.fields)i.length>30?r.fields[i].short_name?s=r.fields[i].short_name:(c++,s=i[0]+c+i.substr(i.length-27)):s=i,t+=", "+s+_md.sql_type(o,i,r.fields[i].type,!0)+_md.sql_composite(r.fields,i,s,!0);for(i in r.tabular_sections)t+=", ts_"+i+" JSON"}else{t+="`"+o.table_name+"` (ref CHAR PRIMARY KEY NOT NULL, `_deleted` BOOLEAN",t+=o instanceof DocManager?", posted boolean, date Date, number_doc CHAR":", id CHAR, name CHAR, is_folder BOOLEAN";for(i in r.fields)t+=_md.sql_mask(i)+_md.sql_type(o,i,r.fields[i].type)+_md.sql_composite(r.fields,i);for(i in r.tabular_sections)t+=", `ts_"+i+"` JSON"}return t+=")"}function a(){var e=["ref","_deleted"],t="INSERT INTO `"+o.table_name+"` (ref, `_deleted`",n="(?";"cat"==o.class_name.substr(0,3)?(t+=", id, name, is_folder",e.push("id"),e.push("name"),e.push("is_folder")):"doc"==o.class_name.substr(0,3)&&(t+=", posted, date, number_doc",e.push("posted"),e.push("date"),e.push("number_doc"));for(i in r.fields)t+=_md.sql_mask(i),e.push(i);for(i in r.tabular_sections)t+=", `ts_"+i+"`",e.push("ts_"+i);for(t+=") VALUES ",i=1;i<e.length;i++)n+=", ?";return n+=")",t+=n,{sql:t,fields:e,values:n}}var i,s,o=this,r=o.metadata(),l={},c=0,p=e&&e.action?e.action:"create_table";return"create_table"==p?l=n():["insert","update","replace"].indexOf(p)!=-1?l[o.table_name]=a():"select"==p?l="SELECT * FROM `"+o.table_name+"` WHERE ref = ?":"select_all"==p?l="SELECT * FROM `"+o.table_name+"`":"delete"==p?l="DELETE FROM `"+o.table_name+"` WHERE ref = ?":"drop"==p?l="DROP TABLE IF EXISTS `"+o.table_name+"`":"get_tree"==p?l=!e.filter||e.filter.is_folder?"SELECT ref, parent, name as presentation FROM `"+o.table_name+"` WHERE is_folder order by parent, name":"SELECT ref, parent, name as presentation FROM `"+o.table_name+"` order by parent, name":"get_selection"==p&&(l=t()),l}},caption_flds:{value:function(e){var t=e.metadata||this.metadata(),n='<column id="%1" width="%2" type="%3" align="%4" sort="%5">%6</column>',a=[],i="";if(t.form&&t.form.selection?a=t.form.selection.cols:this instanceof DocManager?(a.push(new Col_struct("date","160","ro","left","server","Дата")),a.push(new Col_struct("number_doc","140","ro","left","server","Номер")),t.fields.note&&a.push(new Col_struct("note","*","ro","left","server",t.fields.note.synonym)),t.fields.responsible&&a.push(new Col_struct("responsible","*","ro","left","server",t.fields.responsible.synonym))):this instanceof ChartOfAccountManager?(a.push(new Col_struct("id","140","ro","left","server","Код")),a.push(new Col_struct("presentation","*","ro","left","server","Наименование"))):a.push(new Col_struct("presentation","*","ro","left","server","Наименование")),e.get_header&&a.length){i="<head>";for(var s in a)i+=n.replace("%1",a[s].id).replace("%2",a[s].width).replace("%3",a[s].type).replace("%4",a[s].align).replace("%5",a[s].sort).replace("%6",a[s].caption);i+="</head>"}return{head:i,acols:a}}},load_cached_server_array:{value:function(e,t){var n,a=[],i=this,s=t?{class_name:i.class_name,rest_name:t}:i,o=!t;if(e.forEach(function(e){n=i.get(e.ref||e,!1,!0),(!n||o&&n.is_new())&&a.push(e.ref||e)}),a.length){var r={url:"",selection:{ref:{in:a}}};return o&&(r.fields=["ref"]),$p.rest.build_select(r,s),$p.ajax.get_ex(r.url,r).then(function(t){var n=JSON.parse(t.response);if(o)n=n.value;else{n=n.data;for(var a in n)!n[a].ref&&n[a].id&&(n[a].ref=n[a].id),n[a].Код&&(n[a].id=n[a].Код,delete n[a].Код),n[a]._not_set_loaded=!0}return i.load_array(n),e})}return Promise.resolve(e)}},predefined:{value:function(e){return this._predefined||(this._predefined={}),this._predefined[e]||(this._predefined[e]=this.get(),this.find_rows({predefined_name:e},function(t){return this._predefined[e]=t,!1})),this._predefined[e]}}}),DataProcessorsManager._extend(DataManager),DataProcessorsManager.prototype.__define({create:{value:function(){return new($p[this.obj_constructor()])({},this)}},unload_obj:{value:function(){}}}),EnumManager._extend(RefDataManager),EnumManager.prototype.__define({get:{value:function(e){if(e instanceof EnumObj)return e;e&&e!=$p.utils.blank.guid||(e="_");var t=this[e];return t||(t=new EnumObj({name:e},this)),t}},push:{value:function(e,t){this.__define(t,{value:e})}},each:{value:function(e){this.alatable.forEach(function(t){t.ref&&"_"!=t.ref&&t.ref!=$p.utils.blank.guid&&e.call(this[t.ref])}.bind(this))}}}),EnumManager.prototype.get_sql_struct=function(e){var t="CREATE TABLE IF NOT EXISTS ",n=e&&e.action?e.action:"create_table";return e&&e.postgres?"create_table"==n?t+=this.table_name+" (ref character varying(255) PRIMARY KEY NOT NULL, sequence INT, synonym character varying(255))":["insert","update","replace"].indexOf(n)!=-1?(t={},t[this.table_name]={sql:"INSERT INTO "+this.table_name+" (ref, sequence, synonym) VALUES ($1, $2, $3)",fields:["ref","sequence","synonym"],values:"($1, $2, $3)"}):"delete"==n&&(t="DELETE FROM "+this.table_name+" WHERE ref = $1"):"create_table"==n?t+="`"+this.table_name+"` (ref CHAR PRIMARY KEY NOT NULL, sequence INT, synonym CHAR)":["insert","update","replace"].indexOf(n)!=-1?(t={},t[this.table_name]={sql:"INSERT INTO `"+this.table_name+"` (ref, sequence, synonym) VALUES (?, ?, ?)",fields:["ref","sequence","synonym"],values:"(?, ?, ?)"}):"delete"==n&&(t="DELETE FROM `"+this.table_name+"` WHERE ref = ?"),t},EnumManager.prototype.get_option_list=function(e,t){function n(t){return $p.utils.is_equal(t.value,e)&&(t.selected=!0),t}var a,i=[],s="";if(t)for(var o in t)"_"!=o.substr(0,1)&&("ref"==o?a=t[o].hasOwnProperty("in")?t[o].in:t[o]:s=t[o]);return"object"==typeof s&&(s=s.like?s.like:""),s=s.toLowerCase(),this.alatable.forEach(function(e){if(!s||e.synonym&&e.synonym.toLowerCase().indexOf(s)!=-1){if(a)if(Array.isArray(a)){if(!a.some(function(t){return t.name==e.ref||t.ref==e.ref||t==e.ref}))return}else if(a.name!=e.ref&&a.ref!=e.ref&&a!=e.ref)return;i.push(n({text:e.synonym||"",value:e.ref}))}}),Promise.resolve(i)},RegisterManager._extend(DataManager),RegisterManager.prototype.__define({get_sql_struct:{value:function(e){function t(){function t(){var e=[],t="_t_.ref";if(r.form&&r.form.selection)r.form.selection.fields.forEach(function(t){e.push(t)});else for(var n in r.dimensions)e.push(n);return e.forEach(function(e){t+=e.indexOf(" as ")!=-1?", "+e:_md.sql_mask(e,!0)}),t}function n(){var e,t="";if(r.form&&r.form.selection)for(var n in r.form.selection.fields)r.form.selection.fields[n].indexOf(" as ")!=-1&&r.form.selection.fields[n].indexOf("_t_.")==-1&&(e=r.form.selection.fields[n].split(" as "),e[0]=e[0].split("."),e[0].length>1&&(t&&(t+="\n"),t+="left outer join "+e[0][0]+" on "+e[0][0]+".ref = _t_."+e[1]));return t}function a(){var t=" WHERE ("+(s?0:1);return o.sql_selection_where_flds&&(t+=o.sql_selection_where_flds(s)),t+=")",e.selection&&("function"==typeof e.selection||e.selection.forEach(function(e){for(var n in e)if("function"==typeof e[n])t+="\n AND "+e[n](o,n)+" ";else if(r.fields.hasOwnProperty(n))if(e[n]===!0)t+="\n AND _t_."+n+" ";else if(e[n]===!1)t+="\n AND (not _t_."+n+") ";else if("object"==typeof e[n])if($p.utils.is_data_obj(e[n]))t+="\n AND (_t_."+n+" = '"+e[n]+"') ";else{var a,i=Object.keys(e[n]),s=e[n][i[0]],l=r.fields[n];l&&l.type.is_ref&&(a=_md.value_mgr({},n,l.type,!0,s)),t+="not"==i[0]?"\n AND (not _t_."+n+" = '"+s+"') ":"\n AND (_t_."+n+" = '"+s+"') "}else t+="string"==typeof e[n]?"\n AND (_t_."+n+" = '"+e[n]+"') ":"\n AND (_t_."+n+" = "+e[n]+") ";else"is_folder"==n&&r.hierarchical&&r.group_hierarchy})),t}function i(){return""}var s=e.filter||"";s&&s.indexOf("%")==-1&&(s="%"+s+"%");var l;return l=o.sql_selection_list_flds?o.sql_selection_list_flds():("SELECT %2 FROM `"+o.table_name+"` AS _t_ %j %3 %4 LIMIT 300").replace("%2",t()).replace("%j",n()),l.replace("%3",a()).replace("%4",i())}function n(){var t="CREATE TABLE IF NOT EXISTS ",n=!0;if(e&&e.postgres){t+=o.table_name+" (",r.splitted&&(t+="zone integer",n=!1);for(s in r.dimensions)n?(t+=s,n=!1):t+=", "+s,t+=_md.sql_type(o,s,r.dimensions[s].type,!0)+_md.sql_composite(r.dimensions,s,"",!0);for(s in r.resources)t+=", "+s+_md.sql_type(o,s,r.resources[s].type,!0)+_md.sql_composite(r.resources,s,"",!0);for(s in r.attributes)t+=", "+s+_md.sql_type(o,s,r.attributes[s].type,!0)+_md.sql_composite(r.attributes,s,"",!0);t+=", PRIMARY KEY (",n=!0,r.splitted&&(t+="zone",n=!1);for(s in r.dimensions)n?(t+=s,n=!1):t+=", "+s}else{t+="`"+o.table_name+"` (ref CHAR PRIMARY KEY NOT NULL, `_deleted` BOOLEAN";for(s in r.dimensions)t+=_md.sql_mask(s)+_md.sql_type(o,s,r.dimensions[s].type);for(s in r.resources)t+=_md.sql_mask(s)+_md.sql_type(o,s,r.resources[s].type);for(s in r.attributes)t+=_md.sql_mask(s)+_md.sql_type(o,s,r.attributes[s].type)}return t+=")"}function a(){var e="INSERT OR REPLACE INTO `"+o.table_name+"` (",t=[],n=!0;for(s in r.dimensions)n?(e+=s,n=!1):e+=", "+s,t.push(s);for(s in r.resources)e+=", "+s,t.push(s);for(s in r.attributes)e+=", "+s,t.push(s);for(e+=") VALUES (?",s=1;s<t.length;s++)e+=", ?";return e+=")",{sql:e,fields:t}}function i(){var t="SELECT * FROM `"+o.table_name+"` WHERE ",n=!0;e._values=[];for(var a in r.dimensions)n?n=!1:t+=" and ",t+="`"+a+"`=?",e._values.push(e[a]);return n&&(t+="1"),t}var s,o=this,r=o.metadata(),l={},c=e&&e.action?e.action:"create_table";return"create_table"==c?l=n():c in{insert:"",update:"",replace:""}?l[o.table_name]=a():"select"==c?l=i():"select_all"==c?l=i():"delete"==c?l="DELETE FROM `"+o.table_name+"` WHERE ref = ?":"drop"==c?l="DROP TABLE IF EXISTS `"+o.table_name+"`":"get_selection"==c&&(l=t()),l}},get_ref:{value:function(e){if(e instanceof RegisterRow&&(e=e._obj),e.ref)return e.ref;var t="",n=this.metadata().dimensions;for(var a in n)t+=t?"¶":"",t+=n[a].type.is_ref?$p.utils.fix_guid(e[a]):!e[a]&&n[a].type.digits?"0":n[a].date_part?$p.moment(e[a]||$p.utils.blank.date).format($p.moment.defaultFormatUtc):void 0!=e[a]?String(e[a]):"$";return t}},caption_flds:{value:function(e){var t=e.metadata||this.metadata(),n='<column id="%1" width="%2" type="%3" align="%4" sort="%5">%6</column>',a=[],i="";if(t.form&&t.form.selection)a=t.form.selection.cols;else for(var s in t.dimensions)a.push(new Col_struct(s,"*","ro","left","server",t.dimensions[s].synonym));if(e.get_header&&a.length){i="<head>";for(var o in a)i+=n.replace("%1",a[o].id).replace("%2",a[o].width).replace("%3",a[o].type).replace("%4",a[o].align).replace("%5",a[o].sort).replace("%6",a[o].caption);i+="</head>"}return{head:i,acols:a}}},create:{value:function(e){e&&"object"==typeof e||(e={});var t=this.by_ref[e.ref];if(!t){t=new($p[this.obj_constructor()])(e,this);var n=this.handle_event(t,"after_create");if(n===!1)return Promise.resolve(t);if("object"==typeof n&&n.then)return n}return Promise.resolve(t)}}}),InfoRegManager._extend(RegisterManager),InfoRegManager.prototype.slice_first=function(e){},InfoRegManager.prototype.slice_last=function(e){},LogManager._extend(InfoRegManager),AccumRegManager._extend(RegisterManager),CatManager._extend(RefDataManager),CatManager.prototype.by_name=function(e){var t;return this.find_rows({name:e},function(e){return t=e,!1}),t||(t=this.get()),t},CatManager.prototype.by_id=function(e){var t;return this.find_rows({id:e},function(e){return t=e,!1}),t||(t=this.get()),t},CatManager.prototype.path=function(e){var t,n=[];if(t=e instanceof DataObj?e:this.get(e,!1,!0),t&&n.push({ref:t.ref,presentation:t.presentation}),t&&this.metadata().hierarchical)for(;;){if(t=t.parent,t.empty())break;n.push({ref:t.ref,presentation:t.presentation})}return n},ChartOfCharacteristicManager._extend(CatManager),ChartOfAccountManager._extend(CatManager),DocManager._extend(RefDataManager),TaskManager._extend(CatManager),BusinessProcessManager._extend(CatManager),DataObj.prototype._getter=function(e){var t,n=this._metadata.fields[e].type,a=this._obj?this._obj[e]:"";return"type"==e&&"object"==typeof a?a:"ref"==e?a:n.is_ref?n.digits&&"number"==typeof a?a:n.hasOwnProperty("str_len")&&!$p.utils.is_guid(a)?a:(t=_md.value_mgr(this._obj,e,n))?$p.utils.is_data_mgr(t)?t.get(a,!1):$p.utils.fetch_type(a,t):a?(console.log([e,n,this._obj]),null):void 0:n.date_part?$p.utils.fix_date(this._obj[e],!0):n.digits?$p.utils.fix_number(this._obj[e],!n.hasOwnProperty("str_len")):"boolean"==n.types[0]?$p.utils.fix_boolean(this._obj[e]):this._obj[e]||""},DataObj.prototype.__setter=function(e,t){var n,a=this._metadata.fields[e].type;"type"==e&&t.types?this._obj[e]=t:"ref"==e?this._obj[e]=$p.utils.fix_guid(t):a.is_ref?a.digits&&"number"==typeof t||a.hasOwnProperty("str_len")&&"string"==typeof t&&!$p.utils.is_guid(t)?this._obj[e]=t:(this._obj[e]=$p.utils.fix_guid(t),n=_md.value_mgr(this._obj,e,a,!1,t),n?n instanceof EnumManager?"string"==typeof t?this._obj[e]=t:t?"object"==typeof t&&(this._obj[e]=t.ref||t.name||""):this._obj[e]="":t&&t.presentation?(!t.type||t instanceof DataObj||delete t.type,n.create(t)):$p.utils.is_data_mgr(n)||(this._obj[e]=$p.utils.fetch_type(t,n)):"object"!=typeof t&&(this._obj[e]=t)):a.date_part?this._obj[e]=$p.utils.fix_date(t,!0):a.digits?this._obj[e]=$p.utils.fix_number(t,!a.hasOwnProperty("str_len")):"boolean"==a.types[0]?this._obj[e]=$p.utils.fix_boolean(t):this._obj[e]=t},DataObj.prototype.__notify=function(e){this._data._silent||Object.getNotifier(this).notify({type:"update",name:e,oldValue:this._obj[e]})},DataObj.prototype._setter=function(e,t){this._obj[e]!=t&&(this.__notify(e),this.__setter(e,t),this._data._modified=!0)},DataObj.prototype._getter_ts=function(e){return this._ts_(e)},DataObj.prototype._setter_ts=function(e,t){var n=this._ts_(e);n instanceof TabularSection&&Array.isArray(t)&&n.load(t)},DataObj.prototype.__define({valueOf:{value:function(){return this.ref}},toJSON:{value:function(){return this._obj}},toString:{value:function(){return this.presentation}},_metadata:{get:function(){return this._manager.metadata()}},_deleted:{get:function(){return!!this._obj._deleted}},_modified:{get:function(){return!!this._data&&!!this._data._modified}},is_new:{value:function(){return this._data._is_new}},_set_loaded:{value:function(e){return this._manager.push(this,e),this._data._modified=!1,this._data._is_new=!1,this}},mark_deleted:{value:function(e){return this._obj._deleted=!!e,this.save(),this.__notify("_deleted"),this}},ref:{get:function(){return this._obj.ref},set:function(e){this._obj.ref=$p.utils.fix_guid(e)},enumerable:!0,configurable:!0},empty:{value:function(){return $p.utils.is_empty_guid(this._obj.ref)}},load:{value:function(){var e=function(){return e=null,this._data._modified=!1,this}.bind(this);return this.ref==$p.utils.blank.guid?(this instanceof CatObj?this.id="000000000":this.number_doc="000000000",Promise.resolve(this)):this._manager.cachable&&"e1cib"!=this._manager.cachable?$p.wsql.pouch.load_obj(this).then(e):_rest.load_obj(this).then(e)}},unload:{value:function(){var e,t=this._obj;this._manager.unload_obj(this.ref),this._observers&&(this._observers.length=0),this._notis&&(this._notis.length=0);for(e in this._metadata.tabular_sections)this[e].clear(!0);for(e in this)this.hasOwnProperty(e)&&delete this[e];for(e in t)delete t[e];["_ts_","_obj","_data"].forEach(function(e){delete this[e]}.bind(this)),e=t=null}},save:{value:function(e,t,n){if(this instanceof DocObj&&"boolean"==typeof e){var a=this.posted;this.posted=e}var i,s=this._manager.handle_event(this,"before_save"),o=function(){return s===!1?this instanceof DocObj&&"boolean"==typeof a&&this.posted!=a&&(this.posted=a):this._data._modified=!1,i=null,s=null,o=null,this}.bind(this);if(s===!1)return Promise.reject(o());if(s instanceof Promise||"object"==typeof s&&s.then)return s.then(o);if(this._metadata.hierarchical&&!this._obj.parent&&(this._obj.parent=$p.utils.blank.guid), this instanceof DocObj||this instanceof TaskObj||this instanceof BusinessProcessObj?($p.utils.blank.date==this.date&&(this.date=new Date),this.number_doc||this.new_number_doc()):this.id||this.new_number_doc(),$p.msg&&$p.msg.show_msg)for(var r in this._metadata.fields)if(this._metadata.fields[r].mandatory&&!this._obj[r])return $p.msg.show_msg({title:$p.msg.mandatory_title,type:"alert-error",text:$p.msg.mandatory_field.replace("%1",this._metadata.fields[r].synonym)}),s=!1,Promise.reject(o());return i=this._manager.cachable&&"e1cib"!=this._manager.cachable?$p.wsql.pouch.save_obj:_rest.save_irest,i(this,{post:e,operational:t,attachments:n}).then(function(e){return e._manager.handle_event(e,"after_save")}).then(o)}},get_attachment:{value:function(e){return this._manager.get_attachment(this.ref,e)}},save_attachment:{value:function(e,t,n){return this._manager.save_attachment(this.ref,e,t,n).then(function(t){return this._attachments||(this._attachments={}),this._attachments[e]&&t.stub||(this._attachments[e]=t),t}.bind(this))}},delete_attachment:{value:function(e){return this._manager.delete_attachment(this.ref,e).then(function(t){return this._attachments&&delete this._attachments[e],t}.bind(this))}},_silent:{value:function(e){"boolean"==typeof e?this._data._silent=e:(this._data._silent=!0,setTimeout(function(){this._data._silent=!1}.bind(this)))}},print:{value:function(e,t){return this._manager.print(this,e,t)}}}),CatObj._extend(DataObj),CatObj.prototype.__define("id",{get:function(){return this._obj.id||""},set:function(e){this.__notify("id"),this._obj.id=e},enumerable:!0}),CatObj.prototype.__define("name",{get:function(){return this._obj.name||""},set:function(e){this.__notify("name"),this._obj.name=String(e)},enumerable:!0}),DocObj._extend(DataObj),DocObj.prototype.__define({posted:{get:function(){return this._obj.posted||!1},set:function(e){this.__notify("posted"),this._obj.posted=$p.utils.fix_boolean(e)},enumerable:!0}}),doc_props_date_number(DocObj.prototype),DataProcessorObj._extend(DataObj),TaskObj._extend(CatObj),doc_props_date_number(TaskObj.prototype),BusinessProcessObj._extend(CatObj),doc_props_date_number(BusinessProcessObj.prototype),EnumObj._extend(DataObj),EnumObj.prototype.__define({order:{get:function(){return this._obj.sequence},set:function(e){this._obj.sequence=parseInt(e)},enumerable:!0},name:{get:function(){return this._obj.ref},set:function(e){this._obj.ref=String(e)},enumerable:!0},synonym:{get:function(){return this._obj.synonym||""},set:function(e){this._obj.synonym=String(e)},enumerable:!0},presentation:{get:function(){return this.synonym||this.name}},empty:{value:function(){return!this.ref||"_"==this.ref}}}),RegisterRow._extend(DataObj),RegisterRow.prototype.__define({_metadata:{get:function(){var e=this._manager.metadata();return e.fields||(e.fields={}._mixin(e.dimensions)._mixin(e.resources)._mixin(e.attributes)),e}},ref:{get:function(){return this._manager.get_ref(this)},enumerable:!0},presentation:{get:function(){return this._metadata.obj_presentation||this._metadata.synonym}}}),TabularSection.prototype.toString=function(){return"Табличная часть "+this._owner._manager.class_name+"."+this._name},TabularSection.prototype.get=function(e){return this._obj[e]?this._obj[e]._row:null},TabularSection.prototype.count=function(){return this._obj.length},TabularSection.prototype.clear=function(e){for(var t in this._obj)delete this._obj[t];return this._obj.length=0,e||this._owner._data._silent||Object.getNotifier(this._owner).notify({type:"rows",tabular:this._name}),this},TabularSection.prototype.del=function(e,t){var n,a=this._obj;if("undefined"!=typeof e){if("number"==typeof e)n=e;else if(a[e.row-1]._row===e)n=e.row-1;else for(var i in a)if(a[i]._row===e){n=Number(i),delete a[i]._row;break}void 0!=n&&(a.splice(n,1),a.forEach(function(e,t){e.row=t+1}),t||this._owner._data._silent||Object.getNotifier(this._owner).notify({type:"rows",tabular:this._name}),this._owner._data._modified=!0)}},TabularSection.prototype.find=function(e,t){var n=$p._find(this._obj,e,t);if(n)return n._row},TabularSection.prototype.find_rows=function(e,t){var n=this,a=t?function(e){return t.call(n,e._row)}:null;return $p._find_rows.call(n,n._obj,e,a)},TabularSection.prototype.swap=function(e,t){var n=this._obj[e];this._obj[e]=this._obj[t],this._obj[t]=n,this._owner._data._silent||Object.getNotifier(this._owner).notify({type:"rows",tabular:this._name})},TabularSection.prototype.add=function(e,t){var n=new($p[this._owner._manager.obj_constructor(this._name)])(this);e||(e={});for(var a in n._metadata.fields)n[a]=e[a]||"";return n._obj.row=this._obj.push(n._obj),n._obj.__define("_row",{value:n,enumerable:!1}),t||this._owner._data._silent||Object.getNotifier(this._owner).notify({type:"rows",tabular:this._name}),e=null,this._owner._data._modified=!0,n},TabularSection.prototype.each=function(e){var t=this;t._obj.forEach(function(n){return e.call(t,n._row)})},TabularSection.prototype.forEach=TabularSection.prototype.each,TabularSection.prototype.group_by=function(e,t){try{var n=this.aggregate(e,t,"SUM",!0);return this.clear(!0).load(n)}catch(e){}},TabularSection.prototype.sort=function(e){"string"==typeof e&&(e=e.split(","));var t="select * from ? order by ",n=!0;e.forEach(function(e){e=e.trim().replace(/\s{1,}/g," ").split(" "),n?n=!1:t+=", ",t+="`"+e[0]+"`",e[1]&&(t+=" "+e[1])});try{return n=$p.wsql.alasql(t,[this._obj]),this.clear(!0).load(n)}catch(e){$p.record_log(e)}},TabularSection.prototype.aggregate=function(e,t,n,a){if("string"==typeof e&&(e=e.split(",")),"string"==typeof t&&(t=t.split(",")),n||(n="sum"),!e.length&&1==t.length&&"sum"==n)return this._obj.reduce(function(e,n,a,i){return e+n[t[0]]},0);var i,s=!0;t.forEach(function(e){i?i+=", "+n+"(`"+e+"`) `"+e+"`":i="select "+n+"(`"+e+"`) `"+e+"`"}),e.forEach(function(e){i?i+=", `"+e+"`":i="select `"+e+"`"}),i+=" from ? ",e.forEach(function(e){s?(i+="group by ",s=!1):i+=", ",i+="`"+e+"`"});try{return s=$p.wsql.alasql(i,[this._obj]),a||(s=1==t.length?s.length?s[0][t[0]]:0:s.length?s[0]:{}),s}catch(e){$p.record_log(e)}},TabularSection.prototype.load=function(e){var t,n=this;return n.clear(!0),e instanceof TabularSection?t=e._obj:Array.isArray(e)&&(t=e),t&&t.forEach(function(e){n.add(e,!0)}),this._owner._data._silent||Object.getNotifier(n._owner).notify({type:"rows",tabular:n._name}),n},TabularSection.prototype.sync_grid=function(e,t){for(var n={rows:[]},a=[],i=0;i<e.getColumnCount();i++)a.push(e.getColumnId(i));if(e.clearAll(),this.find_rows(t,function(e){var t=[];a.forEach(function(n){$p.utils.is_data_obj(e[n])?t.push(e[n].presentation):t.push(e[n])}),n.rows.push({id:e.row,data:t})}),e.objBox)try{e.parse(n,"json"),e.callEvent("onGridReconstructed",[])}catch(e){}},TabularSection.prototype.toJSON=function(){return this._obj},TabularSectionRow.prototype.__define("_metadata",{get:function(){return this._owner._owner._metadata.tabular_sections[this._owner._name]},enumerable:!1}),TabularSectionRow.prototype.__define("row",{get:function(){return this._obj.row||0},enumerable:!0}),TabularSectionRow.prototype.__define("_clone",{value:function(){return new($p[this._owner._owner._manager.obj_constructor(this._owner._name)])(this._owner)._mixin(this._obj)},enumerable:!1}),TabularSectionRow.prototype._getter=DataObj.prototype._getter,TabularSectionRow.prototype._setter=function(e,t){if(this._obj[e]!=t&&(t||this._obj[e]!=$p.utils.blank.guid)){if(this._owner._owner._data._silent||Object.getNotifier(this._owner._owner).notify({type:"row",row:this,tabular:this._owner._name,name:e,oldValue:this._obj[e]}),this._metadata.fields[e].choice_type){var n;n=2==this._metadata.fields[e].choice_type.path.length?this[this._metadata.fields[e].choice_type.path[1]]:this._owner._owner[this._metadata.fields[e].choice_type.path[0]],n&&n.type&&(t=$p.utils.fetch_type(t,n.type))}DataObj.prototype.__setter.call(this,e,t),this._owner._owner._data._modified=!0}};var _rest=$p.rest=new Rest;DataManager.prototype.__define("rest_name",{get:function(){var e=this.class_name.split("."),t={cat:"Catalog",doc:"Document",ireg:"InformationRegister",areg:"AccumulationRegister",cch:"ChartOfCharacteristicTypes",cacc:"ChartOfAccounts",tsk:"Task",bp:"BusinessProcess"};return t[e[0]]+"_"+_md.syns_1с(e[1])},enumerable:!1}),DataManager.prototype.rest_tree=function(e){var t,n,a=this,i=a.metadata(),s=[];return $p.ajax.default_attr(e,!i.irest&&$p.job_prm.rest?$p.job_prm.rest_url():$p.job_prm.irest_url()),e.url+=this.rest_name+"?allowedOnly=true&$format=json&$top=1000&$select=Ref_Key,DeletionMark,Parent_Key,Description&$filter=IsFolder eq true",$p.ajax.get_ex(e.url,e).then(function(e){return JSON.parse(e.response)}).then(function(e){for(var a=0;a<e.value.length;a++)n=e.value[a],t={ref:n.Ref_Key,_deleted:n.DeletionMark,parent:n.Parent_Key,presentation:n.Description},s.push(t);return $p.iface.data_to_tree(s)})},DataManager.prototype.rest_selection=function(e){if("get_tree"==e.action)return this.rest_tree(e);var t,n,a,i,s,o,r=this,l=r.metadata(),c=[],p=[];return s=function(){var e="$select=Ref_Key,DeletionMark";return l.form&&l.form.selection?l.form.selection.fields.forEach(function(e){c.push(e)}):r instanceof DocManager?(c.push("posted"),c.push("date"),c.push("number_doc")):r instanceof TaskManager?(c.push("name as presentation"),c.push("date"),c.push("number_doc"),c.push("completed")):r instanceof BusinessProcessManager?(c.push("date"),c.push("number_doc"),c.push("started"),c.push("finished")):(l.hierarchical&&l.group_hierarchy?c.push("is_folder"):c.push("0 as is_folder"),l.main_presentation_name?c.push("name as presentation"):l.code_length?c.push("id as presentation"):c.push("'...' as presentation"),l.has_owners&&c.push("owner"),l.code_length&&c.push("id")),c.forEach(function(t){var n;if(t.indexOf(" as ")!=-1)if(n=t.split(" as ")[0].split("."),1==n.length)t=n[0];else{if("_t_"!=n[0])return;t=n[1]}"0"!=t&&(a=_md.syns_1с(t),_md.get(r.class_name,t).type.is_ref&&a.indexOf("_Key")==-1&&_md.get(r.class_name,t).type.types.length&&_md.get(r.class_name,t).type.types[0].indexOf("enm.")==-1&&(a+="_Key"),e+=","+a)}),c.push("ref"),c.push("_deleted"),e}(),$p.ajax.default_attr(e,!l.irest&&$p.job_prm.rest?$p.job_prm.rest_url():$p.job_prm.irest_url()),e.url+=(l.irest&&l.irest.selection?l.irest.selection:this.rest_name)+"?allowedOnly=true&$format=json&$top=1000&"+s,_md.get(r.class_name,"date")&&(e.date_from||e.date_till)&&(e.url+="&$filter="+_rest.filter_date("Date",e.date_from,e.date_till),o=!0),l.hierarchical&&e.parent&&(e.url+=o?" and ":"&$filter=",e.url+="Parent_Key eq guid'"+e.parent+"'",o=!0),l.has_owners&&e.owner&&(e.url+=o?" and ":"&$filter=",e.url+="Owner_Key eq guid'"+e.owner+"'",o=!0),e.filter&&(e.url+=o?" and ":"&$filter=",e.url+="$filter eq '"+e.filter+"'",o=!0),$p.ajax.get_ex(e.url,e).then(function(e){return JSON.parse(e.response)}).then(function(s){for(var o=0;o<s.value.length;o++)n=s.value[o],t={},c.forEach(function(e){var s;if("ref"==e)return void(t[e]=n.Ref_Key);if(e.indexOf(" as ")!=-1?(s=e.split(" as ")[1],e=e.split(" as ")[0].split("."),e=e[e.length-1]):s=e,a=_md.syns_1с(e),i=_md.get(r.class_name,e))if(a.indexOf("_Key")==-1&&i.type.is_ref&&i.type.types.length&&i.type.types[0].indexOf("enm.")==-1&&(a+="_Key"),i.type.date_part)t[s]=$p.moment(n[a]).format($p.moment._masks[i.type.date_part]);else if(i.type.is_ref)if(n[a]&&n[a]!=$p.utils.blank.guid){var o=_md.value_mgr(t,e,i.type,!1,n[a]);o?t[s]=o.get(n[a]).presentation:t[s]=""}else t[s]="";else t[s]=n[a]}),p.push(t);return $p.iface.data_to_grid.call(r,p,e)})},InfoRegManager.prototype.rest_slice_last=function(e){e.period||(e.period=$p.utils.date_add_day(new Date,1));var t=this,n=t.metadata(),a="Period=datetime'"+$p.moment(e.period).format($p.moment._masks.iso)+"'",i="";for(var s in n.dimensions)if(void 0!==e[s]){var o=_md.syns_1с(s),r=n.dimensions[s];o.indexOf("_Key")==-1&&r.type.is_ref&&r.type.types.length&&r.type.types[0].indexOf("enm.")==-1?(o+="_Key",i&&(i+=" and "),i+=o+" eq guid'"+e[s].ref+"'"):(i&&(i+=" and "),i+=r.type.digits?o+" eq "+$p.utils.fix_number(e[s]):r.type.date_part?o+" eq datetime'"+$p.moment(e[s]).format($p.moment._masks.iso)+"'":o+" eq '"+e[s]+"'")}return i&&(a+=",Condition='"+i+"'"),$p.ajax.default_attr(e,$p.job_prm.rest_url()),e.url+=this.rest_name+"/SliceLast(%sl)?allowedOnly=true&$format=json&$top=1000".replace("%sl",a),_rest.ajax_to_data(e,t).then(function(e){return t.load_array(e)})},DataObj.prototype.to_atom=function(e){function t(e){var t=e._metadata.fields,i=e instanceof TabularSectionRow?"\n\t<d:":"\n<d:";for(n in t){if(a=t[n],r=_md.syns_1с(n),l=e[n],l instanceof EnumObj)l=l.empty()?"":l.name;else if(l instanceof DataObj)r.indexOf("_Key")==-1&&(r+="_Key"),l=l.ref;else if(a.type.date_part)l=l.getFullYear()<1e3?"0001-01-01T00:00:00Z":$p.moment(l).format($p.moment.defaultFormatUtc);else if(void 0==l)continue;p+=i+r+">"+l+"</d:"+r+">"}}var n,a,i,s,o,r,l,c='<entry><category term="StandardODATA.%n" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>\t\t\t\t\n<title type="text"/><updated>%d</updated><author/><summary/><content type="application/xml">\t\t\t\t\n<m:properties xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">\t\t\t%p\t\t\t\n</m:properties></content></entry>'.replace("%n",this._manager.rest_name).replace("%d",$p.moment().format($p.moment.defaultFormatUtc)),p="\n<d:Ref_Key>"+this.ref+"</d:Ref_Key>\n<d:DeletionMark>"+this._deleted+"</d:DeletionMark>";this instanceof DocObj?(p+="\n<d:Date>"+$p.moment(this.date).format($p.moment.defaultFormatUtc)+"</d:Date>",p+="\n<d:Number>"+this.number_doc+"</d:Number>"):(this._metadata.main_presentation_name&&(p+="\n<d:Description>"+this.name+"</d:Description>"),this._metadata.code_length&&(p+="\n<d:Code>"+this.id+"</d:Code>"),this._metadata.hierarchical&&this._metadata.group_hierarchy&&(p+="\n<d:IsFolder>"+this.is_folder+"</d:IsFolder>")),t(this);for(i in this._metadata.tabular_sections)o=this._metadata.tabular_sections[i],r="StandardODATA."+this._manager.rest_name+"_"+_md.syns_1с(i)+"_RowType",s=this[i],s.count()?(p+="\n<d:"+_md.syns_1с(i)+' m:type="Collection('+r+')">',s.each(function(e){p+='\n\t<d:element m:type="'+r+'">',p+="\n\t<d:LineNumber>"+e.row+"</d:LineNumber>",t(e),p+="\n\t</d:element>"}),p+="\n</d:"+_md.syns_1с(i)+">"):p+="\n<d:"+_md.syns_1с(i)+' m:type="Collection('+r+')" />';return c.replace("%p",p)},DataManager.prototype.__define({pouch_load_array:{value:function(e,t){var n={limit:e.length+1,include_docs:!0,keys:e.map(function(e){return this.class_name+"|"+e}.bind(this))};return t&&(n.attachments=!0,n.binary=!0),this.pouch_db.allDocs(n).then(function(e){return $p.wsql.pouch.load_changes(e,{})})}},pouch_load_view:{value:function(e){var t,n=this,a=[],i={limit:1e3,include_docs:!0,startkey:n.class_name+"|",endkey:n.class_name+"|￿"};return new Promise(function(s,o){function r(l,c){c?c.rows.length?(i.startkey=c.rows[c.rows.length-1].key,i.skip=1,c.rows.forEach(function(e){t=e.doc,key=t._id.split("|"),t.ref=key[1],a.push(t)}),n.load_array(a),a.length=0,n.pouch_db.query(e,i,r)):s():l&&o(l)}n.pouch_db.query(e,i,r)})}},pouch_db:{get:function(){return this.cachable.indexOf("_remote")!=-1?$p.wsql.pouch.remote[this.cachable.replace("_remote","")]:$p.wsql.pouch.local[this.cachable]||$p.wsql.pouch.remote[this.cachable]}},pouch_find_rows:{value:function(e){var t,n,a,i,s,o,r=this,l=[],c=0,p=0,d=0,u={limit:100,include_docs:!0,startkey:r.class_name+"|",endkey:r.class_name+"|￿"};return e&&(e._top?(s=e._top,delete e._top):s=300,e._raw&&(n=e._raw,delete e._raw),e._total_count&&(i=e._total_count,delete e._total_count),e._view&&(a=e._view,delete e._view),e._key&&("des"==e._key._order_by?(u.startkey=e._key.endkey||e._key+"￿",u.endkey=e._key.startkey||e._key,u.descending=!0):(u.startkey=e._key.startkey||e._key,u.endkey=e._key.endkey||e._key+"￿")),"number"==typeof e._skip&&(p=e._skip,delete e._skip),e._attachments&&(u.attachments=!0,u.binary=!0,delete e._attachments)),i&&(o=!0,i=0,Object.keys(e).length<=1&&e._key&&e._key.hasOwnProperty("_search"))?(u.include_docs=!1,u.limit=1e5,r.pouch_db.query(a,u).then(function(t){return t.rows.forEach(function(t){if(!e._key._search||t.key[t.key.length-1].toLowerCase().indexOf(e._key._search)!=-1){if(i++,p&&(d++,d<p))return;if(s&&(c++,c>s))return;l.push(t.id)}}),delete u.startkey,delete u.endkey,u.descending&&delete u.descending,u.keys=l,u.include_docs=!0,r.pouch_db.allDocs(u)}).then(function(e){return{rows:e.rows.map(function(e){var t=e.doc;return t.ref=t._id.split("|")[1],n||(delete t._id,delete t._rev),t}),_total_count:i}})):new Promise(function(f,m){function h(a,h){h?h.rows.length?(u.startkey=h.rows[h.rows.length-1].key,u.skip=1,h.rows.forEach(function(a){t=a.doc,key=t._id.split("|"),t.ref=key[1],n||(delete t._id,delete t._rev),$p._selection.call(r,t,e)&&(o&&i++,p&&(d++,d<p)||s&&(c++,c>s)||l.push(t))}),s&&c>s&&!o?f(n?l:r.load_array(l)):_()):f(o?{rows:n?l:r.load_array(l),_total_count:i}:n?l:r.load_array(l)):a&&m(a)}function _(){a?r.pouch_db.query(a,u,h):r.pouch_db.allDocs(u,h)}_()})}},pouch_selection:{value:function(e){var t,n,a,i=this,s=e.metadata||i.metadata(),o=["ref","_deleted"],r={_raw:!0,_total_count:!0,_top:e.count||30,_skip:e.start||0},l=[];if(s.form&&s.form.selection?s.form.selection.fields.forEach(function(e){o.push(e)}):i instanceof DocManager?(o.push("posted"),o.push("date"),o.push("number_doc")):i instanceof TaskManager?(o.push("name as presentation"),o.push("date"),o.push("number_doc"),o.push("completed")):i instanceof BusinessProcessManager?(o.push("date"),o.push("number_doc"),o.push("started"),o.push("finished")):(s.hierarchical&&s.group_hierarchy?o.push("is_folder"):o.push("0 as is_folder"),s.main_presentation_name?o.push("name as presentation"):s.code_length?o.push("id as presentation"):o.push("'...' as presentation"),s.has_owners&&o.push("owner"),s.code_length&&o.push("id")),_md.get(i.class_name,"date")&&(e.date_from||e.date_till)&&(e.date_from||(e.date_from=new Date("2015-01-01")),e.date_till||(e.date_till=$p.utils.date_add_day(new Date,1)),r.date={between:[e.date_from,e.date_till]}),s.hierarchical&&e.parent&&(r.parent=e.parent),e.selection)if(Array.isArray(e.selection))e.selection.forEach(function(e){for(a in e)"_"==a[0]&&"_view"!=a&&"_key"!=a||(r[a]=e[a])});else for(a in e.selection)"_"==a[0]&&"_view"!=a&&"_key"!=a||(r[a]=e.selection[a]);return r._key&&r._key._drop_date&&r.date&&delete r.date,!e.filter||r._key&&r._key._search||(1==s.input_by_string.length?r[s.input_by_string]={like:e.filter}:(r.or=[],s.input_by_string.forEach(function(t){var n={};n[t]={like:e.filter},r.or.push(n)}))),r._key&&r._key._order_by&&(r._key._order_by=e.direction),i.pouch_find_rows(r).then(function(s){return s.hasOwnProperty("_total_count")&&s.hasOwnProperty("rows")&&(e._total_count=s._total_count,s=s.rows),s.forEach(function(e){t={},o.forEach(function(s){if("ref"==s)return void(t[s]=e[s]);if(s.indexOf(" as ")!=-1?(a=s.split(" as ")[1],s=s.split(" as ")[0].split("."),s=s[s.length-1]):a=s,n=_md.get(i.class_name,s))if(n.type.date_part)t[a]=$p.moment(e[s]).format($p.moment._masks[n.type.date_part]);else if(n.type.is_ref)if(e[s]&&e[s]!=$p.utils.blank.guid){var o=_md.value_mgr(t,s,n.type,!1,e[s]);o?t[a]=o.get(e[s]).presentation:t[a]=""}else t[a]="";else"number"==typeof e[s]&&n.type.fraction_figits?t[a]=e[s].toFixed(n.type.fraction_figits):t[a]=e[s]}),l.push(t)}),$p.iface.data_to_grid.call(i,l,e)}).catch($p.record_log)}},pouch_tree:{value:function(e){return this.pouch_find_rows({is_folder:!0,_raw:!0,_top:e.count||300,_skip:e.start||0}).then(function(e){return e.sort(function(e,t){return e.parent==$p.utils.blank.guid&&t.parent!=$p.utils.blank.guid?-1:t.parent==$p.utils.blank.guid&&e.parent!=$p.utils.blank.guid?1:e.name<t.name?-1:e.name>t.name?1:0}),e.map(function(e){return{ref:e.ref,parent:e.parent,presentation:e.name}})}).then($p.iface.data_to_tree)}},save_attachment:{value:function(e,t,n,a){a||(a={type:"text/plain"}),n instanceof Blob||a.indexOf("text")!=-1||(n=new Blob([n],{type:a}));var i,s=this.pouch_db;return e=this.class_name+"|"+$p.utils.fix_guid(e),s.get(e).then(function(e){e&&(i=e._rev)}).catch(function(e){if(404!=e.status)throw e}).then(function(){return s.putAttachment(e,t,i,n,a)})}},get_attachment:{value:function(e,t){return this.pouch_db.getAttachment(this.class_name+"|"+$p.utils.fix_guid(e),t)}},delete_attachment:{value:function(e,t){var n,a=this.pouch_db;return e=this.class_name+"|"+$p.utils.fix_guid(e),a.get(e).then(function(e){e&&(n=e._rev)}).catch(function(e){if(404!=e.status)throw e}).then(function(){return a.removeAttachment(e,t,n)})}}}),DataObj.prototype.__define({new_number_doc:{value:function(e){if(this._metadata.code_length){e||(e=($p.current_acl&&$p.current_acl.prefix||"")+(this.organization&&this.organization.prefix?this.organization.prefix:$p.wsql.get_user_param("zone")+"-"));var t=this,n="",a=this.date instanceof Date?this.date.getFullYear():0,i=this._metadata.code_length-e.length;return"ram"==this._manager.cachable?Promise.resolve(this.new_cat_id(e)):t._manager.pouch_db.query("doc/number_doc",{limit:1,include_docs:!1,startkey:[t._manager.class_name,a,e+"￿"],endkey:[t._manager.class_name,a,e],descending:!0}).then(function(a){if(a.rows.length){for(var s=a.rows[0].key[2],o=s.length-1;o>0&&!isNaN(parseInt(s[o]));o--)n=s[o]+n;n=(parseInt(n||0)+1).toFixed(0)}else n="1";for(;n.length<i;)n="0"+n;return t instanceof DocObj||t instanceof TaskObj||t instanceof BusinessProcessObj?t.number_doc=e+n:t.id=e+n,t})}}},new_cat_id:{value:function(e){e||(e=($p.current_acl&&$p.current_acl.prefix||"")+(this.organization&&this.organization.prefix?this.organization.prefix:$p.wsql.get_user_param("zone")+"-"));var t=this._metadata.code_length-e.length,n=this instanceof DocObj||this instanceof TaskObj||this instanceof BusinessProcessObj?"number_doc":"id",a="",i=$p.wsql.alasql("select top 1 "+n+" as id from ? where "+n+" like '"+e+"%' order by "+n+" desc",[this._manager.alatable]);if(i.length){for(var s=i[0].id||"",o=s.length-1;o>0&&!isNaN(parseInt(s[o]));o--)a=s[o]+a;a=(parseInt(a||0)+1).toFixed(0)}else a="1";for(;a.length<t;)a="0"+a;return this[n]=e+a,this}}}),$p.iface.OBtnAuthSync=function(){function e(){$p.wsql.pouch.authorized?dhtmlx.confirm({title:$p.msg.log_out_title,text:$p.msg.logged_in+$p.wsql.pouch.authorized+$p.msg.log_out_break,cancel:$p.msg.cancel,callback:function(e){e&&$p.wsql.pouch.log_out()}}):$p.iface.frm_auth({modal_dialog:!0})}function t(e){e&&a?clearTimeout(a):i.forEach(function(t){e?t.buttons.sync.innerHTML='<i class="fa fa-refresh fa-spin md-fa-lg"></i>':$p.wsql.pouch.authorized?t.buttons.sync.innerHTML='<i class="fa fa-refresh md-fa-lg"></i>':t.buttons.sync.innerHTML='<i class="fa fa-ban md-fa-lg"></i>'}),a=e?setTimeout(t,3e3):0}function n(){i.forEach(function(e){$p.wsql.pouch.authorized?(e.buttons.auth.title="Отключиться от сервера",e.buttons.auth.innerHTML='<span class="span_user">'+$p.wsql.pouch.authorized+"</span>",e.buttons.sync.title="Синхронизация выполняется...",e.buttons.sync.innerHTML='<i class="fa fa-refresh md-fa-lg"></i>'):(e.buttons.auth.title="Войти на сервер и включить синхронизацию данных",e.buttons.auth.innerHTML=' <i class="fa fa-sign-in md-fa-lg"></i><span class="span_user">Вход...</span>',e.buttons.sync.title="Синхронизация не выполняется - пользователь не авторизован на сервере",e.buttons.sync.innerHTML='<i class="fa fa-ban md-fa-lg"></i>')})}var a,i=[];this.bind=function(t){return t.buttons.auth.onclick=e,t.buttons.sync.onclick=null,i.push(t),setTimeout(n),t},$p.on({pouch_load_data_start:function(e){$p.iface.sync||$p.iface.wnd_sync(),$p.iface.sync.create($p.eve.stepper),$p.eve.stepper.frm_sync.setItemValue("text_bottom","Читаем справочники"),e.hasOwnProperty("local_rows")&&e.local_rows<10?($p.eve.stepper.wnd_sync.setText("Первый запуск - подготовка данных"),$p.eve.stepper.frm_sync.setItemValue("text_processed","Загрузка начального образа")):($p.eve.stepper.wnd_sync.setText("Загрузка данных из IndexedDB"),$p.eve.stepper.frm_sync.setItemValue("text_processed","Извлечение начального образа")),t(!0)},pouch_load_data_page:function(e){if(t(!0),$p.eve.stepper.wnd_sync){var n=e.docs_written||e.page*e.limit;$p.eve.stepper.frm_sync.setItemValue("text_current","Обработано элементов: "+n+" из "+e.total_rows),$p.eve.stepper.frm_sync.setItemValue("text_bottom","Текущий запрос: "+e.page+" ("+(100*n/e.total_rows).toFixed(0)+"%)")}},pouch_change:function(e,n){t(!0)},pouch_load_data_loaded:function(e){$p.eve.stepper.wnd_sync&&(e.docs_written?$p.iface.sync.close():$p.iface.sync.close())},pouch_load_data_error:function(e){t(),$p.eve.stepper.wnd_sync&&$p.iface.sync.close()},log_in:function(e){n()},log_out:function(){n()}})};var eXcell_proto=new eXcell;eXcell_proto.input_keydown=function(e,t){function n(e){t.source.on_select&&t.source.on_select.call(t.source,e)}if(8===e.keyCode||46===e.keyCode)t.setValue(""),t.grid.editStop(),t.source.on_select&&t.source.on_select.call(t.source,"");else if(9===e.keyCode||13===e.keyCode)t.grid.editStop();else if(115===e.keyCode)t.cell.firstChild.childNodes[1].onclick(e);else if(113===e.keyCode)if(t.source.tabular_section){if(t.mgr=_md.value_mgr(t.source.row,t.source.col,t.source.row._metadata.fields[t.source.col].type),t.mgr){var a=t.source.row[t.source.col];t.mgr.form_obj(t.source.wnd,{o:a,on_select:n})}}else if(1==t.fpath.length&&(t.mgr=_md.value_mgr(t.source.o._obj,t.fpath[0],t.source.o._metadata.fields[t.fpath[0]].type),t.mgr)){var a=t.source.o[t.fpath[0]];t.mgr.form_obj(t.source.wnd,{o:a,on_select:n})}return $p.iface.cancel_bubble(e)},eXcell_ocombo.prototype=eXcell_proto,window.eXcell_ocombo=eXcell_ocombo,window.eXcell_ref=eXcell_ocombo,window.eXcell_refc=eXcell_ocombo,eXcell_pwd.prototype=eXcell_proto,window.eXcell_pwd=eXcell_pwd,dhtmlXCalendarObject.prototype._dateToStr=function(e,t){return e instanceof Date&&e.getFullYear()<1e3?"":window.dhx4.date2str(e,t||this._dateFormat,this._dateStrings())},eXcell_dhxCalendar.prototype.edit=function(){var e=this.grid.getPosition(this.cell);this.grid._grid_calendarA._show(!1,!1),this.grid._grid_calendarA.setPosition(e[0],e[1]+this.cell.offsetHeight),this.grid._grid_calendarA._last_operation_calendar=!1,this.grid.callEvent("onCalendarShow",[this.grid._grid_calendarA,this.cell.parentNode.idd,this.cell._cellIndex]),this.cell._cediton=!0,this.val=this.cell.val,this.val instanceof Date&&this.val.getFullYear()<1e3&&(this.val=new Date),this._val=this.cell.innerHTML;var t=this.grid._grid_calendarA.draw;this.grid._grid_calendarA.draw=function(){},this.grid._grid_calendarA.setDateFormat(this.grid._dtmask||"%d.%m.%Y"),this.grid._grid_calendarA.setDate(this.val||new Date),this.grid._grid_calendarA.draw=t},eXcell_dhxCalendar.prototype.setCValue=function(e,t){this.cell.innerHTML=e instanceof Date?this.grid._grid_calendarA._dateToStr(e):e,this.grid._grid_calendarA.getFormatedDate(this.grid._dtmask||"%d/%m/%Y",e).toString(),this.grid.callEvent("onCellChanged",[this.cell.parentNode.idd,this.cell._cellIndex,arguments.length>1?t:e])},function(){function e(e,t,n,a){if(n.indexOf("odata/standard.odata")!=-1||n.indexOf("/hs/rest")!=-1){var i,s;$p.ajax.authorized?(i=$p.ajax.username,s=$p.aes.Ctr.decrypt($p.ajax.password)):$p.job_prm.guest_name?(i=$p.job_prm.guest_name,s=$p.aes.Ctr.decrypt($p.job_prm.guest_pwd)):(i=$p.wsql.get_user_param("user_name"),s=$p.aes.Ctr.decrypt($p.wsql.get_user_param("user_pwd"))),e.open(t,n,a,i,s),e.withCredentials=!0,e.setRequestHeader("Authorization","Basic "+btoa(unescape(encodeURIComponent(i+":"+s))))}else e.open(t,n,a)}dhx4.ajax._call=function(t,n,a,i,s,o,r){var l=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),c=null!=navigator.userAgent.match(/AppleWebKit/)&&null!=navigator.userAgent.match(/Qt/)&&null!=navigator.userAgent.match(/Safari/);if(1==i&&(l.onreadystatechange=function(){if(4==l.readyState||1==c&&3==l.readyState){if((200!=l.status||""==l.responseText)&&!dhx4.callEvent("onAjaxError",[{xmlDoc:l,filePath:n,async:i}]))return;window.setTimeout(function(){"function"==typeof s&&s.apply(window,[{xmlDoc:l,filePath:n,async:i}]),null!=o&&("undefined"!=typeof o.postData?dhx4.ajax.postLong(o.url,o.postData,s):dhx4.ajax.getLong(o.url,s)),s=null,l=null},1)}}),"GET"==t&&(n+=this._dhxr(n)),l.open(t,n,i),e(l,t,n,i),null!=r)for(var p in r)l.setRequestHeader(p,r[p]);else"POST"==t||"PUT"==t||"DELETE"==t?l.setRequestHeader("Content-Type","application/x-www-form-urlencoded"):"GET"==t&&(a=null);return l.setRequestHeader("X-Requested-With","XMLHttpRequest"),l.send(a),1!=i&&(4==l.readyState||1==c&&3==l.readyState)&&(200==l.status&&""!=l.responseText||dhx4.callEvent("onAjaxError",[{xmlDoc:l,filePath:n,async:i}])),{xmlDoc:l,filePath:n,async:i}},dhtmlx.ajax.prototype.send=function(t,n,a){var i=this.getXHR();if("function"==typeof a&&(a=[a]),"object"==typeof n){var s=[];for(var o in n){var r=n[o];null!==r&&r!==dhtmlx.undefined||(r=""),s.push(o+"="+encodeURIComponent(r))}n=s.join("&")}n&&!this.post&&(t=t+(t.indexOf("?")!=-1?"&":"?")+n,n=null),e(i,this.post?"POST":"GET",t,!this._sync),this.post&&i.setRequestHeader("Content-type","application/x-www-form-urlencoded");var l=this;return i.onreadystatechange=function(){if(!i.readyState||4==i.readyState){if(a&&l)for(var e=0;e<a.length;e++)a[e]&&a[e].call(l.master||l,i.responseText,i.responseXML,i);l.master=null,a=l=null}},i.send(n||null),i}}(),dhtmlXCellObject.prototype.is_visible=function(){var e=this.cell.getBoundingClientRect();return e.right>0&&e.bottom>0},$p.iface.data_to_grid=function(e,t){function n(e){var t;return t=e.hasOwnProperty("posted")?e.posted?"cell_doc_posted":"cell_doc":e.is_folder?"cell_ref_folder":"cell_ref_elm",e._deleted&&(t+="_deleted"),t}function a(e){return e instanceof Date?e.getHours()||e.getMinutes()?$p.moment(e).format($p.moment._masks.date_time):$p.moment(e).format($p.moment._masks.date):"number"==typeof e?e:$p.iface.normalize_xml(e||"")}if(this.data_to_grid)return this.data_to_grid(e,t);var i="<?xml version='1.0' encoding='UTF-8'?><rows total_count='%1' pos='%2' set_parent='%3'>".replace("%1",t._total_count||e.length).replace("%2",t.start).replace("%3",t.set_parent||""),s=this.caption_flds(t);return i+=s.head,e.forEach(function(e){i+='<row id="'+e.ref+'"><cell class="'+n(e)+'">'+a(e[s.acols[0].id])+"</cell>";for(var t=1;t<s.acols.length;t++)i+="<cell>"+a(e[s.acols[t].id])+"</cell>";i+="</row>"}),i+"</rows>"},$p.iface.data_to_tree=function(e){function t(n,a){var i={id:a.ref,text:a.presentation,items:[]};n.push(i),$p._find_rows(e,{parent:a.ref},function(e){t(i.items,e)}),i.items.length||delete i.items}var n=[{id:$p.utils.blank.guid,text:"..."}];return $p._find_rows(e,{parent:$p.utils.blank.guid},function(e){t(n,e)}),n},$p.iface.ODropdownList=ODropdownList,dhtmlXCellObject.prototype.attachDynTree=function(e,t,n){this.setCollapsedText&&this.setCollapsedText("Дерево"),t||(t={is_folder:!0});var a=this.attachTreeView();return a.__define({filter:{get:function(){},set:function(e){t=e},enumerable:!1,configurable:!1}}),setTimeout(function(){e.sync_grid({action:"get_tree",filter:t},a).then(function(e){n&&n(e)})}),a},OCombo._extend(dhtmlXCombo),$p.iface.OCombo=OCombo,$p.iface.select_from_list=function(e,t){return new Promise(function(n,a){function i(e){"cancel"!=e&&(s=c.getSelectedRowId()),l.close()}Array.isArray(e)&&e.length?1==e.length&&n(e[0]):n(void 0);var s,o,r={name:"wnd_select_from_list",wnd:{id:"wnd_select_from_list",width:300,height:300,modal:!0,center:!0,caption:$p.msg.select_from_list,allow_close:!0,on_close:function(){return s&&n(e[parseInt(s)-1]),!0}}},l=$p.iface.dat_blank(null,r.wnd),c=l.attachGrid(),p=l.attachToolbar({items:[{id:"select",type:"button",text:$p.msg.select_from_list},{id:"cancel",type:"button",text:"Отмена"}],onClick:i});c.setIconsPath(dhtmlx.image_path),c.setImagePath(dhtmlx.image_path),c.setHeader($p.msg.value),c.setColTypes("ro"),c.enableAutoWidth(!0,1200,600),c.attachEvent("onRowDblClicked",i),c.enableMultiselect(!!t),c.setNoHeader(!0),c.init(),p.addSpacer("select"),l.hideHeader(),l.cell.offsetParent.querySelector(".dhxwin_brd").style.border="none",e.forEach(function(e,t){ var n;n="object"==typeof e?e.presentation||e.text||e.toString():e.toString(),c.addRow(1+t,n),e.selected&&(o=1+t)}),o&&c.selectRowById(o)})},$p.iface.ODateRangePicker=ODateRangePicker,dhtmlXCellObject.prototype.attachHeadFields=function(e){function t(e){if(a)u.entBox&&!u.entBox.parentElement?setTimeout(u.destructor):e.forEach(function(e){"unload"==e.type?d&&d.close?d.close():u.destructor():u.forEachRow(function(t){t==e.name&&u.cells(t,1).setValue(a[e.name])})});else{var i=[];e.forEach(function(e){i.indexOf[e.object]==-1&&(i.push(e.object),Object.unobserve(e.object,t),c&&c instanceof TabularSection&&Object.unobserve(e.object,n))}),i=null}}function n(t){var n;t.forEach(function(t){!n&&u.clearAll&&l==t.tabular&&(n=!0,u.clearAll(),u.parse(o.get_property_grid_xml(i,a,{title:e.ts_title,ts:l,selection:r,metadata:s}),function(){},"xml"))})}var a,i,s,o,r,l,c,p,d=this,u=d.attachGrid(),f=u.destructor;return new dhtmlXPropertyGrid(u),u.setInitWidthsP("40,60"),u.setDateFormat("%d.%m.%Y %H:%i"),u.init(),u.setSizes(),u.attachEvent("onPropertyChanged",function(e,t,n){if(e||u&&u.getSelectedRowId())return p.on_select(t)}),u.attachEvent("onCheckbox",function(e,t,n){return void 0!=a[e]?p.on_select(n,{obj:a,field:e}):e.split("|").length>1?p.on_select(n,u.get_cell_field(e)):void 0}),u.attachEvent("onKeyPress",function(e,t,n){switch(e){case 13:case 9:u.editStop&&u.editStop();break;case 46:}}),e.read_only&&u.setEditable(!1),u.__define({selection:{get:function(){return r},set:function(e){r=e,this.reload()}},reload:{value:function(){n([{tabular:l}])}},get_cell_field:{value:function(e){if(a){var t={row_id:e||u.getSelectedRowId()},n=t.row_id.split("|");if(n.length<2)return{obj:a,field:n[0]}._mixin(p);var i;return r?a[n[0]].find_rows(r,function(e){if(e.property==n[1]||e.param==n[1]||e.Свойство==n[1]||e.Параметр==n[1])return i=e,!1}):i=a[n[0]].find(n[1]),i?(t.obj=i,i["Значение"]?(t.field="Значение",t.property=i.Свойство||i.Параметр):(t.field="value",t.property=i.property||i.param),t._mixin(p)):void 0}},enumerable:!1},_obj:{get:function(){return a}},_owner_cell:{get:function(){return d}},destructor:{value:function(){a&&Object.unobserve(a,t),c&&c instanceof TabularSection&&Object.unobserve(c,n),a=null,c=null,s=null,o=null,p=null,f.call(u)}},attach:{value:function(e){a&&Object.unobserve(a,t),c&&c instanceof TabularSection&&Object.unobserve(a,n),e.oxml&&(i=e.oxml),e.selection&&(r=e.selection),a=e.obj,s=e.metadata||a._metadata.fields,o=a._manager,l=e.ts||"",c=l?a[l]:a.extra_fields||a["ДополнительныеРеквизиты"],c&&!l&&(l=a.extra_fields?"extra_fields":"ДополнительныеРеквизиты"),p={on_select:function(e,t){if(t||(t=u.get_cell_field()),t){var n=o.handle_event(a,"value_change",{field:t.field,value:e,tabular_section:t.row_id?l:"",grid:u,cell:u.cells(t.row_id||t.field,1),wnd:p.pwnd});return"boolean"!=typeof n&&(t.obj[t.field]=e,n=!0),n}},pwnd:e.pwnd||d},Object.observe(a,t,["update","unload"]),c&&c instanceof TabularSection&&Object.observe(a,n,["row","rows"]),l&&!e.ts_title&&(e.ts_title=a._metadata.tabular_sections[l].synonym),n([{tabular:l}])}}}),e&&u.attach(e),u},dhtmlXGridObject.prototype.get_cell_value=function(){var e=this.get_cell_field();if(e&&e.obj)return e.obj[e.field]},dhtmlXCellObject.prototype.attachTabular=function(e){function t(e){var t=m.getSelectedRowId();return t&&!isNaN(Number(t))?Number(t)-1:void(e||$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",o._metadata.tabular_sections[r].synonym||r),title:(o._metadata.obj_presentation||o._metadata.synonym)+": "+o.presentation}))}function n(e,t,n,a,i){if(2!=e||a==i)return!0;var s=m.get_cell_field(),l=c.handle_event(o,"value_change",{field:s.field,value:a,tabular_section:r,grid:m,row:s.obj,cell:t&&n?m.cells(t,n):m.getSelectedCellIndex()>=0?m.cells():null,wnd:g.pwnd});return"boolean"!=typeof l&&(s.obj[s.field]=a,l=!0),l}function a(e){m.clearAll&&e.some(function(e){if("rows"==e.type&&e.tabular==r)return l.sync_grid(m,f),!0})}function i(e){if(e.length>20)try{l.sync_grid(m,f)}catch(e){}else e.forEach(function(e){r==e.tabular&&(e.row&&m.getSelectedRowId()==e.row.row?void 0!=m.getColIndexById(e.name)&&m.cells(e.row.row,m.getColIndexById(e.name)).setCValue($p.utils.is_data_obj(e.row[e.name])?e.row[e.name].presentation:e.row[e.name]):l.sync_grid(m,f))})}function s(e){if(e.clipboardData.types.indexOf("text/plain")!=-1)try{$p.eve.callEvent("tabular_paste",[{obj:o,grid:m,tsname:r,e:e,data:e.clipboardData.getData("text/plain")}])}catch(e){return}}var o=e.obj,r=e.ts,l=o[r],c=o._manager,p=e.metadata||c.metadata().tabular_sections[r].fields,d=this,u=e.ts_captions||{},f=e.selection;if(e.ts_captions||_md.ts_captions(c.class_name,r,u)){var m=this.attachGrid(),h=this.attachToolbar(),_=m.destructor,g={on_select:function(e){n(2,null,null,e)},pwnd:e.pwnd||d,is_tabular:!0};return m.setDateFormat("%d.%m.%Y %H:%i"),m.enableAccessKeyMap(),m._add_row=function(){if(!e.read_only){var t;if(f)for(var n in f)p[n]&&("object"!=typeof f[n]||$p.is_data_obj(f[n]))&&(t||(t={}),t[n]=f[n]);var a=l.add(t);if(c.handle_event(o,"add_row",{tabular_section:r,grid:m,row:a,wnd:g.pwnd})===!1)return;setTimeout(function(){m.selectRowById(a.row)},100)}},m._del_row=function(){if(!e.read_only){var n=t();if(void 0!=n){if(c.handle_event(o,"del_row",{tabular_section:r,grid:m,row:n,wnd:g.pwnd})===!1)return;l.del(n),setTimeout(function(){m.selectRowById(n<l.count()?n+1:n)},100)}}},h.setIconsPath(dhtmlx.image_path+"dhxtoolbar"+dhtmlx.skin_suffix()),h.loadStruct(e.toolbar_struct||$p.injected_data["toolbar_add_del.xml"],function(){this.attachEvent("onclick",function(e){switch(e){case"btn_add":m._add_row();break;case"btn_delete":m._del_row()}})}),m.setIconsPath(dhtmlx.image_path),m.setImagePath(dhtmlx.image_path),m.setHeader(u.headers),u.min_widths&&m.setInitWidths(u.widths),u.min_widths&&m.setColumnMinWidth(u.min_widths),u.aligns&&m.setColAlign(u.aligns),m.setColSorting(u.sortings),m.setColTypes(u.types),m.setColumnIds(u.fields.join(",")),m.enableAutoWidth(!0,1200,600),m.enableEditTabOnly(!0),m.init(),e.read_only&&(m.setEditable(!1),h.forEachItem(function(e){["btn_add","btn_delete"].indexOf(e)!=-1&&h.disableItem(e)})),m.__define({selection:{get:function(){return f},set:function(e){f=e,a([{tabular:r,type:"rows"}])}},destructor:{value:function(){o&&(Object.unobserve(o,i),Object.unobserve(o,a)),o=null,l=null,p=null,c=null,g=null,d.detachToolbar(),m.entBox.removeEventListener("paste",s),_.call(m)}},get_cell_field:{value:function(){if(l){var e,n,a=t(!0),i=m.getSelectedCellIndex();if(void 0!=a?e=l.get(a):m._last&&(e=l.get(m._last.row)),i>=0?n=m.getColumnId(i):m._last&&(n=m.getColumnId(m._last.cindex)),e&&n)return{obj:e,field:n,metadata:p[n]}._mixin(g)}}},refresh_row:{value:function(e){m.selectRowById(e.row),m.forEachCell(e.row,function(t,n){var a=e[m.getColumnId(n)];t.setCValue($p.utils.is_data_obj(a)?a.presentation:a)})}}}),m.attachEvent("onEditCell",n),m.attachEvent("onRowSelect",function(e,t){l&&(m._last={row:e-1,cindex:t})}),a([{tabular:r,type:"rows"}]),Object.observe(o,i,["row"]),Object.observe(o,a,["rows"]),m.entBox.addEventListener("paste",s),m}},$p.iface.Toolbar_filter=function(e){function t(){i&&clearTimeout(i),i=setTimeout(function(){i&&a.call_event()},500)}function n(e,t){"min"==t?a.сalendar.setSensitiveRange(e.value,null):a.сalendar.setSensitiveRange(null,e.value)}var a=this,i=0,s="desktop"==$p.job_prm.device_type?300:120,o={};e.pos||(e.pos=6),a.__define({custom_selection:{get:function(){return o},enumerable:!1,configurable:!1},toolbar:{get:function(){return e.toolbar},enumerable:!1,configurable:!1},call_event:{value:function(){i&&(clearTimeout(i),i=0),e.onchange.call(a,a.get_filter())}}}),a.toolbar.addText("div_filter",e.pos,""),a.div=a.toolbar.objPull[a.toolbar.idPrefix+"div_filter"],e.pos++,(e.manager instanceof DocManager||e.manager instanceof BusinessProcessManager||e.manager instanceof TaskManager||e.period)&&(s="desktop"==$p.job_prm.device_type?180:120,a.toolbar.addInput("input_date_from",e.pos,"","desktop"==$p.job_prm.device_type?80:72),e.pos++,a.toolbar.addText("lbl_date_till",e.pos,"-"),e.pos++,a.toolbar.addInput("input_date_till",e.pos,"","desktop"==$p.job_prm.device_type?80:72),e.pos++,a.input_date_from=a.toolbar.getInput("input_date_from"),a.input_date_from.onclick=function(){n(a.input_date_till,"max")},a.input_date_till=a.toolbar.getInput("input_date_till"),a.input_date_till.onclick=function(){n(a.input_date_from,"min")},a.сalendar=new dhtmlXCalendarObject([a.input_date_from,a.input_date_till]),a.сalendar.attachEvent("onclick",a.call_event),e.date_from||(e.date_from=new Date((new Date).getFullYear().toFixed()+"-01-01")),e.date_till||(e.date_till=$p.utils.date_add_day(new Date,1)),a.input_date_from.value=$p.moment(e.date_from).format("L"),a.input_date_till.value=$p.moment(e.date_till).format("L"),"doc"!=e.manager.cachable||e.custom_selection||(o._view={get value(){return"doc/by_date"}},o._key={get value(){var t=a.get_filter(!0);return{startkey:[e.manager.class_name,t.date_from.getFullYear(),t.date_from.getMonth()+1,t.date_from.getDate()],endkey:[e.manager.class_name,t.date_till.getFullYear(),t.date_till.getMonth()+1,t.date_till.getDate()],_drop_date:!0,_order_by:!0,_search:t.filter.toLowerCase()}}})),e.hide_filter?a.input_date_till?a.toolbar.addSpacer("input_date_till"):a.toolbar.addSpacer("div_filter"):(a.toolbar.addSeparator("filter_sep",e.pos),e.pos++,a.toolbar.addInput("input_filter",e.pos,"",s),a.input_filter=a.toolbar.getInput("input_filter"),a.input_filter.onchange=a.call_event,a.input_filter.onclick=function(){var e=a.input_filter.value;setTimeout(function(){e!=a.input_filter.value&&a.call_event()})},a.input_filter.onkeydown=t,a.input_filter.type="search",a.input_filter.setAttribute("placeholder","Фильтр"),a.toolbar.addSpacer("input_filter"))},$p.iface.Toolbar_filter.prototype.__define({get_filter:{value:function(e){var t,n,a={date_from:this.input_date_from?$p.utils.date_add_day(dhx4.str2date(this.input_date_from.value),0,!0):"",date_till:this.input_date_till?$p.utils.date_add_day(dhx4.str2date(this.input_date_till.value),1,!0):"",filter:this.input_filter?this.input_filter.value:""};if(!e)for(t in this.custom_selection)a.selection||(a.selection=[]),n={},n[t]=this.custom_selection[t].value,a.selection.push(n);return a}},add_filter:{value:function(e){var t=this.toolbar.getPosition("input_filter")-2,n=dhx4.newId(),a=(this.toolbar.getWidth("input_filter")/2).round(0);this.toolbar.setWidth("input_filter",a),this.toolbar.addText("lbl_"+n,t,e.text||""),t++,this.toolbar.addInput("input_"+n,t,"",a),this.custom_selection[e.name]=this.toolbar.getInput("input_"+n)}}}),$p.iface.dat_blank=function(e,t){t||(t={});var n,a=(e||$p.iface.w).createWindow({id:dhx4.newId(),left:t.left||700,top:t.top||20,width:t.width||220,height:t.height||300,move:!0,park:!t.allow_close,center:!!t.center,resize:!0,caption:t.caption||"Tools"}),i={x:(e||$p.iface.w).vp.clientWidth,y:(e||$p.iface.w).vp.clientHeight};return a.getPosition()[0]+a.getDimension()[0]>i.x?(i.x=i.x-a.getDimension()[0],n=!0):i.x=a.getPosition()[0],a.getPosition()[1]+a.getDimension()[1]>i.y?(i.y=i.y-a.getDimension()[1],n=!0):i.y=a.getPosition()[1],n&&(i.x<0||i.y<0?a.maximize():a.setPosition(i.x,i.y)),e=null,t.hasOwnProperty("allow_minmax")&&!t.allow_minmax&&a.button("minmax").hide(),t.allow_close?a.button("park").hide():a.button("close").hide(),a.attachEvent("onClose",function(){var e="function"!=typeof t.on_close||t.on_close(a);if(e)return t.pwnd_modal&&t.pwnd&&t.pwnd.setModal&&t.pwnd.setModal(1),e}),a.setIconCss("without_icon"),a.cell.parentNode.children[1].classList.add("dat_gui"),$p.iface.bind_help(a,t.help_path),a.elmnts={grids:{}},a.wnd_options=function(e){var t=a.getPosition(),n=a.getDimension(),i=a.isParked();e.left=t[0],e.top=t[1],e.width=n[0],e.parked=i,i||(e.height=n[1])},a.bottom_toolbar=function(e){var t={wrapper:a.cell,width:"100%",height:"28px",bottom:"0px",left:"0px",name:"tb_bottom",buttons:[{name:"btn_cancel",text:"Отмена",title:"Закрыть без сохранения",width:"60px",float:"right"},{name:"btn_ok",b:"Ок",title:"Применить изменения",width:"30px",float:"right"}],onclick:function(e){return!1}}._mixin(e),n=new OTooolBar(t),i=a.attachStatusBar({height:12});return i.style.zIndex=-1e3,i.firstChild.style.backgroundColor="transparent",i.firstChild.style.border="none",n},t.modal&&(t.pwnd&&t.pwnd.setModal&&(t.pwnd_modal=t.pwnd.isModal(),t.pwnd.setModal(0)),a.setModal(1)),a},$p.iface.pgrid_on_select=function(e){if(void 0!==e){var t=this.grid instanceof dhtmlXGridObject?this.grid:this,n=t.getUserData("","source"),a=t.getSelectedRowId();if(void 0!=n.o[a])"number"==typeof n.o[a]?n.o[a]=$p.utils.fix_number(e,!0):n.o[a]=e;else if(a.indexOf("fprms")>-1){var i=$p._find(n.o.fprms,a.split("|")[1]);i.value=e}t.cells().setValue($p.utils.is_data_obj(e)?e.presentation:e||""),n.grid_on_change&&n.grid_on_change.call(t,a,e)}},$p.iface.pgrid_on_change=function(e,t,n){e&&$p.iface.pgrid_on_select.call(this,t)},$p.iface.pgrid_on_checkbox=function(e,t,n){var a=this.grid instanceof dhtmlXGridObject?this.grid:this,i=a.getUserData("","source");void 0!=i.o[e]&&(i.o[e]=n),i.grid_on_change&&i.grid_on_change(e,n)},$p.iface.frm_auth=function(e,t,n){function a(n,a){$p.ajax.username=n,$p.ajax.password=$p.aes.Ctr.encrypt(a),n?($p.wsql.get_user_param("user_name")!=n&&$p.wsql.set_user_param("user_name",n),$p.wsql.pouch.log_in(n,a).then(function(){$p.wsql.get_user_param("enable_save_pwd")?$p.aes.Ctr.decrypt($p.wsql.get_user_param("user_pwd"))!=a&&$p.wsql.set_user_param("user_pwd",$p.aes.Ctr.encrypt(a)):""!=$p.wsql.get_user_param("user_pwd")&&$p.wsql.set_user_param("user_pwd",""),$p.eve.logged_in=!0,e.modal_dialog?s.close():t&&t()}).catch(function(e){l=!0,o.onerror(e)}).then(function(){$p.iface.sync&&$p.iface.sync.close(),s&&s.progressOff&&(s.progressOff(),!l&&e.hide_header&&s.hideHeader()),$p.iface.cell_tree&&!l&&$p.iface.cell_tree.expand()})):this.validate()}function i(e){if(l=!1,this.resetValidateCss(),"guest"==this.getCheckedValue("type")){var t=this.getItemValue("guest"),n="";$p.job_prm.guests&&$p.job_prm.guests.length&&$p.job_prm.guests.some(function(e){if(e.username==t)return n=$p.aes.Ctr.decrypt(e.password),!0}),a.call(this,t,n)}else"auth"==this.getCheckedValue("type")&&a.call(this,this.getItemValue("login"),this.getItemValue("password"))}e||(e={});var s,o,r,l;e.modal_dialog?(e.options||(e.options={name:"frm_auth",caption:"Вход на сервер",width:360,height:300,center:!0,allow_close:!0,allow_minmax:!0,modal:!0}),s=$p.iface.dat_blank(e._dxw,e.options),s.attachEvent("onClose",function(e){return l?n&&n(err):t&&t(),!0}),o=s.attachForm()):(s=e.cell||$p.iface.docs,o=$p.iface.auth=s.attachForm(),$p.msg.show_msg($p.msg.init_login,s)),o.loadStruct($p.injected_data["form_auth.xml"],function(){var t;if($p.job_prm.guests&&$p.job_prm.guests.length){var n=$p.job_prm.guests.map(function(e){var n={text:e.username,value:e.username};return $p.wsql.get_user_param("user_name")==e.username&&(n.selected=!0,t=e.username),n});t||(n[0].selected=!0,t=n[0].value),o.reloadOptions("guest",n)}$p.wsql.get_user_param("user_name")&&$p.wsql.get_user_param("user_name")!=t&&(o.setItemValue("login",$p.wsql.get_user_param("user_name")),o.setItemValue("type","auth"),$p.wsql.get_user_param("enable_save_pwd")&&$p.wsql.get_user_param("user_pwd")&&o.setItemValue("password",$p.aes.Ctr.decrypt($p.wsql.get_user_param("user_pwd")))),e.modal_dialog||((r=((s.getWidth?s.getWidth():s.cell.offsetWidth)-500)/2)>=10?o.cont.style.paddingLeft=r.toFixed()+"px":o.cont.style.paddingLeft="20px"),setTimeout(function(){dhx4.callEvent("on_draw_auth",[o]),($p.wsql.get_user_param("autologin")||e.try_auto)&&(t||$p.wsql.get_user_param("user_name")&&$p.wsql.get_user_param("user_pwd"))&&i.call(o)})}),o.attachEvent("onButtonClick",i),o.attachEvent("onKeyDown",function(e,t,n,a){13==t.keyCode&&("password"!=n&&"guest"!=this.getCheckedValue("type")||i.call(this))}),o.onerror=function(e){$p.ajax.authorized=!1;var t=e.message.toLowerCase();t.indexOf("auth")!=-1?($p.msg.show_msg({title:$p.msg.main_title+$p.version,type:"alert-error",text:$p.msg.error_auth}),o.setItemValue("password",""),o.validate()):t.indexOf("gateway")==-1&&t.indexOf("net")==-1||$p.msg.show_msg({title:$p.msg.main_title+$p.version,type:"alert-error",text:$p.msg.error_network})}},$p.iface.open_settings=function(e){var t=e||("undefined"!=typeof event?event:void 0);t&&t.preventDefault();var n=$p.job_prm.parse_url();return $p.iface.set_hash(n.obj,n.ref,n.frm,"settings"),$p.iface.cancel_bubble(t)},$p.iface.swith_view=function(e){var t,n=$p.iface,a=function(e){function t(e,t){return e.text>t.text?1:e.text<t.text?-1:void 0}if(n.tree){if(n.tree._view!=e&&["rep","cal"].indexOf(e)==-1){if(n.tree.deleteChildItems(0),"oper"==e){var a,i,s={id:0,item:[{id:"oper_cat",text:$p.msg.meta_cat,open:!0,item:[]},{id:"oper_doc",text:$p.msg.meta_doc,item:[]},{id:"oper_cch",text:$p.msg.meta_cch,item:[]},{id:"oper_cacc",text:$p.msg.meta_cacc,item:[]},{id:"oper_tsk",text:$p.msg.meta_tsk,item:[]}]},o=s.item[0].item;for(a in $p.cat)"function"!=typeof $p.cat[a]&&(i=$p.cat[a].metadata(),i.hide||o.push({id:"oper.cat."+a,text:i.synonym||i.name,tooltip:i.illustration||i.list_presentation}));o.sort(t),o=s.item[1].item;for(a in $p.doc)"function"!=typeof $p.doc[a]&&(i=$p.doc[a].metadata(),i.hide||o.push({id:"oper.doc."+a,text:i.synonym||i.name,tooltip:i.illustration||i.list_presentation}));o.sort(t),o=s.item[2].item;for(a in $p.cch)"function"!=typeof $p.cch[a]&&(i=$p.cch[a].metadata(),i.hide||o.push({id:"oper.cch."+a,text:i.synonym||i.name,tooltip:i.illustration||i.list_presentation}));o.sort(t),o=s.item[3].item;for(a in $p.cacc)"function"!=typeof $p.cacc[a]&&(i=$p.cacc[a].metadata(),i.hide||o.push({id:"oper.cacc."+a,text:i.synonym||i.name,tooltip:i.illustration||i.list_presentation}));o.sort(t),o=s.item[4].item;for(a in $p.tsk)"function"!=typeof $p.tsk[a]&&(i=$p.tsk[a].metadata(),i.hide||o.push({id:"oper.tsk."+a,text:i.synonym||i.name,tooltip:i.illustration||i.list_presentation}));o.sort(t),n.tree.parse(s,function(){var e=$p.job_prm.parse_url();e.obj&&n.tree.selectItem(e.view+"."+e.obj,!0)},"json")}else n.tree.loadXML(n.tree.tree_filteres,function(){});n.tree._view=e}}else{var r=$p.job_prm.parse_url();if(r.obj){var l=r.obj.split(".");if(l.length>1){var c=$p.md.mgr_by_class_name(r.obj);"function"==typeof n.docs.close&&n.docs.close(),c&&c.form_list(n.docs,{})}}}};return 0==e.indexOf(n.docs.getViewName())?n.docs.getViewName():(t=n.docs.showView(e),1==t&&("cal"!=e||window.dhtmlXScheduler||($p.load_script("dist/dhtmlxscheduler.min.js","script",function(){scheduler.config.first_hour=8,scheduler.config.last_hour=22,n.docs.scheduler=n.docs.attachScheduler(new Date("2015-11-20"),"week","scheduler_here"),n.docs.scheduler.attachEvent("onBeforeViewChange",function(e,t,n,a){return"timeline"!=n||($p.msg.show_not_implemented(),!1)})}),$p.load_script("dist/dhtmlxscheduler.css","link"))),a(e),void("def"==e?n.main.showStatusBar():n.main.hideStatusBar()))},$p.iface.OTooolBar=OTooolBar,$p.iface.add_button=function(e,t,n){var a=document.createElement("div"),i="";return a.name=(t?t.name+"_":"")+n.name,e.appendChild(a),a.className=0==n.name.indexOf("sep_")?"md_otooolbar_sep":"md_otooolbar_button",n.hasOwnProperty("class_name")&&a.classList.add(n.class_name),n.img&&(i='<img src="'+(t?t.image_path:"")+n.img+'">'),n.b?i+='<b style="vertical-align: super;"> '+n.b+"</b>":n.text?i+='<span style="vertical-align: super;"> '+n.text+"</span>":n.css&&a.classList.add(n.css),a.innerHTML=i,n.float&&(a.style.float=n.float),n.clear&&(a.style.clear=n.clear),n.width&&(a.style.width=n.width),n.paddingRight&&(a.style.paddingRight=n.paddingRight),n.paddingLeft&&(a.style.paddingLeft=n.paddingLeft),n.tooltip&&(a.title=n.tooltip),a},"undefined"!=typeof window&&"dhtmlx"in window&&(eXcell_addr.prototype=eXcell_proto,window.eXcell_addr=eXcell_addr),DataManager.prototype.form_obj=function(e,t){function n(){h||((e instanceof dhtmlXLayoutCell||e instanceof dhtmlXSideBarCell||e instanceof dhtmlXCarouselCell)&&(t.bind_pwnd||t.Приклеить)?("function"==typeof e.close&&e.close(!0),f=e,f.close=function(t){var n=f||e;(t||d())&&(n&&(n.elmnts&&["vault","vault_pop"].forEach(function(e){n.elmnts[e]&&n.elmnts[e].unload&&n.elmnts[e].unload()}),v&&v.class_name&&$p.eve.callEvent("frm_close",[v.class_name,y&&y._obj?y.ref:""]),n.conf&&(n.detachToolbar(),n.detachStatusBar(),n.conf.unloading=!0,n.detachObject(!0))),p(t))},f.elmnts={grids:{}}):(m={name:"wnd_obj_"+v.class_name,wnd:{top:80+40*Math.random(),left:120+80*Math.random(),width:700,height:400,modal:!0,center:!1,pwnd:e,allow_close:!0,allow_minmax:!0,on_close:u,caption:x.obj_presentation||x.synonym}},f=$p.iface.dat_blank(null,m.wnd)),f.ref||f.__define({ref:{get:function(){return y?y.ref:$p.utils.blank.guid},enumerable:!1,configurable:!0},set_text:{value:function(e){if(t&&t.set_text||f&&f.setText){var n=y.presentation;if(!n)return;y instanceof CatObj?n=(x.obj_presentation||x.synonym)+": "+n:y instanceof DocObj&&(n+=y.posted?" (проведен)":" (не проведен)"),y._modified&&n.lastIndexOf("*")!=n.length-1?n+=" *":y._modified||n.lastIndexOf("*")!=n.length-1||(n=n.replace(" *","")),(e||g!==n)&&(g=n,t.set_text?t.set_text(n):f.setText(n))}},enumerable:!1,configurable:!0}}),f.elmnts.frm_tabs=f.attachTabbar({arrows_mode:"auto",offsets:{top:0,right:0,bottom:0,left:0}}),f.elmnts.frm_tabs.addTab("tab_header"," Реквизиты ",null,null,!0),f.elmnts.tabs={tab_header:f.elmnts.frm_tabs.cells("tab_header")},f.elmnts.frm_toolbar=f.attachToolbar(),f.elmnts.frm_toolbar.setIconsPath(dhtmlx.image_path+"dhxtoolbar"+dhtmlx.skin_suffix()),f.elmnts.frm_toolbar.loadStruct(t.toolbar_struct||$p.injected_data["toolbar_obj.xml"],function(){f===e&&(this.cont.style.top="4px"),this.addSpacer("btn_unpost"),this.attachEvent("onclick",t.toolbar_click||s);var n=$p.current_acl.get_acl(v.class_name);v instanceof DocManager&&n.indexOf("p")!=-1?(this.enableItem("btn_post"),t.toolbar_struct||this.setItemText("btn_save_close","<b>Провести и закрыть</b>")):this.hideItem("btn_post"),v instanceof DocManager&&n.indexOf("o")!=-1?this.enableItem("btn_unpost"):this.hideItem("btn_unpost"),n.indexOf("e")==-1&&(this.hideItem("btn_save_close"),this.disableItem("btn_save")),t.on_select&&this.setItemText("btn_save_close","Записать и выбрать"),v instanceof CatManager||v instanceof DocManager?(v.printing_plates().then(function(e){for(var t in e)f.elmnts.frm_toolbar.addListOption("bs_print",t,"~","button",e[t].toString())}),f.elmnts.vault_pop=new dhtmlXPopup({toolbar:this,id:"btn_files"}),f.elmnts.vault_pop.attachEvent("onShow",r)):this.disableItem("bs_print"),f!=e&&this.hideItem("btn_close")}),h=!0)}function a(e){y&&f&&f.set_text()}function i(){if(h||(clearTimeout(_),n()),f.set_text(),!t.hide_header&&f.showHeader&&f.showHeader(),t.draw_tabular_sections)t.draw_tabular_sections(y,f,l);else if(!y.is_folder)if(x.form&&x.form.obj&&x.form.obj.tabular_sections_order)x.form.obj.tabular_sections_order.forEach(function(e){l(e)});else for(var e in x.tabular_sections)"extra_fields"!==e&&y[e]instanceof TabularSection&&l(e);if(t.draw_pg_header)t.draw_pg_header(y,f);else{var i=$p.current_acl.get_acl(v.class_name);f.elmnts.pg_header=f.elmnts.tabs.tab_header.attachHeadFields({obj:y,pwnd:f,read_only:i.indexOf("e")==-1}),f.attachEvent("onResizeFinish",function(e){f.elmnts.pg_header.enableAutoHeight(!1,f.elmnts.tabs.tab_header._getHeight()-20,!0)})}return Object.observe(y,a,["update","row"]),{wnd:f,o:y}}function s(e){"btn_save_close"==e?c("close"):"btn_save"==e?c("save"):"btn_post"==e?c("post"):"btn_unpost"==e?c("unpost"):"btn_close"==e?f.close():"btn_go_connection"==e?o():"prn_"==e.substr(0,4)?v.print(y,e,f):"btn_import"==e?v.import(null,y):"btn_export"==e&&v.export({items:[y],pwnd:f,obj:!0})}function o(){$p.msg.show_not_implemented()}function r(){f.elmnts.vault||(f.elmnts.vault=f.elmnts.vault_pop.attachVault(400,250,{_obj:y,buttonClear:!1,autoStart:!0,filesLimit:10,mode:"pouch"}),f.elmnts.vault.conf.wnd=f)}function l(e,t){if(_md.ts_captions(v.class_name,e)){f.elmnts.frm_tabs.addTab("tab_"+e," "+x.tabular_sections[e].synonym+" "),f.elmnts.tabs["tab_"+e]=f.elmnts.frm_tabs.cells("tab_"+e);var n=$p.current_acl.get_acl(v.class_name);if(f.elmnts.grids[e]=f.elmnts.tabs["tab_"+e].attachTabular({obj:y,ts:e,pwnd:f,read_only:n.indexOf("e")==-1,toolbar_struct:t}),n.indexOf("e")==-1){var a=f.elmnts.tabs["tab_"+e].getAttachedToolbar();a.disableItem("btn_add"),a.disableItem("btn_delete")}}}function c(e){f.progressOn();var n;y instanceof DocObj&&("post"==e?n=!0:"unpost"==e?n=!1:"close"==e&&$p.current_acl.get_acl(v.class_name).indexOf("p")!=-1&&(n=!0)),y.save(n).then(function(){f.progressOff(),"close"==e?(t.on_select&&t.on_select(y),f.close()):f.set_text()}).catch(function(e){f.progressOff(),e instanceof Error&&$p.record_log(e)})}function p(n){t&&t.on_close&&!n&&t.on_close(),n||(delete f.ref,delete f.set_text,Object.unobserve(y,a),v=f=y=x=m=e=t=null)}function d(){return!(y._modified&&!b)||(dhtmlx.confirm({title:y.presentation,text:$p.msg.modified_close,cancel:$p.msg.cancel,callback:function(e){e&&(b=!0,"ram"==y._manager.cachable?this.close():y.is_new()?(y.unload(),this.close()):(setTimeout(y.load.bind(y),100),this.close()))}.bind(f)}),!1)}function u(e){if(d())return setTimeout(p),e&&e.elmnts&&["vault","vault_pop"].forEach(function(t){e.elmnts[t]&&e.elmnts[t].unload&&e.elmnts[t].unload()}),v&&v.class_name&&$p.eve.callEvent("frm_close",[v.class_name,y&&y._obj?y.ref:""]),!0}var f,m,h,_,g,b,v=this,x=v.metadata(),y=t.o;return _=setTimeout(n),$p.utils.is_data_obj(y)?y.is_new()&&t.on_select?v.create({},!0).then(function(e){return y=e,e=null,i()}):y.is_new()&&!y.empty()?y.load().then(i):Promise.resolve(i()):(e&&e.progressOn&&e.progressOn(),v.get(t.hasOwnProperty("ref")?t.ref:t,!0,!0).then(function(t){return y=t,t=null,e&&e.progressOff&&e.progressOff(),i()}).catch(function(t){e&&e.progressOff&&e.progressOff(),f.close(),$p.record_log(t)}))},DataObj.prototype.form_obj=function(e,t){return t||(t={}),t.o=this,this._manager.form_obj(e,t)},DataProcessorsManager.prototype.form_rep=function(e,t){function n(){if((e instanceof dhtmlXLayoutCell||e instanceof dhtmlXSideBarCell||e instanceof dhtmlXCarouselCell)&&(t.bind_pwnd||t.Приклеить)){if(o==e&&o._mgr==c)return;"function"==typeof e.close&&e.close(!0),o=e,o.close=function(t){var n=o||e;(t||check_modified())&&(n&&n.conf&&(n.detachToolbar(),n.detachStatusBar(),n.conf.unloading=!0,n.detachObject(!0)),s(t))},o.elmnts={grids:{}}}else r={name:"wnd_rep_"+c.class_name,wnd:{top:80+40*Math.random(),left:120+80*Math.random(),width:700,height:400,modal:!0,center:!1,pwnd:e,allow_close:!0,allow_minmax:!0,on_close:frm_close,caption:p.obj_presentation||p.synonym}},o=$p.iface.dat_blank(null,r.wnd);o._mgr=c,o.report=c.create(),o.set_text||o.__define({set_text:{value:function(e){if(t&&t.set_text||o&&o.setText){var n=p.obj_presentation||p.synonym;(e||l!==n)&&(l=n,t.set_text?t.set_text(n):o.setText(n))}},configurable:!0}}),o.elmnts.layout=o.attachLayout({pattern:"2U",cells:[{id:"a",text:"Отчет",header:!1},{id:"b",text:"Параметры",collapsed_text:"Параметры",width:220}],offsets:{top:0,right:0,bottom:0,left:0}}),o.elmnts.frm_toolbar=o.attachToolbar(),o.elmnts.frm_toolbar.setIconsPath(dhtmlx.image_path+"dhxtoolbar"+dhtmlx.skin_suffix()),o.elmnts.frm_toolbar.loadStruct(t.toolbar_struct||$p.injected_data["toolbar_rep.xml"],function(){o===e&&(this.cont.style.top="4px"),this.addSpacer("btn_run"),this.attachEvent("onclick",t.toolbar_click||a)}),o.set_text(),!t.hide_header&&o.showHeader&&o.showHeader(),o.elmnts.table=new $p.HandsontableDocument(o.elmnts.layout.cells("a"),{allow_offline:o.report.allow_offline,autorun:!1}).then(function(e){if(!e._online)return o.elmnts.table=null}),o.elmnts.frm_prm=document.createElement("DIV"),o.elmnts.frm_prm.style="height: 100%; min-height: 300px; width: 100%",o.elmnts.layout.cells("b").attachObject(o.elmnts.frm_prm),o.report.daterange=new $p.iface.ODateRangePicker(o.elmnts.frm_prm,t)}function a(e){"btn_close"==e?o.close():"btn_run"==e&&o.report.build().then(i).catch(i)}function i(e){o.elmnts.table.requery(e)}function s(n){t&&t.on_close&&!n&&t.on_close(),n||(delete o.set_text,o.elmnts.table&&o.elmnts.table.hot.destroy(),o.report.daterange&&o.report.daterange.remove(),o.report=null,c=o=p=r=e=t=null)}var o,r,l,c=this,p=c.metadata();return t||(t={}),t.date_from||(t.date_from=new Date((new Date).getFullYear().toFixed()+"-01-01")),t.date_till||(t.date_till=new Date((new Date).getFullYear().toFixed()+"-12-31")),n(),o},DataManager.prototype.form_selection=function(e,t){function n(){return e instanceof dhtmlXCellObject?(e instanceof dhtmlXTabBarCell||"function"!=typeof e.close||e.close(!0),m=e,m.close=function(t){(m||e)&&((m||e).detachToolbar(),(m||e).detachStatusBar(),(m||e).conf&&((m||e).conf.unloading=!0),(m||e).detachObject(!0)),p(t)},t.hide_header||setTimeout(function(){m.showHeader()})):(m=$p.iface.w.createWindow(null,0,0,700,500),m.centerOnScreen(),m.setModal(1),m.button("park").hide(),m.button("minmax").show(),m.button("minmax").enable(),m.attachEvent("onClose",d)),$p.iface.bind_help(m),m.setText&&!t.hide_text&&m.setText("Список "+(h.class_name.indexOf("doc.")==-1?'справочника "':'документов "')+(_.list_presentation||_.synonym)+'"'),document.body.addEventListener("keydown",a,!1),m.elmnts={},!t.status_bar&&t.smart_rendering||(m.elmnts.status_bar=m.attachStatusBar()),t.smart_rendering||m.elmnts.status_bar.setText("<div id='"+h.class_name.replace(".","_")+"_select_recinfoArea'></div>"),m.elmnts.toolbar=m.attachToolbar(),m.elmnts.toolbar.setIconsPath(dhtmlx.image_path+"dhxtoolbar"+dhtmlx.skin_suffix()),m.elmnts.toolbar.loadStruct(t.toolbar_struct||$p.injected_data["toolbar_selection.xml"],function(){this.attachEvent("onclick",o),m===e&&(this.cont.parentElement.classList.add("dhx_cell_toolbar_no_borders"),this.cont.parentElement.classList.remove("dhx_cell_toolbar_def"),this.cont.style.top="4px");var n={manager:h,toolbar:this,onchange:i,hide_filter:t.hide_filter,custom_selection:t.custom_selection};t.date_from&&(n.date_from=t.date_from),t.date_till&&(n.date_till=t.date_till),t.period&&(n.period=t.period),m.elmnts.filter=new $p.iface.Toolbar_filter(n);var a=$p.current_acl.get_acl(h.class_name);a.indexOf("i")==-1&&this.hideItem("btn_new"),a.indexOf("v")==-1&&this.hideItem("btn_edit"),a.indexOf("d")==-1&&this.hideItem("btn_delete"),y||(this.hideItem("btn_select"),this.hideItem("sep1"),$p.iface.docs&&$p.iface.docs.getViewName&&"oper"==$p.iface.docs.getViewName()&&this.addListOption("bs_more","btn_order_list","~","button","<i class='fa fa-briefcase fa-lg fa-fw'></i> Список заказов")),this.addListOption("bs_more","btn_import","~","button","<i class='fa fa-upload fa-lg fa-fw'></i> Загрузить из файла"),this.addListOption("bs_more","btn_export","~","button","<i class='fa fa-download fa-lg fa-fw'></i> Выгрузить в файл"),h.printing_plates?h.printing_plates().then(function(e){var t;for(var n in e)m.elmnts.toolbar.addListOption("bs_print",n,"~","button",e[n].toString()),t=!0;t||m.elmnts.toolbar.hideItem("bs_print")}):m.elmnts.toolbar.hideItem("bs_print"),s()}),m._mgr=h,m}function a(e){function t(){var e;return $p.iface.w.forEachWindow(function(t){t==m||!t.isModal()&&$p.iface.w.getTopmostWindow()!=t||(e=!0)}),e}if(m&&m.is_visible&&m.is_visible())if(e.ctrlKey&&70==e.keyCode){if(!t())return setTimeout(function(){m.elmnts.filter.input_filter&&"desktop"==$p.job_prm.device_type&&m.elmnts.filter.input_filter.focus()}),$p.iface.cancel_bubble(e)}else if(e.shiftKey&&116==e.keyCode){if(!t())return setTimeout(function(){m.elmnts.grid.reload()}),e.preventDefault&&e.preventDefault(),$p.iface.cancel_bubble(e)}else 27==e.keyCode&&(t()||setTimeout(function(){m.close()}))}function i(e){m&&m.elmnts&&(g&&(e.filter||e.hide_tree?m.elmnts.cell_tree.collapse():m.elmnts.cell_tree.expand()),m.elmnts.grid.reload())}function s(){var e,n,a,i,s,o;g?(e=m.attachLayout("2U"),a=e.cells("b"),a.hideHeader(),n=m.elmnts.cell_tree=e.cells("a"),n.setWidth("220"),n.hideHeader(),i=m.elmnts.tree=n.attachDynTree(h,null,function(){setTimeout(function(){s&&s.reload&&s.reload()},20)}),i.attachEvent("onSelect",function(e,t){t&&(this.do_not_reload?delete this.do_not_reload:setTimeout(function(){ -s&&s.reload&&s.reload()},20))}),i.attachEvent("onDblClick",function(e){r(e)})):(a=m,setTimeout(function(){s&&s.reload&&s.reload()},20)),s=m.elmnts.grid=a.attachGrid(),s.setIconsPath(dhtmlx.image_path),s.setImagePath(dhtmlx.image_path),s.attachEvent("onBeforeSorting",f),s.attachEvent("onBeforePageChanged",function(){return!!this.getRowsNum()}),s.attachEvent("onXLE",function(){a.progressOff()}),s.attachEvent("onXLS",function(){a.progressOn()}),s.attachEvent("onDynXLS",function(e,t){var n=u(e,t);if(n)return h.sync_grid(n,s),!1}),s.attachEvent("onRowDblClicked",function(e,t){if(i&&i.items[e]){i.selectItem(e);var n=i.getParentId(e);n&&n!=$p.utils.blank.guid&&i.openItem(n)}else r(e)}),t.smart_rendering?s.enableSmartRendering(!0,50):(s.setPagingWTMode(!0,!0,!0,[20,30,60]),s.enablePaging(!0,30,8,h.class_name.replace(".","_")+"_select_recinfoArea"),s.setPagingSkin("toolbar",dhtmlx.skin)),$p.iface.docs&&$p.iface.docs.getViewName&&"oper"==$p.iface.docs.getViewName()&&s.enableMultiselect(!0),s.reload=function(){var e=u();return e?(a.progressOn(),s.clearAll(),h.sync_grid(e,s).then(function(n){if("object"==typeof n)$p.msg.check_soap_result(n);else if(!o){if(e.initial_value){var r=n.indexOf("set_parent"),l=n.indexOf("'>",r),c=n.substr(r+12,l-r-12);$p.utils.is_guid(c)&&g&&(i.do_not_reload=!0,i.selectItem(c,!1)),s.selectRowById(e.initial_value)}else e.parent&&$p.utils.is_guid(e.parent)&&g&&(i.do_not_reload=!0,i.selectItem(e.parent,!1));s.setColumnMinWidth(200,s.getColIndexById("presentation")),s.enableAutoWidth(!0,1200,600),s.setSizes(),o=!0,m.elmnts.filter.input_filter&&"desktop"==$p.job_prm.device_type&&m.elmnts.filter.input_filter.focus(),t.on_grid_inited&&t.on_grid_inited()}v&&o&&s.setSortImgState(!0,b,v),a.progressOff()})):Promise.resolve()}}function o(e){if("btn_select"==e)r();else if("btn_new"==e)h.create({},!0).then(function(e){t.on_new?t.on_new(e,m):$p.job_prm.keep_hash?e.form_obj(m):(e._set_loaded(e.ref),$p.iface.set_hash(h.class_name,e.ref))});else if("btn_edit"==e){var n=m.elmnts.grid.getSelectedRowId();n?t.on_edit?t.on_edit(h,n,m):$p.job_prm.keep_hash?h.form_obj(m,{ref:n}):$p.iface.set_hash(h.class_name,n):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}else"prn_"==e.substr(0,4)?l(e):"btn_order_list"==e?$p.iface.set_hash("","","","def"):"btn_delete"==e?c():"btn_import"==e?h.import():"btn_export"==e?h.export(m.elmnts.grid.getSelectedRowId()):"btn_requery"==e&&(x={},m.elmnts.grid.reload())}function r(n){n||(n=m.elmnts.grid.getSelectedRowId());var a;if(t.selection&&t.selection.forEach(function(e){for(var t in e)"is_folder"==t&&(a=e[t])}),m.elmnts.tree&&m.elmnts.tree.items[n]&&m.elmnts.tree.getSelectedId()!=n)return void m.elmnts.tree.selectItem(n,!0);if(n&&a===!0&&m.elmnts.grid.cells(n,0).cell.classList.contains("cell_ref_elm"))return void $p.msg.show_msg($p.msg.select_grp);if(!n&&m.elmnts.tree||m.elmnts.tree&&m.elmnts.tree.getSelectedId()==n){if(a===!1)return void $p.msg.show_msg($p.msg.select_elm);n=m.elmnts.tree.getSelectedId()}n&&(t.on_edit?t.on_edit(h,n,m):y?h.get(n,!0).then(function(t){m.close(),y.call(e.grid||e,t)}):$p.job_prm.keep_hash?h.form_obj(m,{ref:n}):$p.iface.set_hash(h.class_name,n))}function l(e){var t=m.elmnts.grid.getSelectedRowId();t?h.print(t,e,m):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}function c(){var e=m.elmnts.grid.getSelectedRowId();e?h.get(e,!0,!0).then(function(e){dhtmlx.confirm({title:$p.msg.main_title,text:e._deleted?$p.msg.mark_undelete_confirm.replace("%1",e.presentation):$p.msg.mark_delete_confirm.replace("%1",e.presentation),cancel:"Отмена",callback:function(t){t&&e.mark_deleted(!e._deleted)}})}):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}function p(n){document.body.removeEventListener("keydown",a),t&&t.on_close&&!n&&t.on_close(),n||(h=m=_=x=y=e=t=null)}function d(){return setTimeout(p,10),e.on_unload&&e.on_unload.call(e.grid||e),w&&($p.eve.detachEvent(w),w=null),!0}function u(e,n){var a=m.elmnts.filter.get_filter()._mixin({action:"get_selection",metadata:_,class_name:h.class_name,order_by:m.elmnts.grid.columnIds[b]||b,direction:v,start:e||((m.elmnts.grid.currentPage||1)-1)*m.elmnts.grid.rowsBufferOutSize,count:n||m.elmnts.grid.rowsBufferOutSize,get_header:void 0==x.get_header}),i=g?m.elmnts.tree.getSelectedId():null;if(t.smart_rendering&&(a.smart_rendering=!0),t.date_from&&!a.date_from&&(a.date_from=t.date_from),t.date_till&&!a.date_till&&(a.date_till=t.date_till),t.initial_value&&(a.initial_value=t.initial_value),t.custom_selection&&(a.custom_selection=t.custom_selection),t.selection)if(a.selection)if(Array.isArray(t.selection))t.selection.forEach(function(e){a.selection.push(e)});else for(var s in t.selection){res.selection||(res.selection=[]);var o={};o[s]=t.selection[s],a.selection.push(o)}else a.selection=t.selection;t.owner&&!a.owner&&(a.owner=t.owner),a.parent=!i&&!t.parent||a.filter?null:i||t.parent,g&&!a.parent&&(a.parent=$p.utils.blank.guid);for(var r in a)if(x[r]!=a[r])return x=a,a}function f(e){var t=m.elmnts.grid.getSortingState();return b=e,v="des"==t[1]?"asc":"des",m.elmnts.grid.reload(),!0}e||(e=t&&t.pwnd?t.pwnd:{}),t||e instanceof dhtmlXCellObject||(t=e,e={}),t||(t={});var m,h=this,_=t.metadata||h.metadata(),g=_.hierarchical&&!(h instanceof ChartOfAccountManager),b=0,v="asc",x={},y=e.on_select||t.on_select,w=$p.eve.attachEvent("frm_close",function(e,t){h&&h.class_name==e&&m&&m.elmnts&&m.elmnts.grid.reload().then(function(){$p.utils.is_empty_guid(t)||m.elmnts.grid.selectRowById(t,!1,!0,!0)})});return g&&t.initial_value&&t.initial_value!=$p.utils.blank.guid&&!t.parent?h.get(t.initial_value,!0).then(function(e){return t.parent=e.parent.ref,t.set_parent=t.parent,n()}):n()},DataManager.prototype.form_list=function(e,t){return this.form_selection(e,t)},$p.iface.wnd_sync=function(){function e(){var e={name:"wnd_sync",wnd:{id:"wnd_sync",top:130,left:200,width:496,height:290,modal:!0,center:!0,caption:"Подготовка данных"}};t.wnd_sync=$p.iface.dat_blank(null,e.wnd);var n=[{type:"block",name:"form_block_1",list:[{type:"label",name:"form_label_1",label:$p.msg.sync_data},{type:"block",name:"form_block_2",list:[{type:"template",name:"img_long",className:"img_long"},{type:"newcolumn"},{type:"template",name:"text_processed"},{type:"template",name:"text_current"},{type:"template",name:"text_bottom"}]}]},{type:"button",name:"form_button_1",value:$p.msg.sync_break}];t.frm_sync=t.wnd_sync.attachForm(n),t.frm_sync.attachEvent("onButtonClick",function(e){t&&(t.do_break=!0)}),t.frm_sync.setItemValue("text_processed","Инициализация"),t.frm_sync.setItemValue("text_bottom","Загружается структура таблиц...")}var t,n=$p.iface.sync={};n.create=function(n){t=n,e()},n.update=function(e){t.frm_sync.setItemValue("text_processed","Обработано элементов: "+t.step*t.step_size+" из "+t.count_all);var n,a="",i=0;for(var s in e){if(i++,i>4)break;a&&(a+="<br />"),n=$p.cat[s].metadata(),a+=(n.list_presentation||n.synonym)+" ("+e[s].length+")"}t.frm_sync.setItemValue("text_current","Текущий запрос: "+t.step+" ("+Math.round(t.step*t.step_size*100/t.count_all)+"%)"),t.frm_sync.setItemValue("text_bottom",a)},n.close=function(){t&&t.wnd_sync&&(t.wnd_sync.close(),delete t.wnd_sync,delete t.frm_sync)}},DataManager.prototype.export=function(e){function t(){$p.wsql.restore_options("data_manager",l),l.wnd.caption="Экспорт "+r.family_name+" '"+(r.metadata().synonym||r.metadata().name)+"'",o=$p.iface.dat_blank(null,l.wnd),o.bottom_toolbar({buttons:[{name:"btn_cancel",text:'<i class="fa fa-times fa-lg"></i> Отмена',title:"Отмена",width:"80px",float:"right"},{name:"btn_ok",b:'<i class="fa fa-floppy-o"></i> Ок',title:"Выполнить экспорт",width:"50px",float:"right"}],onclick:function(e){return"btn_ok"==e?i():o.close(),!1}}),o.button("close").show(),o.button("park").hide(),o.attachEvent("onClose",s);var t=[{type:"fieldset",name:"form_range",label:"Выгрузить",list:[{type:"settings",labelWidth:320,labelAlign:"left",position:"label-right"},{type:"radio",name:"range",label:"Выделенные строки",value:"selected"},{type:"radio",name:"range",label:"Весь справочник",value:"all"}]},{type:"fieldset",name:"form_fieldset_2",label:"Дополнительно выгрузить",list:[{type:"settings",labelWidth:160,position:"label-right"},{type:"checkbox",name:"meta",label:"Описание метаданных",labelAlign:"left",position:"label-right",checked:l.meta},{type:"newcolumn"},{type:"checkbox",name:"relation",label:"Связанные объекты",position:"label-right",checked:l.relation,tooltip:"Связанные объекты по ссылкам (пока не реализовано)"}]},{type:"fieldset",name:"fieldset_format",label:"Формат файла",list:[{type:"settings",labelWidth:60,labelAlign:"left",position:"label-right"},{type:"radio",name:"format",label:"json",value:"json",tooltip:"Выгрузить в формате JSON"},{type:"newcolumn"},{type:"radio",name:"format",label:"xlsx",value:"xlsx",tooltip:"Выгрузить в офисном формате XLSX"},{type:"newcolumn"},{type:"radio",name:"format",label:"atom",value:"atom",tooltip:"Выгрузить в формате XML Atom"}]}];o.elmnts.frm=o.attachForm(t),o.elmnts.frm.setItemValue("range",l.range||"all"),e.items&&1==e.items.length?(e.obj?o.elmnts.frm.setItemLabel("range","selected","Тек. объект: "+e.items[0].presentation):r.get(e.items[0],!0).then(function(e){o.elmnts.frm.setItemLabel("range","selected","Тек. объект: "+e.presentation)}),o.elmnts.frm.setItemValue("range","selected")):e.items&&e.items.length&&o.elmnts.frm.setItemLabel("range","selected","Выделенные строки ("+e.items.length+" элем.)"),r instanceof DocManager&&o.elmnts.frm.setItemLabel("range","all","Все документы из кеша (0 элем.)"),o.elmnts.frm.setItemValue("format",l.format||"json"),o.elmnts.frm.attachEvent("onChange",n),n(),e.pwnd&&e.pwnd.isModal&&e.pwnd.isModal()&&(e.set_pwnd_modal=!0,e.pwnd.setModal(!1)),o.setModal(!0)}function n(){o.elmnts.frm.setItemValue("relation",!1),o.elmnts.frm.disableItem("relation"),"all"==o.elmnts.frm.getItemValue("range")?(o.elmnts.frm.disableItem("format","atom"),"atom"==o.elmnts.frm.getItemValue("format")&&o.elmnts.frm.setItemValue("format","json")):o.elmnts.frm.enableItem("format","atom"),"json"==o.elmnts.frm.getItemValue("format")?o.elmnts.frm.enableItem("meta"):"sql"==o.elmnts.frm.getItemValue("format")?(o.elmnts.frm.setItemValue("meta",!1),o.elmnts.frm.disableItem("meta")):(o.elmnts.frm.setItemValue("meta",!1),o.elmnts.frm.disableItem("meta"))}function a(){return l.format=o.elmnts.frm.getItemValue("format"),l.range=o.elmnts.frm.getItemValue("range"),l.meta=o.elmnts.frm.getItemValue("meta"),l.relation=o.elmnts.frm.getItemValue("relation"),l}function i(){function t(){e.obj?$p.wsql.alasql("SELECT * INTO XLSX('"+r.table_name+".xlsx',{headers:true}) FROM ?",[e.items[0]._obj]):$p.wsql.alasql("SELECT * INTO XLSX('"+r.table_name+".xlsx',{headers:true}) FROM "+r.table_name)}a();var n={meta:{},items:{}},i=n.items[r.class_name]=[];if(l.meta&&(n.meta[r.class_name]=r.metadata()),"json"==l.format)e.obj?i.push(e.items[0]._obj):r.each(function(t){"all"!=l.range&&e.items.indexOf(t.ref)==-1||i.push(t._obj)}),e.items.length&&!i.length?r.get(e.items[0],!0).then(function(e){i.push(e._obj),alasql.utils.saveFile(r.table_name+".json",JSON.stringify(n,null,4))}):alasql.utils.saveFile(r.table_name+".json",JSON.stringify(n,null,4));else if("xlsx"==l.format)window.xlsx?t():$p.load_script("//cdn.jsdelivr.net/js-xlsx/latest/xlsx.core.min.js","script",t);else if("atom"==l.format&&e.items.length){var s=e.obj?Promise.resolve(e.items[0]):r.get(e.items[0],!0);s.then(function(e){alasql.utils.saveFile(r.table_name+".xml",e.to_atom())})}else $p.msg.show_not_implemented()}function s(t){return $p.iface.popup.hide(),o.wnd_options(l.wnd),$p.wsql.save_options("data_manager",a()),o.setModal(!1),e.set_pwnd_modal&&e.pwnd.setModal&&e.pwnd.setModal(!0),!0}e&&"string"==typeof e?e={items:e.split(",")}:e||(e={items:[]});var o,r=this,l={name:"export",wnd:{top:130,left:200,width:480,height:350}};t()},DataManager.prototype.import=function(e,t){function n(e){function n(e,n){var a=_md.mgr_by_class_name(e);if(n.length)if(t){if(t._manager==a)for(var s in n)$p.utils.fix_guid(n[s])==t.ref&&(i=!0,a.load_array([n[s]],!0))}else i=!0,a.load_array(n,!0)}if(o.close(),a.files.length){var s=new FileReader;s.onload=function(e){try{var t=JSON.parse(s.result);if(t.items)for(var a in t.items)n(a,t.items[a]);else["cat","doc","ireg","areg","cch","cacc"].forEach(function(e){if(t[e])for(var a in t[e])n(e+"."+a,t.cat[a])});i||$p.msg.show_msg($p.msg.sync_no_data)}catch(e){$p.msg.show_msg(e.message)}},s.readAsText(a.files[0])}}var a,i;if(!e&&void 0!=typeof window){var s={name:"import",wnd:{width:300,height:100,caption:$p.msg.select_file_import}},o=$p.iface.dat_blank(null,s.wnd);a=document.createElement("input"),a.setAttribute("id","json_file"),a.setAttribute("type","file"),a.setAttribute("accept",".json"),a.setAttribute("value","*.json"),a.onchange=n,o.button("close").show(),o.button("park").hide(),o.attachObject(a),o.centerOnScreen(),o.setModal(!0),setTimeout(function(){a.click()},100)}},$p.eve.__define({set_offline:{value:function(e){var t=$p.job_prm.offline;$p.job_prm.offline=!(!e&&!$p.wsql.get_user_param("offline","boolean")),t!=$p.job_prm.offline&&(t=$p.job_prm.offline)}},on_rotate:{value:function(e){$p.job_prm.device_orient=0==window.orientation||180==window.orientation?"portrait":"landscape","undefined"!=typeof e&&$p.eve.callEvent("onOrientationChange",[$p.job_prm.device_orient])}},steps:{value:{load_meta:0,authorization:1,create_managers:2,process_access:3,load_data_files:4,load_data_db:5,load_data_wsql:6,save_data_wsql:7}},log_in:{value:function(e){var t,n={};return e($p.eve.steps.load_meta),$p.ajax.default_attr(n,$p.job_prm.irest_url()),($p.job_prm.offline?Promise.resolve({responseURL:"",response:""}):$p.ajax.get_ex(n.url,n)).then(function(e){if($p.job_prm.offline||($p.job_prm.irest_enabled=!0),"{"==e.response[0])return JSON.parse(e.response)}).catch(function(){}).then(function(n){return e($p.eve.steps.authorization),t=n,t.root=!0,$p.job_prm.offline||$p.job_prm.irest_enabled?t:$p.ajax.get_ex($p.job_prm.rest_url()+"?$format=json",!0).then(function(){return t})}).catch(function(e){throw $p.iface.auth.onerror&&$p.iface.auth.onerror(e),e}).then(function(t){return e($p.eve.steps.load_data_files),$p.job_prm.offline?t:($p.eve.callEvent("log_in",[$p.ajax.authorized=!0]),"string"==typeof t&&(t=JSON.parse(t)),void($p.msg.check_soap_result(t)||($p.wsql.get_user_param("enable_save_pwd")?$p.wsql.set_user_param("user_pwd",$p.ajax.password):$p.wsql.get_user_param("user_pwd")&&$p.wsql.set_user_param("user_pwd",""),t.now_1c&&t.now_js&&$p.wsql.set_user_param("time_diff",t.now_1c-t.now_js))))}).then(function(){_md.printing_plates(t.printing_plates)})}}}),function(w,eve,msg){var timer_setted=!1,cache;w.addEventListener("online",eve.set_offline),w.addEventListener("offline",function(){eve.set_offline(!0)}),w.addEventListener("load",function(){setTimeout(function(){function navigate(e){e&&(location.origin+location.pathname).indexOf(e)==-1&&location.replace(e)}function init_params(){function e(){var e=dhtmlx.codebase,t=!0,n=!0;e.indexOf("cdn.jsdelivr.net")!=-1&&(e="//cdn.jsdelivr.net/metadata/latest/");for(var a=0;a<document.styleSheets.length;a++)document.styleSheets[a].href&&(document.styleSheets[a].href.indexOf("dhx_web")==-1&&document.styleSheets[a].href.indexOf("dhx_terrace")==-1||(t=!1),document.styleSheets[a].href.indexOf("metadata.css")!=-1&&(n=!1));dhtmlx.skin=$p.wsql.get_user_param("skin")||$p.job_prm.skin||"dhx_web",t&&$p.load_script(e+("dhx_web"==dhtmlx.skin?"dhx_web.css":"dhx_terrace.css"),"link"),n&&$p.load_script(e+"metadata.css","link"),$p.job_prm.additional_css&&$p.job_prm.additional_css.forEach(function(e){(dhx4.isIE||e.indexOf("ie_only")==-1)&&$p.load_script(e,"link")}),dhtmlx.image_path="//oknosoft.github.io/metadata.js/lib/imgs/",dhtmlx.skin_suffix=function(){return dhtmlx.skin.replace("dhx","")+"/"},dhx4.ajax.cache=!0,$p.iface.__define("w",{value:new dhtmlXWindows,enumerable:!1}),$p.iface.w.setSkin(dhtmlx.skin),$p.iface.__define("popup",{value:new dhtmlXPopup,enumerable:!1})}$p.wsql.init_params(),"dhtmlx"in w&&e(),"undefined"==typeof w.orientation?$p.job_prm.device_orient=w.innerWidth>w.innerHeight?"landscape":"portrait":eve.on_rotate(),w.addEventListener("orientationchange",eve.on_rotate,!1),eve.stepper={step:0,count_all:0,step_size:57,files:0},eve.set_offline(!navigator.onLine),setTimeout(function(){$p.wsql.pouch.load_data().catch($p.record_log);var e;(e=document.querySelector("#splash"))&&e.parentNode.removeChild(e),eve.callEvent("iface_init",[$p])},20),(cache=w.applicationCache)&&(cache.addEventListener("noupdate",function(e){},!1),cache.addEventListener("cached",function(e){timer_setted=!0,$p.iface.appcache&&$p.iface.appcache.close()},!1),cache.addEventListener("updateready",function(e){try{cache.swapCache()}catch(e){}$p.iface.do_reload()},!1),cache.addEventListener("error",$p.record_log,!1))}if(!w.JSON||!w.indexedDB)throw eve.redirect=!0,msg.show_msg({type:"alert-error",text:msg.unsupported_browser,title:msg.unsupported_browser_title}),msg.unsupported_browser;$p.__define("job_prm",{value:new JobPrm,writable:!1}),($p.job_prm.use_ip_geo||$p.job_prm.use_google_geo)&&($p.ipinfo=new IPInfo),$p.job_prm.use_google_geo&&(window.google&&window.google.maps?location_callback():$p.on("iface_init",function(){setTimeout(function(){$p.load_script("//maps.google.com/maps/api/js?callback=$p.ipinfo.location_callback","script",function(){})},100)})),$p.job_prm.allow_post_message&&w.addEventListener("message",function(event){if(("*"==$p.job_prm.allow_post_message||$p.job_prm.allow_post_message==event.origin)&&"string"==typeof event.data)try{var res=eval(event.data);if(res&&event.source){if("object"==typeof res)res=JSON.stringify(res);else if("function"==typeof res)return;event.source.postMessage(res,"*")}}catch(e){$p.record_log(e)}}),$p.job_prm.__define("device_type",{get:function(){var e=$p.wsql.get_user_param("device_type");return e||(e=function(e){return e<800?"phone":e<1024?"tablet":"desktop"}(Math.max(screen.width,screen.height)),$p.wsql.set_user_param("device_type",e)),e},set:function(e){$p.wsql.set_user_param("device_type",e)}}),document.body.addEventListener("keydown",function(e){eve.callEvent("keydown",[e])},!1),setTimeout(init_params,10)},10)},!1),w.onbeforeunload=function(){if(!eve.redirect)return msg.onbeforeunload},w.addEventListener("popstat",$p.iface.hash_route),w.addEventListener("hashchange",$p.iface.hash_route)}(window,$p.eve,$p.msg),SpreadsheetDocument.prototype.__define({clear:{value:function(){for(;this._attr.content.firstChild;)this._attr.content.removeChild(this._attr.content.firstChild)}},put:{value:function(e,t){var n;e instanceof HTMLElement?(n=document.createElement(e.tagName),n.innerHTML=e.innerHTML,t||(t=e.attributes)):(n=document.createElement("DIV"),n.innerHTML=e),t&&Object.keys(t).forEach(function(e){"id"!=e&&"id"!=t[e].name&&n.setAttribute(t[e].name||e,t[e].value||t[e])}),this._attr.content.appendChild(n)}},content:{get:function(){return this._attr.content},set:function(e){this.clear(),"string"==typeof e?this._attr.content.innerHTML=e:e instanceof HTMLElement&&(this._attr.content.innerHTML=e.innerHTML)}},title:{get:function(){return this._attr.title},set:function(e){this._attr.title=e}}}),$p.SpreadsheetDocument=SpreadsheetDocument,$p.HandsontableDocument=HandsontableDocument,$p.injected_data._mixin({"form_auth.xml":'<?xml version="1.0" encoding="UTF-8"?>\n<items>\n\t<item type="settings" position="label-left" labelWidth="80" inputWidth="180" noteWidth="180"/>\n\t<item type="fieldset" name="data" inputWidth="auto" label="Авторизация">\n\n <item type="radio" name="type" labelWidth="auto" position="label-right" checked="true" value="guest" label="Гостевой (демо) режим">\n <item type="select" name="guest" label="Роль">\n <option value="Дилер" label="Дилер"/>\n </item>\n </item>\n\n\t\t<item type="radio" name="type" labelWidth="auto" position="label-right" value="auth" label="Есть учетная запись">\n\t\t\t<item type="input" value="" name="login" label="Логин" validate="NotEmpty" />\n\t\t\t<item type="password" value="" name="password" label="Пароль" validate="NotEmpty" />\n\t\t</item>\n\n\t\t<item type="button" value="Войти" name="submit"/>\n\n <item type="template" name="text_options" className="order_dealer_options" inputWidth="170"\n value="<a href=\'#\' onclick=\'$p.iface.open_settings();\' title=\'Страница настроек программы\' > <i class=\'fa fa-cog fa-lg\'></i> Настройки </a> <a href=\'//www.oknosoft.ru/feedback\' target=\'_blank\' style=\'margin-left: 9px;\' title=\'Задать вопрос через форму обратной связи\' > <i class=\'fa fa-question-circle fa-lg\'></i> Вопрос </a>" />\n\n\t</item>\n</items>',"toolbar_add_del.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_add" text="<i class=\'fa fa-plus-circle fa-fw\'></i> Добавить" title="Добавить строку" />\r\n <item type="button" id="btn_delete" text="<i class=\'fa fa-times fa-fw\'></i> Удалить" title="Удалить строку" />\r\n</toolbar>',"toolbar_obj.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_save_close" text="<b>Записать и закрыть</b>" title="Рассчитать, записать и закрыть" />\r\n <item type="button" id="btn_save" text="<i class=\'fa fa-floppy-o fa-fw\'></i>" title="Рассчитать и записать данные"/>\r\n <item type="button" id="btn_post" enabled="false" text="<i class=\'fa fa-check-square-o fa-fw\'></i>" title="Провести документ" />\r\n <item type="button" id="btn_unpost" enabled="false" text="<i class=\'fa fa-square-o fa-fw\'></i>" title="Отмена проведения" />\r\n\r\n <item type="button" id="btn_files" text="<i class=\'fa fa-paperclip fa-fw\'></i>" title="Присоединенные файлы"/>\r\n\r\n <item type="buttonSelect" id="bs_print" text="<i class=\'fa fa-print fa-fw\'></i>" title="Печать" openAll="true">\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_create_by_virtue" text="<i class=\'fa fa-bolt fa-fw\'></i>" title="Создать на основании" openAll="true" >\r\n <item type="button" id="btn_message" enabled="false" text="Сообщение" />\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_go_to" text="<i class=\'fa fa-external-link fa-fw\'></i>" title="Перейти" openAll="true" >\r\n <item type="button" id="btn_go_connection" enabled="false" text="Связи" />\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n\r\n <item type="button" id="btn_import" text="<i class=\'fa fa-upload fa-fw\'></i> Загрузить из файла" />\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-download fa-fw\'></i> Выгрузить в файл" />\r\n </item>\r\n\r\n <item id="sep1" type="separator"/>\r\n <item type="button" id="btn_close" text="<i class=\'fa fa-times fa-fw\'></i>" title="Закрыть форму"/>\r\n <item id="sep2" type="separator"/>\r\n\r\n</toolbar>\r\n',"toolbar_ok_cancel.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="btn_ok" type="button" img="" imgdis="" text="<b>Ок</b>" />\r\n <item id="btn_cancel" type="button"\timg="" imgdis="" text="Отмена" />\r\n</toolbar>',"toolbar_rep.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_run" text="<i class=\'fa fa-play fa-fw\'></i> Сформировать" title="Сформировать отчет"/>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n\r\n <item type="button" id="btn_print" text="<i class=\'fa fa-print fa-fw\'></i> Печать" />\r\n\r\n <item id="sep3" type="separator"/>\r\n\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-file-excel-o fa-fw\'></i> Выгрузить в файл" />\r\n\r\n <item id="sep4" type="separator"/>\r\n\r\n <item type="button" id="btn_import" text="<i class=\'fa fa-folder-open-o fa-fw\'></i> Выбрать вариант" />\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-floppy-o fa-fw\'></i> Сохранить вариант" />\r\n\r\n </item>\r\n\r\n <item id="sep1" type="separator"/>\r\n\r\n</toolbar>\r\n',"toolbar_selection.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n\r\n <item id="sep0" type="separator"/>\r\n\r\n <item id="btn_select" type="button" title="Выбрать элемент списка" text="<b>Выбрать</b>" />\r\n\r\n <item id="sep1" type="separator"/>\r\n <item id="btn_new" type="button"\ttext="<i class=\'fa fa-plus-circle fa-fw\'></i>"\ttitle="Создать" />\r\n <item id="btn_edit" type="button"\ttext="<i class=\'fa fa-pencil fa-fw\'></i>"\ttitle="Изменить" />\r\n <item id="btn_delete" type="button"\ttext="<i class=\'fa fa-times fa-fw\'></i>"\ttitle="Удалить" />\r\n <item id="sep2" type="separator"/>\r\n\r\n <item type="buttonSelect" id="bs_print" text="<i class=\'fa fa-print fa-fw\'></i> Печать" openAll="true" >\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n <item id="btn_requery" type="button"\ttext="<i class=\'fa fa-refresh fa-fw\'></i> Обновить список" />\r\n </item>\r\n\r\n <item id="sep3" type="separator"/>\r\n\r\n</toolbar>'});var xmlToJSON=function(){this.version="1.3";var e={mergeCDATA:!0,grokAttr:!0,grokText:!0,normalize:!0,xmlns:!0,namespaceKey:"_ns",textKey:"_text",valueKey:"_value",attrKey:"_attr",cdataKey:"_cdata",attrsAsObject:!0,stripAttrPrefix:!0,stripElemPrefix:!0,childrenAsArray:!0},t=new RegExp(/(?!xmlns)^.*:/),n=new RegExp(/^\s+|\s+$/g);return this.grokType=function(e){return/^\s*$/.test(e)?null:/^(?:true|false)$/i.test(e)?"true"===e.toLowerCase():isFinite(e)?parseFloat(e):e},this.parseString=function(e,t){return this.parseXML(this.stringToXML(e),t)},this.parseXML=function(a,i){for(var s in i)e[s]=i[s];var o={},r=0,l="";if(e.xmlns&&a.namespaceURI&&(o[e.namespaceKey]=a.namespaceURI),a.attributes&&a.attributes.length>0){var c={};for(r;r<a.attributes.length;r++){var p=a.attributes.item(r);m={};var d="";d=e.stripAttrPrefix?p.name.replace(t,""):p.name,e.grokAttr?m[e.valueKey]=this.grokType(p.value.replace(n,"")):m[e.valueKey]=p.value.replace(n,""),e.xmlns&&p.namespaceURI&&(m[e.namespaceKey]=p.namespaceURI),e.attrsAsObject?c[d]=m:o[e.attrKey+d]=m}e.attrsAsObject&&(o[e.attrKey]=c)}if(a.hasChildNodes())for(var u,f,m,h=0;h<a.childNodes.length;h++)u=a.childNodes.item(h),4===u.nodeType?e.mergeCDATA?l+=u.nodeValue:o.hasOwnProperty(e.cdataKey)?(o[e.cdataKey].constructor!==Array&&(o[e.cdataKey]=[o[e.cdataKey]]),o[e.cdataKey].push(u.nodeValue)):e.childrenAsArray?(o[e.cdataKey]=[],o[e.cdataKey].push(u.nodeValue)):o[e.cdataKey]=u.nodeValue:3===u.nodeType?l+=u.nodeValue:1===u.nodeType&&(0===r&&(o={}),f=e.stripElemPrefix?u.nodeName.replace(t,""):u.nodeName,m=xmlToJSON.parseXML(u),o.hasOwnProperty(f)?(o[f].constructor!==Array&&(o[f]=[o[f]]),o[f].push(m)):(e.childrenAsArray?(o[f]=[],o[f].push(m)):o[f]=m,r++));else l||(e.childrenAsArray?(o[e.textKey]=[],o[e.textKey].push(null)):o[e.textKey]=null);if(l)if(e.grokText){var _=this.grokType(l.replace(n,""));null!==_&&void 0!==_&&(o[e.textKey]=_)}else e.normalize?o[e.textKey]=l.replace(n,"").replace(/\s+/g," "):o[e.textKey]=l.replace(n,"");return o},this.xmlToString=function(e){try{var t=e.xml?e.xml:(new XMLSerializer).serializeToString(e);return t}catch(e){return null}},this.stringToXML=function(e){try{var t=null;if(window.DOMParser){var n=new DOMParser;return t=n.parseFromString(e,"text/xml")}return t=new ActiveXObject("Microsoft.XMLDOM"),t.async=!1,t.loadXML(e),t}catch(e){return null}},this}();"undefined"!=typeof module&&null!==module&&module.exports?module.exports=xmlToJSON:"function"==typeof define&&define.amd&&define(function(){return xmlToJSON});/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ +s&&s.reload&&s.reload()},20))}),i.attachEvent("onDblClick",function(e){r(e)})):(a=m,setTimeout(function(){s&&s.reload&&s.reload()},20)),s=m.elmnts.grid=a.attachGrid(),s.setIconsPath(dhtmlx.image_path),s.setImagePath(dhtmlx.image_path),s.attachEvent("onBeforeSorting",f),s.attachEvent("onBeforePageChanged",function(){return!!this.getRowsNum()}),s.attachEvent("onXLE",function(){a.progressOff()}),s.attachEvent("onXLS",function(){a.progressOn()}),s.attachEvent("onDynXLS",function(e,t){var n=u(e,t);if(n)return h.sync_grid(n,s),!1}),s.attachEvent("onRowDblClicked",function(e,t){if(i&&i.items[e]){i.selectItem(e);var n=i.getParentId(e);n&&n!=$p.utils.blank.guid&&i.openItem(n)}else r(e)}),t.smart_rendering?s.enableSmartRendering(!0,50):(s.setPagingWTMode(!0,!0,!0,[20,30,60]),s.enablePaging(!0,30,8,h.class_name.replace(".","_")+"_select_recinfoArea"),s.setPagingSkin("toolbar",dhtmlx.skin)),$p.iface.docs&&$p.iface.docs.getViewName&&"oper"==$p.iface.docs.getViewName()&&s.enableMultiselect(!0),s.reload=function(){var e=u();return e?(a.progressOn(),s.clearAll(),h.sync_grid(e,s).then(function(n){if("object"==typeof n)$p.msg.check_soap_result(n);else if(!o){if(e.initial_value){var r=n.indexOf("set_parent"),l=n.indexOf("'>",r),c=n.substr(r+12,l-r-12);$p.utils.is_guid(c)&&g&&(i.do_not_reload=!0,i.selectItem(c,!1)),s.selectRowById(e.initial_value)}else e.parent&&$p.utils.is_guid(e.parent)&&g&&(i.do_not_reload=!0,i.selectItem(e.parent,!1));s.setColumnMinWidth(200,s.getColIndexById("presentation")),s.enableAutoWidth(!0,1200,600),s.setSizes(),o=!0,m.elmnts.filter.input_filter&&"desktop"==$p.job_prm.device_type&&m.elmnts.filter.input_filter.focus(),t.on_grid_inited&&t.on_grid_inited()}v&&o&&s.setSortImgState(!0,b,v),a.progressOff()})):Promise.resolve()}}function o(e){if(!t.toolbar_click||t.toolbar_click(e,m,h)!==!1)if("btn_select"==e)r();else if("btn_new"==e)h.create({},!0).then(function(e){t.on_new?t.on_new(e,m):$p.job_prm.keep_hash?e.form_obj(m):(e._set_loaded(e.ref),$p.iface.set_hash(h.class_name,e.ref))});else if("btn_edit"==e){var n=m.elmnts.grid.getSelectedRowId();n?t.on_edit?t.on_edit(h,n,m):$p.job_prm.keep_hash?h.form_obj(m,{ref:n}):$p.iface.set_hash(h.class_name,n):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}else"prn_"==e.substr(0,4)?l(e):"btn_order_list"==e?$p.iface.set_hash("","","","def"):"btn_delete"==e?c():"btn_import"==e?h.import():"btn_export"==e?h.export(m.elmnts.grid.getSelectedRowId()):"btn_requery"==e&&(x={},m.elmnts.grid.reload())}function r(n){n||(n=m.elmnts.grid.getSelectedRowId());var a;if(t.selection&&t.selection.forEach(function(e){for(var t in e)"is_folder"==t&&(a=e[t])}),m.elmnts.tree&&m.elmnts.tree.items[n]&&m.elmnts.tree.getSelectedId()!=n)return void m.elmnts.tree.selectItem(n,!0);if(n&&a===!0&&m.elmnts.grid.cells(n,0).cell.classList.contains("cell_ref_elm"))return void $p.msg.show_msg($p.msg.select_grp);if(!n&&m.elmnts.tree||m.elmnts.tree&&m.elmnts.tree.getSelectedId()==n){if(a===!1)return void $p.msg.show_msg($p.msg.select_elm);n=m.elmnts.tree.getSelectedId()}n&&(t.on_edit?t.on_edit(h,n,m):y?h.get(n,!0).then(function(t){m.close(),y.call(e.grid||e,t)}):$p.job_prm.keep_hash?h.form_obj(m,{ref:n}):$p.iface.set_hash(h.class_name,n))}function l(e){var t=m.elmnts.grid.getSelectedRowId();t?h.print(t,e,m):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}function c(){var e=m.elmnts.grid.getSelectedRowId();e?h.get(e,!0,!0).then(function(e){dhtmlx.confirm({title:$p.msg.main_title,text:e._deleted?$p.msg.mark_undelete_confirm.replace("%1",e.presentation):$p.msg.mark_delete_confirm.replace("%1",e.presentation),cancel:"Отмена",callback:function(t){t&&e.mark_deleted(!e._deleted)}})}):$p.msg.show_msg({type:"alert-warning",text:$p.msg.no_selected_row.replace("%1",""),title:$p.msg.main_title})}function p(n){document.body.removeEventListener("keydown",a),t&&t.on_close&&!n&&t.on_close(),n||(h=m=_=x=y=e=t=null)}function d(){return setTimeout(p,10),e.on_unload&&e.on_unload.call(e.grid||e),w&&($p.eve.detachEvent(w),w=null),!0}function u(e,n){var a=m.elmnts.filter.get_filter()._mixin({action:"get_selection",metadata:_,class_name:h.class_name,order_by:m.elmnts.grid.columnIds[b]||b,direction:v,start:e||((m.elmnts.grid.currentPage||1)-1)*m.elmnts.grid.rowsBufferOutSize,count:n||m.elmnts.grid.rowsBufferOutSize,get_header:void 0==x.get_header}),i=g?m.elmnts.tree.getSelectedId():null;if(t.smart_rendering&&(a.smart_rendering=!0),t.date_from&&!a.date_from&&(a.date_from=t.date_from),t.date_till&&!a.date_till&&(a.date_till=t.date_till),t.initial_value&&(a.initial_value=t.initial_value),t.custom_selection&&(a.custom_selection=t.custom_selection),t.selection)if(a.selection)if(Array.isArray(t.selection))t.selection.forEach(function(e){a.selection.push(e)});else for(var s in t.selection){res.selection||(res.selection=[]);var o={};o[s]=t.selection[s],a.selection.push(o)}else a.selection=t.selection;t.owner&&!a.owner&&(a.owner=t.owner),a.parent=!i&&!t.parent||a.filter?null:i||t.parent,g&&!a.parent&&(a.parent=$p.utils.blank.guid);for(var r in a)if(x[r]!=a[r])return x=a,a}function f(e){var t=m.elmnts.grid.getSortingState();return b=e,v="des"==t[1]?"asc":"des",m.elmnts.grid.reload(),!0}e||(e=t&&t.pwnd?t.pwnd:{}),t||e instanceof dhtmlXCellObject||(t=e,e={}),t||(t={});var m,h=this,_=t.metadata||h.metadata(),g=_.hierarchical&&!(h instanceof ChartOfAccountManager),b=0,v="asc",x={},y=e.on_select||t.on_select,w=$p.eve.attachEvent("frm_close",function(e,t){h&&h.class_name==e&&m&&m.elmnts&&m.elmnts.grid.reload().then(function(){$p.utils.is_empty_guid(t)||m.elmnts.grid.selectRowById(t,!1,!0,!0)})});return g&&t.initial_value&&t.initial_value!=$p.utils.blank.guid&&!t.parent?h.get(t.initial_value,!0).then(function(e){return t.parent=e.parent.ref,t.set_parent=t.parent,n()}):n()},DataManager.prototype.form_list=function(e,t){return this.form_selection(e,t)},$p.iface.wnd_sync=function(){function e(){var e={name:"wnd_sync",wnd:{id:"wnd_sync",top:130,left:200,width:496,height:290,modal:!0,center:!0,caption:"Подготовка данных"}};t.wnd_sync=$p.iface.dat_blank(null,e.wnd);var n=[{type:"block",name:"form_block_1",list:[{type:"label",name:"form_label_1",label:$p.msg.sync_data},{type:"block",name:"form_block_2",list:[{type:"template",name:"img_long",className:"img_long"},{type:"newcolumn"},{type:"template",name:"text_processed"},{type:"template",name:"text_current"},{type:"template",name:"text_bottom"}]}]},{type:"button",name:"form_button_1",value:$p.msg.sync_break}];t.frm_sync=t.wnd_sync.attachForm(n),t.frm_sync.attachEvent("onButtonClick",function(e){t&&(t.do_break=!0)}),t.frm_sync.setItemValue("text_processed","Инициализация"),t.frm_sync.setItemValue("text_bottom","Загружается структура таблиц...")}var t,n=$p.iface.sync={};n.create=function(n){t=n,e()},n.update=function(e){t.frm_sync.setItemValue("text_processed","Обработано элементов: "+t.step*t.step_size+" из "+t.count_all);var n,a="",i=0;for(var s in e){if(i++,i>4)break;a&&(a+="<br />"),n=$p.cat[s].metadata(),a+=(n.list_presentation||n.synonym)+" ("+e[s].length+")"}t.frm_sync.setItemValue("text_current","Текущий запрос: "+t.step+" ("+Math.round(t.step*t.step_size*100/t.count_all)+"%)"),t.frm_sync.setItemValue("text_bottom",a)},n.close=function(){t&&t.wnd_sync&&(t.wnd_sync.close(),delete t.wnd_sync,delete t.frm_sync)}},DataManager.prototype.export=function(e){function t(){$p.wsql.restore_options("data_manager",l),l.wnd.caption="Экспорт "+r.family_name+" '"+(r.metadata().synonym||r.metadata().name)+"'",o=$p.iface.dat_blank(null,l.wnd),o.bottom_toolbar({buttons:[{name:"btn_cancel",text:'<i class="fa fa-times fa-lg"></i> Отмена',title:"Отмена",width:"80px",float:"right"},{name:"btn_ok",b:'<i class="fa fa-floppy-o"></i> Ок',title:"Выполнить экспорт",width:"50px",float:"right"}],onclick:function(e){return"btn_ok"==e?i():o.close(),!1}}),o.button("close").show(),o.button("park").hide(),o.attachEvent("onClose",s);var t=[{type:"fieldset",name:"form_range",label:"Выгрузить",list:[{type:"settings",labelWidth:320,labelAlign:"left",position:"label-right"},{type:"radio",name:"range",label:"Выделенные строки",value:"selected"},{type:"radio",name:"range",label:"Весь справочник",value:"all"}]},{type:"fieldset",name:"form_fieldset_2",label:"Дополнительно выгрузить",list:[{type:"settings",labelWidth:160,position:"label-right"},{type:"checkbox",name:"meta",label:"Описание метаданных",labelAlign:"left",position:"label-right",checked:l.meta},{type:"newcolumn"},{type:"checkbox",name:"relation",label:"Связанные объекты",position:"label-right",checked:l.relation,tooltip:"Связанные объекты по ссылкам (пока не реализовано)"}]},{type:"fieldset",name:"fieldset_format",label:"Формат файла",list:[{type:"settings",labelWidth:60,labelAlign:"left",position:"label-right"},{type:"radio",name:"format",label:"json",value:"json",tooltip:"Выгрузить в формате JSON"},{type:"newcolumn"},{type:"radio",name:"format",label:"xlsx",value:"xlsx",tooltip:"Выгрузить в офисном формате XLSX"},{type:"newcolumn"},{type:"radio",name:"format",label:"atom",value:"atom",tooltip:"Выгрузить в формате XML Atom"}]}];o.elmnts.frm=o.attachForm(t),o.elmnts.frm.setItemValue("range",l.range||"all"),e.items&&1==e.items.length?(e.obj?o.elmnts.frm.setItemLabel("range","selected","Тек. объект: "+e.items[0].presentation):r.get(e.items[0],!0).then(function(e){o.elmnts.frm.setItemLabel("range","selected","Тек. объект: "+e.presentation)}),o.elmnts.frm.setItemValue("range","selected")):e.items&&e.items.length&&o.elmnts.frm.setItemLabel("range","selected","Выделенные строки ("+e.items.length+" элем.)"),r instanceof DocManager&&o.elmnts.frm.setItemLabel("range","all","Все документы из кеша (0 элем.)"),o.elmnts.frm.setItemValue("format",l.format||"json"),o.elmnts.frm.attachEvent("onChange",n),n(),e.pwnd&&e.pwnd.isModal&&e.pwnd.isModal()&&(e.set_pwnd_modal=!0,e.pwnd.setModal(!1)),o.setModal(!0)}function n(){o.elmnts.frm.setItemValue("relation",!1),o.elmnts.frm.disableItem("relation"),"all"==o.elmnts.frm.getItemValue("range")?(o.elmnts.frm.disableItem("format","atom"),"atom"==o.elmnts.frm.getItemValue("format")&&o.elmnts.frm.setItemValue("format","json")):o.elmnts.frm.enableItem("format","atom"),"json"==o.elmnts.frm.getItemValue("format")?o.elmnts.frm.enableItem("meta"):"sql"==o.elmnts.frm.getItemValue("format")?(o.elmnts.frm.setItemValue("meta",!1),o.elmnts.frm.disableItem("meta")):(o.elmnts.frm.setItemValue("meta",!1),o.elmnts.frm.disableItem("meta"))}function a(){return l.format=o.elmnts.frm.getItemValue("format"),l.range=o.elmnts.frm.getItemValue("range"),l.meta=o.elmnts.frm.getItemValue("meta"),l.relation=o.elmnts.frm.getItemValue("relation"),l}function i(){function t(){e.obj?$p.wsql.alasql("SELECT * INTO XLSX('"+r.table_name+".xlsx',{headers:true}) FROM ?",[e.items[0]._obj]):$p.wsql.alasql("SELECT * INTO XLSX('"+r.table_name+".xlsx',{headers:true}) FROM "+r.table_name)}a();var n={meta:{},items:{}},i=n.items[r.class_name]=[];if(l.meta&&(n.meta[r.class_name]=r.metadata()),"json"==l.format)e.obj?i.push(e.items[0]._obj):r.each(function(t){"all"!=l.range&&e.items.indexOf(t.ref)==-1||i.push(t._obj)}),e.items.length&&!i.length?r.get(e.items[0],!0).then(function(e){i.push(e._obj),alasql.utils.saveFile(r.table_name+".json",JSON.stringify(n,null,4))}):alasql.utils.saveFile(r.table_name+".json",JSON.stringify(n,null,4));else if("xlsx"==l.format)window.xlsx?t():$p.load_script("//cdn.jsdelivr.net/js-xlsx/latest/xlsx.core.min.js","script",t);else if("atom"==l.format&&e.items.length){var s=e.obj?Promise.resolve(e.items[0]):r.get(e.items[0],!0);s.then(function(e){alasql.utils.saveFile(r.table_name+".xml",e.to_atom())})}else $p.msg.show_not_implemented()}function s(t){return $p.iface.popup.hide(),o.wnd_options(l.wnd),$p.wsql.save_options("data_manager",a()),o.setModal(!1),e.set_pwnd_modal&&e.pwnd.setModal&&e.pwnd.setModal(!0),!0}e&&"string"==typeof e?e={items:e.split(",")}:e||(e={items:[]});var o,r=this,l={name:"export",wnd:{top:130,left:200,width:480,height:350}};t()},DataManager.prototype.import=function(e,t){function n(e){function n(e,n){var a=_md.mgr_by_class_name(e);if(n.length)if(t){if(t._manager==a)for(var s in n)$p.utils.fix_guid(n[s])==t.ref&&(i=!0,a.load_array([n[s]],!0))}else i=!0,a.load_array(n,!0)}if(o.close(),a.files.length){var s=new FileReader;s.onload=function(e){try{var t=JSON.parse(s.result);if(t.items)for(var a in t.items)n(a,t.items[a]);else["cat","doc","ireg","areg","cch","cacc"].forEach(function(e){if(t[e])for(var a in t[e])n(e+"."+a,t.cat[a])});i||$p.msg.show_msg($p.msg.sync_no_data)}catch(e){$p.msg.show_msg(e.message)}},s.readAsText(a.files[0])}}var a,i;if(!e&&void 0!=typeof window){var s={name:"import",wnd:{width:300,height:100,caption:$p.msg.select_file_import}},o=$p.iface.dat_blank(null,s.wnd);a=document.createElement("input"),a.setAttribute("id","json_file"),a.setAttribute("type","file"),a.setAttribute("accept",".json"),a.setAttribute("value","*.json"),a.onchange=n,o.button("close").show(),o.button("park").hide(),o.attachObject(a),o.centerOnScreen(),o.setModal(!0),setTimeout(function(){a.click()},100)}},$p.eve.__define({set_offline:{value:function(e){var t=$p.job_prm.offline;$p.job_prm.offline=!(!e&&!$p.wsql.get_user_param("offline","boolean")),t!=$p.job_prm.offline&&(t=$p.job_prm.offline)}},on_rotate:{value:function(e){$p.job_prm.device_orient=0==window.orientation||180==window.orientation?"portrait":"landscape","undefined"!=typeof e&&$p.eve.callEvent("onOrientationChange",[$p.job_prm.device_orient])}},steps:{value:{load_meta:0,authorization:1,create_managers:2,process_access:3,load_data_files:4,load_data_db:5,load_data_wsql:6,save_data_wsql:7}},log_in:{value:function(e){var t,n={};return e($p.eve.steps.load_meta),$p.ajax.default_attr(n,$p.job_prm.irest_url()),($p.job_prm.offline?Promise.resolve({responseURL:"",response:""}):$p.ajax.get_ex(n.url,n)).then(function(e){if($p.job_prm.offline||($p.job_prm.irest_enabled=!0),"{"==e.response[0])return JSON.parse(e.response)}).catch(function(){}).then(function(n){return e($p.eve.steps.authorization),t=n,t.root=!0,$p.job_prm.offline||$p.job_prm.irest_enabled?t:$p.ajax.get_ex($p.job_prm.rest_url()+"?$format=json",!0).then(function(){return t})}).catch(function(e){throw $p.iface.auth.onerror&&$p.iface.auth.onerror(e),e}).then(function(t){return e($p.eve.steps.load_data_files),$p.job_prm.offline?t:($p.eve.callEvent("log_in",[$p.ajax.authorized=!0]),"string"==typeof t&&(t=JSON.parse(t)),void($p.msg.check_soap_result(t)||($p.wsql.get_user_param("enable_save_pwd")?$p.wsql.set_user_param("user_pwd",$p.ajax.password):$p.wsql.get_user_param("user_pwd")&&$p.wsql.set_user_param("user_pwd",""),t.now_1c&&t.now_js&&$p.wsql.set_user_param("time_diff",t.now_1c-t.now_js))))}).then(function(){_md.printing_plates(t.printing_plates)})}}}),function(w,eve,msg){var timer_setted=!1,cache;w.addEventListener("online",eve.set_offline),w.addEventListener("offline",function(){eve.set_offline(!0)}),w.addEventListener("load",function(){setTimeout(function(){function navigate(e){e&&(location.origin+location.pathname).indexOf(e)==-1&&location.replace(e)}function init_params(){function e(){var e=dhtmlx.codebase,t=!0,n=!0;e.indexOf("cdn.jsdelivr.net")!=-1&&(e="//cdn.jsdelivr.net/metadata/latest/");for(var a=0;a<document.styleSheets.length;a++)document.styleSheets[a].href&&(document.styleSheets[a].href.indexOf("dhx_web")==-1&&document.styleSheets[a].href.indexOf("dhx_terrace")==-1||(t=!1),document.styleSheets[a].href.indexOf("metadata.css")!=-1&&(n=!1));dhtmlx.skin=$p.wsql.get_user_param("skin")||$p.job_prm.skin||"dhx_web",t&&$p.load_script(e+("dhx_web"==dhtmlx.skin?"dhx_web.css":"dhx_terrace.css"),"link"),n&&$p.load_script(e+"metadata.css","link"),$p.job_prm.additional_css&&$p.job_prm.additional_css.forEach(function(e){(dhx4.isIE||e.indexOf("ie_only")==-1)&&$p.load_script(e,"link")}),dhtmlx.image_path="//oknosoft.github.io/metadata.js/lib/imgs/",dhtmlx.skin_suffix=function(){return dhtmlx.skin.replace("dhx","")+"/"},dhx4.ajax.cache=!0,$p.iface.__define("w",{value:new dhtmlXWindows,enumerable:!1}),$p.iface.w.setSkin(dhtmlx.skin),$p.iface.__define("popup",{value:new dhtmlXPopup,enumerable:!1})}$p.wsql.init_params(),"dhtmlx"in w&&e(),"undefined"==typeof w.orientation?$p.job_prm.device_orient=w.innerWidth>w.innerHeight?"landscape":"portrait":eve.on_rotate(),w.addEventListener("orientationchange",eve.on_rotate,!1),eve.stepper={step:0,count_all:0,step_size:57,files:0},eve.set_offline(!navigator.onLine),setTimeout(function(){$p.wsql.pouch.load_data().catch($p.record_log);var e;(e=document.querySelector("#splash"))&&e.parentNode.removeChild(e),eve.callEvent("iface_init",[$p])},20),(cache=w.applicationCache)&&(cache.addEventListener("noupdate",function(e){},!1),cache.addEventListener("cached",function(e){timer_setted=!0,$p.iface.appcache&&$p.iface.appcache.close()},!1),cache.addEventListener("updateready",function(e){try{cache.swapCache()}catch(e){}$p.iface.do_reload()},!1),cache.addEventListener("error",$p.record_log,!1))}if(!w.JSON||!w.indexedDB)throw eve.redirect=!0,msg.show_msg({type:"alert-error",text:msg.unsupported_browser,title:msg.unsupported_browser_title}),msg.unsupported_browser;$p.__define("job_prm",{value:new JobPrm,writable:!1}),($p.job_prm.use_ip_geo||$p.job_prm.use_google_geo)&&($p.ipinfo=new IPInfo),$p.job_prm.use_google_geo&&(window.google&&window.google.maps?location_callback():$p.on("iface_init",function(){setTimeout(function(){$p.load_script("//maps.google.com/maps/api/js?callback=$p.ipinfo.location_callback","script",function(){})},100)})),$p.job_prm.allow_post_message&&w.addEventListener("message",function(event){if(("*"==$p.job_prm.allow_post_message||$p.job_prm.allow_post_message==event.origin)&&"string"==typeof event.data)try{var res=eval(event.data);if(res&&event.source){if("object"==typeof res)res=JSON.stringify(res);else if("function"==typeof res)return;event.source.postMessage(res,"*")}}catch(e){$p.record_log(e)}}),$p.job_prm.__define("device_type",{get:function(){var e=$p.wsql.get_user_param("device_type");return e||(e=function(e){return e<800?"phone":e<1024?"tablet":"desktop"}(Math.max(screen.width,screen.height)),$p.wsql.set_user_param("device_type",e)),e},set:function(e){$p.wsql.set_user_param("device_type",e)}}),document.body.addEventListener("keydown",function(e){eve.callEvent("keydown",[e])},!1),setTimeout(init_params,10)},10)},!1),w.onbeforeunload=function(){if(!eve.redirect)return msg.onbeforeunload},w.addEventListener("popstat",$p.iface.hash_route),w.addEventListener("hashchange",$p.iface.hash_route)}(window,$p.eve,$p.msg),SpreadsheetDocument.prototype.__define({clear:{value:function(){for(;this._attr.content.firstChild;)this._attr.content.removeChild(this._attr.content.firstChild)}},put:{value:function(e,t){var n;e instanceof HTMLElement?(n=document.createElement(e.tagName),n.innerHTML=e.innerHTML,t||(t=e.attributes)):(n=document.createElement("DIV"),n.innerHTML=e),t&&Object.keys(t).forEach(function(e){"id"!=e&&"id"!=t[e].name&&n.setAttribute(t[e].name||e,t[e].value||t[e])}),this._attr.content.appendChild(n)}},content:{get:function(){return this._attr.content},set:function(e){this.clear(),"string"==typeof e?this._attr.content.innerHTML=e:e instanceof HTMLElement&&(this._attr.content.innerHTML=e.innerHTML)}},title:{get:function(){return this._attr.title},set:function(e){this._attr.title=e}}}),$p.SpreadsheetDocument=SpreadsheetDocument,$p.HandsontableDocument=HandsontableDocument,$p.injected_data._mixin({"form_auth.xml":'<?xml version="1.0" encoding="UTF-8"?>\n<items>\n\t<item type="settings" position="label-left" labelWidth="80" inputWidth="180" noteWidth="180"/>\n\t<item type="fieldset" name="data" inputWidth="auto" label="Авторизация">\n\n <item type="radio" name="type" labelWidth="auto" position="label-right" checked="true" value="guest" label="Гостевой (демо) режим">\n <item type="select" name="guest" label="Роль">\n <option value="Дилер" label="Дилер"/>\n </item>\n </item>\n\n\t\t<item type="radio" name="type" labelWidth="auto" position="label-right" value="auth" label="Есть учетная запись">\n\t\t\t<item type="input" value="" name="login" label="Логин" validate="NotEmpty" />\n\t\t\t<item type="password" value="" name="password" label="Пароль" validate="NotEmpty" />\n\t\t</item>\n\n\t\t<item type="button" value="Войти" name="submit"/>\n\n <item type="template" name="text_options" className="order_dealer_options" inputWidth="170"\n value="<a href=\'#\' onclick=\'$p.iface.open_settings();\' title=\'Страница настроек программы\' > <i class=\'fa fa-cog fa-lg\'></i> Настройки </a> <a href=\'//www.oknosoft.ru/feedback\' target=\'_blank\' style=\'margin-left: 9px;\' title=\'Задать вопрос через форму обратной связи\' > <i class=\'fa fa-question-circle fa-lg\'></i> Вопрос </a>" />\n\n\t</item>\n</items>',"toolbar_add_del.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_add" text="<i class=\'fa fa-plus-circle fa-fw\'></i> Добавить" title="Добавить строку" />\r\n <item type="button" id="btn_delete" text="<i class=\'fa fa-times fa-fw\'></i> Удалить" title="Удалить строку" />\r\n</toolbar>',"toolbar_obj.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_save_close" text="<b>Записать и закрыть</b>" title="Рассчитать, записать и закрыть" />\r\n <item type="button" id="btn_save" text="<i class=\'fa fa-floppy-o fa-fw\'></i>" title="Рассчитать и записать данные"/>\r\n <item type="button" id="btn_post" enabled="false" text="<i class=\'fa fa-check-square-o fa-fw\'></i>" title="Провести документ" />\r\n <item type="button" id="btn_unpost" enabled="false" text="<i class=\'fa fa-square-o fa-fw\'></i>" title="Отмена проведения" />\r\n\r\n <item type="button" id="btn_files" text="<i class=\'fa fa-paperclip fa-fw\'></i>" title="Присоединенные файлы"/>\r\n\r\n <item type="buttonSelect" id="bs_print" text="<i class=\'fa fa-print fa-fw\'></i>" title="Печать" openAll="true">\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_create_by_virtue" text="<i class=\'fa fa-bolt fa-fw\'></i>" title="Создать на основании" openAll="true" >\r\n <item type="button" id="btn_message" enabled="false" text="Сообщение" />\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_go_to" text="<i class=\'fa fa-external-link fa-fw\'></i>" title="Перейти" openAll="true" >\r\n <item type="button" id="btn_go_connection" enabled="false" text="Связи" />\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n\r\n <item type="button" id="btn_import" text="<i class=\'fa fa-upload fa-fw\'></i> Загрузить из файла" />\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-download fa-fw\'></i> Выгрузить в файл" />\r\n </item>\r\n\r\n <item id="sep1" type="separator"/>\r\n <item type="button" id="btn_close" text="<i class=\'fa fa-times fa-fw\'></i>" title="Закрыть форму"/>\r\n <item id="sep2" type="separator"/>\r\n\r\n</toolbar>\r\n',"toolbar_ok_cancel.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="btn_ok" type="button" img="" imgdis="" text="<b>Ок</b>" />\r\n <item id="btn_cancel" type="button"\timg="" imgdis="" text="Отмена" />\r\n</toolbar>',"toolbar_rep.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n <item id="sep0" type="separator"/>\r\n <item type="button" id="btn_run" text="<i class=\'fa fa-play fa-fw\'></i> Сформировать" title="Сформировать отчет"/>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n\r\n <item type="button" id="btn_print" text="<i class=\'fa fa-print fa-fw\'></i> Печать" />\r\n\r\n <item id="sep3" type="separator"/>\r\n\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-file-excel-o fa-fw\'></i> Выгрузить в файл" />\r\n\r\n <item id="sep4" type="separator"/>\r\n\r\n <item type="button" id="btn_import" text="<i class=\'fa fa-folder-open-o fa-fw\'></i> Выбрать вариант" />\r\n <item type="button" id="btn_export" text="<i class=\'fa fa-floppy-o fa-fw\'></i> Сохранить вариант" />\r\n\r\n </item>\r\n\r\n <item id="sep1" type="separator"/>\r\n\r\n</toolbar>\r\n',"toolbar_selection.xml":'<?xml version="1.0" encoding=\'utf-8\'?>\r\n<toolbar>\r\n\r\n <item id="sep0" type="separator"/>\r\n\r\n <item id="btn_select" type="button" title="Выбрать элемент списка" text="<b>Выбрать</b>" />\r\n\r\n <item id="sep1" type="separator"/>\r\n <item id="btn_new" type="button"\ttext="<i class=\'fa fa-plus-circle fa-fw\'></i>"\ttitle="Создать" />\r\n <item id="btn_edit" type="button"\ttext="<i class=\'fa fa-pencil fa-fw\'></i>"\ttitle="Изменить" />\r\n <item id="btn_delete" type="button"\ttext="<i class=\'fa fa-times fa-fw\'></i>"\ttitle="Удалить" />\r\n <item id="sep2" type="separator"/>\r\n\r\n <item type="buttonSelect" id="bs_print" text="<i class=\'fa fa-print fa-fw\'></i> Печать" openAll="true" >\r\n </item>\r\n\r\n <item type="buttonSelect" id="bs_more" text="<i class=\'fa fa-th-large fa-fw\'></i>" title="Дополнительно" openAll="true">\r\n <item id="btn_requery" type="button"\ttext="<i class=\'fa fa-refresh fa-fw\'></i> Обновить список" />\r\n </item>\r\n\r\n <item id="sep3" type="separator"/>\r\n\r\n</toolbar>'});var xmlToJSON=function(){this.version="1.3";var e={mergeCDATA:!0,grokAttr:!0,grokText:!0,normalize:!0,xmlns:!0,namespaceKey:"_ns",textKey:"_text",valueKey:"_value",attrKey:"_attr",cdataKey:"_cdata",attrsAsObject:!0,stripAttrPrefix:!0,stripElemPrefix:!0,childrenAsArray:!0},t=new RegExp(/(?!xmlns)^.*:/),n=new RegExp(/^\s+|\s+$/g);return this.grokType=function(e){return/^\s*$/.test(e)?null:/^(?:true|false)$/i.test(e)?"true"===e.toLowerCase():isFinite(e)?parseFloat(e):e},this.parseString=function(e,t){return this.parseXML(this.stringToXML(e),t)},this.parseXML=function(a,i){for(var s in i)e[s]=i[s];var o={},r=0,l="";if(e.xmlns&&a.namespaceURI&&(o[e.namespaceKey]=a.namespaceURI),a.attributes&&a.attributes.length>0){var c={};for(r;r<a.attributes.length;r++){var p=a.attributes.item(r);m={};var d="";d=e.stripAttrPrefix?p.name.replace(t,""):p.name,e.grokAttr?m[e.valueKey]=this.grokType(p.value.replace(n,"")):m[e.valueKey]=p.value.replace(n,""),e.xmlns&&p.namespaceURI&&(m[e.namespaceKey]=p.namespaceURI),e.attrsAsObject?c[d]=m:o[e.attrKey+d]=m}e.attrsAsObject&&(o[e.attrKey]=c)}if(a.hasChildNodes())for(var u,f,m,h=0;h<a.childNodes.length;h++)u=a.childNodes.item(h),4===u.nodeType?e.mergeCDATA?l+=u.nodeValue:o.hasOwnProperty(e.cdataKey)?(o[e.cdataKey].constructor!==Array&&(o[e.cdataKey]=[o[e.cdataKey]]),o[e.cdataKey].push(u.nodeValue)):e.childrenAsArray?(o[e.cdataKey]=[],o[e.cdataKey].push(u.nodeValue)):o[e.cdataKey]=u.nodeValue:3===u.nodeType?l+=u.nodeValue:1===u.nodeType&&(0===r&&(o={}),f=e.stripElemPrefix?u.nodeName.replace(t,""):u.nodeName,m=xmlToJSON.parseXML(u),o.hasOwnProperty(f)?(o[f].constructor!==Array&&(o[f]=[o[f]]),o[f].push(m)):(e.childrenAsArray?(o[f]=[],o[f].push(m)):o[f]=m,r++));else l||(e.childrenAsArray?(o[e.textKey]=[],o[e.textKey].push(null)):o[e.textKey]=null);if(l)if(e.grokText){var _=this.grokType(l.replace(n,""));null!==_&&void 0!==_&&(o[e.textKey]=_)}else e.normalize?o[e.textKey]=l.replace(n,"").replace(/\s+/g," "):o[e.textKey]=l.replace(n,"");return o},this.xmlToString=function(e){try{var t=e.xml?e.xml:(new XMLSerializer).serializeToString(e);return t}catch(e){return null}},this.stringToXML=function(e){try{var t=null;if(window.DOMParser){var n=new DOMParser;return t=n.parseFromString(e,"text/xml")}return t=new ActiveXObject("Microsoft.XMLDOM"),t.async=!1,t.loadXML(e),t}catch(e){return null}},this}();"undefined"!=typeof module&&null!==module&&module.exports?module.exports=xmlToJSON:"function"==typeof define&&define.amd&&define(function(){return xmlToJSON});/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ var saveAs=saveAs||function(e){"use strict";if(!("undefined"==typeof e||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var t=e.document,n=function(){return e.URL||e.webkitURL||e},a=t.createElementNS("http://www.w3.org/1999/xhtml","a"),i="download"in a,s=function(e){var t=new MouseEvent("click");e.dispatchEvent(t)},o=/constructor/i.test(e.HTMLElement),r=/CriOS\/[\d]+/.test(navigator.userAgent),l=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},c="application/octet-stream",p=4e4,d=function(e){var t=function(){"string"==typeof e?n().revokeObjectURL(e):e.remove()};setTimeout(t,p)},u=function(e,t,n){t=[].concat(t);for(var a=t.length;a--;){var i=e["on"+t[a]];if("function"==typeof i)try{i.call(e,n||e)}catch(e){l(e)}}},f=function(e){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e},m=function(t,l,p){p||(t=f(t));var m,h=this,_=t.type,g=_===c,b=function(){u(h,"writestart progress write writeend".split(" "))},v=function(){if((r||g&&o)&&e.FileReader){var a=new FileReader;return a.onloadend=function(){var t=r?a.result:a.result.replace(/^data:[^;]*;/,"data:attachment/file;"),n=e.open(t,"_blank");n||(e.location.href=t),t=void 0,h.readyState=h.DONE,b()},a.readAsDataURL(t),void(h.readyState=h.INIT)}if(m||(m=n().createObjectURL(t)),g)e.location.href=m;else{var i=e.open(m,"_blank");i||(e.location.href=m)}h.readyState=h.DONE,b(),d(m)};return h.readyState=h.INIT,i?(m=n().createObjectURL(t),void setTimeout(function(){a.href=m,a.download=l,s(a),b(),d(m),h.readyState=h.DONE})):void v()},h=m.prototype,_=function(e,t,n){return new m(e,t||e.name||"download",n)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(e,t,n){return t=t||e.name||"download",n||(e=f(e)),navigator.msSaveOrOpenBlob(e,t)}:(h.abort=function(){},h.readyState=h.INIT=0,h.WRITING=1,h.DONE=2,h.error=h.onwritestart=h.onprogress=h.onwrite=h.onabort=h.onerror=h.onwriteend=null,_)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);/*! * @version: 2.1.24 * @author: Dan Grossman http://www.dangrossman.info/ diff --git a/src/pouchdb.js b/src/pouchdb.js index 31587f8b1..7ec784f00 100644 --- a/src/pouchdb.js +++ b/src/pouchdb.js @@ -492,8 +492,8 @@ function Pouch(){ value: function (tObj, attr) { var tmp = tObj._obj._clone(), - db = tObj._manager.pouch_db; - + db = attr.db || tObj._manager.pouch_db; + tmp._id = tObj._manager.class_name + "|" + tObj.ref; delete tmp.ref; @@ -520,10 +520,10 @@ function Pouch(){ return db.put(tmp); }) .then(function () { - + if(tObj.is_new()) tObj._set_loaded(tObj.ref); - + if(tmp._attachments){ if(!tObj._attachments) tObj._attachments = {}; @@ -532,7 +532,7 @@ function Pouch(){ tObj._attachments[att] = tmp._attachments[att]; } } - + tmp = null; attr = null; return tObj; diff --git a/src/widgets/wnd_selection.js b/src/widgets/wnd_selection.js index 02a674ba7..7f48cf878 100644 --- a/src/widgets/wnd_selection.js +++ b/src/widgets/wnd_selection.js @@ -125,7 +125,7 @@ DataManager.prototype.form_selection = function(pwnd, attr){ if(attr.period) tbattr.period = attr.period; wnd.elmnts.filter = new $p.iface.Toolbar_filter(tbattr); - + // учтём права для каждой роли на каждый объект var _acl = $p.current_acl.get_acl(_mgr.class_name); @@ -368,6 +368,11 @@ DataManager.prototype.form_selection = function(pwnd, attr){ */ function toolbar_click(btn_id){ + // если внешний обработчик вернул false - выходим + if(attr.toolbar_click && attr.toolbar_click(btn_id, wnd, _mgr) === false){ + return; + } + if(btn_id=="btn_select"){ select(); @@ -643,9 +648,9 @@ DataManager.prototype.form_selection = function(pwnd, attr){ wnd.elmnts.grid.reload(); return true; } - + /** - * подписываемся на событие закрытия формы объекта, чтобы обновить список и попытаться спозиционироваться на нужной строке + * подписываемся на событие закрытия формы объекта, чтобы обновить список и попытаться спозиционироваться на нужной строке */ var _frm_close = $p.eve.attachEvent("frm_close", function (class_name, ref) { if(_mgr && _mgr.class_name == class_name && wnd && wnd.elmnts){