11.04.2009, 13:53 | #1 |
Участник
|
Автоматически пересчет цен/скидок в заказах
Согласно БП между заказом товара клиентом и продажей проходит значительный промежуток времени (иногда до полугода). В течение этого времени цены (и скидки в том числе) могут быть несколько раз изменены. При этом продажа происходит по ценам, которые действуют на момент продажи.
В стандарте цены и скидки рассчитываются в момент создания заказа на продажу на дату на создания. Существует ли в стандарте механизм позволяющий пересчитать цены в заказах на продажу согласно новым коммерческим соглашениям? На сколько я понимаю - нет. Так что пока я вижу только один вариант – модифа по созданию периодической операции, которая будет пересчитывать цены и скидки. Может что лучшее посоветуете? |
|
11.04.2009, 14:28 | #2 |
Участник
|
Стандарт пересчитывает цены и скидки, ориентируясь на системную дату. Поэтому ,если текущая дата устраивает, достаточно пробежаться по строкам заказа, установив системную дату, и вызвать метод строки заказа setPriceDisc.
Но, часто бывает, что цены и скидки нужно устанавливать по какой-то заданной дате (дате заказа на продажу, дате предложения, дате договора и т.п.). В этом случае придется модифицировать приложение. В частности, нужно протягивать дату в следующих местах (список не полный): - Класс PriceDisc, метод newFromSalesPurchLine добавить параметр даты (дать ему значение по умолчанию systemDateGet()) и при создании PriceDisc вместо systemDateGet() передавать параметр - Map SalesPurchLine, метод setPriceAgreement добавить параметр с датой, передавать его в метод newFromSalesPurchLine класса PriceDisc. - В методе setPriceAgreement таблицы salesLine передавать дату, которую получаем по условиям работы с конкретным клиентом. В частности, в качестве дополнения к этому механизму нужно будет менять функционал планирования продаж - там тоже рассчитываются цены и скидки. В итоге - если есть возможность, то лучше менять системную дату перед расчетом. |
|
|
За это сообщение автора поблагодарили: Starling (1). |
11.04.2009, 15:37 | #3 |
Участник
|
Использование системной даты вполне устраивает по БП.
Ну а периодической операции таки быть, буду дергать стандартный код по пересчету цен/ скидок для каждого заказа на продажу. |
|