powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / округление сумм
25 сообщений из 36, страница 1 из 2
округление сумм
    #32589559
Фотография Ork Yason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть такая беда...


есть кубы водопотебления, которые далеко не целые, дробные т.е.
есть отчет для отдела льгот и субсидий...

кубы льгота тариф возмещение
5.00 50% 0.73 1,825
6.75533554 75% 0.73 3,69854620815

ребята из этого отдела, ни в какую не желают видеть знаков больше 2 после запятой, но приэтом желают чтобы вычисления при пересчете на калькуляторе были верны...
т.е. в отчете все суммы в формате ### ##0.00, а на самом деле за частую там по 12 знаков после запятой, как следствие ошибки в копейки при суммировании по вертикале...



Мы - это наши желания. Зигмунд Фрейд
...
Рейтинг: 0 / 0
округление сумм
    #32589597
Jenek111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а в чем проблема то.. храни числа с плавающей точкой, а в отчетах представляй. хоть с двумя знаками хоть с десятью. а деньги считать нужно с исходных данных...
...
Рейтинг: 0 / 0
округление сумм
    #32589686
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В MS AS 2000 даже есть формат для отображения числа
...
Рейтинг: 0 / 0
округление сумм
    #32589814
Фотография Ork Yason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не вы не поняли ;)

отчет показвает с двумя знаками...
а тёти берут и складывают числа, чтобы поглядеть не нае...ли ли мы их... и результат не сходится с итоговым...

GEK_NAME WATER_V

Частный сектор 9,855
ЖЭУ №1 1,095
ЖЭУ №4 1,095
ООО "Цидило К" 2,19
ЖСК №22 2,43333333333333
ЖСК № 33 1,38448275862069
ООО "Арагорн" 2,19

итого: 20,242816091954

а теперь берем цифры из отчета, округленные и складываем
9,86
1,1
1,1
2,19
2,43
1,38
2,19
---------
20,25

разница в 1копейку...
это ужасный удар по бюджету г.Чойбалсана и всей Монголо-Татарии в целом...
идиоту понятно что результат 20,242816091954 точный, но бабули привыкли считать все с двумя цифрами, не удивлюсь если у них даже калькуляторы стоят на округлении...

короче как это лечить...

Мы - это наши желания. Зигмунд Фрейд
...
Рейтинг: 0 / 0
округление сумм
    #32589895
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ork Yasonкороче как это лечить...
Бабулек?
...
Рейтинг: 0 / 0
округление сумм
    #32589916
Фотография Ork Yason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
их уже не вылечишь ;)
а бить не красиво ;)

мне как быть?
щас округляю, дык, это пока канает, они полезут дальше и вылезет что уже по горизонтале не получается...
ну не обяснишь им что цифирок после запятой бывает намного больше чем две...

Мы - это наши желания. Зигмунд Фрейд
...
Рейтинг: 0 / 0
округление сумм
    #32590119
Николай МВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
их уже не вылечишь ;), а бить не красиво ;)

Никого не надо ни бить, ни лечить. Открою Вам страшную тайну: бабульки правы! Погодите меня бить или лечить. :) Дочитайте. Приведу все на примере, который сам меня в этом убедил когда-то:
На группу работников назначили премию в сумме, ну допустим, 1 руб. 00 коп. И поступило указание распределить эту премию всем одинаково. А группа состоит из трех человек.
Математика:
1 руб. разделить на 3 чел.
равно:
Первый чел. - 33.33333333333(3) коп.
Второй чел. - 33.33333333333(3) коп.
Третий чел. - 33.33333333333(3) коп.
Итого: 1 руб. 00 коп.
Ура! Сошлось! Как не считай, всегда сойдется! Математика -- абсолютно точная наука! Но как всегда для жизни бесполезная... :)

Потому, что когда мы эти данные выведем в отчет, где должны фигурировать только копейки, получится следующая картина:
Первый чел. - 33 коп.
Второй чел. - 33 коп.
Третий чел. - 33 коп.
Итого: 0 руб. 99 коп.

Бухгалтерия:
1 руб. разделить на 3 чел.
равно:
Первый чел. - 33 коп.
Второй чел. - 33 коп.
Третий чел. - 34 коп.
Итого: 1 руб. 00 коп.

Нашел! Здесь прекрасно описано!

