Вопрос

Получение id заявки при инициализации

Добрый день. 

У меня такая задача. Мне нужно посчитать суму оплаты из разделов счета, для конкретной заявки и поместить в соответствующие поле в разделе заявки. Для этого я при в методе init вызываю метод, который с помощью esq по id заявки проводит подсчет соответствующего поля.

Проблема заключается в том, что я не могу получить id заявки.

Вот код методов:

init: function() {

                    // Вызов родительской реализации метода init.

                    this.callParent(arguments);

                    // Инициализация миксина управления мультивалютностью.

                    this.mixins.MultiCurrencyEditUtilities.init.call(this);

                    debugger;

                    this.test1();

                    

                    

            },

test1: function() {

                debugger;

                var scope  = this;

                var idApplication = this.get("Id");////здесь ошибка

                    var esqPaymentAmount = this.Ext.create("Terrasoft.EntitySchemaQuery", {

                    rootSchemaName: "Invoice"

                    });

                    esqPaymentAmount.addAggregationSchemaColumn("PaymentAmount", Terrasoft.AggregationType.SUM, "PaymentAmount", Terrasoft.AggregationEvalType.ALL);

                    var esqPaymentAmountFilter = esqPaymentAmount.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "CHApplicationId", "idApplication");

                    esqPaymentAmount.filters.add("esqPaymentAmountFilter", esqPaymentAmountFilter);

                    esqPaymentAmount.getEntityCollection(function (result) {

                    if (result.success) {

                    result.collection.each(function (item) {

                        this.set("CHPaymentAmount", item.get("PaymentAmount"));

                    });

                    }

                    }, this);

            }

Подскажите, пожалуйста решение данной проблемы. Заранее благодарен за помощь)

Нравится

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

Добрый день, Вадим!

А почему вы решили именно в init вставлять свой метод для заполнения поля?

Мне кажется лучше будет переопределить не init, а onEntityInitialized. onEntityInitialized отрабатывает тогда, когда уже точно все поля прогрузились с заполненными значениями (если они есть, конечно).

У себя проверил, в init также не показывает id, а вот в onEntityInitialized все без проблем.

Спасибо, за помощь)

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