Здравствуйте.
Версия 7.7.0.2293
В раздел Документы по аналогии с разделом Счета добавил мультивалютное поле (код страницы в приложении).
При редактировании через карандаш смена валюты работает нормально, но при выборе валюты через заголовок поля ничего не происходит(валюта не меняется, сумма не пересчитываеться). (Скрин поля в приложении)
Подскажите пожалуйста в чем дело?
Нравится
Здравствуйте! Сверьте, пожалуйста, код. Затем попробуйте отладить код в консоли и посмотреть на каком моменте происходит свал. Если не получиться решить вопрос, то прикрепите с крин с ошибкой.
Добрый день.
Я думаю что данное поведение наблюдается из-за того что в модуле MultiCurrencyEditUtilities в методе onCurrencyMenuItemClick грубо идет запись в поле Currency, т.е. если если у вас есть префикс Usr и т.п. то оно не сработает. Я сталкивался с данной проблемой и т.к. нужно было добавить мультивалютное поле в пользовательский раздел то помогло замещение данного модуля и переопределение метода следующим образом(лучше было конечно взять префикс с системной настройки, а не грубо забивать):
onCurrencyMenuItemClick: function(menuItem) { var currency = this.get("CurrencyRateList").find(menuItem); var prefix = "Usr"; if(this.entitySchemaName.substring(0, prefix.length) == prefix) { this.set(prefix + "Currency", currency); } else { this.set("Currency", currency); } }
В случае с документами это возможно вам не поможет, но хоть будете знать куда смотреть)
Илья, ошибок не было.
Роман, спасибо навели на решение, добавил виртуальную колонку Currency, когда она изменяется устанавливаю значение в UsrCurrency:
attributes: { ... "Currency": { "type": this.Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN, "dataValueType": this.Terrasoft.DataValueType.LOOKUP, "lookupListConfig": { "columns": ["Division"] }, "dependencies": [ { "columns": ["Currency"], "methodName": "onVirtualCurrencyChange" } ] } }, methods: { ... onVirtualCurrencyChange: function() { var currency = this.get("Currency"); this.set("UsrCurrency", currency); } }
Помогите разобраться. Делал на версии платформы 7.8. Вроде как-то работает, но не то что-то.
1) Название поля получилось не "Сумма, р.", а "500, р." именно цифрами сумма:
2) Как исправить логику пересчета суммы в валюте в сумму в б.в.
Курс валюты пишет хххх EUR = 1 руб, а должно быть наоборот ххх руб. = 1 EUR... как результат и считает в обратную строну - т.е. сумма в б.в. получается меньше чем сумма в валюте (в случае с евро).