А вообще конечно можно объяснить, что это проблема всеобщая и пугаться ее не надо. Вылезла копейка -- убрали ее бухгалтерской справкой, списали на ошибки округления -- и все балансы и отчеты прекрасно сойдутся. Или вариант вручную добавить/убрать копейку в документе "Раздача премиии". Впрочем сделать скрипт, который будет таким образом исправлять документы автоматически -- это тоже хороший вариант. Т.е. просматривать содержимое документа и сумму документа и преобразовывать документ типа (33+33+33=100) в документ (33+33+ 34 =100).
Но в каждой организации законы разные, где-то не обратят внимания, где-то исправят, а где-то придется обрабатывать по полной программе...
...
Рейтинг: 0 / 0
округление сумм
    #32590623
Фотография Ork Yason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПервый чел. - 33.33333333333(3) коп.
Второй чел. - 33.33333333333(3) коп.
Третий чел. - 33.33333333333(3) коп.
Итого: 1 руб. 00 коп.

ну для начала компутеру не известен период, так что результататом будет 99.9999999999
но при округлении и демонстрации в отчете 1рупь ;)

но это не важно...
то что вы привели для раздела премии понятно - но как мне научит это делать компутер?
есть 100куб на дом, и их нужно разделить на 68чел... при том что раздел проводится для каждого человека, а не всем скопом...
ну да ладно, это мелочи...

у нас эти 4цифры - это как закон... ну такие долбанутые тарифы в 73коп... и еще проценты льгот в 50 и 75...
стила бы вода раз в 10больше - таких бы проблем не было...

Мы - это наши желания. Зигмунд Фрейд
...
Рейтинг: 0 / 0
округление сумм
    #32591232
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а счета людЯм тоже бум выставлять с точностью до 5-го знака после запятой?
Типа, заплати, родной, полкопейки, и спи спокойно?
Как на мой взгляд (так и поступили) - провели разъяснение, что эти итоговые суммы складываются из сумм нижнего уровня (по ЛС). Хотите - проверьте, там всё точно. Верят. Но отчеты детальные требуют :-) Предоставляем.
...
Рейтинг: 0 / 0
округление сумм
    #32591241
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ваще!
А если у меня чел выписался 2-го числа, и льготу ему надо начислять на 2 дня из 31? а если челы у меня постоянно прописываются/выписываются? мы чо - возьмем итоговую цифирку и попробуем чо-нить на чо-нить поделить? ну дык "Чо-нить" и получим.
А ежели чел был прописан тогда, когда воды не было, и начислений(а значит и льготы) ему не положено? опять делить бум? а ежели вода была, но не полным напором? тоже делить? чо на чо? или подтвердим просто итоговую сумму детальными начислениями и на том успокоимся?

P.S. Эк меня проняло - помню еще годы боевые борьбы и всё такое....
...
Рейтинг: 0 / 0
округление сумм
    #32591464
Фотография Ork Yason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2locky
о! тоже сантехник? ;)

а мы счета и так выставляем по полной цифре...
округляем правда на экранчике ;)
но салды и прочая по полной считаются...

в том то и дело что не хотят детальных... я уже предлагал давайте я вам один раз намалюю знаков 10 после запятой, вы сядите посчитаете и успокоитесь... так нет! лень считать...

