Ir al contenido



Foto

Asignar un valor a xs:decimal


  • Por favor identifícate para responder
2 respuestas en este tema

#1 Alberto Ramirez

Alberto Ramirez

    Newbie

  • Miembros
  • Pip
  • 9 mensajes

Escrito 05 noviembre 2018 - 11:26

Buenos días

 

disculpen, tengo un problema al hacer un la asignación de un valor a un campo de tipo de xsdecimal.

 

Esto es porque estoy apoyando a un desarrollo de facturación en México y el PAC en su WS pide que se asigne un valor de tipo: 

 

property Total:     TXSDecimal

 

me manda un ejemplo de como se asigna en C#

 

importe1.Total = decimal.Parse("0.160000");

 

 

Pero lo quiero asignar en delphi y no me acepta ni el string, ni el float o double, encontré esto en la red pero al mandarlo al WS, me regresa un error extraño.

 

Var

  XsDec: TXSDecimal;

  Arreglo: DetalleCFDICancelacion2;

begin

 

    XsDec := TXSDecimal.Create;

    XsDec.XSToNative(FormatFloat('%f',1571.43));

 

   Arreglo.RFCReceptor := 'TES030201001';

   Arreglo.Total := XsDec;

   Arreglo.UUID := '34999FE8-7E57-7E57-7E57-7DE3AD8F6F1B';

 

...

 

gracias 


  • 0

#2 Alberto Ramirez

Alberto Ramirez

    Newbie

  • Miembros
  • Pip
  • 9 mensajes

Escrito 05 noviembre 2018 - 06:18

Bueno después de tanto buscar, encontré la solución y la comparto con ustedes por si alguien la ocupa!
Lo único que tuve que hacer fue iniciar el campo XSDecimal y asignarle el valor en string por medio de su procedimiento XSToNative
 

delphi
  1. Arreglo.RFCReceptor := 'TES030201001';
  2. Arreglo.Total := TXSDecimal.Create;
  3. Arreglo.Total.XSToNative(FloatToStr('1571.43'));
  4. Arreglo.UUID := '34999FE8-7E57-7E57-7E57-7DE3AD8F6F1B';

 
Y con es funcionó
 
saludos y gracias.

  • 2

#3 ELKurgan

ELKurgan

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 533 mensajes
  • LocationEspaña

Escrito 06 noviembre 2018 - 12:35

Gracias por compartir la solución

 

Un saludo (y) 


  • 0