¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo expresar importes con palabras a través del EFM: guía detallada

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

Hola

Estamos intentando crear el complemento detallista a través del EFM, pero uno de los campos requiere que el importe se exprese con palabras. ¿Tienes alguna idea de si esto se puede lograr a través del EFM (Gestor de Archivos Electrónicos)?

Saludos

Jacobo

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

4 Respuestas

0
Cargando...

¡Hola Oscar!

También necesitas enviar el Stored Procedure llamado MontoEnLetraFact .

Jacobo tendrá que crear primero ese stored procedure y luego agregar la consulta que le indicaste al campo de usuario en la factura.

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

Según lo que entiendo y lo poco que conozco, debes crear el campo de usuario en la factura y aplicar esta búsqueda formateada.

DECLARE @Monto AS float, @Total AS float, @Pagares AS int, @Curr AS char(3), @Moneda AS char(10), @MN AS char(10),
@Idioma as char(2)
SET @Curr = $[OINV.DocCur.0.CHAR]
SET @Total = $[$29.0.NUMBER]
SET @Pagares = $[OINV.Installmnt.0.NUMBER]
SET @Monto = (SELECT ROUND(@Total / @Pagares, 2))
SET @Idioma = $[OINV.U_IME]
IF (@Curr = '$')
BEGIN
IF (@Idioma = 'ES')
BEGIN
SET @Moneda = 'PESOS'
SET @MN = 'M.N.'
EXEC MontoEnLetraFact @Monto, @Moneda, @MN
END
ELSE
BEGIN
SET @Moneda = 'PESOS'
SET @MN = 'M.N.'
EXEC MontoEnLetraFact1 @Monto, @Moneda, @MN
END

END
ELSE
BEGIN

IF (@Idioma = 'ES')
BEGIN
SET @Moneda = 'DÓLARES'
SET @MN = 'U.S.D.'
EXEC MontoEnLetraFact @Monto, @Moneda, @MN
END
ELSE
BEGIN
SET @Moneda = 'DÓLARES'
SET @MN = 'U.S.D.'
EXEC MontoEnLetraFact1 @Monto, @Moneda, @MN
END
END

Solo fíjate si en BO usas $ o MXP.

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

Gracias por su respuesta.

Saludos

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

El Stored procedured es el siguiente:

CREATE Procedure [dbo].[SP_NUMLETRAS]--@Monto  Numeric(10,0) @Montodec   Float,@Codmon Char(3)As   Set Nocount Off   -- Variables Para Descomposición Del MontoDeclare @Montodec2          Decimal(16,2)Declare @Monto1                    IntegerDeclare @Monto                    Numeric(10,0)Declare @Dec                    Decimal(16,2)Declare @Dec_Char          Char(2)Declare @Dec_Char2          Char(20)Declare @Declen         IntegerSet  @Montodec2 = @MontodecSet  @Monto1 = @Montodec2Set  @Monto = @Monto1Set @Dec_Char2 = Convert(Char(20),@Montodec2)Set @Declen = Len(@Dec_Char2)Set @Dec_Char  = Substring(@Dec_Char2,@Declen - 1,2)   Declare @Cociente Numeric(9,0)          ,@Residuo  Tinyint          ,@Divtexto Char(12)          ,@Divnumer Numeric(10,1)          ,@Contapos Tinyint   -- Tabla Temporal Para Descomposición   -- Debido A Que No Una Estructura Tipo Array (Matriz)   Create Table #Sp_Numlet_Num (Cifra Tinyint, Posicion Tinyint)   -- Inicializa Contador De Posiciones   Set @Contapos = 1   -- Inicializa Cociente   Set @Cociente=999999999   -- Bucle De Descomposición Del Monto   While @Cociente > 0   Begin      -- Obtener El Cociente Y El Residuo      Set @Divnumer = @Monto/10      Set @Divtexto = Cast(@Divnumer As Char(12))      Set @Cociente = Cast(Left(@Divtexto, Len(@Divtexto)-2) As Numeric(9<
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?