Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-12-2019
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.054
Poder: 22
keys Va por buen camino
Acaban de enviar la información definitiva de Ticket Bai.

La hacienda de Gupizkoa ya lo tiene puesto en su pagina web.


https://www.gipuzkoa.eus/es/web/ogas...generated-id-2

Los plazos se alargan.
Responder Con Cita
  #2  
Antiguo 19-12-2019
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 88
Poder: 8
pablog2k Va por buen camino
gracias keys, vamos a echarle un vistazo

"En el caso de los/las contribuyentes guipuzcoanos/as, tan pronto se emita la factura, el programa remitirá el archivo XML-TBAI a la Hacienda Foral de Gipuzkoa, es decir, la remisión será online.
Ello conllevará que debe tenerse acceso a internet."

esto quiere decir que no se pueden enviar después? como se había planteado por aquí.
me parece un poco fuerte....

Última edición por pablog2k fecha: 19-12-2019 a las 13:56:00.
Responder Con Cita
  #3  
Antiguo 19-12-2019
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.339
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tal como comenta [keys] han enviado la información definitiva.
Os adjunto a este mensaje los documentos definitivos y las nuevas direcciones de contacto segun las diferenyes administraciones.También enlazaré a esta información desde el hilo principal.

NOTA: Adjunto las versiones en Euskera (que no se diga)...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 03-05-2021 a las 13:59:12.
Responder Con Cita
  #4  
Antiguo 23-12-2019
bilbur bilbur is offline
Miembro
 
Registrado: dic 2019
Posts: 60
Poder: 5
bilbur Va por buen camino
CRC8 conforme a las nuevas especificaciones técnicas de TBAI

Para su implementación en PHP


la función ( algoritmo o clase) para calcular el código CRC8 de comprobación está publicado en JAVA en la nueva documentación técnica de TBAI


Al intentar adaptarlo a PHP, no me devuelve los mismos códigos que en los ejemplos.


Tras investigar (google, foros PHP, etc) tengo un algoritmo que parace que funciona:


Sería este:


function crc8($data)
{

$crc8_table = array(
0x00, 0x07, 0x0e, 0x09, 0x1c, 0x1b, 0x12, 0x15, 0x38, 0x3f, 0x36, 0x31, 0x24, 0x23, 0x2a, 0x2d,
0x70, 0x77, 0x7e, 0x79, 0x6c, 0x6b, 0x62, 0x65, 0x48, 0x4f, 0x46, 0x41, 0x54, 0x53, 0x5a, 0x5d,
0xe0, 0xe7, 0xee, 0xe9, 0xfc, 0xfb, 0xf2, 0xf5, 0xd8, 0xdf, 0xd6, 0xd1, 0xc4, 0xc3, 0xca, 0xcd,
0x90, 0x97, 0x9e, 0x99, 0x8c, 0x8b, 0x82, 0x85, 0xa8, 0xaf, 0xa6, 0xa1, 0xb4, 0xb3, 0xba, 0xbd,
0xc7, 0xc0, 0xc9, 0xce, 0xdb, 0xdc, 0xd5, 0xd2, 0xff, 0xf8, 0xf1, 0xf6, 0xe3, 0xe4, 0xed, 0xea,
0xb7, 0xb0, 0xb9, 0xbe, 0xab, 0xac, 0xa5, 0xa2, 0x8f, 0x88, 0x81, 0x86, 0x93, 0x94, 0x9d, 0x9a,
0x27, 0x20, 0x29, 0x2e, 0x3b, 0x3c, 0x35, 0x32, 0x1f, 0x18, 0x11, 0x16, 0x03, 0x04, 0x0d, 0x0a,
0x57, 0x50, 0x59, 0x5e, 0x4b, 0x4c, 0x45, 0x42, 0x6f, 0x68, 0x61, 0x66, 0x73, 0x74, 0x7d, 0x7a,
0x89, 0x8e, 0x87, 0x80, 0x95, 0x92, 0x9b, 0x9c, 0xb1, 0xb6, 0xbf, 0xb8, 0xad, 0xaa, 0xa3, 0xa4,
0xf9, 0xfe, 0xf7, 0xf0, 0xe5, 0xe2, 0xeb, 0xec, 0xc1, 0xc6, 0xcf, 0xc8, 0xdd, 0xda, 0xd3, 0xd4,
0x69, 0x6e, 0x67, 0x60, 0x75, 0x72, 0x7b, 0x7c, 0x51, 0x56, 0x5f, 0x58, 0x4d, 0x4a, 0x43, 0x44,
0x19, 0x1e, 0x17, 0x10, 0x05, 0x02, 0x0b, 0x0c, 0x21, 0x26, 0x2f, 0x28, 0x3d, 0x3a, 0x33, 0x34,
0x4e, 0x49, 0x40, 0x47, 0x52, 0x55, 0x5c, 0x5b, 0x76, 0x71, 0x78, 0x7f, 0x6a, 0x6d, 0x64, 0x63,
0x3e, 0x39, 0x30, 0x37, 0x22, 0x25, 0x2c, 0x2b, 0x06, 0x01, 0x08, 0x0f, 0x1a, 0x1d, 0x14, 0x13,
0xae, 0xa9, 0xa0, 0xa7, 0xb2, 0xb5, 0xbc, 0xbb, 0x96, 0x91, 0x98, 0x9f, 0x8a, 0x8d, 0x84, 0x83,
0xde, 0xd9, 0xd0, 0xd7, 0xc2, 0xc5, 0xcc, 0xcb, 0xe6, 0xe1, 0xe8, 0xef, 0xfa, 0xfd, 0xf4, 0xf3);

$data = unpack("C*",$data);
$crc = 0x0;
foreach ($data as $d)
$crc = $crc8_table[$d ^ $crc];
$crc = $crc ^ 0x0;
return str_pad(($crc & 0xff),3,"0",STR_PAD_LEFT);
}



