Saltar al contenido principal
Version: v20

Relaciones Uno a Muchos - Acciones

Ahora vamos a ir un poco más lejos y crear una tarea para un empleado específico.

¡Es muy fácil crear una entidad utilizando una Entidad padre!

Comencemos descargando el proyecto Starter:

Crear una acción addProject​

  • Abra el editor del proyecto y vaya a la sección Action.

  • Añadir una acción addProject

create addProject Method

Método On Mobile App Action​

Lo único que debe hacer es definir la acción addProject en el método On Mobile App Action de la siguiente manera:

: ($request.action="addProjects")

$o:=New object(\
"dataClass";$context.dataClass;\
"parent";$context.parent;\
"entity";$context.entity;\
"parameters";$parameters)

$result:=addProject ($o)


Método addProject​

Luego introduzca esas líneas de código en su addProject Method:

C_OBJECT($0)
C_OBJECT($1)

C_OBJECT($entity;$in;$out)

$in:=$1
$out:=New object("success";False)

If ($in.dataClass#Null)

$entity:=ds[$in.dataClass].new() //Crear una referencia

For each ($key;$in.parameters)

$entity[$key]:=$in.parameters[$key]

End for each

$primaryKey:=$in.parent.primaryKey //Get parent primary key

$parent:=ds[$in.parent.dataClass].get($primaryKey)

$inverseRelationName:=$in.entity.relationName //Obtener nombre de la relación padre

$entity[$inverseRelationName]:=$parent

$status:=$entity.save() //guardar la entidad

$out.success:=True // notificar App que la acción es exitosa

$out.dataSynchro:=True // notificar App para refrescar la selección

$out.statusText:="Task added"

$out.close:=True

Else

$out.errors:=New collection("No Selection")

End if

$0:=$out

¡Y eso es todo, puede agregar alguna tarea a sus empleados fácilmente usando la entidad padre!

Descargar el proyecto terminado: