Velneo V7

API de Velneo V7 para QML

API de Velneo V7 para QML
En este capítulo se explica el API de Velneo V7 para lenguaje QML.
VRoot

Esta clase da acceso al procesador del objeto V7 lo que nos permite interactuar con la lista de datos y realizar operaciones transaccionales.

Cargar un modelo auxiliar

Disponible en: Lista QML.

Si el modo de sincronización es “Manual”:

void LoadAuxModel( const QString& szNameModel );

Si modo de sincronización es “LISTA: Un modelo por cada ítem del modelo principal”:

VRoot.GetAuxModelFromArray(“repartoModel”,index);

Transacciones

Disponible en: Formulario QML.

Abrir transacción:

Sólo se admite una transacción activa por QML.

OpenTrans cuando esté disponible para QML de lista será global para el modelo principal y los modelos auxiliares.

bool openTrans( const QString& szTitulo ); // El título de la transacción se muestra en vAdmin.

¿Hay una transacción abierta?

bool isTransOpen();

Finalizar transacción

En caso de no hacer submit() la transacción se cerrará automáticamente al finalizar el QML.

bool submit();

Deshacer la transacción en curso

bool revert();

VRegisterIn

Esta clase da acceso a funciones que actúan sobre un registro.

Están directamente accesibles desde el Formulario QML, sin embargo, en Lista QML es necesario obtener un registro del modelo con la función GetRegisterAt sobre el que se aplicarán las funciones de VRegister.

Contenido de campos por identificador de campo

Disponible en: Lista QML y Formulario QML.

Obtener el valor de un campo por su identificador

Para los diferentes tipos:

String fieldToString( String szIDCompuestoCampo ); // Campos alfabéticos

double fieldToDouble( String szIDCompuestoCampo ); // Campos numéricos

int fieldToInt( String szIDCompuestoCampo ); // Campos numéricos (enteros)

QDateTime fieldToDateTime( String szIDCompuestoCampo ); // Campos tiempo (fecha y hora)

QDate fieldToDate( String szIDCompuestoCampo ); // Campos fecha

QTime fieldToTime( String szIDCompuestoCampo ); // Campos hora

¿Es vacío el contenido del campo? (false=No, true=Sí)

Boolean fieldIsEmpty( String szIDCompuestoCampo );

¿Ha cambiado el contenido de campo? (false=No, true=Sí)

No está operativo para campos de tipo objeto.

Boolean fieldHasChanged( String szIDCompuestoCampo );

Contenido de campos por número de campo

Lista QML y Formulario QML

No están habilitados los contenidos de campos tipo objeto.

Obtener el valor de un campo por el número de campo

Para los diferentes tipos:

String fieldToString( Number nCampo ); // Campos alfabéticos

double fieldToDouble( Number nCampo ); // Campos numéricos

Number fieldToInt( Number nCampo ); // Campos numéricos (enteros)

QDateTime fieldToDateTime( Number nCampo ); // Campos tiempo (fecha y hora)

QDate fieldToDate( Number nCampo ); // Campos fecha

QTime fieldToTime( Number nCampo ); // Campos hora

¿Es vacío el contenido del campo? (false=No, true=Sí)

Boolean fieldIsEmpty( Number nCampo );

¿Ha cambiado el contenido de campo? (false=No, true=Sí)

No está operativo para campos de tipo objeto.

Boolean fieldHasChanged( Number nCampo );

Contenido old de campos por identificador del campo

Disponible en: Formulario QML.

No están habilitados los contenidos de campos tipo objeto.

Obtener el valor del campo en disco, por su identificador, aunque haya cambiado en memoria

Para los diferentes tipos de campo:

String oldFieldToString( String szIDPrimarioCampo ); // Campos alfabéticos

double oldFieldToDouble( String szIDPrimarioCampo ); // Campos numéricos

Number oldFieldToInt( String szIDPrimarioCampo ); // Campos numéricos (enteros)

QDateTime oldFieldToDateTime( String szIDPrimarioCampo ); // Campos tiempo (fecha y hora)

QDate oldFieldToDate( String szIDPrimarioCampo ); // Campos fecha

QTime oldFieldToTime( String szIDPrimarioCampo ); // Campos hora

Contenido old de campos por numero de campo

Disponible en: Formulario QML.

No están habilitados los contenidos de campos tipo objeto.

Obtener el valor del campo en disco, por su número, aunque haya cambiado en memoria

Para los diferentes tipos de campo:

String oldFieldToString( Number nCampo ); // Campos alfabéticos

double oldFieldToDouble( Number nCampo ); // Campos numéricos

Number oldFieldToInt( Number nCampo ); // Campos numéricos (enteros)

QDateTime oldFieldToDateTime( Number nCampo ); // Campos tiempo (fecha y hora)

QDate oldFieldToDate( Number nCampo ); // Campos fecha

