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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.02.2013, 19:12   #1  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Как указать скидку
Нужно, чтобы скидка на товары в заказах зависила от дня недели.
Можно ли обойтись станд функционалом?

Нужно, например, чтобы:
В ПН все товары , кроме были со скидкой 1%, а товар А со скидкой 2% .
Во ВТ на все скидка 2% , но товары А и Б со скидкой 5% и тд

Хочется обойтись минимальным программированием
Старый 01.02.2013, 23:37   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от IKA Посмотреть сообщение
Нужно, чтобы скидка на товары в заказах зависила от дня недели. Можно ли обойтись станд функционалом?
Именно в такой постановке задачи - нет; теоретически можно выкрутиться, нагенерив дохреналион строк ценовых соглашений на каждый день, которые в массе своей дадут желаемый результат, но это полнейший изврат. Вообще же в подобных случаях хорошим тоном считается указывать версию приложения, хотя по соседним темам и можно догадаться, что речь в целом - об AX 2009.
Цитата:
Сообщение от IKA Посмотреть сообщение
Хочется обойтись минимальным программированием
Ан фиг там Надо будет корячить ценовые соглашения, плюс PriceDisc, плюс PriceDisc_LineDisc, плюс соотв. журналы (!), плюс связанные с журналами классы, плюс по-хорошему еще соотв. AxBC-классы... Но в целом задачка довольно простая, без изысков
Старый 02.02.2013, 00:46   #3  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,314 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Штатно в ценовых соглашениях нет возможности указания дня скидки (ну если днем скидки не считать диапазон дат действия скидки). Под это дело может подойти настройка платежных дней (см справочник условий оплаты), если ссылку на справочник платежных дней добавить в PriceDiscTable. Но, как было верно подмечено - эту ссылку нужно будет обрабатывать в классах, отвечающих за ценовые соглашения - PriceDics, PriceDisc_LineDisc и т.д.

Также нужно будет продумать вопрос обработки платежного дня для разных типов скидок (однострочная, многострочная, общая), а также цен (продажи/покупки) и, возможно, функциональности дополнительных номенклатур (SuppItem*) - когда "купите 2 кружки - 3-ю в подарок".

Собственно говоря - продумав, как будет работать механизм коммерческих соглашений для цен/скидок, а также в разрезе клиентов (поставщиков) / номенклатуры - можно будет внести изменения в вышеуказанные классы / таблицы и решить исходную поставленную задачу
__________________
Возможно сделать все. Вопрос времени
Старый 02.02.2013, 14:09   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
В 2012 в модуле Retail появились рекламные акции. Не помню, работают ли они только на кассе или и в заказах тоже, но это уже большой шаг вперед
__________________
Ivanhoe as is..
Старый 04.02.2013, 03:38   #5  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Спасибо.
По сути думаю добавить поле дня недели в форму построчных скидок (Multiline&Total, к счастью, с днями недели использоваться не будет)

На сколько я вижу, все получается достаточно просто тогда.
В PriceDiscTable таблице добавляю поле день недели + AxPriceDisc меняем соответствующе.

в PriceDisc классе в методе findDisc оставляю все как есть, только добавляю условие на день недели в запросе(если нет записи на конкр день недели, то берем с запись с пустой, те "возвращаемся" к стандартному механизму).
Ставлю условия на PriceDiscTable form, чтобы поле Дня недели показывалось только для ввода построчных скидок для заказов. + проверка на самой таблице на всяк, что поле не может быть заполнено только для записей этого типа

Стандартный механизм TableGroupAll на PriceDiscTable позволяет удовлетворить условия задания на ввода различных скидкок как на конкр товар, так и на все номенклатуры.

Что-то упускаю?

+ с скажите, т.з матчасти, почему аксапта позволяет вводить две строки скидки на одно и тоже сочетание Item&CustDiscountGroups и при тех inventDim.
То есть позволяет ввести для товара, например, две абсолютно идентичные строки в форме настроек скидок на 10% и на 20% и потом в заказ подставит не наиболее выгодную, а суммарную в 30%. В чем физ смысл/зачем это разрешено? (см соответствующий код в findDisc())

PS Риторический ,скорей, вопрос . При нахождении ценового соглащения используется текущая дата SystemDateGet. Неужели нигде не нужно в бизнес логике находить соглашение на какую-то дату, отличную от текущей???

Последний раз редактировалось IKA; 04.02.2013 в 05:16.
Старый 04.02.2013, 06:52   #6  
Greggy is offline
Greggy
Участник
 
