4D v16Llamar tablas y métodos 4D |
||||||||||
|
4D v16
Llamar tablas y métodos 4D
Llamar tablas y métodos 4D
El modo de acceso a las tablas 4D a las que se hace referencia en Wakanda depende de cómo está integrado el catalogo externo, el cual se definió en Wakanda durante su conexión a la aplicación remota (ver Integrar al modelo activo o utilizar un modelo dedicado):
Cuando se fusiona al modelo activo, las tablas 4D referenciadas en la aplicación Wakanda se pueden utilizar directamente en el código JavaScript del lado del servidor (SSJS) como propiedades del objeto ds, al igual que las datastore clases locales. Nota: el objeto DS contiene el datastore actual de la aplicación Wakanda. Por ejemplo, para realizar una consulta en los registros de la tabla 4D [Employees], puede escribir: var emp = ds.Employees.query("age > :1",30); //recuperar una colección de registros de la tabla Employees //donde la edad es mayor a 30 en la variable emp Del lado del cliente, también puede aprovechar los mecanismos automáticos de las datasources basadas en las clases de datos y asociadas a los widgets. Por ejemplo, si asocia la datasource ’employees’ a un widget de tipo ’Grid’, puede ver la lista de empleados de forma automática: Cuando la tabla está asociada a una datasource, también puede acceder a sus datos a través de esta datasource. Por ejemplo, para ordenar la colección de registros de la datasource "employees", puede escribir: sources.employees.orderBy("age"); //ordenar la colección de empleados por edad Para obtener más información sobre cómo trabajar con las clases datastore, consulte la documentación de Wakanda. Las tablas 4D referenciadas se utilizan en el código JavaScript del lado del servidor como propiedades del catálogo donde se ubicaron cuando se creó el enlace. El nombre de este catálogo es el que pasó en el parámetros de conexión Remote datastore name (diálogo de conexión de Wakanda Studio) o en nomLocal (métodos JavaScript). var emp2 = my4Dstore.Employees.query("age > :1", 30); // Buscar en los registros de la tabla Employees // En el enlace "my4Dstore" Nota de implementación: del lado del cliente, utilizando un modelo dedicado en la versión actual de 4D Mobile no permite el acceso a las clases remotas en el momento. Los métodos 4D referenciados en la aplicación Wakanda se pueden utilizar directamente en el código JavaScript como propiedades de los objetos clase de datos, colección de entidades o entidad en función de su alcance definido del lado 4D (ver el párrafo Tabla padres y alcance de los métodos proyecto). Aquí está la correspondencia entre los objetos Wakanda y el alcance de los métodos proyecto:
Nota: los métodos 4D también se pueden llamar del lado del cliente por las fuentes de datos (ver más adelante), en este caso todos los métodos están disponibles, y la fuente de datos los aplica automáticamente a la colección actual o la entidad actual dependiendo del contexto. Por ejemplo, si realiza un a búsqueda con el método query (ver sección anterior), Wakanda devuelve una colección de entidades. Puede ejecutar cualquier método de proyecto 4D cuyo alcance declarado sea "selección actual". Los métodos 4D pueden ser llamados por código JavaScript de tres formas:
Al igual que con los métodos estándar, usted puede pasar parámetros durante la llamada, que se reciben en el orden en los parámetros $1,$2, etc. Del mismo modo, el método puede devolver un resultado en la variable $0. Ejemplo: Quiere darle un aumento del 5% a los empleados cuyo salario es menor que 1500.
También puede devolver una selección 4D directamente como una colección Wakanda utilizando el comando MOBILE Return selection. Por ejemplo: //método proyecto FindCountries Al llamar a un método 4D por medio del enlace de Wakanda:
Tenga en cuenta que después de ejecutar un método vía 4D Mobile, el contexto 4D se reinicializa:
Debe asegurarse de que el alcance del método 4D corresponde al tipo de objeto Wakanda que lo está llamando, de lo contrario el error "TypeError: 'undefined' is not a function" es devuelto por Wakanda. Por ejemplo, dado el método 4D "getcursel" que contiene el siguiente código: $0:=Records in selection([Table_1]) Dado el método run del lado Wakanda var tt = ds.Table_1.query("Field_2 = 'a*'").getcursel(); El método query() devuelve una colección. Si el alcance del método getcursel fue definido como "Registro actual", Wakanda devuelve el siguiente error:
|
PROPIEDADES
Producto: 4D
HISTORIA
ARTICLE USAGE
4D Mobile ( 4D v16) |
||||||||