QTime oldFieldToTime( Number nCampo ); // Campos hora

Modificación de campos por identificador

Disponible en: Formulario QML.

No están habilitados los contenidos de campos tipo objeto.

void setField( String szIDPrimarioCampo, String szText ); // Campos alfabéticos

void setField( String szIDPrimarioCampo, double dValor); // Campos numéricos

void setField( String szIDPrimarioCampo, int nValor ); // Campos numéricos (enteros)

void setField( String szIDPrimarioCampo, QDateTime dt ); // Campos tiempo (fecha y hora)

void setField( String szIDPrimarioCampo, QDate date ); // Campos fecha

void setField( String szIDPrimarioCampo, QTime time ); // Campos hora

Modificación de campos por numero de campo

Disponible en: Formulario QML.

No están habilitados los contenidos de campos tipo objeto.

void setField( Number nCampo, String szText ); // Campos alfabéticos

void setField( Number nCampo, double dValor); // Campos numéricos

void setField( Number nCampo, int nValor ); // Campos numéricos (enteros)

void setField( Number nCampo, QDateTime dt ); // Campos tiempo (fecha y hora)

void setField( Number nCampo, QDate date ); // Campos fecha

void setField( Number nCampo, QTime time ); // Campos hora

Estado del registro

Disponible en: Formulario QML.

¿Existe el registro en la base de datos? ¿Ya está dado de alta? (false=No, true=Sí)

Boolean exist();

¿Ha cambiado el registro en disco respecto a los datos en memoria? (false=No, true=Sí)

Boolean isModified();

¿Ha cambiado el contenido del campo en disco? (false=No, true=Sí)

Se puede pasar como parámetro el identificador o el número de campo.

Boolean isFieldModified( String szIDPrimarioCampo );

Boolean isFieldModified( Number nCampo );

Operaciones de disco

Disponible en: Formulario QML.

Lanzar una operación de alta de un nuevo registro

Boolean addRegister();

Lanzar una operación de moficiación del registro en curso

Boolean modifyRegister();

Lanzar una operación de baja del registro en curso

Boolean deleteRegister();

¿La operación se ha realizado con éxito? (false=No, true=Sí)

Boolean isOK();

Devuelve el código de error producido en la operación (0=No hay error)

Number errorNumber();

Obtener el mensaje de error producido en la operación

String errorMsg();

Acceso a valores de variables locales del objeto

Disponible en: Formulario QML.

String varToString( String szID ); // Variable alfabética

double varToDouble( String szID ); // Variable numérica

Number varToInt( String szID ); // Variable numérica (enteros)

QDateTime varToDateTime( String szID ); // Variable tiempo (fecha y hora)
QDate varToDate( String szID ); // Variable fecha
QTime varToTime( String szID ); // Variable hora

Acceso a variables de sistema

Disponible en: Formulario QML.

Number sizeList(); // Tamaño de la lista

Number posList(); // Posición del registro en la lista

Number currentPage(); // Página en curso (objeto informe)

Number lastPage(); // Última página (objeto informe)

String userName(); // Nombre del usario

String pathCacheClient(); // Senda del directorio de caché en el cliente

Boolean isAdministrator(); // ¿El usuario es súpervisor? (false=No, true=Sí)

Modelo

Funciones

Disponible en: Lista QML.

Sintaxis de funciones que usan el modelo: objetoQML.model.función

Obtener el nº de registro que hay en el modelo

int Count() const;

Limpia el modelo dejándolo sin registros

void Clear();

Ordenar los registros del modelo

bool Sort( const QString& szIDCampo, bool bInvertirLista, bool bProgressDialog = false);

Quitar un registro del modelo

void RemoveAtIndex( int nIndex );

Resetear el modelo

void ResetModel();

Leer el valor de la ficha seleccionada del modelo

int GetIndexSelect() const;

Fijar la ficha seleccionada del modelo

void SetIndexSelect( int nIndex );

Ejecutar un proceso

bool RunProcess( const QString& szIDProceso ); // szIDProceso = AliasProyecto@IdProceso

Por el momento AliasProyecto desde indicarse con el nombre del fichero en disco .vca.

Es importante fijar el elemento seleccionado en el modelo antes de ejecutar el proceso SetIndexSelect( index ).

Si el proceso es de ficha el QML le pasará la ficha seleccionada si el proceso es de lista le devuelve la lista de registros del modelo y también tendrá acceso a la ficha seleccionada de la lista.

Obtener un registro de la lista del modelo por el nº de índice

QObject* GetRegisterAt( int nIndex, bool bLocked ); // bLocked: 0=Sin bloqueo, 1=Con bloqueo

Documentación adicional

Imágenes

En el objeto image de QML para imagenes servidas por V7 se procesa la propiedad asynchronous : bool declarada en el objeto.

© 2013, Velneo S.A. Todos los derechos reservados      Contacto | Privacidad - Legal
Life is Soft