Класс aDocument

Определяет программный интерфейс для работы с бизнес объектами типа Документ и их атрибутами. Наследует aObject. Подробнее...

#include <adocument.h>

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

aObject

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

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

virtual ERR_Code New ()
 ScriptAPI. Создает и регистрирует в системном журнале объект aDocument.
virtual ERR_Code Delete ()
 ScriptAPI. Удаляет текущий документ.
virtual ERR_Code Update ()
 ScriptAPI. Обновляет информацию в базе данных.
virtual ERR_Code Select (QDateTime from, QDateTime to)
 ScriptAPI. Выбирает документы по интервалу времени.
virtual bool Select ()
virtual ERR_Code Select (const QString &num)
 ScriptAPI. Выбирает документы по номеру.
virtual int SelectDocument (QVariant uid)
 ScriptAPI. Выбирает документ с заданным идентификатором.
virtual ERR_Code Copy ()
 ScriptAPI. Копирует текущий документ.
virtual bool Next ()
 ScriptAPI. Переход к следующему документу.
virtual bool Prev ()
 ScriptAPI. Переход к предыдущему документу.
virtual bool First ()
 ScriptAPI. Переходит к первому документу.
virtual bool Last ()
 ScriptAPI. Переходит к последнему документу.
virtual ERR_Code TableNewLine (const QString &tablename)
 ScriptAPI. Добавляет новую строку табличной части документа.
virtual ERR_Code TableDelete (const QString &tablename)
 ScriptAPI. Удаляет текущую строку табличной части документа.
virtual ERR_Code TableSelect (const QString &name)
 ScriptAPI. Выбирает табличную часть документа по ее имени.
virtual QVariant TableValue (const QString &tablename, const QString &name)
 ScriptAPI. Читает значение поля табличной части документа.
virtual ERR_Code TableSetValue (const QString &tablename, const QString &name, const QVariant &value)
 ScriptAPI. Записывает значение в поле текущей строки табличной части документа.
virtual ERR_Code TableUpdate (const QString &tablename="")
 SrciptAPI. Обновляет текущую запись табличной части документа.
virtual bool TableNext (const QString &name)
 ScriptAPI. Переход к следуещей записи в табличной части документа.
virtual bool TablePrev (const QString &name)
 ScriptAPI. Переход к предыдущей записи в табличной части документа.
virtual bool TableFirst (const QString &name)
 ScriptAPI. Переход к первой записи в табличной части документа.
virtual bool TableLast (const QString &name)
 ScriptAPI. Переход к последней записи в табличной части документа.
virtual bool IsMarkDeleted ()
 ScriptAPI. Проверяет помечен ли документ как удаленный.
virtual bool IsMarked ()
 ScriptAPI. Проверяет помечен ли документ.
virtual ERR_Code SetMarkDeleted (bool Deleted)
 ScriptAPI. Устанавливает флаг удаления.
virtual ERR_Code SetMarked (bool Marked)
 ScriptAPI Помечает документ.
void SetPrefix (const QString &pr)
 ScriptAPI. Задает префикс документа.
QString Prefix ()
 ScriptAPI. Возвращает префикс документа.
virtual QVariant Value (const QString &name, const QString &tableName="")
virtual ERR_Code SetFilter (const QString &valname, const QVariant &value)
 ScripAPI. Устанавливает фильтр на доступные документы.
virtual ERR_Code ClearFilter ()
 ScriptAPI. Сбрасывает фильтр.
ERR_Code Conduct ()
 Deprecated.
ERR_Code UnConduct ()
 Deprecated.
bool IsConducted ()
 Deprecated.
ERR_Code SignIn ()
 ScriptAPI. Вызывает проведение документа.
ERR_Code SignOut ()
 ScriptAPI. Отменяет проведение документа.
bool IsSignedIn ()
 ScriptAPI. Проверяет, проведен ли документ.
void Seek (int pos, const QString &tname)
 ScriptAPI. Устанавливает позицию в табличной части документа на строку с заданным номером.
QVariant GetDocumentValue (QVariant ide, const QString &fname)
 ScriptAPI. Получение значения атрибута документа c указанным идентификатором.

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

 aDocument (aCfgItem context, aDatabase *adb=0)
 Создает объект и инициализирует его по метаданным бизнес схемы.
 aDocument (const QString &name, aDatabase *adb=0)
virtual ~aDocument ()
virtual ERR_Code select (Q_ULLONG uid)
virtual ERR_Code initObject ()
virtual QString trSysName (const QString &sname)
virtual QVariant sysValue (const QString &sname, const QString &="")
virtual ERR_Code setSysValue (const QString &sname, QVariant value, const QString &="")
aSQLTable * getTable (const QString &tablename)


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

Определяет программный интерфейс для работы с бизнес объектами типа Документ и их атрибутами. Наследует aObject.

Объект класса предоставляет навигационный доступ ко всем документам, имеющим тип, указанный при инициализации объекта. С помощью методов класса можно управлять как документом целиком, так и отдельными его реквизитами. В том числе табличными частями, если они определены в метаданных у документа. Обеспечивает единообразный доступ к полям и таблицам документов, хранимых в базе данных. Информация о составе и структуре полей и табличных частей документа храниться в метаданных. Позволяет создавать, удалять, изменять, копировать, проводить и распроводить документы.


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

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

Создает объект и инициализирует его по метаданным бизнес схемы.

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

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

aDocument::aDocument ( const QString &  name,
aDatabase adb = 0 
)

Создает объект и инициализирует его по метаданным бизнес схемы. Документ инициализируется элементом метаданных, найденым по его имени, причем поиск осуществляется только среди документов.

Аргументы:
name - имя документа в метаданных бизнес схемы.
adb - ссылка на базу данных

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

aDocument::~aDocument (  )  [virtual]

Уничтожает объект. Используется для удаления системного журнала и освобождения занятой под него памяти.


Методы

ERR_Code aDocument::select ( Q_ULLONG  uid  )  [virtual]

Выбирает документ с заданным идентификатором.

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

Перекрестные ссылки aCfg::attr(), aCfg::count(), aCfg::find(), aDocJournal::findDocument() и aObject::select().

Используется в Copy(), aDocJournal::CurrentDocument(), aIRegister::GetDocument(), GetDocumentValue() и SelectDocument().

ERR_Code aDocument::initObject (  )  [virtual]

Инициализирует объект элементом метаданных бизнес схемы. В процесе инициализации выполняется настройка на шапку документа и все его табличные части. После инициализации появляется возможность работать с полями и таблицами, используя их имена, определенные в бизнес схеме.

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

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

Перекрестные ссылки aCfg::attr(), aCfg::count(), aCfg::find(), aObject::initObject(), aDatabase::tableDbName() и aObject::tableInsert().

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

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

Используется для перевода предопределенных имен для системных полей. Позволяет использовать для обращения к системным полям из скриптов назавания, близкие по смыслу к их назначению с учетом языка пользователя. Например к полю номер документа можно обратиться используя имя "НомерДок" или "DocNumber".

Аргументы:
sname - одно из предопределенных имен поля.
Возвращает:
имя поля

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

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

QVariant aDocument::sysValue ( const QString &  sname,
const QString &  = "" 
) [virtual]

Читает значение системного поля. Используется для получения значения системного поля по его имени

Аргументы:
sname - имя ситемного поля.
Возвращает:
значение поля или ошибочное значение, если имя поля неизвестно.

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

Перекрестные ссылки aDocJournal::getDate(), aDocJournal::getNumber() и aDocJournal::getSerialNumber().

ERR_Code aDocument::setSysValue ( const QString &  sname,
QVariant  value,
const QString &  = "" 
) [virtual]

Устанавливает значение системного поля. Используется для установки значения системного поля по его имени

