01.02.2013, 19:12 | #1 |
Участник
|
Как указать скидку
Нужно, чтобы скидка на товары в заказах зависила от дня недели.
Можно ли обойтись станд функционалом? Нужно, например, чтобы: В ПН все товары , кроме были со скидкой 1%, а товар А со скидкой 2% . Во ВТ на все скидка 2% , но товары А и Б со скидкой 5% и тд Хочется обойтись минимальным программированием |
|
01.02.2013, 23:37 | #2 |
Участник
|
Цитата:
|
|
02.02.2013, 00:46 | #3 |
Administrator
|
Штатно в ценовых соглашениях нет возможности указания дня скидки (ну если днем скидки не считать диапазон дат действия скидки). Под это дело может подойти настройка платежных дней (см справочник условий оплаты), если ссылку на справочник платежных дней добавить в PriceDiscTable. Но, как было верно подмечено - эту ссылку нужно будет обрабатывать в классах, отвечающих за ценовые соглашения - PriceDics, PriceDisc_LineDisc и т.д.
Также нужно будет продумать вопрос обработки платежного дня для разных типов скидок (однострочная, многострочная, общая), а также цен (продажи/покупки) и, возможно, функциональности дополнительных номенклатур (SuppItem*) - когда "купите 2 кружки - 3-ю в подарок". Собственно говоря - продумав, как будет работать механизм коммерческих соглашений для цен/скидок, а также в разрезе клиентов (поставщиков) / номенклатуры - можно будет внести изменения в вышеуказанные классы / таблицы и решить исходную поставленную задачу
__________________
Возможно сделать все. Вопрос времени |
|
02.02.2013, 14:09 | #4 |
Участник
|
В 2012 в модуле Retail появились рекламные акции. Не помню, работают ли они только на кассе или и в заказах тоже, но это уже большой шаг вперед
__________________
Ivanhoe as is.. |
|
04.02.2013, 03:38 | #5 |
Участник
|
Спасибо.
По сути думаю добавить поле дня недели в форму построчных скидок (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 |
Участник
|
|
|
04.02.2013, 07:07 | #7 |
Участник
|
Прошу прощения, AX2009
|
|
04.02.2013, 07:31 | #8 |
Участник
|
|
|
04.02.2013, 07:41 | #9 |
Участник
|
Про складывание скидок: я понимаю, что если у нас две линии с разным количеством, то имеет смысл складывать и получать финальную скидку. В моем случае, я ввожу две строки с одинаковым количеством и система это позволяет сделать. Логический смысл последнего не ясен.
|
|
04.02.2013, 09:32 | #10 |
Участник
|
Я имел в виду журналы ценовых соглашений - PriceDiscAdm* которые. Или у вас ценовые соглашения всегда руками забиваются в PriceDiscTable?
У двух строк с одинаковым количеством могут быть, к примеру, разные аналитики. Если это не так, то зачем вы разбиваете одну строку заказа на две? |
|
04.02.2013, 09:57 | #11 |
Участник
|
Мне казалось, что с 2009 появилось доп. поле "Дата цены", которая может быть отличная от текущей и используется для подбора цены. Или это только в закупках? В 2012 также чуток развили эту мысль.
__________________
Ivanhoe as is.. |
|
04.02.2013, 13:19 | #12 |
Модератор
|
Цитата:
С Уважением, Георгий |
|
07.02.2014, 15:59 | #13 |
Участник
|
Цитата:
В PriceDiscTable таблице добавляю поле день недели + AxPriceDisc меняем соответствующе.
__________________
2012 R3 |
|
07.02.2014, 18:53 | #14 |
Участник
|
А при чем тут рабочие дни или какие-нибудь сдвиги из-за праздников? В исходной постановке задачи скидка должна зависеть от дня недели, а про то, рабочий это день, выходной или праздничный, ничего не говорилось. Если бы была постановка задачи вида "в рабочий день - одна скидка, в выходной - другая, в праздничный - третья", то надо было бы просто завести в ценовых соглашениях дополнительный признак "тип дня", а в коде, который обсчитывает скидки, использовать какой-нить там календарь для определения типа дня для конкретной даты цены.
|
|