90 / 14 (1) ++
Регистрация: 19.10.2004
Адрес: г. Томск
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
В 2012 в модуле Retail появились рекламные акции. Не помню, работают ли они только на кассе или и в заказах тоже, но это уже большой шаг вперед
В Retail появились скидки которые можно указывать по дням недели и по времени, но они действуют только на кассе
Старый 04.02.2013, 07:07   #7  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Прошу прощения, AX2009
Старый 04.02.2013, 07:31   #8  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Цитата:
Сообщение от gl00mie Посмотреть сообщение
плюс соотв. журналы (!), плюс связанные с журналами классы, плюс по-хорошему еще соотв. AxBC-классы...
Я посмотрела перекр ссылками, в журналах из строки заказа напрямую данные копируются, разве нет?
Старый 04.02.2013, 07:41   #9  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Про складывание скидок: я понимаю, что если у нас две линии с разным количеством, то имеет смысл складывать и получать финальную скидку. В моем случае, я ввожу две строки с одинаковым количеством и система это позволяет сделать. Логический смысл последнего не ясен.
Старый 04.02.2013, 09:32   #10  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от IKA Посмотреть сообщение
в журналах из строки заказа напрямую данные копируются, разве нет?
Я имел в виду журналы ценовых соглашений - PriceDiscAdm* которые. Или у вас ценовые соглашения всегда руками забиваются в PriceDiscTable?
Цитата:
Сообщение от IKA Посмотреть сообщение
В моем случае, я ввожу две строки с одинаковым количеством и система это позволяет сделать. Логический смысл последнего не ясен.
У двух строк с одинаковым количеством могут быть, к примеру, разные аналитики. Если это не так, то зачем вы разбиваете одну строку заказа на две?
Старый 04.02.2013, 09:57   #11  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от IKA Посмотреть сообщение
PS Риторический ,скорей, вопрос . При нахождении ценового соглащения используется текущая дата SystemDateGet. Неужели нигде не нужно в бизнес логике находить соглашение на какую-то дату, отличную от текущей???
Мне казалось, что с 2009 появилось доп. поле "Дата цены", которая может быть отличная от текущей и используется для подбора цены. Или это только в закупках? В 2012 также чуток развили эту мысль.
__________________
Ivanhoe as is..
Старый 04.02.2013, 13:19   #12  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Цитата:
Сообщение от IKA Посмотреть сообщение
Про складывание скидок: я понимаю, что если у нас две линии с разным количеством, то имеет смысл складывать и получать финальную скидку. В моем случае, я ввожу две строки с одинаковым количеством и система это позволяет сделать. Логический смысл последнего не ясен.
Кроме цены, много различных механизмов. Например, эти "2 строчки с одинаковым кол-вом" поедут по разным адресам. Так же, сама система предоставления скидок настраивается отдельно. И скидки тоже разные есть...

С Уважением,
Георгий
Старый 07.02.2014, 15:59   #13  
_guestl_ is offline
_guestl_
Участник
MCBMSS
Columbus IT
 
38 / 15 (1) ++
Регистрация: 22.05.2007
Адрес: Россия
Цитата:
В PriceDiscTable таблице добавляю поле день недели + AxPriceDisc меняем соответствующе.
а как обрабатывать ситуацию, если у нас суббота рабочий день или был какой-нибудь сдвиг в днях из-за праздников?
__________________
2012 R3
Старый 07.02.2014, 18:53   #14  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
А при чем тут рабочие дни или какие-нибудь сдвиги из-за праздников? В исходной постановке задачи скидка должна зависеть от дня недели, а про то, рабочий это день, выходной или праздничный, ничего не говорилось. Если бы была постановка задачи вида "в рабочий день - одна скидка, в выходной - другая, в праздничный - третья", то надо было бы просто завести в ценовых соглашениях дополнительный признак "тип дня", а в коде, который обсчитывает скидки, использовать какой-нить там календарь для определения типа дня для конкретной даты цены.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Названия дней недели ice DAX: Программирование 2 28.09.2011 11:03
Amand: Регистрируй Second Shot и получи скидку 25% на второй экзамен Blog bot DAX Blogs 0 23.10.2008 18:05
Как учесть скидку по оплате при возврате? i-gor DAX: Функционал 14 17.11.2005 15:29
Помогите указать 2 рабочих центра на операции clerk DAX: Функционал 14 08.02.2005 22:35
Заказы\Натсройки\ЦенаСкидка\Активизировать цену -скидку George V. Tavrizoff DAX: Функционал 1 03.03.2003 14:57
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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