Разработка:storages/accentryes
Версия от 09:23, 19 ноября 2014; Polikarpov (обсуждение | вклад) (→get_history($accountid,$begindate=null,$enddate=null))
Плагин | |
Название | accentryes |
Тип | storages |
Содержание
Таблица в базе данных
accentryes - справочник операций по счетам. Все счета хранятся в справочнике Разработка:storages/accounts.
Подробный формат полей в таблице:
- id - id операции.
- fromid - id счета-источника.
- toid - id счета-получателя.
- amount - сумма операции.
- orderid - id приказа, на основании которого совершена операция.
- createdate - дата фактической региcтрации проводки.
- date - дата выполнения операции.
- extentryopts - массив с опциями внешнего ключа.
- extentryoptshash - хеш опций внешнего ключа.
- about - пояснение операции.
- status - статус операции.
Дополнительные методы:
Публичные методы:
add_accentry($ptype, $pcode, $objectid, $code, $type, $name, $params, $status = 'active')
Добавляет новую операцию по счету в справочник.
Аргументы:
- $fromid(int) - счет, с которого списываем сумму.
- $toid(int) - счет, на который переводим сумму.
- $amount(float) - сумма операции.
- $orderid(int) - id приказа, в соответствии с которым совершена операция.
- $date(int) - дата, когда необходимо провести операцию.
- $extentryopts(array) - массив опций внешнего ключа.
- $about(string) - описание операции.
- $status(string) - статус операции.
Возвращаемые значения:
- object - объект операции.
- bool - false в случае ошибки.
Структура работы:
- Проверяем существование счета - источника и счета - получателя.
- Формируем объект для добавления в БД.
- Проверяем по хэшу, есть ли в системе такая операция.
get_history($accountid,$begindate=null,$enddate=null)
Получает историю операций по счету за определенный период.
Аргументы:
- $accountid(int) - id счета.
- $begindate(int) - начальная дата, если null - не учитывается.
- $enddate(int) - конечная дата, если null - не учитывается.
Возвращаемые значения:
- array - массив операций.
- bool - false в случае ошибки.
Структура работы:
- Метод проверяет входные данные.
- Производится формирование sql-фрагмента кода
- Подсчитывается баланс по счету после каждой проведенной операции, операции, не удовлетворяющие условию по времени, удаляются.