Использую схему замещения для страницы 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);