Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #221  
Antiguo 24-06-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Datos básicos Face.
Por si os sirve de guía.
He estado haciendo un seguimiento de los datos que suelen pedir las facturas electronicas B2G o sea Face, a parte de los datos habituales cif. Nombre, dirección... para ponérselo fácil a los vendedores en el tema de catering y hostelería.
Estos son los datos que suelen pedir:
Dato para Transferencia, número de comensales y precio por cada uno, referencia o contrato y los 3 ó 4 dir principales.
Así que lo que hago es que a los vendedores les pongo solo eso para rellenarl y lo envío a la central nuestra, donde pasa por otro filtro en el que ya un administrativo repasa y añade si falta algo y si tiene que modificar firma y palante.
No veía que un vendedor lo envíe directamente, se puede liar.
Como lo veis?

Última edición por ermendalenda fecha: 24-06-2024 a las 17:42:26.
Responder Con Cita
  #222  
Antiguo 25-06-2024
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
elcharlie Va por buen camino
Buenas a tod@s,
Hace tiempo tenia un prototipo que consultaba las unidades, enviaba facturas, etc, sin problema, pero ahora cuando lo envio, me indica que la peticion no esta firmada.
¿Que ha cambiado?, ¿Alguien sabe algo?,
Lo que hacia antes, era en el proceso anterior al envio firmaba el contenido con secure black box y lo enviaba, pero ahora no sé que ha cambiado, he intentado enviar la comunion firmada del Thttprio y aun asi, no sé si alguien me puede decir algo
Responder Con Cita
  #223  
Antiguo 25-06-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Hola.
Firmas el soap de la petición?
Responder Con Cita
  #224  
Antiguo 25-06-2024
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
elcharlie Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Hola.
Firmas el soap de la petición?
Firmo el header del soap en el OnBeforeExecute del objeto THTTPRIO.
Pero vamos, que eso funcionaba bien....
Responder Con Cita
  #225  
Antiguo 25-06-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por elcharlie Ver Mensaje
Firmo el header del soap en el OnBeforeExecute del objeto THTTPRIO.
Pero vamos, que eso funcionaba bien....
Es raro. Ese error da si intentas mandar un soap sin firma.
Otra cosa es que te diga que no existe usuario asociado al certificado. Que entonces estaría bien firmada pero no te has dado de alta

No parece que se esté firmando la petición, revisa que el certificado está correcto
Responder Con Cita
  #226  
Antiguo 25-06-2024
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
elcharlie Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Es raro. Ese error da si intentas mandar un soap sin firma.
Otra cosa es que te diga que no existe usuario asociado al certificado. Que entonces estaría bien firmada pero no te has dado de alta

No parece que se esté firmando la petición, revisa que el certificado está correcto
Veo el xml resultante y esta firmado. Ya no sé...
LLevo toda la mañana y no veo la luz.
Responder Con Cita
  #227  
Antiguo 25-06-2024
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
elcharlie Va por buen camino
A ver si alguien me puede ayudar, porque ya no sé que esto haciendo mal.
Esto es lo que hago, firmo con secure black box

Código Delphi [-]
procedure TFrMain.ButtonEjecutarClick(Sender: TObject);
var
  SoapHeader: TSOAPHeader;
  SOAPRequester: FacturaSSPPWebServiceProxyPort;
  I: Integer;
  DatoEntrada: string;

  ConsultarUnidadesRespuesta: ConsultarRelacionesResponse;
  ConsultarRelacionesPorAdministracionRespuesta: ConsultarRelacionesPorAdministracionResponse;
  ConsultarNIFsRespuesta: ConsultarNIFsResponse;
  ConsultarNIFsPorAdministracionRespuesta: ConsultarNIFsPorAdministracionResponse;
  ConsultarEstadoRespuesta: ConsultarEstadosResponse;

  ReceiverEnviarFactura: EnviarFacturaResponse;
  SenderEnviarFactura: EnviarFacturaRequest;
  Anexos: ArrayOfAnexoFile;
  Anexo: AnexoFile;
  SelecFile: TOpenDialog;

  ConsultarFacturaRespuesta: ConsultarFacturaResponse;