в общем понятно, общественно разъяснительная работа...
за это мне не платят ;(



Мы - это наши желания. Зигмунд Фрейд
...
Рейтинг: 0 / 0
округление сумм
    #32591505
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, из-за того, что у Вас цифирки расходятся они Вам и не верят?
типа 12 требований по 10 рублёв, а за год выходит 120 рублёв 2 копейки(набежали неотображаемые кусочки)? Складываем в столбик - получаем фигу?
Может такое быть? наверное.
У меня всё проще. Есть объем, есть тариф, есть сумма. Считается один раз. И сумма по всем начислениям это не Сумма объемов помноженная на тариф, а сумма посчитанных сумм. И всё всегда сходится.
...
Рейтинг: 0 / 0
округление сумм
    #32591919
Фотография Ork Yason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
цифирки не сходятся при сложении округленных сумм в ручную... на 1коп... плюс минус... ито не всегда...
им же нужно чтоб было все один в один...
авторУ меня всё проще. Есть объем, есть тариф, есть сумма. Считается один раз. И сумма по всем начислениям это не Сумма объемов помноженная на тариф, а сумма посчитанных сумм. И всё всегда сходится.
такой анекдот у нас не пройдет...
есть справка реализации, так вот там сумма кубов умноженная на тариф = будет сумма денег...
один раз я показал какой тариф у воды без ндс 0.73/1,2 и больше тупых вопросов не было...

но это с моими работниками, а в УТСЗН я так понимаю работаю самые отъявленные пенисонеры...

округляя цифры в списках на возмещение - я ввожу заведомо ошибку, в масштабах 8тыщ льготников, разница уже не копейка, думаю рупь набежит...

Мы - это наши желания. Зигмунд Фрейд
...
Рейтинг: 0 / 0
округление сумм
    #32592348
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то у вас всё запущено... Реализовали то вы что? Услугу населению/предприятиям, на общую сумму - вот, каждому выставили требования, и каждую продажу вы можете подтвердить начислениями. Это и есть ваша реализация. А всё остальное - от лукавого. То, что "Оптом" вы продали бы эти услуги за другие немного деньги - никого не должно интересовать. (правда, как доказать, что это их не должно интересовать - вопрос еще тот :-( ).
Это ж как торговля оптом и в розницу, аднака.
А по справке реализации.... объем... помножим на тариф... а ежели у меня начисления по нескольким тарифам? тады показываем несколько строк... а ежели у меня перерасчеты по разным тарифам за разные периоды?
Однажды я продемонстрировал, как исходя из простых операций с перерасчетами получить тариф в 2 раза меньший или в 2 раза больший чем любой из зарегестрированных.

P.S. А система где стоит? Каковы ТТХ? К-во ЛС, объем, скоростные х-ки? Ежели не секрет.
...
Рейтинг: 0 / 0
округление сумм
    #32592816
Фотография Ork Yason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы - это наши желания. Зигмунд Фрейд
авторЭто и есть ваша реализация. А всё остальное - от лукавого
к сожалению я не работаю в Харьковском водоканале... думаю мы б сработались ;)
авторпомножим на тариф... а ежели у меня начисления по нескольким тарифам? тады показываем несколько строк... а ежели у меня перерасчеты по разным тарифам за разные периоды?

начисления по разным тарифам...
сгруппировано, вот по этим группам все и перемножается и проверяется...
так было до меня, так пришлось сделать и мне...
а биться головой о плановый отдел мне надоело еще полтора года назад... ;)
авторежели у меня перерасчеты по разным тарифам за разные периоды?

такого к счастью нет...
да и перерасчеты в эту группу проверяемых не попадают...
авторP.S. А система где стоит? Каковы ТТХ? К-во ЛС, объем, скоростные х-ки? Ежели не секрет.
в смысле где стоит? в конторе на сервере...
интервася 6... клиентов штук 10-15...
дело было давно... щас бы оракла с удовольствием водрузил ;)
база на 700мб...
населения 45тыщ ЛС и организаций около тыщи...
самая громоздкая операции пересчет начисления за месяц... макс 2минуты для тех же 45тыщ абонентов...

PS давай лучше перейдем на мыло... а то кроме нас двоих это никому не интеерсно...
[email=]yarik666@ukr.net
...
Рейтинг: 0 / 0
округление сумм
    #32594214
Николай МВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем переходить на мыло -- я например слежу за темой и мне это интересно.
Иногда хочется дать пару советов, но понятно, что здесь вопросы привязаны к конкретной схеме работы организации, к бумажкам и к людям. А на oracle переходить смысла нет -- время потеряете, а выигрыш на такой маленькой базе будет незаметен.

Хотя бы ключевые моменты описывайте -- мне интересно, а там может и подскажу чего....
...
Рейтинг: 0 / 0
округление сумм
    #32594266
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я слышал, что по закону например в счёт фактуре цифры должны сходиться и по горизонтали и по вертикали, если нет - "преступление". :-)
ссылку дать не могу, но наверно это надо учесть :-)

вечное IMHO
...
Рейтинг: 0 / 0
округление сумм
    #32594604
Фотография Ork Yason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Николай МВ
да в общем обсуждаем особенности внутреннего устройства организаций...
а вот чего делать так и не решили ;)
24d_monster
вот и мене чего-то кажется, что все должно сходится...
вот тока как это сделать с точностью два знака не предствляю даже...

