Ananas Library 0.9.5
Класс aIRegister

Класс aIRegister определяет программный интерфейс Информационных регистров. Подробнее...

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

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

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 ()
 Переход к последней записи регистра. .
 
- Открытые слоты унаследованные от 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 ()
 Показывает наличие активного фильтра
 

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

 aIRegister (aCfgItem registerItem, aDatabase *adb=0)
 Создает новый экземпляр объекта информационного регистра по описанию в бизнес схеме.
 
 aIRegister (const QString &name, aDatabase *adb=0, const QString &type="InfoRegister.")
 Создает новый экземпляр объекта информационного регистра по имени.
 
virtual ~aIRegister ()
 
virtual ERR_Code initObject ()
 Инициализирует объект информационного регистра.
 
virtual bool deleteDocument (aDocument *doc)
 Удаляет все записи с идентификатором данного документа из всех информационных регистров.
 
virtual bool deleteTable (Q_ULLONG iddt)
 Удаляет все записи из всех информационных регистрах о таблице с данным идентификатором
 
- Открытые члены унаследованные от 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 таблицы.
 
virtual int TableUpdate (const QString &tablename)
 Обновляет базу данных данными табличной части объекта.
 
virtual QString displayString ()
 Возвращает строку, предназначенную для отображения пользователю объекта сложного типа.
 
virtual int LastErrorCode ()
 Возвращает код последней ошибки.
 
virtual QString LastErrorMessage ()
 Возвращает сообщение, поясняющее последнюю ошибку. .
 

Защищенные данные

bool docseted
 
bool tableseted
 
QString tname
 
aDocumentnowDoc
 
- Защищенные данные унаследованные от aObject
bool concrete
 

Дополнительные унаследованные члены

- Открытые атрибуты унаследованные от aObject
aCfgmd
 
aCfgItem obj
 
aDatabasedb
 
- Защищенные члены унаследованные от 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.
 
virtual QString trSysName (const QString &sname)
 Not implemented.
 
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 класса
 

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

Класс aIRegister определяет программный интерфейс Информационных регистров.

Информационный регистр служит для хронологической записи данных.
Для хранения остатков следует использовать Накопительные регистры aARegister
\see aARegister

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

◆ aIRegister() [1/2]

aIRegister::aIRegister ( aCfgItem context,
aDatabase * adb = 0 )

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

Аргументы
context- Ссылка на объект бизнес схемы, описывающий регистр.
adb- Можно не передавать. Значение по умолчанию = 0. Текущая база данных Ананаса.

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

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

◆ aIRegister() [2/2]

aIRegister::aIRegister ( const QString & name,
aDatabase * adb = 0,
const QString & type = "InfoRegister." )

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

Новый объект создается по описанию объекта с таким именем, хранимом в бизнес схеме.

Аргументы
name- Имя Регистра в бизнес схеме
adb- Можно не передавать. Значение по умолчанию = 0. Ссылка на текущую базу данных Ананаса
type- Можно не передавать. Значение по умолчанию = "InfoRegister". Тип (класс) реристра в бизнес схеме

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

◆ ~aIRegister()

aIRegister::~aIRegister ( )
virtual

Деструктор.

Методы

◆ deleteDocument()

bool aIRegister::deleteDocument ( aDocument * doc)
virtual

Удаляет все записи с идентификатором данного документа из всех информационных регистров.

Аргументы
doc- Документ, записи о котором будут удалены.
Возвращает
true - успех, false - ошибка

Переопределяется в aARegister.

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

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

◆ deleteTable()

bool aIRegister::deleteTable ( Q_ULLONG iddt)
virtual

Удаляет все записи из всех информационных регистрах о таблице с данным идентификатором

Аргументы
iddt- id таблицы.
Возвращает
true - успех, false - ошибка

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

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

◆ First

bool aIRegister::First ( )
virtualslot

Переход к первой записи регистра. .

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

◆ GetDocument

aDocument * aIRegister::GetDocument ( )
virtualslot

Возвращает документ, на основании которого была сделана текущая запись регистра.

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

Возвращает
Указатель на документ, если текущая запись регистра имеет ссылку на документ и этот докуменрт существует. Возврат ошибки будет свидетельствовать, что с данными не все в порядке, т.е. нарушена ссылочная целостность.