Invocado con los dos ejemplos

$TBAIID ='TBAI-00000006Y-251019-btFpwP8dcLGAF-';
$TBAIID = utf8_encode($TBAIID);
echo $TBAIID.'<br>';
echo 'debe ser 237 y es '.crc8($TBAIID).'<br>';

Resultado = 237


$TBAIID = '--batuz.eus/QRTBAI/?id=TBAI-00000006Y-251019-btFpwP8dcLGAF-237&s=T&nf=27174&i=4.70';
$TBAIID = utf8_encode($TBAIID);
echo $TBAIID.'<br>';
echo 'debe ser 007 y es '.crc8($TBAIID).'<br>';

Resultado = 007

Espero que a alguien le sirva


Un saludo
Responder Con Cita
  #5  
Antiguo 23-12-2019
Sistel Sistel is offline
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 373
Poder: 5
Sistel Va por buen camino
Cita:
Empezado por bilbur Ver Mensaje
Para su implementación en PHP
la función ( algoritmo o clase) para calcular el código CRC8 de comprobación está publicado en JAVA en la nueva documentación técnica de TBAI
Al intentar adaptarlo a PHP, no me devuelve los mismos códigos que en los ejemplos.
Tras investigar (google, foros PHP, etc) tengo un algoritmo que parace que funciona:
Sería este:
...
¡¡¡ Genial !!!

Muchas gracias, me viene de perlas.
Responder Con Cita
  #6  
Antiguo 24-12-2019
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.054
Poder: 22
keys Va por buen camino
Hola a todos. Buscando por internet y haciendo pruebas pongo el código para Delphi. Para los dos ejemplos funciona.

Código Delphi [-]
 function crc8(Buffer:String;Polynom,Initial:Cardinal):Cardinal;
var
  i,j : Integer;
begin

 Result:=Initial;
 for i:=1 to Length(Buffer) do begin
   Result:=Result xor ord(buffer[i]);
   for j:=0 to 7 do begin
     if (Result and $80)<>0 then Result:=(Result shl 1) xor Polynom
     else Result:=Result shl 1;
     end;
   end;
 Result:=Result and $ff;