begin
  try
    TxtResult.Lines.Clear;

    GD_HTT_PRIO := THTTPRIO.Create(nil);

    GD_HTT_PRIO.WSDLLocation := DEF_FWSDL_PRUEBAS;
    GD_HTT_PRIO.URL := DEF_URL_PRUEBAS;
    GD_HTT_PRIO.Service := DEF_SERVICE_PRUEBAS;
    GD_HTT_PRIO.Port := DEF_PORT_PRUEBAS;

    SoapHeader := TSOAPHEADER.create;
    GD_HTT_PRIO.SOAPHeaders.Send(SoapHeader);

    TCustomProcedureFACE.NumSerial := BinToStr((ComboBoxCertificadosEnvio.Items.Objects[ComboBoxCertificadosEnvio.ItemIndex] as TsbxCertificate).SerialNumber);
    TCustomProcedureFACE.RutaResultado := EdtRutaRespuesta.Text;

    GD_HTT_PRIO.HTTPWebNode.ClientCertificate.SerialNum := BinToStr((ComboBoxCertificadosEnvio.Items.Objects[ComboBoxCertificadosEnvio.ItemIndex] as TsbxCertificate).SerialNumber);

    GD_HTT_PRIO.OnBeforeExecute := TCustomProcedureFACE.BeforeExecute;
    GD_HTT_PRIO.OnAfterExecute := TCustomProcedureFACE.AfterExecute;

    SOAPRequester := (GD_HTT_PRIO as FacturaSSPPWebServiceProxyPort);

    case ComboBoxFunciion.ItemIndex of
      0: begin //Consultar Unidades
        ConsultarUnidadesRespuesta := SOAPRequester.consultarUnidades;

        if (Trim(ConsultarUnidadesRespuesta.resultado.codigo) = '0') then
        begin
          for I := Low(ConsultarUnidadesRespuesta.relaciones) to High(ConsultarUnidadesRespuesta.relaciones) do
          begin
            TxtResult.Lines.Add('Oficina Contable: ' + ConsultarUnidadesRespuesta.relaciones[i].oficinaContable.codigo +
              ' ' + ConsultarUnidadesRespuesta.relaciones[i].oficinaContable.nombre);
            TxtResult.Lines.Add('Organo Gestor: ' + ConsultarUnidadesRespuesta.relaciones[i].organoGestor.codigo +
              ' ' + ConsultarUnidadesRespuesta.relaciones[i].organoGestor.nombre);
            TxtResult.Lines.Add('Unidad Tramitadora: ' + ConsultarUnidadesRespuesta.relaciones[i].unidadTramitadora.codigo +
              ' ' + ConsultarUnidadesRespuesta.relaciones[i].unidadTramitadora.nombre);
            TxtResult.Lines.Add('');
          end;
        end
        else
        begin
          TxtResult.Lines.Add('ERROR:');
          TxtResult.Lines.Add(ConsultarUnidadesRespuesta.resultado.codigo + '-' +
            ConsultarUnidadesRespuesta.resultado.descripcion + ' (' +
            ConsultarUnidadesRespuesta.resultado.codigoSeguimiento + ')');
        end;
      end;

      1: begin //Consultar Unidades por Administracion
       .......

  SOAPRequester := nil;
    SoapHeader.Free;
    GD_HTT_PRIO := nil;

  except on E: Exception do
    ShowMessage('ButtonEjecutarClick: ' + e.ToString);
  end;
end;

y luego el onbefore y onafter

Código Delphi [-]
class procedure TCustomProcedureFACE.BeforeExecute(const MethodName: string;
  SOAPRequest: TStream);
var
  SS: TStringStream;
  FSOAPSigner: TsbxSOAPSigner;
  OutPut: TBytes;

  Cert : TsbxCertificate;
  I: Integer;

  function StreamToBytes(Stream: TStream): TBytes;
  begin
    SetLength(Result, Stream.Size);
    Stream.Position := 0;
    Stream.ReadBuffer(Result[0], Stream.Size);
  end;

 
begin
  try
    FSOAPSigner := TsbxSOAPSigner.Create(nil);
    FSOAPSigner.InputBytes := StreamToBytes(SOAPRequest);
    FSOAPSigner.OutputFile := RutaResultado + PathDelim + FILE_TEMP_OUTPUT;

    if trim(NumSerial) = EmptyStr then
    begin
      ShowMessage('Error SignXML: ' + 'No existe el Certificado');
      Exit;
    end;

    for I := 0 to GD_ListaCertificados.Count-1 do
    begin
      if BinToStr(GD_ListaCertificados[i].SerialNumber) = NumSerial then
      begin
        Cert := GD_ListaCertificados[i];
        Break;
      end;
    end;

    if not Assigned(Cert) then
    begin
      ShowMessage('Error SignXML: ' + 'No se encuentra el Certificado');
      Exit;
    end;

    FSOAPSigner.SigningCertificate := Cert;

    FSOAPSigner.NewSignature.SignatureType := sstWSSSignature;
    FSOAPSigner.NewSignature.HashAlgorithm := 'SHA1';
    FSOAPSigner.EmbedCertificateMethod := cwecInBinarySecurityToken;
    FSOAPSigner.Config('XMLFormatting=auto');

    //FSOAPSigner.AddBodyReference('', true);
    FSOAPSigner.Sign();

    if FileExists(RutaResultado + PathDelim + FILE_TEMP_OUTPUT) then
    begin
      SS := TStringStream.Create;
      SS.LoadFromFile(RutaResultado + PathDelim + FILE_TEMP_OUTPUT);

      FrMain.TxtRequest.Lines.Clear;
      FrMain.TxtRequest.Lines.Add(SS.DataString);
      FrMain.TxtRequest.Lines.Add('');

      SOAPRequest.Position := 0;
      SOAPRequest.CopyFrom(SS,SS.Size);

      SS.Free;
    end;

  except on E: Exception do
    ShowMessage('Error en BeforeExecute: ' + e.ToString);
  end;