Перекрестные ссылки aDocument::select(), aDataTable::sysValue() и aObject::table().

◆ initObject()

ERR_Code aIRegister::initObject ( )
virtual

Инициализирует объект информационного регистра.

Возвращает
Код ошибки

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

Переопределяется в aARegister.

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

Используется в aIRegister(), aIRegister() и aARegister::initObject().

◆ Last

bool aIRegister::Last ( )
virtualslot

Переход к последней записи регистра. .

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

◆ New

int aIRegister::New ( )
virtualslot

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

Для каждой строки информационного регистра обязательным является указание того, какая строка табличной части какого документа с ней связана. То есть каждая запись в регистре обязательно связана ровно с одной строкой табличной части какого-либо документа. И если при редактировании документа пользователем удаляется строка в его табличной части, то происходит автоматическое удаление соответствующих строк регистра. Перед вызовом необходимо указать ссылку на документ и на одну из его (возможно нескольких) табличных частей. Важно чтобы в табличной части документа была задана требуемая текущая запись (строка). Именно с ней будет связана создаваемая запись регистра. Для указания документа и табличной части перед выховом этой функции нужно вызвать функции SetDocument() и SetTable() Иначе запись не будет создана и вернется ошибка.

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

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

◆ Next

bool aIRegister::Next ( )
virtualslot

Переход к следующей записи регистра. .

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

◆ Prev

bool aIRegister::Prev ( )
virtualslot

Переход к предыдущей записи регистра. .

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

◆ Select [1/2]

int aIRegister::Select ( const QString & from,
const QString & to )
virtualslot

Выбирает записи в информационном регистре за заданный период.

Вспомогательный метод для скриптов.

Аргументы
from- дата начала периода в строке в фрмате ISO 8601 (ГГГГ-ММ-ДД)
to- дата окончания периода в строке в формате ISO 8601 (ГГГГ-ММ-ДД)
Возвращает
Код ошибки
См. также
Select( QDateTime from, QDateTime to )

Перекрестные ссылки aLog::print() и Select().

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

◆ Select [2/2]

int aIRegister::Select ( QDateTime from,
QDateTime to )
virtualslot

Выбирает записи в информационном регистре за заданный период.

Аргументы
from- Дата начала периода
to- Дата окончания периода
Возвращает
Код ошибки

Перекрестные ссылки aObject::IsFiltred(), aDocJournal::selectionFilter(), aObject::setSelected() и aObject::table().

◆ SelectByDoc

int aIRegister::SelectByDoc ( )
virtualslot

Выбирает первую запись регистра по документу, установленному перед этим функцией SetDocument( aDocument * doc ).

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

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

◆ SetDocument

int aIRegister::SetDocument ( aDocument * doc)
virtualslot

Отфильтровывает записи регистра, принадлежащие документу. Подготовливает регистр для добавления записи функцией New.

   Задав документ для регистра, получаем возможность работать только с записями регистра, указывающими на этот документом.

   \param - Ссылка на существующий документ
   \return Код ошибки
   \see New()

Перекрестные ссылки aObject::getUid() и SetFilter().

◆ SetFilter

int aIRegister::SetFilter ( const QString & name,
const QVariant & value )
virtualslot

Устанавливает фильтр на записи регистра.

После установки фильтра навигация происходит по записям значение данного поля которых равно указанному значению.

Аргументы
name- Имя столбца в метаданных, на который устанавливается фильтр
value- Значение для фильтрации
Возвращает
Код ошибки

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

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

◆ SetTable

int aIRegister::SetTable ( const QString & tblname)
virtualslot

Задает табличную часть документа для использования при добавдении новых записей регистра методом New.

Вновь добавляемые записи регистра будут содержать ссылку на текущую запись указанной табличной части документа. Используется только когда нужно добавить строки из таблицы документа. До вызова этой функции должна быть вызвана функция установки документа SetDocument( aDocument * doc ).

Аргументы
tblname- Имя таблицы документа.
Возвращает
Код ошибки
См. также
SetDocument( aDocument * doc )

◆ Value

QVariant aIRegister::Value ( const QString & name,
const QString & tableName = "" )
virtualslot

Возвращает значения поля с именем = name основной таблицы объекта.

Аргументы
name- имя поля
Возвращает
значение поля. Поля типа Q_ULLONG и DateTime переводятся в строки.

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


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