Los objetos de esta clase representan una ficha de una tabla.
Los register pueden ser creados:
Automáticamente por Velneo como theRegisterIn y theRegisterOut al inicio de un script lanzado desde uno o varios objetos Velneo con entrada o salida ficha.
Desde otro objeto en javascript como con la función readAt de la clase VRegisterList que devuelve un VRegister.
Dispone de funciones para gestionar los contenidos de los campos por identificador simple o compuesto y por número de campo. Además se pueden ver los contenidos previos de los campos, cuando se leyó la ficha.
También dispone de una funciones para obtener la subclase del tipo VTableInfo que nos da información api de la tabla y de sus campos, índices e históricos para ver las propiedades de estos objetos como por ejemplo el tipo de un campo, su identificador o su número de decimales.
Para edición tenemos funciones de alta, baja y modificación así como de control de errores.
Y al más puro estilo Velneo, las funciones de navegante.
Asigna la tabla al objeto VRegister creado con el constructor. Devuelve true si ha podido asignar la tabla correctamente. Una vez ejecutada es equivalente a crear una cesta de la tabla.
Parámetros:
szIdRefTable: cadena que contiene el identificador referencia de la tabla.
contenidosIniciales: booleano que indica si se ejecutarán los contenidos iniciales al crearse el registro, por defecto vale true, así que debemos especificar false para evitar que se disparen al crearse el nuevo registro.
Funciones de Api de tabla
VTableInfo tableInfo()
Devuelve un objeto VTableInfo de la tabla del registro.
Funciones de contenido de campos por identificador
Devuelve el contenido de un campo en función del tipo.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador compuesto del campo.
Number fieldToDouble( String szIDCompuestoCampo )
Devuelve el contenido de un campo en función del tipo.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador compuesto del campo.
Number fieldToInt( String szIDCompuestoCampo )
Devuelve el contenido de un campo en función del tipo.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador compuesto del campo.
String fieldToString( String szIDCompuestoCampo )
Devuelve el contenido de un campo en función del tipo.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador compuesto del campo.
Time fieldToTime( String szIDCompuestoCampo )
Devuelve el contenido de un campo en función del tipo.
Esta función devuelve un objeto hora, que es propio de la API de Velneo. Por lo tanto, solamente podremos gestionar el dato retornado solamente en la API de Velneo (por ejemplo, leer el campo de un registro para luego asignarlo a otro registro), pero no en JavaScript estándar ya que en JavaScript no existe.
Por ejemplo, si queremos generar un JSON con los datos de un registro y uno de los campos es de tipo hora, usaremos la función fieldToString para que devuelva el dato como cadena, que sí es reconocible por JavaScript.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador compuesto del campo.
Funciones de contenido de campos por número de campo
Boolean fieldToBool( Number nCampo )
Devuelve el contenido de un campo en función del tipo.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primero campo es el 0.
Date fieldToDate( Number nCampo )
Devuelve el contenido de un campo en función del tipo.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primero campo es el 0.
DateTime fieldToDateTime( Number nCampo )
Devuelve el contenido de un campo en función del tipo.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primero campo es el 0.
Number fieldToDouble( Number nCampo )
Devuelve el contenido de un campo en función del tipo.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primero campo es el 0.
Number fieldToInt( Number nCampo )
Devuelve el contenido de un campo en función del tipo.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primero campo es el 0.
String fieldToString( Number nCampo )
Devuelve el contenido de un campo en función del tipo.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primero campo es el 0.
Time fieldToTime( Number nCampo )
Devuelve el contenido de un campo en función del tipo.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primero campo es el 0.
Funciones de valor old de campos por identificador
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador del campo.
Date oldFieldToDate( String szIDPrimarioCampo )
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador del campo.
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador del campo.
Number oldFieldToDouble( String szIDPrimarioCampo )
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador del campo.
Number oldFieldToInt( String szIDPrimarioCampo )
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador del campo.
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador del campo.
No es funcional con campos objeto (recordemos que su contenido no se guarda en la tabla sino en un fichero adicional llamado contenedor), ya que no hay acceso directo a la información del contenedor, pues se encuentra en el ámbito de registro y no de ficha.
Time oldFieldToTime( String szIDPrimarioCampo )
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador del campo.
Funciones de valor old de campos por número de campo
Boolean oldFieldToBool( Number nCampo )
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primer campo es 0.
Date oldFieldToDate( Number nCampo )
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primer campo es 0.
DateTime oldFieldToDateTime( Number nCampo )
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primer campo es 0.
Number oldFieldToDouble( Number nCampo )
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primer campo es 0.
Number oldFieldToInt( Number nCampo )
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primer campo es 0.
String oldFieldToString( Number nCampo )
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primer campo es 0.
No es funcional con campos objeto (recordemos que su contenido no se guarda en la tabla sino en un fichero adicional llamado contenedor), ya que no hay acceso directo a la información del contenedor, pues se encuentra en el ámbito de registro y no de ficha.
Time oldFieldToTime( Number nCampo )
Devuelve el contenido anterior a la modificación de un campo en función del tipo. El valor old es diferente al valor del campo si ha sido modificado pero aún se ha guardado la información en disco. La precisión en JavaScript de los números con decimales es la de tipo "double". El identificador de campo compuesto permite especificar campos de la tabla y de las enlazadas.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primer campo es 0.
Funciones de modificación de campos por identificador
Devuelve un objeto de la clase VByteArray con el contenido de un campo de tipo objeto. También puede utilizarse con campos que no sean de tipo objeto.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador compuesto del campo.
VImage fieldToImage( String szIDPrimarioCampo )
Devuelve un objeto de la clase VImage con el contenido de un campo de tipo objeto dibujo.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador compuesto del campo.
void setFieldByteArray( Number nCampo, VByteArray baBuffer )
Modifica el contenido de un campo de tipo objeto con el contenido de un objeto VByteArray. También se puede utilizar para campos que no sean de tipo objeto. El campo destino se especifica mediante su número de campo.
Parámetros:
nCampo: número que contiene la posición campo. El primer campo es 0.
baBuffer: buffer con el contenido del objeto VByteArray a grabar en el campo objeto.
Modifica el contenido de un campo de tipo objeto con el contenido de un objeto VByteArray. También se puede utilizar para campos que no sean de tipo objeto. El campo destino se especifica mediante su identificador.
Parámetros:
nCampo: número que contiene la posición campo. El primer campo es 0.
baBuffer: buffer con el contenido del objeto VByteArray a grabar en el campo objeto.
void setFieldImage( Number nCampo, VImage image )
Modifica el contenido de un campo de tipo objeto dibujo con el contenido de un objeto VImage. El campo destino se especifica mediante su número de campo.
Parámetros:
nCampo: number que contiene la posición campo. El primer campo es 0.
image: contenido del objeto VImage a grabar en el campo de tipo objeto dibujo.
Modifica el contenido de un campo de tipo objeto dibujo con el contenido de un objeto VImage. El campo destino se especifica mediante su identificador.
Parámetros:
szIDPrimarioCampo: cadena que contiene el identificador del campo.
image: contenido del objeto VImage a grabar en el campo de tipo objeto dibujo.
Funciones de estado
Boolean exist()
Devuelve true si el registro existe.
Boolean isFieldEmpty( Number nCampo )
Devuelve true si el campo está vacío.
Parámetros:
nCampo: número que contiene la posición del campo en la tabla. El primero campo es el 0.
Boolean isFieldEmpty( String szIDCompuestoCampo )
Devuelve true si el campo está vacío.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador compuesto del campo.
Boolean isFieldModified( Number nCampo )
Devuelve true si el contenido del campo ha sido modificado.
Parámetros:
nCampo: número que contiene la posición del campo. El primer campo es 0.
Devuelve true si el contenido del campo ha sido modificado.
Parámetros:
szIDCompuestoCampo: cadena que contiene el identificador compuesto del campo.
Boolean isModified()
Devuelve true si alguno de los campos del registros ha sido modificado.
Funciones de operaciones de disco
Boolean addRegister()
Da del alta el registro en la base de datos.
Boolean deleteRegister()
Elimina el registro en la base de datos.
Boolean deleteRegisterWhithoutDeupdating()
Elimina el registro en la base de datos sin deshacer las actualizaciones. Esta función se utiliza para eliminar registros históricos sin que al eliminarlos se desactualicen las tablas maestras donde han acumulado datos.
String errorMessage()
Devuelve el texto del mensaje de error.
Number errorNumber()
Devuelve el número de error producido en la operación de base de datos.
Ver enum de errores de operaciones de base de datos.
Boolean isOK()
Devuelve true si la operación de base de datos ha finalizado satisfactoriamente.
Boolean modifyRegister()
Modifica el registro en la base de datos.
Boolean readFirstRegister( String szIdIndice )
Devuelve el primer registro que devuelve el índice que pasamos como parámetro.
Parámetros:
szIdIndice: cadena que contiene el identificador del índice.
Boolean readLastRegister( String szIdIndice )
Devuelve el último registro que devuelve el índice que pasamos como parámetro.
Parámetros:
szIdIndice: cadena que contiene el identificador del índice.
Boolean readNextRegister( String szIdIndice )
Devuelve el registro siguiente que devuelve el índice que pasamos como parámetro.
Parámetros:
szIdIndice: cadena que contiene el identificador del índice.
Boolean readPrevRegister( String szIdIndice )
Devuelve el registro anterior que devuelve el índice que pasamos como parámetro.
Parámetros:
szIdIndice: cadena que contiene el identificador del índice.
Boolean readRegister( String szIdIndice, Array aKeyPartsResol, Number searchMode )
Devuelve el registro que cargamos del índice que pasamos como parámetro.
Parámetros:
szIdIndice: cadena que contiene el identificador del índice.
aKeyPartsResol: array que contiene las resoluciones de cada una de las partes del índice.
searchMode: número que contiene el modo de búsqueda. Ver enum de searchModes.
Los modos "SearchThis", "SearchThisOrNext" y "SearchThisOrPrev" sólo son operativos correctamente con índices de tipo clave única, un índice de tipo Acepta repetidas, por ejemplo, no puede devolver un único registro para un valor dado en el índice.
Las funciones de escritura en disco (addRegister, modifyRegister, etc.) sobre tablas en memoria requiere abrir
transacción para que las operaciones se reflejen en la tabla.
Funciones de navegante
VRegisterList loadPlurals( String szIDHistorico )
Devuelve una referencia a un objeto de la clase VRegisterList que se genera internamente con la lista de registros del enlace plural del registro actual. Equivale al comando cargar plurales y a navegar a histórico de uno.
Al ser una referencia a una lista de registros interna, una segunda ejecución de la función loadPlurals provocará que se destruya la referencia anterior y se cree otra nueva. Para guardar esta lista debemos crear un nuevo VRegisterList.
Este comando está optimizado de modo que se pasa la ficha al servidor para que la carga de sus plurales se realice en 3er plano, excepto en el caso de las tablas en memoria, que se hará en primer plano.
1
// Ejemplo de creación de VRegisterList para guardar la lista de registro plurales
aszIDs: array con los identificadores de los campos camos de la tabla con los que queremos generar el JSON. Si queremos incluirlos todos, usaremos un array vacío: []
Devuelve un VariantMap con los siguientes campos:
ok: booleano con el retorno
de ok.
json: cadena de texto con formato JSON con el resultado.
errors: cadena de texto con formato array de JSON con los errores.
Podremos obtener estos campos del VariantMap del modo siguiente:
Ejemplo 1:
1
var operacion = theRegisterIn.toJson([]);
2
var bOk = operacion.ok;
3
var szJson = operacion.json;
4
var errores = operacion.errors;
Copied!
Ejemplo 2:
1
var operacion = theRegisterIn.toJson(["ID","NAME","PVP"]);
2
var bOk = operacion["ok"];
3
var szJson = operacion["json"];
4
var errores = operacion["errors"];
Copied!
Ejemplos
1. Carga un plural
1
var facturasRegisterList = theRegisterIn.loadPlurals("FACTURAS");
Copied!
2. Creación de VRegisterList para guardar la lista interna obtenida con loadPlurals()