Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


CARTA PORTE V3.1

ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03


.

(Nuevo) Web Service para Validar del SAT

Cualquier cambio que haga el SAT referente a la F.E. sera comentada aqui
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje por Dado »

Gracias por tu aportacion, lo voy a descargar, siempre hay algo que podemos aprender de los demas.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
spaniaguag
Mensajes: 137
Registrado: Vie Oct 08, 2010 3:12 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje por spaniaguag »

!Gracias!

Excelente aporte .........
s3cr3to
Mensajes: 502
Registrado: Mar Dic 28, 2010 1:12 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje 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;
...
Adjuntos
v0_2d.zip
(34.46 KiB) Descargado 709 veces
Pelonchas
Mensajes: 5
Registrado: Jue Jul 05, 2012 4:25 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje 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;

squirre2k
Mensajes: 9
Registrado: Lun Jun 06, 2011 8:23 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje 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!
RobertTol
Mensajes: 1
Registrado: Mié Abr 23, 2014 6:40 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje 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?
cuicky
Mensajes: 2
Registrado: Mié Abr 30, 2014 11:21 am

Re: (Nuevo) Web Service para Validar del SAT

Mensaje 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 ;)
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje 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>
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
cuicky
Mensajes: 2
Registrado: Mié Abr 30, 2014 11:21 am

Re: (Nuevo) Web Service para Validar del SAT

Mensaje 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 :)
RickAlanis
Mensajes: 288
Registrado: Jue Ago 04, 2011 8:41 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje 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...
Cerrado