Аргументы:
sname - имя ситемного поля.
value - устанавливаемое значение
Возвращает:
код ошибки.

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

Перекрестные ссылки aDocJournal::setDate() и aDocJournal::setNumber().

aSQLTable * aDocument::getTable ( const QString &  tname  ) 

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

См. также:
aObject::table()
Аргументы:
tname - имя таблицы в бизнес схеме.
Возвращает:
ссылка на таблицу.

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

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

ERR_Code aDocument::New (  )  [virtual, slot]

ScriptAPI. Создает и регистрирует в системном журнале объект aDocument.

Создает новую запись в БД с данными из шапки документа. При этом резервируется уникальный Id записи таблицы. При этом документ регистрируется в системном журнале и получает следующий по порядку номер.

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

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

Перекрестные ссылки aCfg::attr(), aDataTable::exec(), aObject::getUid(), aCfg::id(), aObject::LastErrorCode(), aDatabase::markDeleted(), aDocJournal::New(), aObject::New(), Prefix(), aLog::print(), aObject::setLastError(), SetPrefix(), aObject::table() и aObject::Uid().

ERR_Code aDocument::Delete (  )  [virtual, slot]

ScriptAPI. Удаляет текущий документ.

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

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

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

Перекрестные ссылки aCfg::attr(), aCfg::count(), aObject::Delete(), aDocJournal::deleteDocument(), aCfg::find(), aObject::getUid(), IsConducted(), aDatabase::markDeleted(), aLog::print(), aObject::selected() и UnConduct().

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

ERR_Code aDocument::Update (  )  [virtual, slot]

ScriptAPI. Обновляет информацию в базе данных.

Заносит запись из буфера ОЗУ в базу данных. Обновляется информация в шапке документа, табличных частях, журнале документов. Не работает для проведенных документов.

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

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

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

ERR_Code aDocument::Select ( QDateTime  from,
QDateTime  to 
) [virtual, slot]

ScriptAPI. Выбирает документы по интервалу времени.

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

Аргументы:
from - начальная дата диапазона, если дата isNull, первая дата журнала,
to - конечная дата диапазона, если isNull - до наиболее позднего документа.
Возвращает:
код ошибки.

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

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

ERR_Code aDocument::Select ( const QString &  num  )  [virtual, slot]

ScriptAPI. Выбирает документы по номеру.

Номер задается как строка, которая содержит префикс и число. Если объект настроен на конкретный тип документа из бизнес схемы, выбираются только документы этого типа, в противном случае - все документы с таким номером.

См. также:
Prefix() SetPrefix()
Аргументы:
num -
Возвращает:
код ошибки.

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

ERR_Code aDocument::Copy (  )  [virtual, slot]

ScriptAPI. Копирует текущий документ.

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

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

Перекрестные ссылки aCfg::attr(), aObject::Copy(), aCfg::count(), aDataTable::exec(), aCfg::find(), aDocJournal::getPrefix(), aObject::getUid(), aCfg::id(), aDatabase::markDeleted(), aDocJournal::New(), aObject::obj, select(), aObject::table(), TableNewLine(), TableNext(), TableSelect(), TableSetValue(), TableUpdate(), TableValue() и aObject::Uid().

bool aDocument::Next (  )  [virtual, slot]

ScriptAPI. Переход к следующему документу.

Возвращает:
результат операции (успешно или нет)

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

bool aDocument::Prev (  )  [virtual, slot]

ScriptAPI. Переход к предыдущему документу.

Возвращает:
результат операции (успешно или нет)

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

bool aDocument::First (  )  [virtual, slot]

ScriptAPI. Переходит к первому документу.

Возвращает:
результат операции (успешно или нет)

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

bool aDocument::Last (  )  [virtual, slot]

ScriptAPI. Переходит к последнему документу.

Возвращает:
результат операции (успешно или нет)

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

ERR_Code aDocument::TableNewLine ( const QString &  tablename  )  [virtual, slot]

