|  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 | 
| Участник | 
			
			Использование системной даты вполне устраивает по БП.  Ну а периодической операции таки быть, буду дергать стандартный код по пересчету цен/ скидок для каждого заказа на продажу. | 
|  |