Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Factura Electronica Paraguay - SIFEN (https://www.clubdelphi.com/foros/showthread.php?t=95864)

marioerp 09-08-2023 16:41:55

Ruc
 
Ejecutando hasta la linea
ssRequest.WriteString(SobreSoap('rEnviConsRUC', RUC, Random(1000)));

Me da este error.

Project ConsultarRuc.exe raised exception class ESOAPHTTPException with message 'Error (400) - 'https://sifen.set.gov.py/de/ws/consultas/consulta-ruc.wsdl?wsdl''.

valores:
defWSDL = '';

defURL := 'https://sifen.set.gov.py/de/ws/consultas/consulta-ruc.wsdl?wsdl';
...
Estos valores no sera el problema, esta bien?

JCz 09-08-2023 17:21:52

Cita:

Empezado por marioerp (Mensaje 552291)
Ejecutando hasta la linea
ssRequest.WriteString(SobreSoap('rEnviConsRUC', RUC, Random(1000)));

Me da este error.

Project ConsultarRuc.exe raised exception class ESOAPHTTPException with message 'Error (400) - 'https://sifen.set.gov.py/de/ws/consultas/consulta-ruc.wsdl?wsdl''.

valores:
defWSDL = '';

defURL := 'https://sifen.set.gov.py/de/ws/consultas/consulta-ruc.wsdl?wsdl';
...
Estos valores no sera el problema, esta bien?

Buenas
defURL de ser https://sifen.set.gov.py/de/ws/consu...sulta-ruc.wsdl quita el ?wsdl al final.

Saludos.

marioerp 09-08-2023 18:49:44

Consulta de ruc
 
Es correcta, la direccion era el problema, osea el ultimo problema, ya trae los datos, aprovechando vas variables ya se puede mostrar.

JCz, si puedes, podrias escribirme a mi correo yousyus13@gmail.com o pasame el tuyo, quisiera adraderte mejor.

JCz 04-10-2023 13:25:29

XML de Eventos
 
1 Archivos Adjunto(s)
Buenas

Paso xml de ejemplo de como generar los xml de los eventos de Cancelación e Inutilización.

Cancelación seria lo mismo de anular una factura pre impresa (Aplica solamente a D.E. aprobados por el SIFEN)

Inutilización es para inutilizar una numeración o rango de numeraciones, ya sea por D.E. rechazado insalvable o tambien por saltear una numeración o rango de numeraciones.

Saludos.

nous 08-01-2024 02:46:44

Valores con acentos Ej: ó
 
JCz Primeramente quiero agradecerte por tus aportes, a los que estamos tratando de utilizar Delphi para conectarnos al SIFEN

Tengo una consulta como se enviaría los casos de Acentos Ej: La Factura Electrónica no se utilizo., estoy ya días tratando de solucionar este tema pero mis esfuerzo fueron siempre error 400 ósea no conecta al Servicio, para los casos de Texto con Acentos

Específicamente para los eventos de Inutilización. Te agradecería como los estas manejando eso.

JCz 08-01-2024 12:56:35

Cita:

Empezado por nous (Mensaje 553879)
JCz Primeramente quiero agradecerte por tus aportes, a los que estamos tratando de utilizar Delphi para conectarnos al SIFEN

Tengo una consulta como se enviaría los casos de Acentos Ej: La Factura Electrónica no se utilizo., estoy ya días tratando de solucionar este tema pero mis esfuerzo fueron siempre error 400 ósea no conecta al Servicio, para los casos de Texto con Acentos

Específicamente para los eventos de Inutilización. Te agradecería como los estas manejando eso.

Buen Dia

No había caído en cuenta de tal error, realice una prueba y efectivamente; si envías un texto con tilde retorna error 400; incluso si conviertes en UTF8.

Como la inutilización la uso sólo en caso de DE rechazados; tenía como texto fijo un valor sin tilde por ello no me di cuenta.

Si alguien pudo enviar estaría bueno comentar como lo hizo; ya probé varias formas y me retorna siempre error 400

Saludos.

JCz 08-01-2024 17:40:44

Cita:

Empezado por JCz (Mensaje 553889)
Buen Dia

No había caído en cuenta de tal error, realice una prueba y efectivamente; si envías un texto con tilde retorna error 400; incluso si conviertes en UTF8.

Como la inutilización la uso sólo en caso de DE rechazados; tenía como texto fijo un valor sin tilde por ello no me di cuenta.

Si alguien pudo enviar estaría bueno comentar como lo hizo; ya probé varias formas y me retorna siempre error 400

Saludos.



Código Delphi [-]
procedure TdmRIO.BeforeExecute(const MethodName: string;
  SOAPRequest: TStream);
begin

    SOAPRequest.Size:=0;
    ssResponse:=TStringStream.Create(UTF8Encode(ssRequest.DataString));
    SOAPRequest.Position := 0;
    SOAPRequest.CopyFrom( ssResponse, ssResponse.Size);
    ssResponse.Free;
    SOAPRequest.Position := 0;
end;

Buenas; referente a la consulta; por algún motivo delphi modifica la codificación antes de enviar el archivo; por ello agregué UTF8Encode otra vez antes de enviar.


Con ello solucioné el error.


Espero te sirva.


Saludos

nous 09-01-2024 15:34:24

Siii sr. con eso me funciono perfectamente!!!! Gracias Totales!!!!

lucasvaz25 09-07-2024 20:49:43

dificultades para enviar el DE
 
Estimados, he comenzado el desarrollo del envío del DE al SIFEN, pero tengo dificultades para consumir el WS. Si alguien puede ayudarme, se lo agradezco.Soy nuevo en el foro, si estoy haciendo algo mal, pido disculpas.

JCz 09-07-2024 20:52:53

Cita:

Empezado por lucasvaz25 (Mensaje 556618)
Estimados, he comenzado el desarrollo del envío del DE al SIFEN, pero tengo dificultades para consumir el WS. Si alguien puede ayudarme, se lo agradezco.Soy nuevo en el foro, si estoy haciendo algo mal, pido disculpas.

Hola Lucas
Como lo estás intentando? Tenes algo hecho? Con que versión de Delphi estás trabajando?; son consultas básicas para saber donde estás parado, pues tu consulta es algo genérica.

lucasvaz25 09-07-2024 20:53:38

sigue mi código de envio
 
Código Delphi [-]
FHttpRio.HTTPWebNode.URL        := Url;
 FHttpRio.HTTPWebNode.SOAPAction := ''; // URLSoapAction + Qualificador;
 Acao := TStringList.Create;
  try
    Acao.Text := SOAP;
    Acao.SaveToFile( 'P:\prueba.xml' );
    Stream := TMemoryStream.Create;
    try
      FHttpRio.HTTPWebNode.Execute( Acao.Text, Stream );
      StrStream := TStringStream.Create( '', TEncoding.UTF8 );
      try
        StrStream.LoadFromStream( Stream );
        Resposta := TStringList.Create;
        try
          Resposta.Delimiter := '|';
          Resposta.Text      := StrStream.DataString;
          LTempXMLDoc := LoadXMLData( Resposta.Text );
          Node        := LTempXMLDoc.DocumentElement;
          if Node.ChildNodes.Count = 2 then
            Node := Node.ChildNodes[ 1 ].ChildNodes[ 0 ].ChildNodes[ 0 ]
          else if Node.ChildNodes.Count = 1 then
            Node := Node.ChildNodes[ 0 ].ChildNodes[ 0 ].ChildNodes[ 0 ];
          Result := Node.XML;
        finally
          Resposta.Free;
        end;
      finally
        StrStream.Free;
      end;
    finally
      Stream.Free;
    end;
  finally
    Acao.Free;
  end;

lucasvaz25 09-07-2024 20:59:15

Utilizo la versión Delphi 10.4, ya logré armar el XML, también tenía problemas con la firma, pero los pude resolver. Finalmente, al intentar probar el envío, siempre devuelve el error 400.

JCz 09-07-2024 21:18:29

1 Archivos Adjunto(s)
Cita:

Empezado por lucasvaz25 (Mensaje 556620)
Código Delphi [-]
FHttpRio.HTTPWebNode.URL        := Url;
 FHttpRio.HTTPWebNode.SOAPAction := ''; // URLSoapAction + Qualificador;
 Acao := TStringList.Create;
  try
    Acao.Text := SOAP;
    Acao.SaveToFile( 'P:\prueba.xml' );
    Stream := TMemoryStream.Create;
    try
      FHttpRio.HTTPWebNode.Execute( Acao.Text, Stream );
      StrStream := TStringStream.Create( '', TEncoding.UTF8 );
      try
        StrStream.LoadFromStream( Stream );
        Resposta := TStringList.Create;
        try
          Resposta.Delimiter := '|';
          Resposta.Text      := StrStream.DataString;
          LTempXMLDoc := LoadXMLData( Resposta.Text );
          Node        := LTempXMLDoc.DocumentElement;
          if Node.ChildNodes.Count = 2 then
            Node := Node.ChildNodes[ 1 ].ChildNodes[ 0 ].ChildNodes[ 0 ]
          else if Node.ChildNodes.Count = 1 then
            Node := Node.ChildNodes[ 0 ].ChildNodes[ 0 ].ChildNodes[ 0 ];
          Result := Node.XML;
        finally
          Resposta.Free;
        end;
      finally
        StrStream.Free;
      end;
    finally
      Stream.Free;
    end;
  finally
    Acao.Free;
  end;


Consulta; Tienes el certificado para la firma del XML y comunicación con el SIFEN?

Llegaste a consumir el webservice de Consulta de RUC? la pregunta va pues es el webservice más básico y si lograste consumir el mismo es que vas por buen camino.

te paso como consumo el webservice de consulta de RUC, te servirá para empezar.

Saludos

lucasvaz25 09-07-2024 21:30:24

Cita:

Empezado por JCz (Mensaje 556622)
Consulta; Tienes el certificado para la firma del XML y comunicación con el SIFEN?

Llegaste a consumir el webservice de Consulta de RUC? la pregunta va pues es el webservice más básico y si lograste consumir el mismo es que vas por buen camino.

te paso como consumo el webservice de consulta de RUC, te servirá para empezar.

Saludos

Aún no he logrado consumir ningún servicio, pero tengo el certificado. Empezaré por esa parte entonces. Iré informando sobre mi progreso. Agradezco el soporte.

lucasvaz25 10-07-2024 19:34:46

Gracias!!
 
Buenas tardes, estimados. Me gustaría, en primer lugar, agradecer la ayuda, ya que pude realizar la comunicación con el ws. Algunos datos de la documentación están desactualizados y eso estaba causando la dificultad. Ahora tengo algunas cosas que resolver.
Por ejemplo, el retorno del Sifen al transmitir FE es que el valor del campo dDesTiDE es inválido, Pero el valor informado es el que consta en la documentación: Factura electrónica.
¿Alguien ha pasado por esto?

JCz 10-07-2024 20:10:21

Cita:

Empezado por lucasvaz25 (Mensaje 556644)
Buenas tardes, estimados. Me gustaría, en primer lugar, agradecer la ayuda, ya que pude realizar la comunicación con el ws. Algunos datos de la documentación están desactualizados y eso estaba causando la dificultad. Ahora tengo algunas cosas que resolver.
Por ejemplo, el retorno del Sifen al transmitir FE es que el valor del campo dDesTiDE es inválido, Pero el valor informado es el que consta en la documentación: Factura electrónica.
¿Alguien ha pasado por esto?

Pasa tu xml para mirar como lo envias; tené en cuenta la codificación tambien que debe ser en UTF8 para que te acepte las tildes y ñ.

Saludos.

lucasvaz25 10-07-2024 20:35:31

1 Archivos Adjunto(s)
Cita:

Empezado por JCz (Mensaje 556646)
Pasa tu xml para mirar como lo envias; tené en cuenta la codificación tambien que debe ser en UTF8 para que te acepte las tildes y ñ.

Saludos.

Archivo Adjunto 4188 sigue el xml.

JCz 10-07-2024 20:58:40

Cita:

Empezado por lucasvaz25 (Mensaje 556651)
Archivo Adjunto 4188 sigue el xml.

está dañado el archivo; ten en cuenta lo del cambio de codificación, unos mensajes más arriba comentado.

JCz 10-07-2024 20:59:16

Cita:

Empezado por JCz (Mensaje 553899)
Código Delphi [-]
procedure TdmRIO.BeforeExecute(const MethodName: string;
  SOAPRequest: TStream);
begin

    SOAPRequest.Size:=0;
    ssResponse:=TStringStream.Create(UTF8Encode(ssRequest.DataString));
    SOAPRequest.Position := 0;
    SOAPRequest.CopyFrom( ssResponse, ssResponse.Size);
    ssResponse.Free;
    SOAPRequest.Position := 0;
end;

Buenas; referente a la consulta; por algún motivo delphi modifica la codificación antes de enviar el archivo; por ello agregué UTF8Encode otra vez antes de enviar.


Con ello solucioné el error.


Espero te sirva.


Saludos



me referia a este

lucasvaz25 18-07-2024 21:51:53

1101: TEST - Número de timbrado inválido
 
Estoy utilizando el timbrado válido de un cliente en un entorno de prueba, pero la respuesta de Sifen indica que es inválido. ¿Alguien ha pasado por esta situación?


La franja horaria es GMT +2. Ahora son las 02:10:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi