Ananas Library  0.9.5
Открытые слоты | Открытые члены | Защищенные члены | Полный список членов класса
Класс 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)
 
- Открытые слоты inherited from aIRegister
virtual int SetDocument (aDocument *doc)
 Отфильтровывает записи регистра, принадлежащие документу. Подготовливает регистр для добавления записи функцией New. Подробнее...
 
virtual aDocumentGetDocument ()
 Возвращает документ, на основании которого была сделана текущая запись регистра. Подробнее...
 
virtual int SetTable (const QString &tblname)
 Задает табличную часть документа для использования при добавдении новых записей регистра методом New. Подробнее...
 
virtual int New ()
 Добавляет новую строку к таблице информационного регистра. Подробнее...
 
virtual int Select (const QString &from, const QString &to)
 Выбирает записи в информационном регистре за заданный период. Подробнее...
 
virtual int Select (QDateTime from, QDateTime to)
 Выбирает записи в информационном регистре за заданный период. Подробнее...
 
virtual int SelectByDoc ()
 Выбирает первую запись регистра по документу, установленному перед этим функцией SetDocument( aDocument * doc ). Подробнее...
 
virtual QVariant Value (const QString &name, const QString &tableName="")
 Возвращает значения поля с именем = name основной таблицы объекта. Подробнее...
 
virtual int SetFilter (const QString &fieldName, const QVariant &value)
 Устанавливает фильтр на записи регистра. Подробнее...
 
virtual bool Next ()
 Переход к следующей записи регистра.
 
virtual bool Prev ()
 Переход к предыдущей записи регистра.
 
virtual bool First ()
 Переход к первой записи регистра.
 
virtual bool Last ()
 Переход к последней записи регистра.
 
- Открытые слоты inherited from aObject
virtual QString Uid ()
 Возвращает уникальный идентификатор объекта из базы данных. Подробнее...
 
virtual bool IsSelected ()
 Checks if object selected. Подробнее...
 
virtual bool IsMarkDeleted (const QString &tname="")
 Checks "Deleted" marker. Подробнее...
 
virtual bool IsMarked ()
 Checks "Marked" marker. Подробнее...
 
virtual int SetMarkDeleted (bool Deleted, const QString &tablename="")
 Устанавливает признак логического удаления объекта (записи SQL таблицы) Подробнее...
 
virtual int SetMarked (bool Marked)
 Выставляет отметку на объекте. Подробнее...
 
virtual int New ()
 Add new object record in database. Подробнее...
 
virtual int Copy ()
 Создает новый объект, являющийся клоном текущего объекта. Подробнее...
 
virtual int Delete ()
 Удаляет текущий объект из базы данных. Подробнее...
 
virtual int Update ()
 Обновляет запись в базе данных текущеми значениями. Подробнее...
 
virtual int Conduct ()
 Проводит документ. Подробнее...
 
virtual int UnConduct ()
 Отменяет проведение документа. Подробнее...
 
virtual bool IsConducted ()
 Проверяет проведен ли документ. Подробнее...
 
virtual QString Kind (const QString &name=QString::null)
 Вид объекта, так как он описан в метаданных.
 
virtual QVariant Value (const QString &name, const QString &tableName="")
 Return field value of the primary object database table. Подробнее...
 
virtual int SetValue (const QString &name, const QVariant &value, const QString &tableName="")
 Set field value of the primary object database table. Подробнее...
 
virtual QVariant sysValue (const QString &name, const QString &tableName="")
 Gets system field value. Подробнее...
 
virtual int setSysValue (const QString &name, QVariant value, const QString &tableName="")
 Sets system field value. Подробнее...
 
virtual int SetFilter (const QString &valname, const QVariant &value)
 Задает фильтр записей/объектов
 
virtual int ClearFilter ()
 Чистит фильтр записей/объектов. Подробнее...
 
virtual int TableSetFilter (const QString &tname, const QString &valname, const QVariant &value)
 Устанавливает вильтр записей табличной части объекта. Подробнее...
 
virtual int TableClearFilter (const QString &tname)
 Чистит фильтр записей указанной табличной части объекта. Подробнее...
 
virtual bool IsFiltred ()
 Показывает наличие активного фильтра
 
virtual int TableUpdate (const QString &tablename)
 Обновляет базу данных данными табличной части объекта. Подробнее...
 
virtual QString displayString ()
 Возвращает строку, предназначенную для отображения пользователю объекта сложного типа. Подробнее...
 
virtual int LastErrorCode ()
 Возвращает код последней ошибки. Подробнее...
 
virtual QString LastErrorMessage ()
 Возвращает сообщение, поясняющее последнюю ошибку. Подробнее...
 

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

 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. Подробнее...
 
- Открытые члены inherited from aIRegister
 aIRegister (aCfgItem registerItem, aDatabase *adb=0)
 Создает новый экземпляр объекта информационного регистра по описанию в бизнес схеме. Подробнее...
 
 aIRegister (const QString &name, aDatabase *adb=0, const QString &type="InfoRegister.")
 Создает новый экземпляр объекта информационного регистра по имени. Подробнее...
 
