Ananas Library 0.9.5
Класс AExtMeta

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

#include <aext_meta.h>

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

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

QString GetBaseClassName (const long &ClassId)
 Возвращает имя базового класса бизнес объекта по идентификатору класса, присвоенному классу в метаданных.
 
QString GetClassName (const long &ClassId)
 Возвращает имя класса бизнес объекта по идентификатору класса, присвоенному классу в метаданных.
 
QString GetBaseClassNameByObjectUid (const long &ObjectUid)
 Возвращает имя базового класса бизнес объекта по уникальному идентификатору бизнес объекта в базе данных.
 
QString GetClassNameByObjectUid (const long &ObjectUid)
 Возвращает имя класса бизнес объекта по уникальному идентификатору бизнес объекта в базе данных
 
int CountByClassName (const QString &className)
 Возвращает количество бизнес объектов указанного класса в бизнес схеме.
 
QStringList DataTypes (const QString &className=NULL)
 Возвращает список подтипов одного или всех базовых типов бизнес схемы.
 
QString StringOfDataTypes (const QString &className=NULL, const QString &separator=":")
 Возвращает строку со списоком подтипов базовых типов.
 
int GetId (QString &name)
 Возвращает идентификатор объекта метаданных по его полному имени.
 
int GetId (aObject *obj)
 Возвращает идентификатор объекта .
 
QStringList GetUserFields (QString name, QString table=QString::null)
 Возвращает список пользовательских полей об екта
 
QStringList GetUserFields (aObject *obj, QString table=QString::null)
 Возвращает список пользовательских полей об екта
 
QString GetAttrType (QString name, QString attr, QString table=QString::null)
 Возвращает тип пользовательского поля объекта
 
QString GetAttrType (aObject *obj, QString attr, QString table=QString::null)
 Возвращает тип пользовательского поля объекта
 

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

 AExtMeta ()
 
 ~AExtMeta ()
 
- Открытые члены унаследованные от AExtension
 AExtension (const char *name=0)
 
virtual int init (aDatabase *dbo)
 

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

- Сигналы унаследованные от AExtension
void event (const QString &data)
 
- Открытые атрибуты унаследованные от AExtension
aDatabasedb
 

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

Предоставляет доступ к интервейсу метаданных из Ананас скрипта.

Пример использования функций GetBaseClassName, GetClassName, GetBaseClassNameByObjectUid, GetClassNameByObjectUid

meta = new Meta();
sys.Message(0,"class id = 129, base class name ="+meta.GetBaseClassName(129));
sys.Message(0,"class id =129, class name ="+meta.GetClassName(129));
sys.Message(0,"uid=6, base class name ="+meta.GetBaseClassNameByObjectUid(6));
sys.Message(0,"uid=6, class name ="+meta.GetClassNameByObjectUid(6));

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

◆ AExtMeta()

AExtMeta::AExtMeta ( )

Создает объект.

◆ ~AExtMeta()

AExtMeta::~AExtMeta ( )

Уничтожает объект.

Методы

◆ CountByClassName

int AExtMeta::CountByClassName ( const QString & className)
slot

Возвращает количество бизнес объектов указанного класса в бизнес схеме.

Имя класса может быть, например, "catalogue", "document".

Аргументы
className- Имя класса
Возвращает
количество бизнес объектов

Пример использования

meta = new Meta();

Перекрестные ссылки aDatabase::cfg, aCfg::count() и aCfg::find().

◆ DataTypes

QStringList AExtMeta::DataTypes ( const QString & filter = NULL)
slot

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

TODO: Требуется проверить возможность передачи возвращаемого значения в Скрипт. Возможно списки и не поддерживаются.

Аргументы
className- Имя базового типа, может принимать значения "Catalogue", "Document", "Journal". Если значение не задано - возвращаются все подтипы всех базовых типов.
Возвращает
Список названий подтипов. Имя подтипа состоит из уникального идентификатора в бизнес схеме в виде "O XXX" и отделенного символом табуляции пользовательского названия типа. Например "O 115\tСправочник.Справочник Контрагентов"

Пример использования

meta = new Meta();

Перекрестные ссылки aDatabase::cfg, aLog::print() и aCfg::types().

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

◆ GetAttrType [1/2]

QString AExtMeta::GetAttrType ( aObject * aobj,
QString attr,
QString table = QString::null )
slot

Возвращает тип пользовательского поля объекта

Аргументы
obj- объект, тип атрибута которого надо получить
attr- название атрибута
table- необязательный, таблица объекта (для документов)
Возвращает
тип атрибута, например "O 115"

Пример использования

cat = new Catalogue("Номенклатура");
meta = new Meta();
type = meta.GetAttrType(cat, "Наименование");

Перекрестные ссылки aCfg::attr(), aDatabase::cfg и GetAttrType().

◆ GetAttrType [2/2]

QString AExtMeta::GetAttrType ( QString name,
QString attr,
QString table = QString::null )
slot

Возвращает тип пользовательского поля объекта

Аргументы
name- Полное имя объекта, см описание GetId()
attr- название атрибута
table- необязательный, таблица объекта (для документов)
Возвращает
тип атрибута, например "O 115"

Пример использования

meta = new Meta();
type = meta.GetAttrType("Catalogue.Товары", "Наименование");

Перекрестные ссылки aCfg::attr(), aDatabase::cfg, aCfg::find(), GetId(), aCfg::id() и aCfg::objTable().

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

◆ GetBaseClassName

QString AExtMeta::GetBaseClassName ( const long & id)
slot

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

Имя базового класса может быть, например "catalogue", "document", "aregister", "iregister","journal", "report".

Аргументы
id- идентификатор класса в метаданных
Возвращает
имя базового класса в бизнес схеме

Пример использования

meta = new Meta();
sys.Message(0,"id=129, Base class name = "+meta.GetBaseClassName(129));
См. также
GetClassName(...)

Перекрестные ссылки aDatabase::cfg и aCfg::objClass().

◆ GetBaseClassNameByObjectUid

QString AExtMeta::GetBaseClassNameByObjectUid ( const long & id)
slot

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

Имя базового класса может быть, например "catalogue", "document", "aregister", "iregister","journal", "report".

Аргументы
id- уникальный идентификатор бизнес обхъекта в базе данных
Возвращает
имя базового класса в бизнес схеме

Пример использования

meta = new Meta();
sys.Message(0,"uid=6, base class name ="+meta.GetBaseClassNameByObjectUid(6));
См. также
GetClassNameByObjectUid(...)

Перекрестные ссылки aDatabase::cfg, aCfg::objClass() и aDatabase::uidType().

◆ GetClassName

QString AExtMeta::GetClassName ( const long & id)
slot

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

Имя класса может быть например "Справочник товаров", "Справочник счетов".

Аргументы
id- идентификатор класса в метаданных
Возвращает
имя класса в бизнес схеме

Пример использования

meta = new Meta();
sys.Message(0,"id=129, Class name = "+meta.GetClassName(129));
См. также
GetBaseClassName(...)

Перекрестные ссылки aCfg::attr(), aDatabase::cfg и aCfg::find().

◆ GetClassNameByObjectUid

QString AExtMeta::GetClassNameByObjectUid ( const long & id)
slot

Возвращает имя класса бизнес объекта по уникальному идентификатору бизнес объекта в базе данных

Имя класса может быть например "Справочник товаров", "Справочник счетов".

Аргументы
id- уникальный идентификатор бизнес объекта в базе данных
Возвращает
имя класса в бизнес схеме

Пример использования

meta = new Meta();
sys.Message(0,"uid=6, class name ="+meta.GetClassNameByObjectUid(6));
См. также
GetBaseClassNameByObjectUid(...)

Перекрестные ссылки aCfg::attr(), aDatabase::cfg, aCfg::find() и aDatabase::uidType().

◆ GetId [1/2]

int AExtMeta::GetId ( aObject * obj)
slot

Возвращает идентификатор объекта .

Аргументы
obj- объект, идентификатор которого надо получить
Возвращает
Уникальный идентификатор объекта метаданных

Пример использования

cat = new Catalogue("Номенклатура");
meta = new Meta();
SparvochnikTovarovID = meta.GetId(cat);

Перекрестные ссылки aDatabase::cfg и aCfg::id().

◆ GetId [2/2]

int AExtMeta::GetId ( QString & name)
slot

Возвращает идентификатор объекта метаданных по его полному имени.

Предназначен для использования в бизнес схеме "Бухучет" при оперировании разрезами проводок. Справочники (товаров, контрагентов, складов) выступают в качестве разрезов аналитического бухучета. Данный метод, например, позволяет разработчику бизнес схемы получить уникальный идентификатор справочника (разреза) и хранить его в свойствах счета, связав таким образом бухгалтерский счет с определенным разрезом (разрезами).

Аргументы
name- Полное имя объекта, например, "catalogue.Товары", "document.ПКО". Первая часть полного имени - это базовый тип. Допустимы значения базовых типов: Catalogue, Document, DocJournal, Report, InfoRegister, AccumulationRegister
Возвращает
Уникальный идентификатор объекта метаданных

Пример использования

meta = new Meta();
SparvochnikTovarovID = meta.GetId("Catalogue.Товары");

Перекрестные ссылки aDatabase::cfg и aCfg::getId().

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

◆ GetUserFields [1/2]

QStringList AExtMeta::GetUserFields ( aObject * aobj,
QString table = QString::null )
slot

Возвращает список пользовательских полей об екта

    \param obj - объект, идентификатор которого надо получить
    \return Список польховательских полей или пустой список.

    Пример использования
cat = new Catalogue("Номенклатура");
meta = new Meta();
list = meta.GetUserFields(cat);

Перекрестные ссылки aCfg::attr(), aDatabase::cfg и GetUserFields().

◆ GetUserFields [2/2]

QStringList AExtMeta::GetUserFields ( QString name,
QString table = QString::null )
slot

Возвращает список пользовательских полей об екта

    \param name - Полное имя объекта, см описание GetId()
    \return Список польховательских полей или пустой список.

    Пример использования
meta = new Meta();
list = meta.GetUserFields("Catalogue.Товары");

Перекрестные ссылки aCfg::attr(), aDatabase::cfg, aCfg::count(), aCfg::find(), GetId(), aCfg::id() и aCfg::objTable().

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

◆ StringOfDataTypes

QString AExtMeta::StringOfDataTypes ( const QString & className = NULL,
const QString & separator = ":" )
slot

Возвращает строку со списоком подтипов базовых типов.

Вспомогательная функция. Предназначена для использования из QSA, который не умеет получать список строк в качестве возвращаемого значения. Смотри DataTypes().

   \param className - Имя базового типа, может принимать значения "Catalogue", "Document", "Journal".

Если значение не задано - возвращаются все подтипы всех базовых типов.

Аргументы
separator- Символ или строка, используемая в качестве разделителя элементов строки. По умолчанию - двоеточие ":".
Возвращает
Строку с названиями подтипов, разделенными значением, переданным в параметре separator Имя подтипа состоит из уникального идентификатора в бизнес схеме в виде "O XXX" и отделенного символом табуляции пользовательского названия типа.
   Пример использования
meta = new Meta();
names = meta.StringOfDataTypes("Catalogue"); // Возвращает строку с названиями имеющихся в бизнес схеме справочников
// например "Неизвестный:O 101 Справочник.Справочник счетов:O 115 Справочник.Справочник Контрагентов:O 201 Справочник.Справочник операций:O 304 Справочник.Номенклатура товаров"

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


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