end;


class procedure TCustomProcedureFACE.AfterExecute(const MethodName: string;
  SOAPResponse: TStream);
var
  SS: TStringStream;
begin
  try
    if FileExists(RutaResultado + PathDelim + FILE_RESULT_NAME) then
      DeleteFile(RutaResultado + PathDelim + FILE_RESULT_NAME);

    SS := TStringStream.Create('', TEncoding.UTF8);
    SOAPResponse.Position := 0;
    SS.CopyFrom(SOAPResponse, SOAPResponse.Size);
    FrMain.TxtResponse.Lines.Clear;
    FrMain.TxtResponse.Text := SS.DataString;
    SS.SaveToFile(RutaResultado + PathDelim + FILE_RESULT_NAME);
    SS.Free;
  except on E: Exception do
    ShowMessage('Error en AfterExecute: ' + e.ToString);
  end;
end;

A ver si alguien me puede echar una mano, porque esto da error "La petición no esta firmada"

Última edición por elcharlie fecha: 25-06-2024 a las 14:22:54.
Responder Con Cita
  #228  
Antiguo 26-06-2024
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
elcharlie Va por buen camino
Bueno, pues ya está solucionado. No me digas el por qué, pero si lo compilo desde una version mas antigua de delphi, me funciona perfectamente, Pero en cambio desde Delphi 12.1, da error.
No sé si es un error del objeto THTTPRIO o, probablemente, algo que haya que configurar en las versiones nuevas. No sé. Si alguien se le ocurre algo, pues se agradeceria.
Responder Con Cita
  #229  
Antiguo 26-06-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por elcharlie Ver Mensaje
Bueno, pues ya está solucionado. No me digas el por qué, pero si lo compilo desde una version mas antigua de delphi, me funciona perfectamente, Pero en cambio desde Delphi 12.1, da error.
No sé si es un error del objeto THTTPRIO o, probablemente, algo que haya que configurar en las versiones nuevas. No sé. Si alguien se le ocurre algo, pues se agradeceria.
Pues se me ocurre que es algo que no está correctamente registrado para el nuevo compilador. No creo que sea configuración de parámetros. Si nl más bien componentes dll, ocx... que tienen problemas
Responder Con Cita
  #230  
Antiguo 26-06-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Hola, he visto que esto se está apagando un poco
Eso quiere decir que teneis poco curro con esto de la fiscalidad.
Pues hay novedades, con los ivas.
El aceite pasa al 0% y al grupo d eiva súper reducido. Eso es lo de menos

El 1 de octubre todo lo que esté al 0% por el Real decreto pasará al 2.5% de iva lo del 5% al 7.5% con sus correspondientes recargos de equivalencia aún por definir. Y a final de año se acaban los descuentos. Menos el aceite que se queda en iva súper reducido al 4%.
Lo mejor de todo esto es que tendremos que poner abajo de la factura el descuento que se esta obteniendo y mencion al Real decreto
Ánimo chavales.

Postdata:
Traspaso licencia de desarrollador

Última edición por ermendalenda fecha: 26-06-2024 a las 17:21:49.
Responder Con Cita
  #231  
Antiguo 26-06-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 260
Poder: 5
antoine0 Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
El 1 de octubre todo lo que esté al 0% por el Real decreto pasará al 2.5% de iva
En un gran esfuerza para animarte, el gobierno ha decidido redondear y dejar el IVA superreducido en octubre al 2%.
Responder Con Cita
  #232  
Antiguo 26-06-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por antoine0 Ver Mensaje
En un gran esfuerza para animarte, el gobierno ha decidido redondear y dejar el IVA superreducido en octubre al 2%.
Se me ha puesto la piel de gallina.
Más bien alguien ha usado la calculadora para ver qué entre el 0 y el 4 sale el 2 para ir en 2 pasos
Al igual que entre el 5 y el 10 el 7.5
Los matemáticos que desarrollan las propuestas de las órdenes ministeriales deben ser becarios.
Responder Con Cita
  #233  