end;

 Crc8('TBAI-00000006Y-251019-btFpwP8dcLGAF-', $07, 0); = '237'
 Crc8('https://batuz.eus/QRTBAI/?id=TBAI-00000006Y-251019-btFpwP8dcLGAF-237&s=T&nf=27174&i=4.70', $07, 0); = '007'
Responder Con Cita
  #7  
Antiguo 26-12-2019
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 174
Poder: 12
elcharlie Va por buen camino
Hola a todos, pues yo también os dejo el código de la función de crc8 en delphi. He intentendo hacerlo lo más parecido al jemplo de Java. Espero que os sirva. Un saludo y Feliz Navidad.
Código Delphi [-]
const
  CRC8_Table: array[0..255] of Byte = (
    $00, $07, $0E, $09, $1C, $1B, $12, $15,
    $38, $3F, $36, $31, $24, $23, $2A, $2D,
    $70, $77, $7E, $79, $6C, $6B, $62, $65,
    $48, $4F, $46, $41, $54, $53, $5A, $5D,
    $E0, $E7, $EE, $E9, $FC, $FB, $F2, $F5,
    $D8, $DF, $D6, $D1, $C4, $C3, $CA, $CD,
    $90, $97, $9E, $99, $8C, $8B, $82, $85,
    $A8, $AF, $A6, $A1, $B4, $B3, $BA, $BD,
    $C7, $C0, $C9, $CE, $DB, $DC, $D5, $D2,
    $FF, $F8, $F1, $F6, $E3, $E4, $ED, $EA,
    $B7, $B0, $B9, $BE, $AB, $AC, $A5, $A2,
    $8F, $88, $81, $86, $93, $94, $9D, $9A,
    $27, $20, $29, $2E, $3B, $3C, $35, $32,
    $1F, $18, $11, $16, $03, $04, $0D, $0A,
    $57, $50, $59, $5E, $4B, $4C, $45, $42,
    $6F, $68, $61, $66, $73, $74, $7D, $7A,
    $89, $8E, $87, $80, $95, $92, $9B, $9C,
    $B1, $B6, $BF, $B8, $AD, $AA, $A3, $A4,
    $F9, $FE, $F7, $F0, $E5, $E2, $EB, $EC,
    $C1, $C6, $CF, $C8, $DD, $DA, $D3, $D4,
    $69, $6E, $67, $60, $75, $72, $7B, $7C,
    $51, $56, $5F, $58, $4D, $4A, $43, $44,
    $19, $1E, $17, $10, $05, $02, $0B, $0C,
    $21, $26, $2F, $28, $3D, $3A, $33, $34,
    $4E, $49, $40, $47, $52, $55, $5C, $5B,
    $76, $71, $78, $7F, $6A, $6D, $64, $63,
    $3E, $39, $30, $37, $22, $25, $2C, $2B,
    $06, $01, $08, $0F, $1A, $1D, $14, $13,
    $AE, $A9, $A0, $A7, $B2, $B5, $BC, $BB,
    $96, $91, $98, $9F, $8A, $8D, $84, $83,
    $DE, $D9, $D0, $D7, $C2, $C5, $CC, $CB,
    $E6, $E1, $E8, $EF, $FA, $FD, $F4, $F3);


function Calculate_CRC8(Cadena: String):String;
var
  data: TArray;
  len, i: Integer;
  crc: byte;
begin
  data := TEncoding.UTF8.GetBytes(Cadena);
  len := Length(data);
  crc := 0;

  for i := 0 to len-1 do
    crc := CRC8_Table[(crc xor data[i]) and $FF];

  Result := Format('%.*d', [3, (crc and $FF)]);
end;
Responder Con Cita
  #8  
Antiguo 31-12-2019
xamminf xamminf is offline
Miembro
 
Registrado: ene 2017
Posts: 152
Poder: 8
xamminf Va por buen camino
Cita:
Empezado por pablog2k Ver Mensaje
gracias keys, vamos a echarle un vistazo

"En el caso de los/las contribuyentes guipuzcoanos/as, tan pronto se emita la factura, el programa remitirá el archivo XML-TBAI a la Hacienda Foral de Gipuzkoa, es decir, la remisión será online.
Ello conllevará que debe tenerse acceso a internet."

