Класс aARegister

Класс aARegister определяет программный интерфейс Накопительных регистров. Наследует aIRegister. Подробнее...

#include <aaregister.h>

Граф наследования:aARegister:

aIRegister aObject

Полный список членов класса

Открытые слоты

virtual ERR_Code New ()
 Добавляет новую строку к таблице регистра.
virtual int Update ()
QVariant getSaldo (const QDateTime &date, const QString &dimfieldname, QVariant dimvalue, const QString &resname)
QVariant getSaldo (const QString &dateISO, const QString &dimfieldname, QVariant dimvalue, const QString &resname)
QVariant getSaldoByManyDimensions (const QString &from, const QString &to, const QString &dimfieldname, QVariant dimvalue, const QString &resname)

Открытые члены

 aARegister (aCfgItem context, aDatabase *adb=0)
 aARegister (QString name, aDatabase *adb=0)
virtual ~aARegister ()
virtual ERR_Code initObject ()
virtual bool deleteDocument (aDocument *doc)
virtual QString trSysName (const QString &sname)
 Not implemented.

Защищенные члены

void recalculate_saldo (aSQLTable *t, aSQLTable *t_dim, const QDateTime &dd, bool plus, long dimId, QVariant dimValue)
int insert_values (QSqlQuery *q, aSQLTable *t_dim, const QDateTime &dd, bool plus, long dimId, QVariant dimValue)
int update_values (aSQLTable *t_dim, const QDateTime &dd, bool plus, long dimId, QVariant dimValue, aSQLTable *t=0)


Подробное описание

Класс aARegister определяет программный интерфейс Накопительных регистров. Наследует aIRegister.

Накопительный регистр расширяет функциональность информационного регистра aIRegister, автоматически расчитывая остатки по каждому измерению. В базе данных хранятся остатки по каждому измерению и на каждое время изменения значения ресурсов. Реквизиты накопительного регистра деляться на три вида: измерения, ресурсы, примечания.

См. также:
aIRegister

Конструктор(ы)

aARegister::aARegister ( aCfgItem  context,
aDatabase adb = 0 
)

Конструктор, который создает объект по элементу метаданных.

Аргументы:
context - элемент конфигурации,
adb - ссылка на базу данных.

Перекрестные ссылки initObject().

aARegister::aARegister ( QString  name,
aDatabase adb = 0 
)

Конструктор, который создает объект по имени рагистра остатков из конфигурации.

Аргументы:
context - имя регистра, заданное в конфигурации через Ананас-Дизайнер,
adb -
ссылка на базу данных. Необязательный параметр. Если не задан или задано нулевое значение, создавамый объект для работы с регистром не будет связан с базой данный. То есть объект не будет заполнен данными из регистра, хранящимися в базе данных, и все изменения, вносимые в него, не будут сохранены в базе данных.

Перекрестные ссылки initObject().

aARegister::~aARegister (  )  [virtual]

Деструктор.


Методы

ERR_Code aARegister::initObject (  )  [virtual]

Инициализирует объект элементом конфигурации. В процесе инициализации выполняется настройка на таблицы базы данных. Этот метод вызывается конструктором.

Возвращает:
- код ошибки.

Переопределяет метод предка aIRegister.

Перекрестные ссылки aCfg::attr(), aCfg::count(), aCfg::find(), aCfg::id(), aIRegister::initObject(), aObject::LastErrorCode(), aObject::setLastError(), aObject::table(), aDatabase::tableDbName(), aObject::tableInsert() и aDataTable::tableName.

Используется в aARegister().

bool aARegister::deleteDocument ( aDocument doc  )  [virtual]

Удаляет все записи в регистре, ссылающиеся на досумент.

Аргументы:
doc - документ для удаления
Возвращает:
- false если в конфигурации отсутствует раздел регистров остатков или нет документа.

Переопределяет метод предка aIRegister.

Перекрестные ссылки aDatabase::db(), aObject::getUid(), aLog::print(), aObject::table() и aDocument::Value().

Используется в aDocument::SignOut().

QString aARegister::trSysName ( const QString &  sname  )  [virtual]

Not implemented.

Возвращает:
""

Переопределяет метод предка aObject.

int aARegister::New (  )  [virtual, slot]

Добавляет новую строку к таблице регистра.

Возвращает:
Код ошибки
См. также:
SetDocument( aDocument * doc )

SetTable( const QString & tblname )

Переопределяет метод предка aIRegister.

Перекрестные ссылки aDocument::getTable(), aObject::getUid(), aObject::New(), aObject::select(), aObject::table(), Update() и aDocument::Value().

int aARegister::Update (  )  [virtual, slot]

Обновляет информацию в регитре. Все новые значения, заданные с помощью SetValue, сохраняются в базе данных. Выполняет пересчет остатков.

Возвращает:
- код ошибки.

Переопределяет метод предка aObject.

Перекрестные ссылки aObject::getUid(), aLog::print(), aObject::table(), aObject::Update() и aDocument::Value().

