Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
entitySelection.refresh( )
|
entitySelection.refresh () | ||||||||
Este comando no requiere parámetros | ||||||||
Nota: este método solo funciona con un almacén de datos remoto (cliente/servidor o conexión Open datastore).
El método entitySelection.refresh( ) "invalida" inmediatamente los datos de la selección de entidades en la caché ORDA local, de modo que la próxima vez que 4D requiera la selección de entidades, se volverá a cargar desde la base de datos.
Por defecto, la caché ORDA local se invalida después de 30 segundos. En el contexto de las aplicaciones cliente/servidor que utilizan ORDA y el lenguaje clásico, este método le permite asegurarse de que una aplicación remota siempre funcione con los datos más recientes.
En este ejemplo, los lenguajes clásico y ORDA modifican los mismos datos simultáneamente:
//En un 4D remoto
C_OBJECT($selection;$student)
$selection:=ds.Students.query("lastname=:1";"Collins")
//La primera entidad se carga en la caché ORDA
$student:=$selection.first()
//Actualización con 4D clásico, la caché ORDA no sabe si
QUERY([Students];[Students]lastname="Collins")
[Students]lastname:="Colin"
SAVE RECORD([Students])
//para obtener la última versión, se debe invalidar la caché ORDA
$selection.refresh()
// Incluso si la memoria caché no ha caducado, la primera entidad se vuelve a cargar desde el disco
$student:=$selection.first()
//$student.lastname contains "Colin"
Un list box muestra la selección de entidades Form.students y varios clientes trabajan en ella.
// Método de formulario:
Case of
:(Form event code=On Load)
Form.students:=ds.Students.all()
End case
//
//
// En el cliente #1, el usuario carga, actualiza y guarda la primera entidad
// En el cliente #2, el usuario carga, actualiza y guarda la misma entidad
//
//
// En el cliente #1:
Form.students.refresh() // Invalida la caché ORDA para la selección de entidades Form.students
//El contenido del list box se actualiza desde la base de datos con la actualización realizada por el cliente #2
Producto: 4D
Tema: ORDA - EntitySelection
Creado por: 4D v18 R3
Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)
Manual de lenguaje 4D ( 4D v19.4)
Manual de lenguaje 4D ( 4D v19.5)
Manual de lenguaje 4D ( 4D v19.6)
Manual de lenguaje 4D ( 4D v19.7)
Manual de lenguaje 4D ( 4D v19.8)