Подскажите пожалуйста, как можно установить переменную "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, либо вызывать функции последовательно.