ScriptAPI. Добавляет новую строку табличной части документа.

Строка добавляется в таблицу текущего документа, если документ не выбран или не имеет таблицы с таким именем - возникает ошибка. При создании строки ей автоматически присваивается очередной номер.

Аргументы:
tablename - имя таблицы в бизнес схеме.
Возвращает:
код ошибки.

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

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

ERR_Code aDocument::TableDelete ( const QString &  tablename  )  [virtual, slot]

ScriptAPI. Удаляет текущую строку табличной части документа.

Также удаляются все записи, связанные с этой строкой во всех регистрах. Не работает для проведенных документов.

Аргументы:
tablename - имя таблицы в бизнес схеме
Возвращает:
код ошибки.

Перекрестные ссылки aIRegister::deleteTable(), IsConducted(), aObject::LastErrorCode(), aDatabase::markDeleted(), aLog::print(), aObject::setLastError() и aObject::table().

ERR_Code aDocument::TableSelect ( const QString &  name  )  [virtual, slot]

ScriptAPI. Выбирает табличную часть документа по ее имени.

Используется, если документ имеет более одной табличной части.

Аргументы:
name - имя таблицы
Возвращает:
код ошибки.

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

QVariant aDocument::TableValue ( const QString &  tablename,
const QString &  name 
) [virtual, slot]

ScriptAPI. Читает значение поля табличной части документа.

Используется для получения значения поля таблицы по именам таблицы и поля. При вызове функции используются имена, указанные в бизнес схеме. Кроме этого может использоваться продопределенное имя "TableLine" для получения номера текущей записи

Аргументы:
tablename - имя таблицы в бизнес схеме
name - имя поля в бизнес схеме
Возвращает:
значение поля

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

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

ERR_Code aDocument::TableSetValue ( const QString &  tablename,
const QString &  name,
const QVariant &  value 
) [virtual, slot]

ScriptAPI. Записывает значение в поле текущей строки табличной части документа.

Аргументы:
tablename - имя таблицы в бизнес схеме,
name - имя поля в бизнес схеме,
value - новое значение поля.
Возвращает:
код ошибки.

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

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

ERR_Code aDocument::TableUpdate ( const QString &  tablename = ""  )  [virtual, slot]

SrciptAPI. Обновляет текущую запись табличной части документа.

Копирует информацию из буфера в текущую строку таблицы. Если имя не указано или задана пустая строка, обновляются все таблицы документа. Не работает для проведенного досумента.

Аргументы:
tablename - имя таблицы в бизнес схеме
Возвращает:
код ошибки.

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

Перекрестные ссылки aCfg::attr(), aCfg::count(), aCfg::find(), IsConducted(), aLog::print() и aObject::TableUpdate().

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

bool aDocument::TableNext ( const QString &  name  )  [virtual, slot]

ScriptAPI. Переход к следуещей записи в табличной части документа.

Аргументы:
name - имя таблицы из бизнес схемы.
Возвращает:
результат операции (успешно или нет)

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

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

bool aDocument::TablePrev ( const QString &  name  )  [virtual, slot]

ScriptAPI. Переход к предыдущей записи в табличной части документа.

Аргументы:
name - имя таблицы из бизнес схемы.
Возвращает:
результат операции (успешно или нет)

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

bool aDocument::TableFirst ( const QString &  name  )  [virtual, slot]

ScriptAPI. Переход к первой записи в табличной части документа.

Аргументы:
name - имя таблицы из бизнес схемы.
Возвращает:
результат операции (успешно или нет)

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

bool aDocument::TableLast ( const QString &  name  )  [virtual, slot]

ScriptAPI. Переход к последней записи в табличной части документа.

Аргументы:
name - имя таблицы из бизнес схемы.
Возвращает:
результат операции (успешно или нет)

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

bool aDocument::IsMarkDeleted (  )  [virtual, slot]