esto quiere decir que no se pueden enviar después? como se había planteado por aquí.
me parece un poco fuerte....
¿ Y cómo sabrán que no se manda después ? ¿ Lleva datos de stamp impresión el .xml ?
Responder Con Cita
  #9  
Antiguo 31-12-2019
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.054
Poder: 22
keys Va por buen camino
A la hora de firmar el fichero se pone la fecha y la hora.
Responder Con Cita
  #10  
Antiguo 31-12-2019
xamminf xamminf is offline
Miembro
 
Registrado: ene 2017
Posts: 152
Poder: 8
xamminf Va por buen camino
Cita:
Empezado por keys Ver Mensaje
A la hora de firmar el fichero se pone la fecha y la hora.

Pues no sé... entonces...
Habrá que trabajar con albaranes... where available... claro está...
No puede uno estar haciendo facturas como si borradores fuera y luego rectificativas...
Responder Con Cita
  #11  
Antiguo 31-12-2019
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.054
Poder: 22
keys Va por buen camino
Cita:
Empezado por xamminf Ver Mensaje
Pues no sé... entonces...
Habrá que trabajar con albaranes... where available... claro está...
No puede uno estar haciendo facturas como si borradores fuera y luego rectificativas...
De eso se trata, que una vez que generas una factura no la puedas modificar.
Responder Con Cita
  #12  
Antiguo 31-12-2019
Sistel Sistel is offline
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 373
Poder: 5
Sistel Va por buen camino
Cita:
Empezado por xamminf Ver Mensaje
Pues no sé... entonces...
Habrá que trabajar con albaranes... where available... claro está...
No puede uno estar haciendo facturas como si borradores fuera y luego rectificativas...
Es lo que tratan de perseguir.

Saludos
Responder Con Cita
  #13  
Antiguo 02-01-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.339
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por xamminf Ver Mensaje
Habrá que trabajar con albaranes... where available... claro está...
No puede uno estar haciendo facturas como si borradores fuera y luego rectificativas...

Es como si trabajaras con "facturas proforma".
En tu sistema puedes crear, modificar y borrar facturas, pero cuando emites la factura "definitiva" y se la envías al cliente, es cuando empieza todo el proceso que hemos descrito.
En ese punto la única opción de modificación, como comentas, son las rectificativas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #14  
Antiguo 02-01-2020
Sistel Sistel is offline
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 373
Poder: 5
Sistel Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Es como si trabajaras con "facturas proforma".
En tu sistema puedes crear, modificar y borrar facturas, pero cuando emites la factura "definitiva" y se la envías al cliente, es cuando empieza todo el proceso que hemos descrito.
En ese punto la única opción de modificación, como comentas, son las rectificativas.
Hay un tema oscuro que no entiendo en qué casos se puede emplear:
Punto 6.5 "Anulación de una factura" del documento de Especificaciones.

Saludos
Responder Con Cita
  #15  
Antiguo 31-12-2019
Sistel Sistel is offline
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 373
Poder: 5
Sistel Va por buen camino
Cita:
Empezado por xamminf Ver Mensaje
¿ Y cómo sabrán que no se manda después ? ¿ Lleva datos de stamp impresión el .xml ?
Lleva fecha de factura.

Saludos
Responder Con Cita
  #16  
Antiguo 07-01-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.339
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por xamminf Ver Mensaje
¿ Y cómo sabrán que no se manda después ? ¿ Lleva datos de stamp impresión el .xml ?

La factura incluye fecha y hora. Supongo que simplemente hay que compararla con la fecha y hora del envío.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice newtron Internet 3565 Hace 1 Semana 11:04:13
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24-09-2007 09:39:05
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20-01-2007 16:49:53
El Vasco Aguirre Al González La Taberna 5 26-05-2006 09:22:28
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25-01-2004 09:21:14


La franja horaria es GMT +2. Ahora son las 01:58:44.


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
Copyright 1996-2007 Club Delphi