Ver la Versión Completa : Mascara 00000000001 en fastreport
hecospina
19-11-2008, 22:06:12
Buenas tardes amigos del foro
Utilizo FastReport 4
Requiero hacer esto, tengo el campo NoFactura que es de tipo entero
Hasta el momento se viene imprimiento sin ningun tipo de problemas, si la factura es la 2500 se imprime dicho numero
Ahora mi cliente necesita que el numero sea de 12 caracteres y si no los contiene sea completado con ceros
Por ejemplo el numero 2500 deberia quedar 000000002500
Como puedo hacerlo ? :(
Gracias por dedicar tiempo a leer este mensaje
droguerman
19-11-2008, 23:44:12
Usa el evento OnBeforePrint del control y cambia la propiedad memo.text del control usando la función format, algo así (no tengo fastreport a la mano asi que me puedo equivocar en la sintaxis)
control.memo.text := format('%.12d', [ < dataset."numero" > ]);
si no funciona eso crear una función que concatene ceros hasta que el valor tenga una longitud de 12 (era la forma que usaba yo)
saludos
Buenas,
Yo tampoco tengo FR a la mano en el momento, pero recuerdo que el componente Text tiene la propiedad DisplayFormat, puede probar poniendo el %.12d que le indicó droguerman allí.
Si de pronto no es compatible, podría hacer que la consulta Sql le devuelva el dato formateado; por ejemplo, si es MsSql podría usar la función Replicate().
hecospina
20-11-2008, 17:04:20
Gracias Droguerman y Topx
Ya lo solucione con la idea que me dio Droguerman
Hay dos formas
1. Al hacer clic derecho en el memo aparece la opcion formato de visualizacion, alli se marca Número y en formato se coloca #000000000000
2. Dentro del memo donde bajo el campo quedaria asi [<ibxquery1."numero"> #n #00000000000]
La cantidad de ceros es el numero de caracteres que se desea visualizar
Me imagino que desde el inspector de objetos se puede hacer tambien
Muchas gracias por su colaboracion :D
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.