|
![]() |
#1 |
Участник
|
Стандарт пересчитывает цены и скидки, ориентируясь на системную дату. Поэтому ,если текущая дата устраивает, достаточно пробежаться по строкам заказа, установив системную дату, и вызвать метод строки заказа setPriceDisc.
Но, часто бывает, что цены и скидки нужно устанавливать по какой-то заданной дате (дате заказа на продажу, дате предложения, дате договора и т.п.). В этом случае придется модифицировать приложение. В частности, нужно протягивать дату в следующих местах (список не полный): - Класс PriceDisc, метод newFromSalesPurchLine добавить параметр даты (дать ему значение по умолчанию systemDateGet()) и при создании PriceDisc вместо systemDateGet() передавать параметр - Map SalesPurchLine, метод setPriceAgreement добавить параметр с датой, передавать его в метод newFromSalesPurchLine класса PriceDisc. - В методе setPriceAgreement таблицы salesLine передавать дату, которую получаем по условиям работы с конкретным клиентом. В частности, в качестве дополнения к этому механизму нужно будет менять функционал планирования продаж - там тоже рассчитываются цены и скидки. В итоге - если есть возможность, то лучше менять системную дату перед расчетом. |
|
|
За это сообщение автора поблагодарили: Starling (1). |
![]() |
#2 |
Участник
|
Использование системной даты вполне устраивает по БП.
Ну а периодической операции таки быть, буду дергать стандартный код по пересчету цен/ скидок для каждого заказа на продажу. |
|