Мы - это наши желания. Зигмунд Фрейд
...
Рейтинг: 0 / 0
округление сумм
    #32596301
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня не водоканал - водоотведение, что, впрочем, почти однофигственно.
Задачи юрлиц и физлиц разделены
юрлиц - порядка 7500, физлиц - ~500000, объем базы физлиц ~79Gb,
при начислениях учитываются к-во проживающих, норма потребеления, графики подачи холодной и горячей воды, показания индивидуальных счетчиков, коллективных счетчиков, к-во льготников, категория льготы, состояние ЛС (подключен, отключен, временно отключен). Все параметры ведутся с дискретностью до 1-го дня. Глубина перерасчета - не ограничена.
В случае отсутсвия показаний счетчика в течении 3-х месяцев считается по средним показаниям,далее по норме.
Аналитики начислений и перерасчетов ведется с точностью до 1-го дня.
Имеется импорт данных из банков (квитанции, показания счетчиков), импорт
субсидий, экспорт начислений для отделов субсидий, единого расчетного центра и т.п. Есть модули сопряжения для взаимозачетов с предприятиями.
Цикл начислений занимает около 3.5 часов.
Юзеров - порядка 40, из них 20 инженеров по работе с населением, 7-8 - оплата, субсидии, должники и т.д., 3 аналитика. Обслуживает всё это дело 2 администратора.
Данные хранятся с 2000 года, наша система работает там с марта прошлого года, т.е. год и 4 месяца.
Железо - 2PIIIx1.4GHz, 2Gb RAM, RAID5x3+RAID0x2
MS SQL Server 2000, клиент - Delphi5+ADO
Вот так вот вкратце.
...
Рейтинг: 0 / 0
округление сумм
    #32596539
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
округление сумм
    #32596610
Фотография Ork Yason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2locky
а чего мой ответ не дошел?
повторяю... ;)


Мы - это наши желания. Зигмунд Фрейд
...
Рейтинг: 0 / 0
округление сумм
    #32597170
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ork Yason
По поводу перерасчета: это у тебя 45 000 ЛС за 2мин. расчитывает, можно поинтиресоватся это ты как так прописал что быстро считает, у меня конечно объемы не такие т.е. далеко не такие как у Вас с locky работаем под всякие ТСЖ, а это у каждого 1-5 домов вообщем примерно 100 ЛС расчитывает от 5 до 10сек.

По поводу округления: а в самой базе нельзя обрезать до 2-х знаков?
...
Рейтинг: 0 / 0
округление сумм
    #32597515
Фотография Ork Yason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2DIGITALPRO
авторработаем под всякие ТСЖ
ТСЖ - это чего?
авторэто у тебя 45 000 ЛС за 2мин. расчитывает, можно поинтиресоватся это ты как так прописал что быстро считает

да я б не сказал что быстро...
сервак 1.7атлон, 512мб, винты обычные АТА100 7200... даже без 8метрового кеша...

могу триггер-процедуру выложить который пересчитывает...
но там задолбаешься разъясниять, так что если сильно интересно, то могем...
автор100 ЛС расчитывает от 5 до 10сек
а чего за характеристики по подробней могешь сказать?
может поможем чем...

авторПо поводу округления: а в самой базе нельзя обрезать до 2-х знаков?
тогда ни один внутренний очет сходится не будет... им перемножать кубы на тариф любимое дело...

Мы - это наши желания. Зигмунд Фрейд
...
Рейтинг: 0 / 0
округление сумм
    #32597741
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТСЖ - товарищество собственников жилья

По поводу моего расчета: делается на клиенте, машина 1.8 256М винты тоже обычные

На самом деле я никогда не видел программы по расчету коммунальнх услуг, поэтому вылепил все на свое усмотрениие, вот и думаю может все построенно неправильно и поэтому так долго, может скините какую нибудь схему базы

Округление, а Ваш клиент не подразумевает каких нибудь функций округления
Либо по простому integer(X*100)/100 и сумма по столбцу будет правильной
...
Рейтинг: 0 / 0
округление сумм
    #32597856
Фотография Ork Yason
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2DIGITALPRO
авторТСЖ - товарищество собственников жилья

так вы чего все там считаете и комуслуги, и воду, и свет и тепло???
авторможет скините какую нибудь схему базы

у меня щас вода...
в свое время писал аналогичное для комунальных услуг...

так что кое-какой опыт есть...
уж лучше вы свое давайте, ибо наше млжет вам не подойти... толку от моей воды, если вы ее не считаете...
авторОкругление, а Ваш клиент не подразумевает каких нибудь функций округления
Либо по простому integer(X*100)/100 и сумма по столбцу будет правильной
это не мой клиент...
это наши возместители расходов на льготы...
да нефига они в этом не понимают...
они привыкли окурглять как в школе учили, а как это делает компьютер их мало волнует...
хотим чтолб усе складывалось и было правильно, а то что нас точность и тарифы их мало волнует...

я отдельную функцию округления написал, в интервасике нет ничего подходящего...

авторделается на клиенте
клиент - это плохо...
от сель и скачем...
процедурку нужно написать и запускать ее на сервере... и все будет ок...

Мы - это наши желания. Зигмунд Фрейд
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / округление сумм
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]