Capturar firma

Muchas gracias.

Gracias Alfons, he conseguido casi todo, pero a diferencia de ti que creas un registro en una nueva tabla yo quiero integrarlo en la tabla de cabecera de albaranes y debe haber algo que no estoy haciendo bien, el visor aparece, firmo, y puedo guardar, pero no se guarda nada, te adjunto una captura a ver si puedes decirme que debo cambiar en la parte final del CLK que es donde supongo esta el problema.

Gracias, un magnifico aporte. Saludos.

Hola GSI,

Yo he hecho lo siguiente para eso

theRegisterIn.setField( “FIR_DIG”, contenido );
theRegisterIn.setField( “FIR_DIG_FCH_HOR”, tiempo );
theRegisterIn.modifyRegister();

Que sustituirian las lineas desde la 50 hasta la 58.

Muchas gracias Alfons por el aporte.

Un saludo.

Hola GSI.

Así a bote pronto, … creo que en la línea 58 te falta () al final de modifyRegister, … creo que sería “registro.modifyRegister();”

No obstante, intenta unos cambios que te digo más abajo. Dado el entorno en el que estarás capturando la firma y disparando el manejador JS pienso que puedes utilitzar el objeto automático “theRegisterIn”. Tampoco creo que te haga falta abrir transacción para grabar directamente en el registro puesto que estás en un manejador JS de un formulario de cabecera de albaranes.

Doy por supuesto que en la tabla de cabeceras de albaranes tendrás el campo objeto texto “FIR_DIG” que es en donde se guardará la variable “contenido” (y en “contenido” es en donde se habrá seteado el churro de la firma en base64). El campo “FIR_DIG_FCH_HOR” ya es opcional si quieres guardar la fecha y la hora de la firma.

Como comentas que la quieres guardar directamente en la tabla de cabeceras entiendo que en principio no deberías porque también modificar el campo “ID” (clave primaria de la tabla de cabecera de albaranes y que ya se encarga Velneo de gestionarla).

Con todo esto prueba (de tu pantallazo borra desde la línea 47 a la 63 y reemplaza por) :

theRegisterIn.setField( “FIR_DIG”, contenido );
theRegisterIn.setField( “FIR_DIG_FCH_HOR”, tiempo );
var formulario = theRoot.dataView();
formulario.saveRegister();
//saveRegister() equivale a un “Interfaz: Guardar ficha en alta o modificación” y también ya abre transacción automáticamente
formulario = theRoot.dataView().mainForm();
formulario.cancel();
//cancel() por si tras capturar la firma deseas cerrar el formulario del albarán
//puedes también probar, a ver si funciona, que en vez de cancelar el formulario intentar refrescar sus controles con :
//theRoot.dataView().updateControls();
//para ver si aparece automáticamente el segundo visor HTML que ya contenga la firma capturada y grabada en la tabla en el objeto texto

UPS!.. disculpas por mi post anterior que es justo lo que propone j.sotomayor.75, … leí el post con el problema de GSI, me puse a contestarle y lo dejé durante un tiempo con mi sesión iniciada en Velneo, … ahora volví a acabar de contestarle y colgué el post, y durante ese intervalo de tiempo j.sotomayor.75 ha aportado lo mismo.

Saludos a todos!

Magnifico, funciona perfectamente.

Hola Chicos,

Seria posible ver una imagen de como os queda el formulario donde esta incrustado el visor?

Gracias.

Hola Ramón.

Mira mi comentario en éste mismo post, del pasado 12/05/2015 12:40.

Veràs que hay adjunto un pantallazo del formulario con el visor.

Buenos días:

He estado siguiendo este hilo y lo he probado usando un portátil con W10 y pantalla táctil.
Funciona de lujo. Muchas gracias Alfons por la aportación, me siento en deuda…

Saludos. Ramiro

Creo que mejor con esta otra firma…

Saludos. Ramiro

Una anotación más…

La única pega que le he visto es el tamaño del registro para guardar cada firma: más de 600 Kb en mis pruebas

Saludos. Ramiro

Me estoy planteando llevar mas allá el tema de la firma, alguien ha probado estas “tablet”, no se el nombre técnico, que utilizan algunos bancos y que solo sirven para firmar, la captura de la firma también es en base64. tenéis alguna experiencia.

Gracias.

Hola foro,

Estoy siguiendo todos los pasos de esta entrada, lo tengo todo montado según vuestras instrucciones, pero al pulsar el botón Guardar, no tengo forma que el manejador CLK sea ejecutado.

Tengo hecho la conexión de evento que al pulsar el botón Guardar con la señal Link Clicked se ejecute el manejador CLK pero he comprovado que no entra.

Alguna idea, del porque?

Saludos

Hola GSI,

De la marca wacon hay estos modelos y hay un sdk

http://www.wacom.com/es-es/enterprise/business-solutions/hardware/signature-pads

Un saludo.

Hola Ramon,

El identificador del control HTML es : VISOR_HTML?

Un saludo.

En el código del manejador CLK en la segunda linea tienes:

var html = theRoot.dataView().control( “VISOR_HTML” );

En tu caso debería poner :

var html = theRoot.dataView().control( “ED_FIRMA_A” );

Hola

Vale no lo tenia con ese nombre, mejor lo e cambiado al nombre original, y ahora entra correctamente, continuamos …

Gracias

Hola a todos. Y muchas gracias a alfons.emecesoftware por su ayuda ya me funciona.

Existe, sin embargo un problema gordo cuando se ejecuta en Android (estoy desarrollando una aplicación móvil). En este último presenta un espacio vacío donde debería estar el Visor HTML que captura la firma. Cuando consulto al servicio de soporte de Velneo me dicen:

Es por un problema de licencias de Android; no es que no funcione, es que este tipo de dispositivos no permiten que funcione ya que solamente permiten usar el del propio dispositivo.

Y me sugieren que tire del propio navegador de Android, cosa que obviamente no sirve pues no puedo capturar las señales delegadas de link pulsado del navegador por defecto del dispositivo.

¿Cómo habéis solucionado vosotros este problema?

Hola alfons.emecesoftware me gustaría que me remitieras toda la información y adjuntos de la captura de firma. Gracias.

Saludos.

Hola Robertocofiex.

Si revisas todo el hilo del presente post lo tienes todo…, información, pantallazos y fichero “rar” con recursos y documentación.

Saludos.