|
|
|
Периодический реквизит (как в 1С)
|
|||
|---|---|---|---|
|
#18+
есть таблица заказов, но в каждой строке как-то некрасиво хранить фиксированную стоимость, возникла идея с периодическим реквизитом, в котором бы она хранилась. для начала завести таблицу с тарифами: id, date, sum , где date -дата начала действия тарифа Но вот как это добро привязывать к таблице заказов - есть две идеи. 1. ссылаться на соответствующий id 2. привязывать тариф по дате оплата заказа может сталкивались, какие плюсы и минусы у этих подходов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2007, 17:33 |
|
||
|
Периодический реквизит (как в 1С)
|
|||
|---|---|---|---|
|
#18+
Кстати,хранить фиксированную стоимость очень красиво,потому как хотя бы при селектах не поползете в другую таблицу.во-вторых когда клиент попросит скидку-будете таблицу тарифа править?а если 20 клиентов со своей скидкой,30,40?делать надо пмсм так(собственно у нас так и сделано)-делаете в таблице заказов поле со стоимостью,поле с id стоимости и автоматически заполняете при вводе заказа эту стоимость.далее в зависимости от ситуации либо оставляете автоматически заполненную стоимость,либо правите уже введенную.потом можно делать отчет вида "а сколько стоимостей отличилось от тарифной" или что еще более полезно в случае четко выраженной попытки ужесточения действий пользователя с вашей стороны "сколько прибыли было получено от заказов не по стандартным тарифам в целом по сравнению с заказами со стандартными тарифами". p.s. да и слово какое-то дурное "периодический реквизит".пмсм попахивает легким элементом шизы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2007, 22:36 |
|
||
|
Периодический реквизит (как в 1С)
|
|||
|---|---|---|---|
|
#18+
По бизнесу верно, но вопрос авторНо вот как это добро привязывать к таблице заказов - есть две идеи. 1. ссылаться на соответствующий id 2. привязывать тариф по дате оплата заказа остается, только смысл добра меняется. ИМХО строго по дате, хоть это и сложнее в запросах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2007, 09:43 |
|
||
|
Периодический реквизит (как в 1С)
|
|||
|---|---|---|---|
|
#18+
Maker Да, в Вашем случае я бы сделал привязку по дате. В 1С периодические реквизиты хранятся не так, как Вы предлагаете: они хранятся в таблице констант, с указанием для каждого периодического реквизита значения на дату изменения оного. Но никакой привязки там нет (в смысле объединения etc.), а значение каждый раз выбирается по ИД реквизита и дате запросом. Причём операция сия на этой таблице очень небыстра как методами 1С, так и прямыми SQL-запросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2007, 09:57 |
|
||
|
Периодический реквизит (как в 1С)
|
|||
|---|---|---|---|
|
#18+
Shtock... p.s. да и слово какое-то дурное "периодический реквизит".пмсм попахивает легким элементом шизы. Вы знаете, до знакомства с 1С я всегда воспринимал слово "периодический" в чисто математическом смысле. 1С мои представления перевернула, так что Вы, наверное, недалеки от истины. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2007, 10:02 |
|
||
|
Периодический реквизит (как в 1С)
|
|||
|---|---|---|---|
|
#18+
ShtockКстати,хранить фиксированную стоимость очень красиво,потому как хотя бы при селектах не поползете в другую таблицу.во-вторых когда клиент попросит скидку-будете таблицу тарифа править?а если 20 клиентов со своей скидкой,30,40? как вариант завести в поле заказа % или величину скидки от основного тарифа - и проблема решена! :). Просто хранить одни и те же данные в таблице ИМХО избыточность большая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2007, 11:48 |
|
||
|
Периодический реквизит (как в 1С)
|
|||
|---|---|---|---|
|
#18+
Maker как вариант завести в поле заказа % или величину скидки от основного тарифа - и проблема решена! :). Просто хранить одни и те же данные в таблице ИМХО избыточность большая. Скидки бывают не только в процентах, но и абсолютных цифрах. Типа, владелец говорит: - мы Вам тысченку скинем. -------------- Избыточности нет. В Вашем случае вы имеете два поля - одно с идентификатором тарифа, другое - со скидкой. Вот это ужу и есть настоящая избыточность. Я делал так. Есть действующая на текщий момент цена. Оператор получает ее по умолчанию. Далее он вводит или не вводит скидку. В заказе хранится фиксированая для данной позиции и данноного потребителя цена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2007, 12:00 |
|
||
|
Периодический реквизит (как в 1С)
|
|||
|---|---|---|---|
|
#18+
Cat2 Я делал так. Есть действующая на текщий момент цена. Оператор получает ее по умолчанию. Далее он вводит или не вводит скидку. В заказе хранится фиксированая для данной позиции и данноного потребителя цена. хороший подход, но а если скидок нет и быть не может (утверждённые тарифы)? всё таки пока думаю привязка по дате - самое то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2007, 12:20 |
|
||
|
Периодический реквизит (как в 1С)
|
|||
|---|---|---|---|
|
#18+
To Maker:пока нет и быть не может.потом появятся. или на данной работе отработаете эту штуку а на следующую уже с patern придете. "Я делал так. Есть действующая на текщий момент цена. Оператор получает ее по умолчанию. Далее он вводит или не вводит скидку. В заказе хранится фиксированая для данной позиции и данноного потребителя цена." - правильно.у нас тоже были тарифы и прочее.и ничего не могло меняться.начали торговать - все поменялось. предметная область "ценные бумаги". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2007, 12:40 |
|
||
|
Периодический реквизит (как в 1С)
|
|||
|---|---|---|---|
|
#18+
Maker хороший подход, но а если скидок нет и быть не может (утверждённые тарифы)? всё таки пока думаю привязка по дате - самое то... И такое тоже делал. Оплата электроэнегрии населением. С кучей льгот, которые действуют от даты до даты, с изменением условий расчета всего, что только можно изменить задним числом. Выяснялось, что этот, оказывается. имеет льготы с такого-то числа, а тот, на самом деле льгот не имеет. Этот, оказывается, должен иметь такой тариф, а тот другой. Кошмарная база получилась. В ней мне действительно пришлось применять привязку к датам, вернее к диапазоном действия тарифов, льгот, социальных норм и прочих изврашенных придумок наших законодателей. А еще надо и нечто сводное выдавать. Типа, как в деревне ДДД обстоят дела с задолженностями, сколько они должны заплатить и сколько заплатили. Впрочем, любой, кто сталкивался с комунальными платежами или другими биллинговыми системами таких страшилок тысячу расскажет. И покажет жуткие запросы или целые хранимые процедуры жутких запросов. ============ После некоторого размышления я пошел на денормализацию. Создал таблицу, где хранятся конкретные взаиморасчеты, с уже расчитанными тарифами, льготами, социальными нормами и прочей лабудой. Сводная отчетность резко упростилась и стала выдаваться за приемлемое время. Но это, на мой взгляд, предельный случай. Когда правила игры меняются походу, когда по решению суда нужно изменить данные за последние 10 лет. В большинстве случаев достаточно хранить только текущие отпускные цены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2007, 13:17 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=123&tid=1544651]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 376ms |

| 0 / 0 |
