Проблемы с арифметикой 5.2.1-005

Технические вопросы по UTM 5.0
Ответить
Maximas
Сообщения: 146
Зарегистрирован: Вт мар 01, 2005 12:15

Проблемы с арифметикой 5.2.1-005

Сообщение Maximas »

Изображение
Вооружаемся калькулятором.
-699239-1214362=-1913602 а вовсе не -1906054
Откуда вылазит разница в 7528 РЭ ??
З.Ы. Не пугайтесь количеста разрядов - рубли белорусские.
Никакие услуги не включались и не отключались.
Сумма в счете 1214362.15 то есть верная.

AdmUser
Сообщения: 13
Зарегистрирован: Ср май 09, 2007 11:14

Сообщение AdmUser »

Ну это нормально :) у нас один юзверь по детальному траффику и по общему разился на 20тысч рублей (не белоруских) не в нашу пользу :( так и не удалось доказать... слава богу у нас унлим...

Maximas
Сообщения: 146
Зарегистрирован: Вт мар 01, 2005 12:15

Сообщение Maximas »

Ну нормально не нормально - а бухгалтерия криком кричит после такого...

AdmUser
Сообщения: 13
Зарегистрирован: Ср май 09, 2007 11:14

Сообщение AdmUser »

у нас шеф... 20тысяч рублей за месяц это грубо говоря одна зарплата тех специалиста... чего он и сделал... :( просто разделил эту сумму на всех нас... :( теперь мы думаем скинуться на другой биллинг...
в соседнем топике про классы трафика тоже есть интересная проблема которая бъет шефа по карману... готовимся к оплате... :evil:
а как доказать? есть сертификат значит считает точно... иначе бы его не давали ... если деньги уходят- значит спецы воруют...

Pei0t
Сообщения: 258
Зарегистрирован: Чт дек 13, 2007 20:48

Сообщение Pei0t »

Вам лучше в хотлайн или на info

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Re: Проблемы с арифметикой 5.2.1-005

Сообщение Magnum72 »

Maximas писал(а):Изображение
Вооружаемся калькулятором.
-699239-1214362=-1913602 а вовсе не -1906054
Откуда вылазит разница в 7528 РЭ ??
З.Ы. Не пугайтесь количеста разрядов - рубли белорусские.
Никакие услуги не включались и не отключались.
Сумма в счете 1214362.15 то есть верная.
Вы точно хотите знать откуда разница?
Эта разница возникает из-за того что основной отчет строится так что в него корректно попадают пользователи у которых были списания в этом месяце, т.е. если взять пользователя у которого на 31,09 был баланс 5 рублей, и с этого пользователя в октябре нифига не списывалось то в отчете вход остаток у пользователя будет как 0 и исходящий соответственно тоже.
можешь проверть данное утверждене взяв пользователя с ненулевым балансом и построив по нему основной отчет за произвольный период длинной в 1 секунду (главное чтобы в эту секунду списаний небыло)

Как решение данной проблемы строить основной отчет самостоятельно. но это охеренно ресурсоемкая операция.
Для этого для каждого пользователя:

Надо найти в таблице транзакшин_алл запись с максимальным ид и датой меньше или равной дате начала отчета (это будет вход остаток)
Надо найти в таблице транзакшин_алл запись с минимальным ид и датой большей или равной дате конца отчета (это будет исход остаток)
Просуммировать платежи за выбранный период.
объединить эти таблицы и посчитать итоги :)

Есть вариант сделать это на триггерах. Идея в следующем:
создать таблицу и при каждой вставки записи в таблицу транзакций, проводить операцию суммирования в своей таблице.
Ну а потом основной отчет на базе своей таблицы будет занимать несколько секунд... Мне это делать некогда, поэтому если есть желающие велкам :)

ЗЫ в 006 записи о платежах тоже стали вносится в дискаунт_транзакшн_алл, следовательно для решения проблемы построения отчета за _расчетный период_ вполне достаточно (на 99% ручаюсь) внести всем юзерам в течении расчетного периода_ нулевой платеж.

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Maximas писал(а):Ну нормально не нормально - а бухгалтерия криком кричит после такого...
Ха, твои бухгалтера еще видимо с округлениями чисел типа 0,08767263478623786478 до копеек не сталкивались, путем отрезания разрядов (походу)

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Так чет я загнался, не о том написал хотя и близко по теме.
Теперь конкретно по вопросу:

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

Поэтому попробуй построить основной отчет по этому юзеру но на час меньше (или больше, куда мы там переводили) полученный исход остаток попробуй воткнуть в ранее полученный отчет. если цифры сойдутся то проблема в этом.

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

AdmUser писал(а):у нас шеф... 20тысяч рублей за месяц это грубо говоря одна зарплата тех специалиста... чего он и сделал... :( просто разделил эту сумму на всех нас... :( теперь мы думаем скинуться на другой биллинг...
в соседнем топике про классы трафика тоже есть интересная проблема которая бъет шефа по карману... готовимся к оплате... :evil:
а как доказать? есть сертификат значит считает точно... иначе бы его не давали ... если деньги уходят- значит спецы воруют...
Хм, вон топикстартера вполне удовлетворяет то что у него ндс 18% от суммы 1029120,539 равен 185241,757, хотя должен быть равен 185241,697 округления ебть.

Ответить