|
|
|
Сущности для учета скидок
|
|||
|---|---|---|---|
|
#18+
Нужно разработать систему для предоставления и учета скидок. Раньше такой не делал, не хотелось бы что-то упустить, поэтому спрошу совета. Если клиенты, которым предоставляются услуги, за предоставленные услуги начисляется и списывается абонентская плата. Услуги бывают разных типов, у одного клиента может быть несколько услуг. У услуги выбран тарифный план, который определяет величину абонентской платы. Помимо периодических услуг у клиентов могут быть разовые списания, за приобретение товаров. Есть товары, при приобретении которых предоставляется скидка на абонентскую плату, в размере стоимости товара. Величина скидки зависит от конкретного товара (для одних товаров скидка на абонплату составляет 10%, для других товаров 20%), общая сумма предоставленной скидки соответствует какой-то доле от стоимости товара (как правило 1, т.е. полной стоимости товара). При покупке нескольких товаров значение скидки не суммируется, но в первую очередь предоставляется максимально возможная скидка. Пример. Клиенту предоставляются услуги, суммарная абонентская плата составляет 1000 рублей в месяц. Клиент приобретает акционный товар на сумму 500 рублей, при этом клиенту полагается скидка в размере 500 рублей, которая будет предоставляться в виде скидки к абонентской плате 10%. То есть в течении 5 следующих месяцев абонентская плата будет составлять 900 рублей в месяц. Через 2 месяца (то есть когда клиенту будет предоставлено 200 рублей скидки и останется еще 300 рублей) клиент покупает другой акционный товар на сумму 1000 рублей, при покупке которого клиенту полагается скидка к абонентской плате 20%. В течении следующих 5 месяцев абонентская плата будет составлять 800 рублей в месяц (скидка 20%), по их истечении еще 3 месяца абонентская плата будет составлять 900 рублей в месяц (скидка 10%). Другими словами, общая сумма полагающейся скидки соответствует стоимости товара (или части его стоимости) и всегда суммируется. Но при предоставлении скидки не суммируются, а предоставляется только максимальная скидка из еще не реализованных. Очевидно что мне нужен справочник типов скидок, для которого будет указана величина скидки и который будет связан со справочником товаров (DISCOUNT_TYPES). Также мне нужна таблица, в которой я буду для каждого клиента и для каждого типа скидки аккумулировать его покупки (суммировать величину полагающейся скидки), из этой таблицы я буду определять, реализована ли скидка в полном объеме или еще нет (DISCOUNT). В информационной системе продажи уже учитываются, но мне кажется будет не лишним в отдельной таблице фиксировать продажи акционного товара — объем данных невелик, а формировать отчетность будет удобнее (DISCOUNT_SALES). В информационной системе также ведется учет начислений абонентской платы, но запросы к таблицам начислений достаточно "тяжелые", поэтому мне кажется что не помешает вести учет реализации скидок (например при списании абонентской платы 900 рублей реализуется скидка 100 рублей) в отдельной таблице (DISCOUNT_CHARGES). Я буду суммировать DISCOUNT_CHARGES и когда сумма достигнет значения в DISCOUNT, буду закрывать скидку. Ничего не упустил? ________________________ Мы смотрим с оптимизмом... ...в оптический прицел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 10:54 |
|
||
|
Сущности для учета скидок
|
|||
|---|---|---|---|
|
#18+
Alibek B., и что ты таки хочешь, чтобы мы спроектировали за тебя твою БД? А какой нам с этого наваррр? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 11:37 |
|
||
|
Сущности для учета скидок
|
|||
|---|---|---|---|
|
#18+
MasterZiv, "Работать в нашей компании уже большая честь" (с) ... Хорошо хоть не просит доплатить ему за то что будем решать его задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 13:58 |
|
||
|
|

start [/forum/search_topic.php?author=AlexWolf&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 865ms |
| total: | 1019ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...