Здравствуйте.
Версия 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:
[javascript]
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);
}
}
[/javascript]
Помогите разобраться. Делал на версии платформы 7.8. Вроде как-то работает, но не то что-то.
1) Название поля получилось не "Сумма, р.", а "500, р." именно цифрами сумма:

2) Как исправить логику пересчета суммы в валюте в сумму в б.в.

Курс валюты пишет хххх EUR = 1 руб, а должно быть наоборот ххх руб. = 1 EUR... как результат и считает в обратную строну - т.е. сумма в б.в. получается меньше чем сумма в валюте (в случае с евро).