Пересчет цены продукта в счете

Добрый день!

В разделе счета есть продукты. Если в продукте указана запись справочника, а не произвольный продукт, то при каждом открытии идет пересчет цены и сумм в валюте. Как можно убрать автоматический пересчет при открытии карточки продукта в счете?

Нравится

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

Александра, добрый день!

Проверил на последней релизной демо-сборке bpm'online sales omnichannel 7.5.0.1186.

Проверил следующие последовательности:

1) Изменил курс валют.
2) Открыл карточку счета, перешел на вкладку "Продукты".
3) Сфокусировался на продукте в счете, в котором у продукта цена в долларах, в меню действий кликнул "Изменить".

1) Открыл карточку счета, перешел на вкладку "Продукты".
2) Сфокусировался на продукте в счете, в котором у продукта цена в долларах, в меню действий кликнул "Изменить".
3) Из карточки продукта в счете перейти к продукту, поменять в продукте цену, сохранить продукт.
4) Открыл карточку счета, перешел на вкладку "Продукты".
5) Сфокусировался на продукте в счете, в котором у продукта цена в долларах, в меню действий кликнул "Изменить".

Цена продукта в счете осталается неизменной.

Если последовательность действий иная, а также, если речь идет о конкретной версии, пожалуйста, опишите ее более подробно последовательность воспроизведения и используемую версию.

Спасибо!

Версия 7.3.

Добавляю счет, указываю в нем валюту и курс.
Добавляю продукты на вкладке Продукты. Для каждого продукта подтягивается цена из справочника Продукты с учетом валюты счета.
Изменяю у продуктов счета цена (цену у продукта в справочнике Продукты не меняю), сохраняю продукты счета.
Открываю продукты счета - подтягивается цена из справочника Продукты в соответствии с валютой счета.

Надо, чтобы после изменений цены продукта счета, при повторном открытии она не затиралась ценой продута из справчника.

С этим разобралась. Изменила метод выбора продукта:

onProductSelect: function() {
//this.callParent(arguments);
var product = this.get("Product");
if (product && product.Currency) {
MoneyModule.onLoadCurrencyRate.call(this, product.Currency.value, null, function(item) {
var invoice = this.get("Invoice");
var price = (product.Price * invoice.CurrencyRate * item.Division) / item.Rate;
if (this.get("Price") <= 0 ) {
this.set("Price", price);
}
});
}
}
},

Остался другой вопрос. Как обновлять автоматически деталь Продукты после изменения курса валюты счета.

Александра, это, скорее всего, не предусмотрено в "коробочной" версии, т.к. счет выставляется на конкретную дату с определенным курсом, т.е. сумма счета не должна постоянно меняться в зависимости от колебания курса. Если нужен счет с новым курсом - нужно создать его заново (скопировать), а текущий отменить.
Я к тому, что может и не стоит это реализовать?

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