Platform dispone de diferentes sistemas de formularios, tienen uno para intra y otro para cliente web. Imaginemos que existiera un tercer tipo, un formulario ciego, es decir, un formulario que lanzara los mismos eventos que se lanzan en un formulario normal, pero en vez de ser el usuario el que interactúa con él para entrar datos, los datos se entraran por código, como si de una API se tratara, algo tipo:
BlindForm blindform=BlindForm.open(pl_pedidos_ventas),
blindForm.setValue(txtcliente_id,100),
//Línea 10
blindForm.setValue(txtlinea_id,10,0),
blindForm.setValue(txtarticulo_id,R4567HG66,0),
blindForm.setValue(txtcantidad_id,3,0),
blindForm.setValue(txtprecio_id,120,0),
//Línea 20
blindForm.setValue(txtlinea_id,20,1),
blindForm.setValue(txtarticulo_id,AF7HG66,1),
blindForm.setValue(txtcantidad_id,7,1),
blindForm.setValue(txtprecio_id,11.56,1),
blindForm.save(),
Esto también serviría para formularios de diálogo! ya que podríamos hacer:
blindForm.cmdClick(cmdAceptar),
Esto es potente porque cualquier formulario podría ser transformado en API, por el simple hecho de existir.
Si tienes un formulario tienes una API. Y por extensión...si tienes una API puedes publicar un WEBSERVICE!
La ventaja de esto es que cualquier personalización también se lanzaría! independientemente de si está programada en FM o BO. Muchas veces producto hace API pero sólo de la parte estándard.
Además ya no sería necesario que el estándard creara API's, todo seria susceptible de ser usado como API!
Pero...¿y qué pasa con los mensajes a usuario donde se le pide que elija una opción...?:
Al llamar a un mensaje podríamos indicar un parámetro más donde indicáramos cuál es el botón por defecto al estarse ejecutando un BlindForm, es decir, platform nos retornaría como si el usuario hubiera pulsado ese botón.
¿Qué opináis de que cualquier formulario pueda ser usado como API?