![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
Falla el validador No obstante prueba este código TBAI con barra, tanto en función como en este validador que parece mejor que el otro https://toolslick.com/programming/ha...crc-calculator TBAI-B09203993-200421-aZqWxK/x6JS3U- crc8 = 042 |
|
#2
|
|||
|
|||
|
Cita:
¿entonces es cosa de batuz? |
|
#3
|
|||
|
|||
|
Cita:
Os paso la función de PHP para calcular el CRC que uso yo a ver si te sirve, creo que funciona correctamente: Código:
class CrcParams {
public $Array;
public $Init;
public $XorOut;
}
class Crc8 {
public function ComputeCrc($crcParams, $data) {
$crc = $crcParams->Init;
foreach ($data as $d) {
$crc = $crcParams->Array[ord($d) ^ $crc];
}
$crc = $crc ^ $crcParams->XorOut;
$result = $crc & 0xFF;
return str_pad($result, 3, "0", STR_PAD_LEFT);
}
}
function calcular_crc($cadena) {
$CRC_8_ = new CrcParams();
$CRC_8_->Init = 0x0;
$CRC_8_->XorOut = 0x0;
$CRC_8_->Array = 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, );
$valor = new Crc8();
$resultado = $valor->ComputeCrc($CRC_8_, str_split(utf8_encode($cadena)));
return $resultado;
}
Un saludo |
|
#4
|
|||
|
|||
|
Hola Edgar7,
He probado con las dos formas y ambas me devuelven el mismo crc para la misma cadena, y claro, ambas siguen dando error en batuz. ¿Podéis probar a generar una url cuya parte de la firma tenga un + o /? como "TBAI-79732487C-120521-ME4g0D7g+iyVk-" el crc me sale 130 y el crc de la url 081 Gracias! |
|
#5
|
|||
|
|||
|
Cita:
A mi me está pasando algo parecido pero no con todas las URLs, solo con algunas. Al probarla en Batuz me da el error "Los datos de la URL son incorrectos (ERR_QR_002)". Pongo la URL .../QRTBAI/?id=TBAI-30556773P-140521-oH/I9+EyTWWQ7-062&s=VT1&nf=1657&i=78.00&cr=196 Lo he probado en estos dos validadores y me coincide con lo que me devuelve mi rutina. No me deja poner urls el foro ...sunshine2k.de/coding/javascript/crc/crc_js.html ' Me devuelve un valor en Hexadecimal ...rapidtables.com/convert/number/hex-to-decimal.html ' Lo convierto a Decimal ¿Qué puede pasar? |
|
#6
|
||||
|
||||
|
Es un control anti-spam, en cuanto lleves varios mensajes (10) se deshabilitará.
De momento puedes poner las url "recortándola", por ejemplo: ttp://losquesea.com (he quitado la 'h' inicial)
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
|||
|
|||
|
Hola joselugrk
A mi me pasa con todas las url que contienen el caracter + pero con el error "Los datos de la URL son incorrectos (ERR_QR_003)" Cita:
|
|
#8
|
|||
|
|||
|
Correcto, me confundí y puse ERR_QR_002. Ayer les envíe un correo a los de Batuz a ver que me responden.
|
|
#9
|
|||
|
|||
|
Encadenado de facturas
Buenos días, primer mensaje en el foro!
Todavía estoy en fase de análisis y tengo demasiada información en la cabeza (he intentado leerme todo el hilo pero puede que se me haya pasado...). ¿Podría alguien confirmarme si el encadenamiento de facturas es de todas las facturas en general o por serie? Nosotros trabajamos en entorno restaurante y es muy común que los restaurantes tengan varias series definidas (por ejemplo pedidos en sala, para llevar, delivery, ...) y no me queda claro si cuando dice serie + número factura anterior es porque deben encadenarse todas las series juntas o va por serie (el software está certificado para Portugal y Francia y en ambos casos el encadenamiento es siempre dentro de la misma serie, nunca se mezclan facturas de diferente serie). Muchisimas gracias! |
|
#10
|
||||
|
||||
|
Cita:
Bienvenido a este foro. Yo me lo volvería a leer... ![]() ![]() ![]() Cita:
El encadenamiento en principio NO VA POR SERIE. Es decir, debes encadenar con la última factura, sea de la serie que sea. ![]() Si buscas el documento de "Preguntas y respuestas" que hay en el hilo, (al principio estará el link), esta en concreto es la 93. Revísala con detalle que es más extensa.
__________________
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. |
|
#11
|
|||
|
|||
|
Si ya digo yo que tengo demasiada información en la cabeza! Supongo que me ofusqué al tener tan claro que en Portugal y Francia iba por serie...
Muchísimas gracias :-) Cita:
|
|
#12
|
|||
|
|||
|
A mi me respondieron esto de Batuz, dónde indica que si existen diferentes centros de facturación y cada uno tiene su serie, el encadenamiento si podría ir por serie.
Kaixo, El sistema TicketBAI implica que cada factura debe identificar la factura anterior (serie, número, fecha y 100 primeros caracteres de la firma). Aunque en el esquema del fichero TicketBAI estos campos no son obligatorios, esta circunstancia se debe a que existen varias situaciones en los que este requisito no es exigible (p. ej. la primera factura, o en caso de rotura del dispositivo). El cumplimiento del requisito de encadenamiento depende de la forma de funcionamiento del sistema de facturación: - Si un mismo dispositivo emite facturas de diferentes series, el requisito de encadenamiento debe identificar la factura anterior expedida, con independencia de la serie (por ejemplo, a una factura de una serie ordinaria le puede preceder una factura rectificativa de otra serie). - Igualmente, si el sistema de facturación es un sistema centralizado que genera las series y los números de facturación, con independencia del dispositivo que se esté utilizando, el encadenamiento se refiere a la última factura expedida por el sistema. En concreto, “Haz tu factura” funcionaría como un sistema de facturación “centralizado”, por lo que encadena las facturas independientemente de la serie. - No obstante, si existen diferentes dispositivos o centros de facturación, los cuales sólo expiden facturas dentro de una serie específica para cada dispositivo o centro, el encadenamiento se produce dentro de cada serie. Este último parece ser el caso al que se refiere la pregunta planteada. |
|
#13
|
||||
|
||||
|
Cita:
Cita:
Justo por eso le he indicado que leyera la pregunta 93, porque n realidad como he dicho es más extensa. Y en la segunda parte hacve referencia a lo que tú comentas. ![]()
__________________
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. |
|
#14
|
|||
|
|||
|
Hash firma
Buenas tardes sabéis decirme que Hash hay que poner en la firma del XML?
Yo creía que era "6NrKAm60o7u62FUQwzZew24ra2ve9PRQYwC21AM6In0=", pero acabo de ver en la documentación este otro "Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es=". Cual estáis poniendo vosotros? Gracias |
|
#15
|
|||
|
|||
|
Hola, en bizkaia me devuelve el siguiente error al enviar modelo 140
Código:
<SituacionRegistro> <EstadoRegistro>Incorrecto</EstadoRegistro> <CodigoErrorRegistro>B4_2000003</CodigoErrorRegistro> <DescripcionErrorRegistroES>Registro duplicado.</DescripcionErrorRegistroES> <DescripcionErrorRegistroEU>Erregistro bikoiztua.</DescripcionErrorRegistroEU> </SituacionRegistro> Muchas gracias! Última edición por dec fecha: 02-07-2022 a las 14:29:43. |
|
#16
|
|||
|
|||
|
hola, no se donde ponerlo, a ver si me podeis ayudar aquí.
Tengo un xml con sello de tiempo cualificado, y queria saber como va la estructura de un xml con un resellado de tiempo: Ejemplo parte del sello de tiempo tsa: Cita:
Cita:
|
|
#17
|
||||
|
||||
|
TicketBAI y SII
La Hacienda de Gipuzkoa ha informado que los emisores con obligación de enviar facturas a través de TicketBAI no podrán enviar facturas emitidas al SII, sólo las facturas recibidas. Es decir: facturas emitidas con TicketBAI + Osatu y las recibidas vía SII.
https://www.gipuzkoa.eus/es/web/ogas...%20y%20errores |
|
#18
|
|||
|
|||
|
Registro duplicado
Cita:
Hola Doc Corrupto, yo creo que este mensaje de bizkaia significa que esa factura ya la han recibido anteriormente y como no se puede volver a enviar te indican que es un registro duplicado. Corregidme si no estoy en lo cierto. Esto puede pasar si envias mas de una vez una alta de factura, en principio el programa de facturación no tendria que permitirlo, pero hemos encontrado algun caso que ocurre, por ejemplo si se envia la factura la primera vez, la agencia tributaria la recibe y registra, pero al responder hay algun problema y el programa de facturación no se entera que se ha recibido, por lo que lo vuelve a intentar. La segunda vez le contesta que ya tiene la factura. |
|
#19
|
|||
|
|||
|
Calculo CRC8
Buenas tardes,
Perdonad por mi ignorancia, pero sabéis de algún ejecutable al que se le mande la cadena de caracteres y devuelva el CRC8? Mi programa de gestión es bastante viejo y no puedo definir variables tipo byte por lo que tampoco puedo desarrollar el módulo para calcular el CRC8. Gracias de antemano. Saludos |
|
#20
|
||||
|
||||
|
Cita:
¿Te sirve una DLL? ¿O debe ser un ejecutable?
__________________
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. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 | 3716 | 19-01-2026 20:01:34 |
| 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 |
|