Как достать переменную?
Подскажите пожалуйста, как можно установить переменную "EntityType" в зависимости от результата в If - ах? Использую приведенный ниже код, но значение в EntityType не передаётся.
var url = document.URL;
var ID = url.substring(url.length - 36);
var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "ElcCustomers"
});
esq.addColumn("Id");
esq.addColumn("type");
esq.addColumn("ClientCode");
var esqFilter = esq.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "Id", ID);
esq.filters.add(esqFilter);
var EntityType ="41C43145-76B2-435E-881E-E2CF01B31B9F";
esq.getEntityCollection(function(result){
if (result.success) {
result.collection.each(function(item) {
if (item.get("type")==="Account")
{
this.set("EntityType," "41C43145-76B2-435E-881E-E2CF01B31B9F");
window.console.info("Type Acc " + EntityType);
}
else if (item.get("type")==="Person")
{
this.set("EntityType", "F6ABCC78-12D2-4A43-8A0C-C7000DB12D52");
window.console.info("Type Person" + EntityType);
}
});
}
}, this);
Нравится
OLeg1020 пишет:
Давайте подключусь к вам по AnyDesk, напишите в личные сообщения, посмотрим в живую.
Добрый вечер.
Выполняли отладку клиентского кода? В консоли есть какие-то ошибки?
OLeg1020,
Что значит не передается на уровень выше и как Вы это проверяете?
Если вы хотите установить значение в переменную, то вам надо писать так:
EntityType = "новое значение";
Вариант который используете вы:
this.set("EntityType", "новое значение") - используется для установки значений в Атрибуты и в Поля текущей сущности(карточки), но никак не в переменную.
OLeg1020 пишет:
Давайте подключусь к вам по AnyDesk, напишите в личные сообщения, посмотрим в живую.
OLeg1020 пишет:
Так тоже возвращается пустое значение. Внутри esq.getEntity, значение EntityType присваивается корректно.
В данном случае эти функции работают асинхронно, то есть получается, что внутренняя функция по получению EntityType ещё не отработала и значение не присвоилось, а Вы уже по нему фильтруете.
Вам нужно либо дождаться, когда отработает внутренняя функция, а потом уже выполнять фильтрацию по значению EntityType, либо вызывать функции последовательно.