array anexar_datos(
array
$datos, [boolean
$usar_cursores = true]
)
|
|
Agrega a la tabla en memoria un nuevo set de datos (conservando el estado anterior).
Se asume que el set de datos llega desde el mecanismo de persistencia.
Parámetros:
array |
$datos: |
en formato RecordSet |
boolean |
$usar_cursores: |
Los datos cargados se marcan como hijos de los cursores actuales en las tablas padre, sino son hijos del padre que tenia en la base |
Return: | Ids. internos de los datos anexados |
void cambiar_padre_fila(
mixed
$id_fila, array
$nuevos_padres
)
|
|
Cambia los padres de una fila
Parámetros:
mixed |
$id_fila: |
|
array |
$nuevos_padres: |
Arreglo (id_tabla_padre => $id_fila_padre, ....), solo se cambian los padres que se pasan por parámetros El resto de los padres sigue con la asociación anterior |
void cargar(
[
$clave = array()]
)
|
|
Carga la tabla restringiendo POR valores especificos de campos
Si los datos contienen una unica fila, esta se pone como cursor de la tabla
Parámetros:
void cargar_con_datos(
array
$datos
)
|
|
Carga la tabla en memoria con un nuevo set de datos (se borra todo estado anterior)
Si los datos contienen una unica fila, esta se pone como cursor de la tabla
Parámetros:
array |
$datos: |
en formato RecordSet |
void control_tope_maximo_filas(
$cantidad
)
|
|
Valida que la cantidad de filas a crear no supere el maximo establecido
Parámetros:
void control_tope_minimo_filas(
)
|
|
Valida que la cantidad de filas supere el mínimo establecido
void definir_metodo_carga_dao(
$externa,
$resultados,
$parametros
)
|
|
Parámetros:
|
$externa: |
|
|
$resultados: |
|
|
$parametros: |
|
Deprecated: | Desde 0.8.4, usar eliminar_todo() |
Id. eliminar_fila(
mixed
$id
)
|
|
Elimina una fila de la tabla en memoria
En caso de que la fila sea el cursor actual de la tabla, este ultimo se resetea
Parámetros:
mixed |
$id: |
Id. interno de la fila a eliminar |
Return: | interno de la fila eliminada |
void eliminar_filas(
[boolean
$con_cursores = true]
)
|
|
Elimina todas las filas de la tabla en memoria
Parámetros:
boolean |
$con_cursores: |
Tiene en cuenta los cursores del padre para afectar solo sus filas hijas, por defecto utiliza cursores. |
Elimina todas las filas de la tabla en memoria y sincroniza con el medio de persistencia
La tabla esta cargada con datos?
boolean es_campo_modificado(
string
$campo, integer
$id_viejos, array
$datos_nuevos
)
|
|
Verifica si hubo cambios en los valores de un campo especifico
Parámetros:
string |
$campo: |
Nombre de la columna a comparar |
integer |
$id_viejos: |
Identificador de la fila con los datos viejos |
array |
$datos_nuevos: |
Arreglo con los datos nuevos |
void evt__validar_fila(
array
$fila
)
|
|
Ventana para hacer validaciones particulares previo a la sincronización
El proceso puede ser abortado con un toba_error, el mensaje se muestra al usuario
Parámetros:
array |
$fila: |
Asociativo clave-valor de la fila a validar |
Information Tags:
void evt__validar_ingreso(
array
$fila, [mixed
$id = null]
)
|
|
Ventana de validacion que se invoca cuando se crea o modifica una fila en memoria. Lanzar una excepcion en caso de error
Parámetros:
array |
$fila: |
Datos de la fila |
mixed |
$id: |
Id. interno de la fila, si tiene (en el caso modificacion de la fila) |
Information Tags:
boolean existe_fila(
mixed
$id
)
|
|
Existe una determina fila? (la fila puede estar marcada como para borrar)
Parámetros:
mixed |
$id: |
Id. interno de la fila |
void existe_fila_condicion(
array
$condiciones, [boolean
$usar_cursores = true]
)
|
|
Busca los registros en memoria que cumplen una condicion.
Solo se chequea la condicion de igualdad. No se chequean tipos
Parámetros:
array |
$condiciones: |
Asociativo de campo => valor. Para condiciones más complejas (no solo igualdad) puede ser array($columna, $condicion, $valor), por ejemplo array(array('id_persona','>=',10),...) |
boolean |
$usar_cursores: |
Este conjunto de filas es afectado por la presencia de cursores en las tablas padres |
void forzar_insercion(
[boolean
$usar_cursores = false], [
$filas = null]
)
|
|
Determina que todas las filas de la tabla son nuevas
Parámetros:
boolean |
$usar_cursores: |
Si esta seteado, solo se marcan como nuevas las filas marcadas por el cursor |
|
$filas: |
|
Retorna el contenido de la fila donde se encuentra posicionado el cursor interno
Si la tabla se definio admitiendo a lo sumo un registro, este cursor se posiciona automáticamente en la carga, sino se debe explicitar con el método set_cursor En caso de que no haya registros retorna NULL
Retorna el alias utilizado para desambiguar la tabla en uniones tales como JOINs
Se toma el primero seteado de: el alias definido, el rol en la relación o el nombre de la tabla
resource get_blob(
string
$columna, [mixed
$id_fila = null]
)
|
|
Retorna un 'file pointer' apuntando al campo binario o blob de la tabla.
Parámetros:
string |
$columna: |
Nombre de la columna binaria-blob |
mixed |
$id_fila: |
Id. interno de la fila que contiene la columna, en caso de ser vacio se utiliza el cursor |
array get_cambios_fila(
$id_fila, [
$datos_ap = array()]
)
|
|
Calcula las diferencias entre el valor original de la fila al momento de carga y el valor actual
Parámetros:
Return: | Asociativo campo => array('anterior' => $anterior, 'actual' => $actual) |
integer get_cantidad_filas(
[
$usar_cursores = true]
)
|
|
Cantidad de filas que tiene la tabla en memoria
El conjunto de filas utilizado es afectado por la presencia de cursores en las tablas padres
Parámetros:
integer get_cantidad_filas_a_sincronizar(
)
|
|
Retorna la cantidad de filas que sufrieron cambios desde la carga, y por lo tanto se van a sincronizar
Retorna las columnas que son claves en la tabla
array get_clave_valor(
mixed
$id_fila
)
|
|
Retorna el valor de la clave para un fila dada
Parámetros:
mixed |
$id_fila: |
Id. interno de la fila |
Return: | Valores de las claves para esta fila, en formato RecordSet |
mixed get_columna(
string
$columna
)
|
|
Retorna el valor de la columna de la fila actualmente seleccionada como cursor
Parámetros:
string |
$columna: |
Id. de la columna que contiene el valor a retornar |
Return: | NULL si no cursor o no hay filas |
Retorna el nombre de las columnas de esta tabla
Retorna el Id. interno de la fila donde se encuentra actualmente el cursor de la tabla
array get_fila(
mixed
$id
)
|
|
Retorna el contenido de una fila, a partir de su clave interna
Parámetros:
mixed |
$id: |
Id. interno de la fila en memoria |
Return: | columna => valor. En caso de no existir la fila retorna NULL |
array get_filas(
[array
$condiciones = null], [boolean
$usar_id_fila = false], [boolean
$usar_cursores = true]
)
|
|
Retorna el conjunto de filas que respeta las condiciones dadas Por defecto la búsqueda es afectada por la presencia de cursores en las tablas padres.
Parámetros:
array |
$condiciones: |
Se utiliza este arreglo campo=>valor y se retornan los registros que cumplen (con condicion de igualdad) con estas restricciones. El valor no puede ser NULL porque siempre da falso |
boolean |
$usar_id_fila: |
Hace que las claves del array resultante sean las claves internas del datos_tabla. Sino se usa una clave posicional y la clave viaja en la columna apex_datos_clave_fila |
boolean |
$usar_cursores: |
Este conjunto de filas es afectado por la presencia de cursores en las tablas padres. |
Return: | Formato tipo RecordSet |
mixed get_fila_columna(
mixed
$id, string
$columna
)
|
|
Retorna el valor de una columna en una fila dada
Parámetros:
mixed |
$id: |
Id. interno de la fila |
string |
$columna: |
Nombre de la columna |
Return: | En caso de no existir, retorna NULL |
Devuelve las fks que asocian a las tablas extendidas
array() get_id_filas(
[boolean
$usar_cursores = true]
)
|
|
Retorna los ids de todas las filas (sin eliminar) de esta tabla
Parámetros:
boolean |
$usar_cursores: |
Este conjunto de filas es afectado por la presencia de cursores en las tablas padres |
Information Tags:
Todo: | Se podría optimizar este método para no recaer en tantos recorridos |
array get_id_filas_a_sincronizar(
[array
$cambios = array("d","i","u")]
)
|
|
Retorna lasfilas que sufrieron cambios desde la carga
Parámetros:
array |
$cambios: |
Combinación de tipos de cambio a buscar: d, i o u (por defecto los tres) |
array() get_id_filas_filtradas_por_cursor(
[
$incluir_eliminados = false], boolean
$usar_cursores
)
|
|
Retorna los ids de todas las filas (sin eliminar) de esta tabla
Parámetros:
boolean |
$usar_cursores: |
Este conjunto de filas es afectado por la presencia de cursores en las tablas padres |
|
$incluir_eliminados: |
|
Information Tags:
Todo: | Se podría optimizar este método para no recaer en tantos recorridos |
array get_id_fila_condicion(
[array
$condiciones = null], [boolean
$usar_cursores = true]
)
|
|
Busca los registros en memoria que cumplen una condicion.
Solo se chequea la condicion de igualdad. No se chequean tipos
Parámetros:
array |
$condiciones: |
Asociativo de campo => valor. El valor no puede ser NULL porque siempre da falso Para condiciones más complejas (no solo igualdad) puede ser array($columna, $condicion, $valor), por ejemplo array(array('id_persona','>=',10),...) |
boolean |
$usar_cursores: |
Este conjunto de filas es afectado por la presencia de cursores en las tablas padres |
Return: | Ids. internos de las filas, pueden no estar numerado correlativamente |
void get_id_fila_padre(
$tabla_padre,
$id_fila
)
|
|
Busca en una tabla padre el id de fila padre que corresponde a la fila hija especificada
Parámetros:
void get_id_padres(
$ids_propios,
$tabla_padre
)
|
|
Retorna los padres de un conjunto de registros especificos
Parámetros:
|
$ids_propios: |
|
|
$tabla_padre: |
|
Deprecated: | Usar persistidor() a secas |
Retorna el proximo id interno a ser utilizado
Retorna la
relacion que contiene a esta tabla, si existe
Retorna el schema de BD sobre el que trabaja el datos_tabla
Nombre de la tabla que se representa en memoria
void get_tabla_extendida(
)
|
|
Devuelve el nombre de la tabla extendida
integer, get_tope_max_filas(
)
|
|
Retorna la cantidad maxima de filas que puede contener la tabla (si existe tal restriccion)
integer, get_tope_min_filas(
)
|
|
Retorna la cantidad minima de fila que debe contener la tabla (si existe tal restriccion)
array get_valores_columna(
string
$columna
)
|
|
Retorna los valores de una columna específica
El conjunto de filas utilizado es afectado por la presencia de cursores en las tablas padres
Parámetros:
string |
$columna: |
Nombre del campo o columna |
Return: | Arreglo plano de valores |
void get_xml(
SimpleXMLElement
$xml
)
|
|
Agrega en un nodo xml los datos del registro seleccinado en la tabla por el cursor, como atributos del nodo
Parámetros:
SimpleXMLElement |
$xml: |
El objeto nodo xml al que se le van a agregar los atributos |
Determina si los datos cargados en la tabla difieren de los datos existentes en la base al inicio de la transacción
boolean hay_cambios_fila(
$id_fila
)
|
|
Retorna verdadero si algún valor de la tabla cambio desde el inicio de la transacción
Parámetros:
Hay una fila seleccionada por el cursor?
Ventana para agregar configuraciones particulares antes de que el objeto sea construido en su totalidad
Information Tags:
Redefinición de:
- toba_componente::ini()
- Ventana de extensión que se ejecuta al iniciar el componente en todos los pedidos en los que participa.
mixed modificar_fila(
mixed
$id, array
$fila, [array
$nuevos_padres = null]
)
|
|
Modifica los valores de una fila de la tabla en memoria Solo se modifican los valores de las columnas enviadas y que realmente cambien el valor de la fila.
Parámetros:
mixed |
$id: |
Id. interno de la fila a modificar |
array |
$fila: |
Contenido de la fila, en formato columna=>valor, puede ser incompleto |
array |
$nuevos_padres: |
Arreglo (id_tabla_padre => $id_fila_padre, ....), solo se cambian los padres que se pasan por parámetros El resto de los padres sigue con la asociación anterior |
Return: | Id. interno de la fila modificada |
Retorna un objeto en el cual se puede realizar busquedas complejas de registros en memoria
mixed nueva_fila(
[array
$fila = array()], [mixed
$ids_padres = null], [integer
$id_nuevo = null]
)
|
|
Crea una nueva fila en la tabla en memoria
Parámetros:
array |
$fila: |
Asociativo campo=>valor a insertar |
mixed |
$ids_padres: |
Asociativo padre =>id de las filas padres de esta nueva fila, en caso de que no se brinde, se utilizan los cursores actuales en estas tablas padres |
integer |
$id_nuevo: |
Opcional. Id interno de la nueva fila, si no se especifica (recomendado) Se utiliza el proximo id interno. |
Return: | Id. interno de la fila creada |
Retorna el admin. de persistencia que asiste a este objeto durante la sincronización
boolean posee_columnas_externas(
)
|
|
La tabla posee alguna columna marcada como de 'carga externa' Una columna externa no participa en la sincronización posterior, pero por necesidades casi siempre estáticas necesitan mantenerse junto al conjunto de datos.
void procesar_filas(
array
$filas, [mixed
$ids_padres = null]
)
|
|
Procesa los cambios masivos de filas
El id de la fila se asume que la key del registro o la columna apex_datos_clave_fila Para procesar es necesario indicar el estado de cada fila utilizando una columna referenciada con la constante 'apex_ei_analisis_fila' los valores pueden ser:
- 'A': Alta
- 'B': Baja
- 'M': Modificacion
Parámetros:
array |
$filas: |
Filas en formato RecordSet, cada registro debe contener un valor para la constante apex_ei_analisis_fila |
mixed |
$ids_padres: |
Asociativo padre =>id de las filas padres de esta nueva fila, en caso de que no se brinde, se utilizan los cursores actuales en estas tablas padres |
void registrar_cambio(
mixed
$fila, string
$estado
)
|
|
Fuerza una cambio directo a la estructura interna que mantiene registro de los cambios
Parámetros:
mixed |
$fila: |
Id. interno de la fila |
string |
$estado: |
|
Reserva un id interno y lo retorna
Deja la tabla sin carga alguna, se pierden todos los cambios realizados desde la carga
Asegura que el cursor no se encuentre posicionado en ninguna fila específica
Deshace el ultimo seteo de cursor
Cambia el contenido de la fila donde se encuentra el cursor interno
Si la tabla se definio admitiendo a lo sumo un registro, este cursor se posiciona automáticamente en la carga, sino se debe explicitar con el método set_cursor En caso que no existan filas, se crea una nueva y se posiciona el cursor en ella Si la fila es null, se borra la fila actual
Parámetros:
array |
$fila: |
Contenido total o parcial de la fila a crear o modificar (si es null borra la fila actual) |
void set_blob(
string
$columna, resource
$blob, [mixed
$id_fila = null]
)
|
|
Almacena un 'file pointer' en un campo binario o blob de la tabla.
Parámetros:
string |
$columna: |
Nombre de la columna binaria-blob |
resource |
$blob: |
file pointer o null en caso de querer borrar el valor |
mixed |
$id_fila: |
Id. interno de la fila que contiene la columna, en caso de ser vacio se utiliza el cursor |
void set_columna_valor(
string
$columna, mixed
$valor, [boolean
$con_cursores = false]
)
|
|
Cambia el valor de una columna en todas las filas
Parámetros:
string |
$columna: |
Nombre de la columna a modificar |
mixed |
$valor: |
Nuevo valor comun a toda la columna |
boolean |
$con_cursores: |
Tiene en cuenta los cursores del padre para afectar sus filas hijas, por defecto no |
void set_cursor(
mixed
$id
)
|
|
Fija el cursor en una fila dada Cuando la tabla tiene un cursor muchas de sus operaciones empiezan a tratar a esta fila como la única y sus tablas padres e hijas también. Por ejemplo al pedir las filas de la tabla hija solo retorna aquellas filas hijas del registro cursor de la tabla padre.
Parámetros:
mixed |
$id: |
Id. interno de la fila |
void set_definicion_columna(
$columna,
$propiedad,
$valor
)
|
|
Parámetros:
|
$columna: |
|
|
$propiedad: |
|
|
$valor: |
|
void set_es_unico_registro(
boolean
$unico
)
|
|
Indica que la tabla maneja un único registro en memoria, habilitando la api get/set
Parámetros:
void set_fila_columna_valor(
mixed
$id, string
$columna, mixed
$valor
)
|
|
Cambia el valor de una columna de una fila especifica
Parámetros:
mixed |
$id: |
Id. interno de la fila de la tabla en memoria |
string |
$columna: |
Columna o campo de la fila |
mixed |
$valor: |
Nuevo valor |
void set_no_duplicado(
$columnas
)
|
|
Indica una combinacion de columnas cuyos valores no deben duplicarse (similar a un unique de sql)
Parámetros:
void set_tope_max_filas(
integer
$cantidad
)
|
|
Cambia la cantidad maxima de filas que puede contener la tabla
Parámetros:
integer |
$cantidad: |
0 si no hay tope |
void set_tope_min_filas(
integer
$cantidad
)
|
|
Cambia la cantidad mínima de filas que debe contener la tabla
Parámetros:
integer |
$cantidad: |
0 si no hay tope |
integer sincronizar(
[
$usar_cursores = false]
)
|
|
Sincroniza la tabla en memoria con el medio físico a travéz del administrador de persistencia.
Parámetros:
Return: | Cantidad de registros modificados en el medio |
integer sincronizar_filas(
$filas
)
|
|
Sincroniza un conjunto de filas de la tabla en memoria con el medio físico a travéz del administrador de persistencia.
Parámetros:
Return: | Cantidad de registros modificados en el medio |
void validar(
[
$filas = array()]
)
|
|
Validacion de toda la tabla necesaria previa a la sincronización
Parámetros: