AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.04.2009, 13:53   #1  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Автоматически пересчет цен/скидок в заказах
Согласно БП между заказом товара клиентом и продажей проходит значительный промежуток времени (иногда до полугода). В течение этого времени цены (и скидки в том числе) могут быть несколько раз изменены. При этом продажа происходит по ценам, которые действуют на момент продажи.

В стандарте цены и скидки рассчитываются в момент создания заказа на продажу на дату на создания.

Существует ли в стандарте механизм позволяющий пересчитать цены в заказах на продажу согласно новым коммерческим соглашениям?

На сколько я понимаю - нет. Так что пока я вижу только один вариант – модифа по созданию периодической операции, которая будет пересчитывать цены и скидки.

Может что лучшее посоветуете?
Старый 11.04.2009, 14:28   #2  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Стандарт пересчитывает цены и скидки, ориентируясь на системную дату. Поэтому ,если текущая дата устраивает, достаточно пробежаться по строкам заказа, установив системную дату, и вызвать метод строки заказа setPriceDisc.
Но, часто бывает, что цены и скидки нужно устанавливать по какой-то заданной дате (дате заказа на продажу, дате предложения, дате договора и т.п.). В этом случае придется модифицировать приложение. В частности, нужно протягивать дату в следующих местах (список не полный):
- Класс PriceDisc, метод newFromSalesPurchLine добавить параметр даты (дать ему значение по умолчанию systemDateGet()) и при создании PriceDisc вместо systemDateGet() передавать параметр
- Map SalesPurchLine, метод setPriceAgreement добавить параметр с датой, передавать его в метод newFromSalesPurchLine класса PriceDisc.
- В методе setPriceAgreement таблицы salesLine передавать дату, которую получаем по условиям работы с конкретным клиентом.
В частности, в качестве дополнения к этому механизму нужно будет менять функционал планирования продаж - там тоже рассчитываются цены и скидки.
В итоге - если есть возможность, то лучше менять системную дату перед расчетом.
За это сообщение автора поблагодарили: Starling (1).
Старый 11.04.2009, 15:37   #3  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Использование системной даты вполне устраивает по БП.
Ну а периодической операции таки быть, буду дергать стандартный код по пересчету цен/ скидок для каждого заказа на продажу.
Теги
коммерческие соглашения

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пересчет склада в Ax 4.0 mir_ks1 DAX: Функционал 2 24.09.2008 05:56
Пересчет складских запасов VadimVN DAX: Функционал 5 21.01.2005 09:15
Ошибка при закрытии склада, при закрытии более ранней датой, чем пересчет Berkoff DAX: Функционал 2 25.10.2004 17:52
[AXAPTA] Пересчет себестоимости. - Неужели это и должно быть так долго?? andrue DAX: Функционал 4 14.08.2002 19:49
Округление цен (цена/ед) в заказах Роман Кошелев DAX: Функционал 8 30.07.2002 16:58
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:23.