Convertir importes a letras en Crystal Report
En Crystal Report mediante la función ToWords se pueden convertir los números a letra, pero si deseamos convertir importes a letras utilizando la moneda entonces deberemos realizar una función personalizada. A continuación se detallan los pasos necesarios para realizar la función personalizada:
1. En el taller de fórmulas de Crystal Report se debe crea una función personalizada (por ejemplo ImporteALetra):
2. En las funciones deberemos copiar el siguiente código fuente:
Function ImporteALetra (importe as currency) as string ImporteALetra = "" ' Dividir el importe en la parte entera y la parte decimal dim entero, decimal as currency importe = round(importe,2) entero = fix(importe,0) decimal = (importe-entero)*100 ' Convertir la parte entera a letras Select case entero case 0 ' No hacer nada case 1 ImporteALetra = "un euro" case else ImporteALetra = ToWords(entero,0) & " euros" end select ' Convertir la parte decimal a letras Select case decimal case 0 ' No hacer nada case 1 if ImporteALetra<>"" then ImporteALetra = ImporteALetra & " con " ImporteALetra = ImporteALetra & "un céntimo" case else if ImporteALetra<>"" then ImporteALetra = ImporteALetra & " con " ImporteALetra = ImporteALetra & ToWords(decimal,0) & " céntimos" end select End Function
3. Posteriormente crearemos una fórmula (por ejemplo TotalALetras) que haga referencia a la función creada, donde le pasaremos como parámetro un campo, fórmula o un número que contenga el importe y dicha fórmula devolverá una expresión con el importe en letras:
4. Por último, diseñaremos el informe insertando la fórmula en la posición que deseemos.
