Использую схему замещения для страницы BootstrapModulesV2. В ней js скрипт, который выполняется на всех страницах Creatio. Мне нужно в него передать email текущего пользователя системы.
Вот код, который использую для получения почты (не уверен, что он верный):
var contact = this.Terrasoft.SysValue.CURRENT_USER_CONTACT.value; var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "ContactCommunication" }); esq.addColumn("Contact"); esq.filters.add("filter01", this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "Contact", contact)); esq.getEntityCollection(function (result) { if (!result.success) { this.console.log("ERROR"); return; }else if (esult.collection.collection.length > 0) {//если найденных записей больше 0 var item = result.collection.collection[0]; var email = item.get("Email");//то берем первый элемент this.console.log(email); } }, this);
Какие ошибки получаю:
В чем может быть дело?
Нравится
Полный работающий код
var contact = this.Terrasoft.SysValue.CURRENT_USER_CONTACT.value; var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Contact" }); esq.addColumn("Id"); esq.addColumn("Email"); esq.filters.add("filter01", this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "Id", contact)); esq.getEntityCollection(function (result) { if (!result.success) { this.console.log("ERROR"); return; }else if (result.collection.collection.length > 0) { var item = result.collection.collection.items[0]; this.console.log(item.get("Email")); } }, this);
Валерия, добрый день!
Ошибка вызвана символом >, дело в том, что этот XML символ обозначает знак >. Вы можете просто заменить ">" на ">" и код будет работать.
Дима Вовченко,
Добрый день!
Заменили заменить ">" на ">", вылезает другая ошибка:
Я так понимаю, для item нет метода get. А как тогда можно получить почту пользователя?
Валерия Макарова, result.collection.collection.items[0].values.Email
Полный работающий код
var contact = this.Terrasoft.SysValue.CURRENT_USER_CONTACT.value; var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Contact" }); esq.addColumn("Id"); esq.addColumn("Email"); esq.filters.add("filter01", this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "Id", contact)); esq.getEntityCollection(function (result) { if (!result.success) { this.console.log("ERROR"); return; }else if (result.collection.collection.length > 0) { var item = result.collection.collection.items[0]; this.console.log(item.get("Email")); } }, this);