|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Привет! Меня интересует стоит ли хранить цену на товар в каждой валюте, или держать все в одной основной, а при движениях пересчитывать в нужную валюту. Что было бы универсальнее? И еще: допустим мне помимо курсов валют, еще нужны кросс-курсы, как организовать эти таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2003, 13:57 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Эге-гей, здесь люди бывают??? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2003, 14:17 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Бывают. С точки зрения универсальности, конечно, нужно хранить в исходной валюте. А с точки зрения простоты использования могут быть варианты. А курсы они всегда кросс. Только иногда базовая валюта подразумевается (и не всегда она основная). Структура: ТипКурса Валюта БазоваяВалюта ДатаС ДатаПо ЕдиницВалюты ЕдиницБазовой ТипКурса - "ЦБ", "London Fix AM", "London Fix PM", "Внутрифирменный"... ДатаС, ДатаПо задают диапазон дат, когда было действительно соотношение ЕдиницВалюты = ЕдиницБазовой. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2003, 15:08 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Про исходную валюту не понял. Имеется ввиду одна "настоящая" балансовая валюта?? или как? За кросс-курсы спасибо. А зачем две даты, чем одна ДатаС не устравает? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2003, 15:16 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Про исходную валюту не понял. Имеется ввиду одна "настоящая" балансовая валюта?? или как? Ну в какой валюте устанавливают цену пользователи ? Обычно это та, которая не требует изменения при изменениях курса. По ситуации в России это или рубли или доллары (последнее время еще и евро). Для разных товаров может быть разной. За кросс-курсы спасибо. А зачем две даты, чем одна ДатаС не устравает? Можно и одну, но писать запросы курса с друмя датами легче: Дата>=ДатаС и Дата<ДатаПо А с одной датой придется использовать подзапрос: Дата = (select max(ДатаС) from Курс where ДатаC<Дата и ......) Пользователю ДатаПо можно не показывать, чтоб дурацких вопросов не задавали. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2003, 16:14 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Извините, что вклиниваюсь. А в каком типе данных лучше хранить денежные единицы. Где-то попадалась информация, что money не очень хорошо для этих целей. Конкретных аргументов не помню. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2003, 12:57 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
/topic/5123 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2003, 13:12 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Про валюты. 1) Хранить просто и универсально и нужно сумму всегда в двух полях поле первое - Amount Поле второе - Ccy или Currency как назвать. Есть у валют еще такое как число значащих цифр после запятой. Есть одна извращенная валюта у которой число знаков после запятой - 4. В формачка поидее надо при смене валюты менять формат. Но от этого можно и отказаться. ПРи хранении суммы, как показала практика, надо выделять аксимальное число знаков после запятой. Если это Oracle, то тип number без всяких там number(10,30) не знаю вашу задачу и предметную область. Но у нас сумма(остаток) еще может быть и отрицательным. потоэтому число должно быть знаковое. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2003, 14:11 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
2 Oracle_Developer Есть у валют еще такое как число значащих цифр после запятой. Есть одна извращенная валюта у которой число знаков после запятой - 4. ПРи хранении суммы, как показала практика, надо выделять аксимальное число знаков после запятой Так может для универсальности - все в копейках ? (центах и т.д.) Никаких проблем с точностью, округлением ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2003, 14:21 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
2 vov >Так может для универсальности - все в копейках ? (центах и т.д.) Никаких проблем с точностью, округлением Да, было бы здорово, но не проходит к сожалению. Эти заразы заказчики некоторые цены в с точностью до десятых копейки (цента, пр.) измеряют. Горючее например. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 02:15 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
зранить надо все в обной базовой валюте и конвертировать в правильную при... возможен вариант когда необходимо хранить в исходной валюте (мой случай) - храню денюжку и ID валюты. все счастливы. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 03:02 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
2 c127 Да, было бы здорово, но не проходит к сожалению. Эти заразы заказчики некоторые цены в с точностью до десятых копейки (цента, пр.) измеряют. Горючее например. До десятой копейки за тонну ? А вообще, цена и курс это не деньги, это их отношение. И у них может быть свое представление. См. пример таблицы курсов. Там пофигу как представить деньги - с дробной частью или без. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 09:42 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
А где проблема с округлением возникает? 1.52 + 1.20 т.е с плюсом проблем нету используя минус проблем нету. проблемы разве что при других операциях 100/30 . А тут что в копейках что с копейками . везде надо округлять ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 12:25 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
2 Oracle_Developer А где проблема с округлением возникает? ... Везде надо округлять Конечно, если аккуратно все округлять, то проблем не будет. К сожалению очень часто округлить забывают и оставляют все 10 (или сколько из там) десятичных знаков. А для целых чисел не забудешь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 12:31 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Ну если забывают, то поругать можно таких пограммистов. Кто забыл округлить, тот ( если хранить в копейках) забудет и в форме поставить такую маску, что бы не в копейках вводить не 110 копеек, а 1.10 Так что в копейках преимуществ никакаих нет. А как уже говорили, с округлением всегда проблемы будут. Опять же не зная Вашей предметной области говорю. У нас например не так много где требуеться округление. А где требуеться ( например при начислении процентов), То правила округления определяються нормативными актами ( законами). А есть еще округление в тысячах ( тоже проблемы будут при любом подходе :-). Итого . Только на мой взгляд 1) Хранить лучше в number. Дробную часть не ограничивая. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 15:10 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Ну если забывают, то поругать можно таких пограммистов. Лучше в угол поставить :) Еще один довод в пользу целых чисел - они в программе будут видны как целые числа, а dec(30,10) отобразятся в строки. Неудобно. Хотя и удобней плавающих - у нас стоит банковская система использующая плавающие для денег. sum() по деньгам иногда дает удивительные результаты ! Вопрос несколько в сторону. Как народ выводит на экран деньги в программе ? Регулирует по валюте или всегда заданное число десятичных знаков ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 15:25 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
2 Oracle_Developer ...правила округления определяються нормативными актами ( законами). Если несложно, киньте ссылки на эти акты. Или хотя бы их полные названия. Спасибо заранее... :о) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 15:36 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
ЦЕНТРАЛЬНЫЙ БАНК РОССИЙСКОЙ ФЕДЕРАЦИИ 26 июня 1998 г. N 39-П ПОЛОЖЕНИЕ О ПОРЯДКЕ НАЧИСЛЕНИЯ ПРОЦЕНТОВ ПО ОПЕРАЦИЯМ, СВЯЗАННЫМ С ПРИВЛЕЧЕНИЕМ И РАЗМЕЩЕНИЕМ ДЕНЕЖНЫХ СРЕДСТВ БАНКАМИ, И ОТРАЖЕНИЯ УКАЗАННЫХ ОПЕРАЦИЙ ПО СЧЕТАМ БУХГАЛТЕРСКОГО УЧЕТА Регламентирует как проводить начисления . Например есть 2 возможности 1) Начислить проценты за все дни и потом округлить 2) Начислять при расчете проценты каждый день и каждый день их округлять. Вопрос несколько в сторону. Как народ выводит на экран деньги в программе ? Регулирует по валюте или всегда заданное число десятичных знаков Мы регулируем по валюте, но наверное можно и не ругулировать ( если вы точно уверены, что у вас не встреиться той засранской :-) Валюты у которой число знаков после запятой не 2) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 16:24 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Я не регулирую и всегда использую 4 знака. Диковато выглядит для рублей, но не хочется заморачиваться. А валюты у меня имеют дробные части от 0 и до 3 (реально). Четыре знака пока не встречалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 17:08 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Спасибо за информацию. Покопаюсь попозже подробнее. :о) А вот этот момент мне нифига не понятен. Может объяснить кто???.... 2) Начислять при расчете проценты каждый день и каждый день их округлять Пусть у меня в банке на счете лежит 10 долларов. Под 10% годовых. Простая арифметика показывает, что через год я буду иметь 1 доллар процентов. Будем начислять проценты каждый день (PPD = Percent Per Day): PPD=$10.00*(.1/365)=$0.00274... = $0.00 per day SUM=$10.00+PPD Имеем: 1й день: $10+$0.00 = $10.00 2й день: $10+$0.00 = $10.00 ... 365й день: $10+$0.00 = $10.00 Получается, что вместо своего законного доллара к концу сезона я получу кукиш. Так где собака-то порылась??? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 18:25 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
2Циничный Кот Но если положишь 19$, то вместо законных 1.9$ получишь 3.65 :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 18:55 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
Вечная зубная боль. Хранит можно по всякому, но показывать только так, как записано в законодательстве. В РФ можно показывать с точностью до копеек. Но поскольку у нас никто особо не следит за соблюдением законов, в счет фактуре можно написать 1000 Блямбиков. на сумму 1 руб. цена за единицу - 0.1 коп. Этот и аналогичные варианты у меня прокатывают . Вопросы - к лечащим врачам нашего министра по налогам и сборам. ======= Тип Currency (Money) с 6 знаками после запятой, является теоретически правильным (купить 0.777 единиц по цене 0.77 денег). Но не катит в реальных расчетах. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2003, 19:44 |
|
Как лучше хранить цены
|
|||
---|---|---|---|
#18+
2 x >До десятой копейки за тонну ? До десятой цента (пенса) за литр (галлон). >А вообще, цена и курс это не деньги, это их отношение. Что-то я мысль потерял, цена это отношение чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2003, 06:36 |
|
|
start [/forum/topic.php?fid=32&fpage=182&tid=1546999]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
32ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
3ms |
others: | 241ms |
total: | 389ms |
0 / 0 |