Antiguo 26-06-2024
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Responder Con Cita
  #234  
Antiguo 26-06-2024
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Entonces, por lo que he entendido, ahora el 10 pasa al 5 y el 4 pasa al 2.
Luego deja de existir el 10 que se convierte en 7.5 y deja de existir el 4 que se convierte en 2.
Por lo que ahora tenemos 21, 10 y 4
Luego tendremos 21, 7.5 y 2

Lo único bueno es que baja impuestos.
Aunque lo mismo el 21 lo suben al 25, quién sabe.
Responder Con Cita
  #235  
Antiguo 26-06-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Entonces, por lo que he entendido, ahora el 10 pasa al 5 y el 4 pasa al 2.
Luego deja de existir el 10 que se convierte en 7.5 y deja de existir el 4 que se convierte en 2.
Por lo que ahora tenemos 21, 10 y 4
Luego tendremos 21, 7.5 y 2

Lo único bueno es que baja impuestos.
Aunque lo mismo el 21 lo suben al 25, quién sabe.
No.
El 4% actualmente está al 0% y continuará al 0 hasta octubre que lo vuelvan a subir en 2 pasos. Primero al 2 y después al 4%
Algunos artículos del 10%: pasta, ... están rebajados de iva del 10% al 5% y hagan lo mismos en octubre pasta...subirán en octubre al 7.5 y volverán al 10%
Actualmente tenemos el 0% 5,% 10% y 21.
%
En octubre 0% el 2% el 7.5% , 10% y 21%
No se como andam otros ivas de regimenes especiales, hablo solo dr los habituales.

Está muy guay los descuentos, pero si haces las cuentas son míseros y son para volverse locos y lo único que hacen es para que los empresarios puedan jugar con estos cambios liando al consumidor y finalmente que solo repercutan en subidas.
Responder Con Cita
  #236  
Antiguo 26-06-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 260
Poder: 5
antoine0 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Luego tendremos 21, 7.5 y 2
Mmmm, no. Demasiado sencillo.
Entre octubre y diciembre, para las facturas "normales", tendremos 21, 7.5, 5 y 2.
Luego para las rectificativas que rectifican facturas emitidas antes del 2023, tendremos 21, 10, (5) y 4.
Y para las que rectifican facturas emitidas en 2023 o antes del 30/9/24, tendremos 21, 10, 5 y 0.

Después del Año nuevo, habrá que invertir los tipos del 1 y del 2. Más o menos.

Estoy simplificando, claro. Hay otros casos que pueden añadirse, recargos de equiv[CENSURADO]
Responder Con Cita
  #237  
Antiguo 27-06-2024
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
elcharlie Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Pues se me ocurre que es algo que no está correctamente registrado para el nuevo compilador. No creo que sea configuración de parámetros. Si nl más bien componentes dll, ocx... que tienen problemas
Si, es como que las modificaciones que se hagan el evento BeforeExecute, no las aplique en el envio. Da igual lo que modifiques que envia el SOAPRequest original.
Supongo que será un error que arreglaran en un futuro.
Responder Con Cita
  #238  
Antiguo 27-06-2024
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.229
Poder: 24
keys Va por buen camino
Y sus consiguientes cambios en los modelos de iva 390 y 303.
Responder Con Cita
  #239  
Antiguo 29-06-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Ayuda please.
1 cliente de Face se me ha quejado por mandarle una factura sustitutiva de un tiquet por face. Me dice que quiere factura ordinaria.
En face está la opción factura completa u ordinaria, que es la que marcó para la factura sustitutiva, estoy haciendo algo mal?
Responder Con Cita
  #240  
Antiguo 02-07-2024
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
elcharlie Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Ayuda please.
1 cliente de Face se me ha quejado por mandarle una factura sustitutiva de un tiquet por face. Me dice que quiere factura ordinaria.
En face está la opción factura completa u ordinaria, que es la que marcó para la factura sustitutiva, estoy haciendo algo mal?
Yo creo que a FACE solo se puede enviar Facturas, no Facturas simplificadas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Facturas Electronicas Argentina Chaja Varios 3 10-07-2015 19:15:05
Agregar Adendas a Facturas electronicas mexico reypcs Varios 0 20-01-2011 16:26:10
Tabla de Facturas vs Detalles de Facturas magnu9 Conexión con bases de datos 9 27-07-2007 17:27:37
Comunicaciones electronicas EDI Toni Conexión con bases de datos 0 18-04-2006 13:06:34
Campos calculados, facturas y detalles de facturas. Letty Conexión con bases de datos 7 07-11-2003 11:19:44


La franja horaria es GMT +2. Ahora son las 13:59:32.


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