virtual ~aIRegister ()
 
virtual bool deleteTable (Q_ULLONG iddt)
 Удаляет все записи из всех информационных регистрах о таблице с данным идентификатором Подробнее...
 
- Открытые члены inherited from aObject
 aObject (QObject *parent=0, const char *name=0)
 Конструктор для создания абстрактного объекта. Подробнее...
 
 aObject (const QString &oname, aDatabase *adb, QObject *parent=0, const char *name=0)
 Создает объект как модель данных, описанную в метаданных. Подробнее...
 
 aObject (aCfgItem context, aDatabase *adb, QObject *parent=0, const char *name=0)
 Создает объект как модель данных, описанную в метаданных. Подробнее...
 
virtual ~aObject ()
 Виртуальный деструктор
 
virtual bool checkStructure ()
 Not implemented. Подробнее...
 
ERR_Code init ()
 Вспомогоательный метод. Проверяет необходимость вызова метода initObject() и вызывает его. Подробнее...
 
ERR_Code decodeDocNum (QString nm, QString &pref, int &num)
 Осуществляет выделение символьного префикса из строки. Подробнее...
 
virtual ERR_Code select (Q_ULLONG id)
 Позиционирует указатель в БД на запись, соотвествующую объекту с указанным идентификатором. Подробнее...
 
Q_ULLONG getUid ()
 Возвращает уникальный идентификатор объекта из базы данных. Подробнее...
 
bool selected (const QString &tablename="")
 Показывает задан ли текущий объект или запись в его табличной части. Подробнее...
 
ERR_Code select (const QString &query, const QString &tableName="")
 Осуществляет SQL запрос. Подробнее...
 
aDataTabletable (const QString &name="")
 Возвращает одну из таблиц бизнес-объекта по ее имени. Подробнее...
 
virtual Q_ULLONG docId ()
 Возвращает id документа в базе данных. Подробнее...
 
virtual bool Next (const QString &tableName="")
 Перемещает указатель на следующую запись SQL таблицы. Подробнее...
 
virtual bool Prev (const QString &tableName="")
 Перемещает указатель на предыдующую запись SQL таблицы. Подробнее...
 
virtual bool First (const QString &tableName="")
 Перемещает указатель на первую запись SQL таблицы. Подробнее...
 
virtual bool Last (const QString &tableName="")
 Перемещает указатель на последнюю запись SQL таблицы. Подробнее...
 

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

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)
 
- Защищенные члены inherited from aObject
virtual aCfgItem displayStringContext ()
 Возвращает контекст (узел дерева) метаданных для вычисления строкового представления сложного типа.
 
virtual ERR_Code setObject (aCfgItem newobject)
 Задает метатип объекта. Подробнее...
 
bool isInited ()
 
void setInited (bool flag)
 
ERR_Code tableInsert (const QString &dbname, aCfgItem obj, const QString &name="")
 Insert table name and its link into internal buffer. Подробнее...
 
ERR_Code tableInsert (const QString &dbname, const QString &name="")
 Insert table name and its link into internal buffer. Подробнее...
 
ERR_Code tableRemove (const QString &name="")
 Remove table from buffer. Подробнее...
 
virtual QVariant tValue (const QString &tablename, const QString &name)
 Return field value of the secondary object database table.
 
virtual ERR_Code setTValue (const QString &tablename, const QString &name, const QVariant &value)
 Set field value of the secondary object database table.
 
void setSelected (bool sel, const QString &tablename="")
 Явно задает состояние выбранности объекта или записи его табличной части.
 
virtual ERR_Code setTFilter (const QString &tname, const QString &valname, const QVariant &value)
 Устанавливает вильтр записей табличной части объекта.
 
virtual ERR_Code clearTFilter (const QString &tname)
 Чистит фильтр записей указанной табличной части объекта.
 
void setLastError (int, QString)
 Задает значения свойствам lastErrorCode и lastErrorMessage класса Подробнее...
 

Additional Inherited Members

- Открытые атрибуты inherited from aObject
aCfgmd
 
aCfgItem obj
 
aDatabasedb
 
- Защищенные данные inherited from aIRegister
bool docseted
 
bool tableseted
 
QString tname
 
aDocumentnowDoc
 
- Защищенные данные inherited from aObject
bool concrete
 

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

Класс 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

Деструктор.

Методы

bool aARegister::deleteDocument ( aDocument doc)
virtual
    Удаляет все записи в регистре, ссылающиеся на досумент.
Аргументы
doc- документ для удаления
Возвращает
- false если в конфигурации отсутствует раздел регистров остатков или нет документа.

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

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

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

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().

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().

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

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::New ( )
virtualslot

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

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

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

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().

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

Not implemented.

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

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

int aARegister::Update ( )
virtualslot
    Обновляет информацию в регитре.
    Все новые значения, заданные с помощью SetValue, сохраняются в базе данных.
    Выполняет пересчет остатков.
Возвращает
-код ошибки.

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

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

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().


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