ScriptAPI. Проверяет помечен ли документ как удаленный.

Возвращает:
значение флага удаления.

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

bool aDocument::IsMarked (  )  [virtual, slot]

ScriptAPI. Проверяет помечен ли документ.

Возвращает:
значение флага.

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

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

ERR_Code aDocument::SetMarkDeleted ( bool  Deleted  )  [virtual, slot]

ScriptAPI. Устанавливает флаг удаления.

Аргументы:
Deleted - флаг удаления
Возвращает:
код ошибки.

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

ERR_Code aDocument::SetMarked ( bool  Marked  )  [virtual, slot]

ScriptAPI Помечает документ.

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

Аргументы:
Marked - флаг отметки
Возвращает:
код ошибки.

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

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

void aDocument::SetPrefix ( const QString &  pr  )  [slot]

ScriptAPI. Задает префикс документа.

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

См. также:
Prefix() Select( const QString & num )
Аргументы:
pr - Новый префикс документа.

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

QString aDocument::Prefix (  )  [slot]

ScriptAPI. Возвращает префикс документа.

См. также:
SetPrefix( const QString & pr ) Select( const QString & num )
Возвращает:
текущий префикс документа.

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

QVariant aDocument::Value ( const QString &  name,
const QString &  tableName = "" 
) [virtual, slot]

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

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

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

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

Используется в aARegister::deleteDocument(), GetDocumentValue(), aARegister::New() и aARegister::Update().

ERR_Code aDocument::SetFilter ( const QString &  valname,
const QVariant &  value 
) [virtual, slot]

ScripAPI. Устанавливает фильтр на доступные документы.

Доступными становятся только документы, удовлетворяющие условию. Например, для получения всех накладных с номером 0003 нужно сделать примерно следующее:

        aDocument * doc = new aDocument("Накладная", db);
        doc->SetFilter("Номер","0003");
        doc->First();
        do{
                //какие-то действия
           }while(doc->Next());
        delete doc;

См. также:
ClearFilter()
Аргументы:
valname - имя поля в метаданных
value - Значение фильтра
Возвращает:
код ошибки.

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

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

ERR_Code aDocument::ClearFilter (  )  [virtual, slot]

ScriptAPI. Сбрасывает фильтр.

См. также:
SetFilter( const QString & valname, const QVariant & value )
Возвращает:
код ошибки.

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

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

ERR_Code aDocument::SignIn (  )  [slot]

ScriptAPI. Вызывает проведение документа.

См. также:
SignOut() IsSignedIn()
Возвращает:
код ошибки.

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

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

ERR_Code aDocument::SignOut (  )  [slot]

ScriptAPI. Отменяет проведение документа.

См. также:
SignIn() IsSignedIn()
Возвращает:
код ошибки.

Перекрестные ссылки aCfg::count(), aARegister::deleteDocument(), aIRegister::deleteDocument(), aCfg::find(), IsConducted() и aLog::print().

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

bool aDocument::IsSignedIn (  )  [slot]

ScriptAPI. Проверяет, проведен ли документ.

См. также:
SignIn() SignOut()
Возвращает:
true, если документ проведен

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

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

void aDocument::Seek ( int  pos,
const QString &  tname 
) [slot]

ScriptAPI. Устанавливает позицию в табличной части документа на строку с заданным номером.

Аргументы:
pos - номер строки
tname - имя таблицы

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

QVariant aDocument::GetDocumentValue ( QVariant  docId,
const QString &  fname 
) [slot]

ScriptAPI. Получение значения атрибута документа c указанным идентификатором.

С помощью этого метода можно получить значение атрибута документа, не являющегося текущим. Вызов метода приводит к смене текущего документа. Для получения значения атрибута текущего документа используйте метод Value(...), унаследованный от aObject.

Аргументы:
docId - id документа
fname - имя поля в метаданных
Возвращает:
значение поля или строку "Unknown", в случае ошибки

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


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

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