Использование EntitySchemaQuery

Здравствуйте!
Необходимо на странице портального обращения получить некоторые значения, например, Email из справочника контактов для контакта, который указан в поле Контакт. Пишу следующий код:

var contact1 = this.get("Contact");
var contactId = contact1.value;
var esqContact = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "Contact"
});
esqContact.addColumn("Email");
esqContact.getEntity(contactId, function(result) {
if (result.entity) {
var ContactEmail = result.entity.get("Email");
this.set("ContactInfo", ContactEmail);
}
}, this);

contactId заполняется правильным Id, но в результате все время получаю result.entity равным null. Причем, result.success равен true.

Подскажите, пожалуйста, что может быть не так?

Нравится

4 комментария

Добрый день, Наталья, я попробовал Ваш код у себя, и могу констатировать, что он вполне рабочий, единственное что менял, это поле вывода, в которое выводил полученный емейл, и поле из которого получал контакт, так что вероятно проблема в них...

Александр,
спасибо за помощь.
Я смотрела под отладчиком, Id берется правильный. До записи в поле дело вообще не доходит, т.к. result.entity равна null.
А Вы тестировали на какой странице?

Александр,
спасибо за участие. Ларчик просто открывался: у пользователя нет прав на контакты.

В разделе "объекты" брал Responsible, как поле со справочником контакты. Насколько я знаю, EntitySchemaQuery выполняет обработку накладывая существующие права. Может быть проблема в правах доступа?

Показать все комментарии