¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

¡Acceso SAP S/4HANA desde $100!

Acceso a SAP

Como converter o total em palavras em uma fatura do Crystal Reports

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 29 Vistas
0
Cargando...

Boa tarde

Alguém pode me ajudar a converter o total em palavras em uma fatura criada no Crystal Reports? Eu revisei o PLD e ele faz referência a alguma variável, mas não encontrei uma maneira de fazer isso no Crystal, alguma sugestão?

Saudações.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Bom dia Quintaro,

O Crystal possui a função ToWords() que converte valores numéricos em palavras.

Saudações

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Veo muy completa tu respuesta, pero sinceramente desconozco cómo aplicarla, ¿me puedes guiar, por favor?

¡Gracias!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

"Olha só! Eu disse que você é um mestre!"

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Experimente com esta fórmula:

if {VRetenciones.doccurr} = 'GS' THEN

stringVar monto := trim(totext({VRetenciones.impretencion}, 2, ''));

stringVar texto := '';

stringVar ytexto := '';

numberVar long := length(monto);

stringVar array Cientos := ['CIENTO', 'DOSCIENTOS', 'TRESCIENTOS', 'CUATROCIENTOS', 'QUINIENTOS',

'SEISCIENTOS', 'SETECIENTOS', 'OCHOCIENTOS', 'NOVECIENTOS', 'MIL'];

stringVar array Decenas := ['DIEZ', 'VEINTE', 'TREINTA', 'CUARENTA', 'CINCUENTA', 'SESENTA',

'SETENTA', 'OCHENTA', 'NOVENTA', ' '];

stringVar array MasDecenas := ['ONCE', 'DOCE', 'TRECE', 'CATORCE', 'QUINCE', 'DIECISEIS',

'DIECISIETE', 'DIECIOCHO', 'DIECINUEVE'];

stringVar array Unidades := ['UN ', 'DOS', 'TRES', 'CUATRO', 'CINCO', 'SEIS', 'SIETE', 'OCHO',

'NUEVE', ' '];

stringvar monto := ReplicateString('0', 15 - length(monto)) + monto;

StringVar ParteDecimal := monto[13] + monto[14] + monto[15];

StringVar Parte1 := monto[10] + monto[11] + monto[12];

StringVar Parte2 := monto[7] + monto[8] + monto[9];

StringVar Parte3 := monto[4] + monto[5] + monto[6];

StringVar Parte4 := monto[1] + monto[2] + monto[3];

StringVar Letras1 := ' ';

if Parte4 <> '000' then

if Parte4 <> '0' then

Letras1 := Letras1 + Cientos[ToNumber(Parte4[1])];

if Parte4 = '1' and Parte4[3] > '0' then

Letras1 := Letras1 + ' ' + MasDecenas[ToNumber(Parte4[3])];

if Parte4 <> '0' and Parte4[2] <> '2' THEN

Letras1 := Letras1 + ' ' + Decenas[ToNumber(Parte4[2])];

if Parte4 <> '0' AND Parte4[2] = '2' THEN

Letras1 := Letras1 + ' VEINTI';

if (Parte4[3] <> '0') and (not(Parte4[2] = '1' and Parte4[3] > '0')) then

if Letras1 <> ' ' then

if (Parte4[2] <> '0') and (Parte4[2] <> '2') then // se for diferente de vinte e

Letras1 := Letras1 + ' e ' + Unidades[ToNumber(Parte3[3])];

if (Parte4[2] <> '0') and (Parte4[2] = '2') then // se for vinte e

Letras1 := Letras1 + Unidades[ToNumber(Parte4[3])];

if Letras1 = ' ' and Parte4[3] <> '0' and Parte4[1] = '0' and Parte4[2] = '0' then // se for um bilhão, dois bilhões, etc.

Letras1 := Letras1 + Unidades[ToNumber(Parte3[3])];

if Parte4 <> '000' then

Letras1 := Letras1 + ' MIL MILHÕES ';

if Parte3 <> '000' then

if Parte3 <> '0' then

Letras1 := Letras1 + Cientos[ToNumber(Parte3[1])];

if Parte3 = '1' and Parte3[3] > '0' then

Letras1 := Letras1 + ' ' + MasDecenas[ToNumber(Parte3[3])];

if Parte3 <> '0' and Parte3[2] <> '2' then

Letras1 := Letras1 + ' ' + Decenas[ToNumber(Parte3[2])];

if Parte3 > '0' and Parte3[2] = '2' then

Letras1 := Letras1 + ' VINTI';

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeconsultor.com

+1 (305) 285-8622

© 2025 Todos los derechos reservados.

Desarrollado por Prime Consultor

¡Hola! Soy Diana, asesora académica de Prime Consultor, indícame en que Academia SAP estás interesado, saludos!
Hola ¿Buscas Academias SAP?