Página 4 de 7

Re: (Nuevo) Web Service para Validar del SAT

Publicado: Sab Feb 22, 2014 2:56 pm
por Dado
Gracias por tu aportacion, lo voy a descargar, siempre hay algo que podemos aprender de los demas.

Re: (Nuevo) Web Service para Validar del SAT

Publicado: Dom Feb 23, 2014 1:42 pm
por spaniaguag
!Gracias!

Excelente aporte .........

Re: (Nuevo) Web Service para Validar del SAT

Publicado: Lun Feb 24, 2014 1:35 pm
por s3cr3to
Ok, version 0.3d
Creo que encontré como detectar y obtener el "tfd" sin que truene con más de un complemento .
Acepto sugerencias porque no se si mi solución fue la adecuada (o más simple), solo modifique la rutina: "doLoadXML"

Código: Seleccionar todo

var AttrNode : IXMLNode;
...
// >>>0.2d
try
AttrNode:= CFD.Complemento.ChildNodes.FindNode('TimbreFiscalDigital', CFD.Complemento.FindNamespaceURI('tfd'));
TimbreXMLDoc.XML.Text:=  UTF8Encode(AttrNode.XML);
TimbreXMLDoc.Active := true;
TimbreDatos := GetTimbreFiscalDigital(TimbreXMLDoc);
leUUID.Text:= TimbreDatos.UUID;
...

Re: (Nuevo) Web Service para Validar del SAT

Publicado: Mié Feb 26, 2014 2:37 pm
por Pelonchas
Felicidades por la aplicación, muy útil.

Nada mas metiendo la cuchara en la sopa ajena… y para darle un fin útil al código QR de un CFDI impreso. Me permití agregar un edit para poder ingresar los datos a partir de un lector de código de barras (y que soporte 2D).

Agregando un procedimiento (bastante cochinote) llamado tform1.scan, para poder sacar los datos del scaneo.

Codigo:

Código: Seleccionar todo

PROCEDURE TFORM1.SCAN;
var lon: integer;
BEGIN
      if copy(edit1.text,0,1)<>'?' then showmessage('NO ES UN UUID') ELSE BEGIN
      EDIT1.TEXT:=STRINGREPLACE(EDIT1.TEXT,' ','',[RfReplaceAll]);
      lon:=length(edit1.Text);
      leuuid.text:=copy(edit1.text,lon-35,36);
      EDIT1.Text:=STRINGREPLACE(EDIT1.TEXT,leuuid.text,'',[]);
      EDIT1.Text:=STRINGREPLACE(EDIT1.TEXT,'&ID=','',[]);
      EDIT1.Text:=STRINGREPLACE(EDIT1.TEXT,'?RE=','',[]);
      IF COPY(EDIT1.Text,13,1)='&' then leemisor.Text:=copy(edit1.text,0,12) else leemisor.Text:=copy(edit1.text,0,13);
      EDIT1.Text:=STRINGREPLACE(EDIT1.TEXT,leemisor.text,'',[]);
      EDIT1.Text:=STRINGREPLACE(EDIT1.TEXT,'&RR=','',[]);
      IF COPY(EDIT1.Text,13,1)='&' then lereceptor.Text:=copy(edit1.text,0,12) else lereceptor.Text:=copy(edit1.text,0,13);
      EDIT1.Text:=STRINGREPLACE(EDIT1.TEXT,lereceptor.text,'',[]);
      EDIT1.Text:=STRINGREPLACE(EDIT1.TEXT,'&TT=','',[]);
      lemonto.text:=edit1.text;
      edit1.clear;
      bbverifica.Click;
      END;
      EDIT1.CLEAR;
END;
También si se tiene configurado tu lector de 2d que al final de la lectura envié un CR se puede añadir este código en los eventos (OnKeyDown) del edit1 este código

Código: Seleccionar todo

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  CASE KEY OF
  VK_RETURN:IF EDIT1.TEXT<>'' THEN SCAN;
  END;
end;


Re: (Nuevo) Web Service para Validar del SAT

Publicado: Mar Mar 18, 2014 2:49 pm
por squirre2k
Buen día a todos,
me gustaría añadir al código que aportaron en C# , la recomendación de poner esto en el constructor

BasicHttpSecurityMode securityMode = BasicHttpSecurityMode.
BasicHttpBinding binding = new BasicHttpBinding(securityMode);
binding.MaxReceivedMessageSize = int.MaxValue;
binding.MaxBufferSize = int.MaxValue;
_clientSat = new AddsMozartLibrary.ConsultaCfdiSatRef.ConsultaCFDIServiceClient(binding,
new EndpointAddress("https://consultaqr.facturaelectronica.s ... ervice.svc"));
:D

Salu2!

Re: (Nuevo) Web Service para Validar del SAT

Publicado: Mié Abr 23, 2014 6:42 pm
por RobertTol
Buen día...

Nunca he trabajado con web services, todas mis aplicaciones están en vb6, alguien me puede orientar con un breve ejemplo de como consumir este ws del SAT desde vb6?

Re: (Nuevo) Web Service para Validar del SAT

Publicado: Mié Abr 30, 2014 11:26 am
por cuicky
Yo lo implemente en python y funciona bastante bien, hasta que, me llego un rfc con el signo & y la peticion no es tomada de la manera correcta...
cadena = "?re=rfcEmisor&rr=rfcReceptor&tt=total&id=uuid"
un rfc contiene este signo y al parecer el web service confunde el amspersand del rfc con el de otro parametro... ya intente de mil maneras, escapando el caracter, colocando &, %26, etc y nada...
Alguna idea??
Saludos ;)

Re: (Nuevo) Web Service para Validar del SAT

Publicado: Mié Abr 30, 2014 11:29 am
por Dado
Encierra tus datos usando la seccion [CDATA] y envialo literal, sin codificarlo

<tem:expresionImpresa>
<![CDATA[?re=BEN9501023I0&rr=SA&M8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075]]>
</tem:expresionImpresa>

Re: (Nuevo) Web Service para Validar del SAT

Publicado: Mié Abr 30, 2014 5:10 pm
por cuicky
hola buenas tardes, les ha pasado que en la cadena, el rfc contiene un &?
ya intente segun el anexo 20 sustituir por &, %26, etc y nada... alguna idea?
Saludos :)

Re: (Nuevo) Web Service para Validar del SAT

Publicado: Mié Abr 30, 2014 6:25 pm
por RickAlanis
Culcky:

Haz exactamente como te dice DADO. La información la metes sin tener que poner el ";&amp" ni nada, lo metes directo, pero con el [cDATA] que es precisamente para indicarle al XML que tome los datos TAL CUAL.

Inténtalo y verás que no tienes que transformar nada...