Как правильно организовать базу данных учета перевода средств между счетами?
Добрый день,
существует база данных, в которой размещены записи с операциями по счетам: доход, расход
структура:
id | type | account | money | date |
type - тип операции (дебет, кредит)
account - с какого счета
money - соклько
появилась задача внести третий тип операции, перевод с одного счета на другой
если хорошо не продумать этот момент, подозреваю, что появится много проблем, которые будут влиять например на отчеты по операциям и счетам.
Допустим со счета "Банк" переводим 10 000 на счет "Карта"
Какой алгоритм следует применить?
Если списать с банка 10 000 и добавить к Карте 10 000 - то отчеты будут не корректны.
Обычно операции - это справочник.
Записи можно генерировать документами, документ на приход, документ на расход и документ на перевод, который при проводке генерирует 2 записи приход и расход.
В справочнике операций делается ссылка на документ из которого в случае чего можно вытащить данные по событию проводки (пользователь, дата и т.д. - своего рода лог операций). У документа можно сделать обратный маршрут, который бы удалял операции в справочнике.