Используется в New().

QVariant aARegister::getSaldo ( const QDateTime &  date,
const QString &  dimfieldname,
QVariant  dimvalue,
const QString &  resname 
) [slot]

Выбирает остаток на заданную дату-время. Выбирает остаток на заданную дату-время для одного (любого из заданных в регистре) аналитического разреза (измерения) с указанным значением. Проще говоря, метод позволяет получить, например, остаток по дебету или кредиту требуемого счета на требуемую дату, если регистр используется для хранения бухгалтерских проводок, в каждой из которых указывается один дебетуемый и один кредитуемый счет.

Аргументы:
date - дата, на которую требуется получить остаток.
dimfieldname - название аналитического разреза регистра.
dimvalue - значение (точка) аналитического разреза, для которого требуется определить остаток. Например для Аналитического разреза "Счет по дебету" значение может быть "41.1" или любой другой номер счета бухгалтерского плана счетов.
Возвращает:
возвращает значение остатка.

Перекрестные ссылки aDatabase::db(), aLog::print(), aObject::setLastError() и aObject::table().

Используется в getSaldo().

QVariant aARegister::getSaldo ( const QString &  strdate,
const QString &  dimfieldname,
QVariant  dimvalue,
const QString &  resname 
) [slot]

См. также:
getSaldo(const QDateTime &date, const QString & dimfieldname, QVariant dimvalue, const QString &resname)
Функция получения остатка. Вспомогательный метод. Служит для совместимости со скриптами.

Аргументы:
strdate - дата, за которую надо получить остаток. Дата задается в виде строки в ISO формате.
dimfieldname - измерение, по которому нужно получить остаток
dimvalue - значение измерения, по которому надо получить остаток
resname - ресурс, значение которого надо получить
Возвращает:
- Значение остатка или QVariant::Invalid при ошибке или неправильных параметрах.

Перекрестные ссылки getSaldo() и aObject::setLastError().

QVariant aARegister::getSaldoByManyDimensions ( const QString &  from,
const QString &  to,
const QString &  dimfieldname,
QVariant  dimvalue,
const QString &  resname 
) [slot]

Вычисляет сумму за определенный период. Выбирает сумму для одного (минимум) аналитического разреза (измерения) с указанным значением. Если необходимо сальдо по нескольким измерениям, установите по ним фильтры

См. также:
aIRegister::SetFilter()
Аргументы:
from - дата начала периода.
to - дата окончания периода.
dimfieldname - название аналитического разреза регистра.
dimvalue - значение (точка) аналитического разреза, для которого требуется определить остаток. Например для Аналитического разреза "Счет по дебету" значение может быть "41.1" или любой другой номер счета бухгалтерского плана счетов.
Возвращает:
возвращает значение остатка.

Перекрестные ссылки aDatabase::db(), aLog::print(), aObject::setLastError() и aObject::table().

void aARegister::recalculate_saldo ( aSQLTable *  t_dim,
aSQLTable *  t,
const QDateTime &  dd,
bool  plus,
long  dimId,
QVariant  dimValue 
) [protected]

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

Аргументы:
t_dim - таблица остатков для обновления
t - таблица оборотов с выбранной записью, из которой берутся значения
dd - дата, с которой пересчитаются остатки.
plus - true для новой записи, false для удаления записи.
dimId - id поля измерения в метаданных
dimValue - значение поля измерения в метаданных

Перекрестные ссылки aDatabase::db(), insert_values() и update_values().

int aARegister::insert_values ( QSqlQuery *  q,
aSQLTable *  t_dim,
const QDateTime &  dd,
bool  plus,
long  dimId,
QVariant  dimValue 
) [protected]

Добавляет запись в таблицу остатков.

Аргументы:
q - запрос с данными для добавления. Если q!=0, то данные из q попадут в добавляемую строку
t_dim - таблица остатков
dd - дата, с которой пересчитаются остатки.
plus - true для новой записи, false для удаления записи.
dimId - id поля измерения в метаданных
dimValue - значение поля измерения в метаданных

Перекрестные ссылки aDatabase::db().

Используется в recalculate_saldo().

int aARegister::update_values ( aSQLTable *  t_dim,
const QDateTime &  dd,
bool  plus,
long  dimId,
QVariant  dimValue,
aSQLTable *  t = 0 
) [protected]

Обновляет записи в таблице остатков с датой, большей или равной заданной.

Аргументы:
t_dim - таблица остатков для обновления
t - таблица оборотов с выбранной записью, из которой берутся значения
dd - дата, с которой пересчитаются остатки.
plus - true для новой записи, false для удаления записи.
dimId - id поля измерения в метаданных
dimValue - значение поля измерения в метаданных

Перекрестные ссылки aDatabase::db().

Используется в recalculate_saldo().


Объявления и описания членов классов находятся в файлах:

Документация по Ananas Library. Последние изменения: Mon Jul 14 11:53:54 2008. Создано системой  doxygen 1.5.5