Buenos dias Compañeros!!
Solicitando de su ayuda una vez mas !!
Les comento el problema estoy tratando de realizar un pago en USD que su factura esta en MXP, al tratar de realizar el pago me arroja este error.
El atributo ‘TipoCambioP’ no es válido - El valor ‘0.0000’ no es válido según su tipo de datos ‘Decimal’ - La restricción MinInclusive falló. SAP B1
¿Ya revisaste si en tu SPP está bien mapeado ese campo? Por lo que veo al campo TipoCambioP siempre se le está asignado el valor 0, lo cual es incorrecto.
hay un nuevo SPP en la 9.3 que te permite hacer eso, segun tenia entendido era un problema en factuacion que no te permite hace pago en dls si tu factura esta en pesos, bueno nos toco con varios clientes ese problema, pero en 9.3 hice las pruebas (timbrado de prueba) y lo puede realizar sin problema, tanto de dolares a pesos como de pesos a dolares…
También aparte de lo comentado por Daniel_Torrez recuerda revisar en el timbrado de los pagos cuantos decimales se deben de declarar en los SPP… Eso ocurre muy a menudo.
Pero en esa imagen no se vé que esté el campo de “TipoCambioP” ligado o mapeado con nadie… el que está mapeado es el de arriba de “monedaP” pero no el de “TipoCambioP” Se tendría que ver el tipo de condición completo para ver como se completa… porque ahí solo le tienes que si NO ES IGUAL a nincuna de esas expreciones (MXP, MXN, Pesos) coloca redondeo del campo ORCT.Docrate,4 Decimales… ahí debes cambiarlo a 2 decimales… porque si no me equivoco en el archivo que se envía para el timbrado debe ir con 2 decimales no 4
es que segun lei en la guia de llenado, el TipoCambioP solo se llena cuando la MonedaP es diferente de MXP pero la MonedaP no se de que tabla lo toma, yo tengo el SPP de la 9.3 y en teoria deberia de tomarla de ORCT como DocCurr, no me suena y me hace ruido eso.
Por eso es la condición Daniel…
SI NO ES IGUAL A “MXN, MXP o PESOS” el sistema coloca en ese campo el Redondeo a 4 decimales de ORCT.Docrate (que es el tipo de cambio al que se registró el documento)
A lo que me refiero es que no debe ser a 4 decimales sino a 2…
roundup(%ORCT_DOCRATE,2)
Por otro lado, lo que si se debe ver es como se le coloca una condición que si es igual a uno de esos, el campo no sea agregado.
El error según yo sale por 2 cosas:
Tiene 4 decimales en vez de 2 y
Aún cuando no tiene esas condiciones el campo aparece. (le falta otra condición para que cuando sea igual a uno de esos el campo no sea enviado)