forum.bitel.ru
http://forum.bitel.ru/

Отметка времени для финансовых операций
http://forum.bitel.ru/viewtopic.php?f=1&t=12969
Страница 1 из 1

Автор:  Вторник [ 19 июл 2018, 10:50 ]
Заголовок сообщения:  Отметка времени для финансовых операций

Изучил, что пишется в БД при совершении операций, влияющих на эффективный баланс счёта. Что вижу:

  • contract_account (наработка по услугам) - есть только год и месяц,
  • contract_charge (расходы) - есть дата, времени нет,
  • contract_payment (платежи) - есть дата, времени нет,
  • contract_reserve (резервы) - есть и дата, и время,
  • log_contract_limit (лимиты) - есть и дата, и время,

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

Автор:  zavndw [ 19 июл 2018, 11:09 ]
Заголовок сообщения:  Re: Отметка времени для финансовых операций

contract_payment, contract_charge посмотрите поле lm оно типа timestamp

Автор:  Вторник [ 19 июл 2018, 11:13 ]
Заголовок сообщения:  Re: Отметка времени для финансовых операций

Значение этого поля верно только до момента изменения операции.

Автор:  Phricker [ 19 июл 2018, 12:04 ]
Заголовок сообщения:  Re: Отметка времени для финансовых операций

Вторник писал(а):
А это крайне необходимо при разнообразных разборах полётов.

Каких полётов?
С пользователями биллинга которые совершают операции какие-либо?
Или с клиентами?

Если с пользователями - то для этого существует журнал запросов.
Если с клиентами, то сомневаюсь что это поможет. По крайней мере не вижу такой необходимости.
И к примеру contract_account. Она переписывается постоянно в пределах одной услуги на договоре.
Что вы там хотите писать? :)

Автор:  dimOn [ 19 июл 2018, 13:13 ]
Заголовок сообщения:  Re: Отметка времени для финансовых операций

contract_account (наработка по услугам) - там и не может быть времени, наработка в биллинге - это всегда наработка за определённый месяц и год, непонятно дата чего там должна быть
contract_charge (расходы) , contract_payment (платежи) - там и есть время последнего изменения, именно оно и рисуется в биллинге же, т.к они наоборот подразумевается что меняться по идее не должны

Автор:  Вторник [ 19 июл 2018, 14:16 ]
Заголовок сообщения:  Re: Отметка времени для финансовых операций

dimOn писал(а):
contract_charge (расходы) , contract_payment (платежи) - там и есть время последнего изменения, именно оно и рисуется в биллинге же, т.к они наоборот подразумевается что меняться по идее не должны


Захотел я, допустим, прокомментировать какую-нибудь операцию, или опечатку поправить. И тут меня встречает on update CURRENT_TIMESTAMP. Я конечно могу DDL поменять, чтобы этого не происходило. Но ведь lm - это last modified. Нелогично получается.

dimOn писал(а):
contract_account (наработка по услугам) - там и не может быть времени, наработка в биллинге - это всегда наработка за определённый месяц и год, непонятно дата чего там должна быть


Видимо я не до конца понял, как работает наработка по услугам. Буду разбираться.

Автор:  dimOn [ 19 июл 2018, 14:50 ]
Заголовок сообщения:  Re: Отметка времени для финансовых операций

ну платежи задним числом некомильфо править вроде как

итоговая наработка всегда только за месяц , она только одна (для одной услуги), т.е. они никак не делится по дням и конкретного момента наработки нет

Автор:  Вторник [ 19 июл 2018, 17:04 ]
Заголовок сообщения:  Re: Отметка времени для финансовых операций

dimOn писал(а):
ну платежи задним числом некомильфо править вроде как


Я и не предполагал платежи в прошлое.

dimOn писал(а):
итоговая наработка всегда только за месяц , она только одна (для одной услуги), т.е. они никак не делится по дням и конкретного момента наработки нет


Но ведь когда-то она списывается со счёта. Именно этот момент времени и нужен.

Автор:  skn [ 19 июл 2018, 17:41 ]
Заголовок сообщения:  Re: Отметка времени для финансовых операций

contract_account это агрегированная наработка
например у вас ежедневно снимается абонплата по 10 руб
например прошло 5 дней в месяце, у вас в этой таблице будет не 5 записей по 10 рублей, а одна на 50 руб.

Автор:  Вторник [ 19 июл 2018, 18:06 ]
Заголовок сообщения:  Re: Отметка времени для финансовых операций

skn писал(а):
contract_account это агрегированная наработка
например у вас ежедневно снимается абонплата по 10 руб
например прошло 5 дней в месяце, у вас в этой таблице будет не 5 записей по 10 рублей, а одна на 50 руб.


Вон оно что, оказывается!

А можно где-то увидеть неагрегированную информацию? Например, указанные выше события ежедневного списания.

Автор:  dimOn [ 19 июл 2018, 19:46 ]
Заголовок сообщения:  Re: Отметка времени для финансовых операций

Вторник писал(а):
skn писал(а):
contract_account это агрегированная наработка
например у вас ежедневно снимается абонплата по 10 руб
например прошло 5 дней в месяце, у вас в этой таблице будет не 5 записей по 10 рублей, а одна на 50 руб.


Вон оно что, оказывается!

А можно где-то увидеть неагрегированную информацию? Например, указанные выше события ежедневного списания.

некоторые модули дополнительно сохраняют нечто такое, но это нигде не рисуется, в основном для отчётов, например (например cerbecrypt разбивает наработку по пакето-дням там, а не только по услугам ну итд)
наработка всегда вычисляется так: всё (всегда понимается "для услуги") удаляется из contract_account и считается заново, без разницы когда вы запускаете и сколько раз

Автор:  Вторник [ 19 июл 2018, 20:21 ]
Заголовок сообщения:  Re: Отметка времени для финансовых операций

Становится понятнее. Спасибо.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/