Akhmat писал(а):
Эти -20 копеек, потому, что эта запись за апрель у тебя была создана ранее
мсье телепат ?

skn писал(а):
1) не допускать создание записей с балансом будущими периодами
вы оба не угадали, особенно странно что не угадал Skn, ибо у меня есть тикет на эту тему где я как мог пытался объяснить принцип возникновения этих багов у _меня_
все элементарно, есть договор, на нем есть абонки, IPN и тп
10 марта приходит "манагер" и заявляет что договор XXX надо времено заблокировать потому что тра-ля-ля-ля-ля
в ответ он получает много мата, но делать нечего, идем в биллинг и блокируем договор, например, статусом
но, ВНИМАНИЕ, в интернете есть такое понятие как мусорный трафик, флуд, сканы и тп, и даже при выключенном физически спутниковом терминале у клиента на его адреса все равно идет этот спам и он считается биллингом, этот трафик и успет накапать за первых 10 дней марта
как его исключить и почему я матерился на менеджера ? а матерился я потому что единственный способ убрать этот трафик и наработку это закрыть периодом блок адресов и перегрузить трафик через менеджер источника
в результате этих дейстий у клиента наработка пропадает, а баланс виснет
если договор блокировался как в данном примере, то можно сделать платеж и удаление платежа, а если мне с запозданием сообщили о закрытии договора, то эти кривые балансы так и остаются висеть на договоре, ибо договор уже закрыт периодом
skn писал(а):
ИДЕАЛЬНОЙ БД не существует, у любой есть свои плюсы и минусы...
Так ) требую уточнения терминологии )
СУБД как таковая к теме разговора вообще отношения не имеет и тут не затрагивалась, да есть СУБД которые обязывают стремится к 3НФ, а есть которые относятся к целосности БД либерально, но как бы всегда есть возможность реализовать 3НФ схему в мысквеле и полное месиво в оракле, все в руках програмиста
"БД" какбы не может иметь плюсы и минусы, БД это таблспейс и схема, так что полагаю под "БД" тика подразумевалось СУБД
Я еще раз говорю: понятно что идеальной схемы быть не может, понятно что где то в угоду производительности нужна избыточность базы (да она в любой задаче нужна, для этого даже спец средства придумываюсь аля теже снапшоты), но, если вводится избыточная сущность то либо она апдейтится на тригерах, либо в ее модификации не допускается никто в обход API, а даном случае это должно быть API сопровождающее contract_account и при любых изменениях пересчитавающий contract_balance, соответсвенно напрямую в эти две таблицы модули писАть не должны
P.S. IMHO ;-P