#include <aaregister.h>
Открытые слоты | |
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) |
Накопительный регистр расширяет функциональность информационного регистра 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 | - документ для удаления |
Переопределяет метод предка aIRegister.
Перекрестные ссылки aDatabase::db(), aObject::getUid(), aLog::print(), aObject::table() и aDocument::Value().
Используется в aDocument::SignOut().
QString aARegister::trSysName | ( | const QString & | sname | ) | [virtual] |
int aARegister::New | ( | ) | [virtual, slot] |
Добавляет новую строку к таблице регистра.
Переопределяет метод предка 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] |
Функция получения остатка. Вспомогательный метод. Служит для совместимости со скриптами.
strdate | - дата, за которую надо получить остаток. Дата задается в виде строки в ISO формате. | |
dimfieldname | - измерение, по которому нужно получить остаток | |
dimvalue | - значение измерения, по которому надо получить остаток | |
resname | - ресурс, значение которого надо получить |
Перекрестные ссылки getSaldo() и aObject::setLastError().
QVariant aARegister::getSaldoByManyDimensions | ( | const QString & | from, | |
const QString & | to, | |||
const QString & | dimfieldname, | |||
QVariant | dimvalue, | |||
const QString & | resname | |||
) | [slot] |
Вычисляет сумму за определенный период. Выбирает сумму для одного (минимум) аналитического разреза (измерения) с указанным значением. Если необходимо сальдо по нескольким измерениям, установите по ним фильтры
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().