![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola a todos.
Llevo tiempo sin entrar al foro (desde que Bizkaia anunció que posponía Batuz hasta 2023-2024). He leído todas las páginas desde entonces pero no encuentro lo que necesito. He visto muchas preguntas y respuestas sobre el código para C, PHP, .Net, etc. pero no tengo respuesta (o no he sabido encontrar) a la siguiente duda concreta... Si Bizkaia pospone Batuz, pero no TicketBAI... ¿significa eso que solo debemos (por ahora) hacer la generación del tícketbai, firmarlo, obtener el código QR e imprimirlo en el tícket/factura? ¿Qué pasa entonces con el envío de LROE (140,240)? En mis pruebas, hasta ahora había conseguido: Bizkaia: generar y firmar el ticketbai, obtener el QR, generar el xml de envío (140/240), comprimirlo y enviarlo, así como las consultas y anulaciones. Gipuzkoa/Araba: generar y firmar el ticketbai, obtener el QR y realizar el envío y consulta Gipuzkoa y Araba sí permiten el envío del ticket en el momento de hacer la factura (no como Bizkaia que se hacía de 1000 en 1000). ¿Eso ha cambiado también? ¿Cómo y cuándo se hace el envío a Bizkaia tras los cambios de Batuz? He leído bastante sobre problemas con el certificado de usuario, certificado de dispositivo, etc. pero sinceramente no sé cual puede ser el problema, ya que yo uso un certificado de persona física y otro de persona jurídica y siempre he podido hacer las firmas, los envíos, etc. ¿Cuándo se usa ese "certificado de dispositivo"? Espero que puedan responder estas preguntas, ya que de verdad he estado leyendo las más de 30 páginas que hay desde que lo dejé y es muy difícil encontrar la respuesta a estas dudas. Un saludo |
|
#2
|
|||
|
|||
|
Cita:
En bizkaia se pospone la obligatoriedad de Batuz y de ticketBAI también |
|
#3
|
|||
|
|||
|
numero de serie es opcional?
Hola, veo que comentais mucho sobre el número de serie del dispositivo, pero yo tengo entendido que debido a la imposibilidad técnica de saberlo en todos los casos, es un valor que no es obligatorio y por lo tanto no lo relleno y no me he preocupado en obtenerlo.
Es así o estoy equivocado? Muchas gracias |
|
#4
|
|||
|
|||
|
Cita:
|
|
#5
|
|||
|
|||
|
Cita:
Tienes razón, ahora me he fijado en eso. Yo me referia al campo de la HuellaTBAI Muchas gracias |
|
#6
|
|||
|
|||
|
Nosotros lo estamos metiendo como obligatorio y les obligamos a que lo pidan. Puedo tener a 10 usuarios atacando a una misma empresa y de esta manera puedo llevar la concatenación de las facturas por equipo y si falla algo en algún equipo no fastidia a los demás.
|
|
#7
|
|||
|
|||
|
Sí, yo también, pero meto la MAC, que además la uso como parte de la licencia del software junto a la id del disco, del procesador. Y de otras.
|
|
#8
|
|||
|
|||
|
Por cierto alguien conoce el blockchain? (intercambios de ficheros JSON) parecido al p2p pero con firma electrónica. Esperemos que la Aeat no se vaya por esos derroteros para la gestión similar a TicketBai. Da miedete meterse en otro tema.
|
|
#9
|
|||
|
|||
|
Cita:
Aunque se posponga la obligatoriedad de TicketBAI-Batuz en Bizkaia, puede ser muy interesante implementarlo de forma voluntaria. Han aprobado, recientemente, una deducción del 15% de la base imponible del Impuesto sobre Sociedades (o del IRPF en el caso de autónomos) durante el 2022 y 2023 a quienes lo pongan en marcha. (Aparte del 30% de gasto deducible por la puesta en marcha) Saludos |
|
#10
|
|||
|
|||
|
Cita:
Es que no me queda muy claro con los últimos avisos que me han enviado de Batuz... Entiendo que para Gipuzkoa y Araba sigue todo como antes: generar el xml, firmarlo y enviarlo (no como Bizkaia, que había que crear otro xml para los envíos). ¿Qué se haría entonces con Bizkaia para enviar el ticketbai a Hacienda, si ya no se hace con los xmls de envío del 140/240? |
|
#11
|
|||
|
|||
|
Cita:
|
|
#12
|
|||
|
|||
|
Cita:
En Batuz (Bizkaia) los plazos para el envío de los ficheros TicketBAI son los mismos de presentación de IVA (trimestral en la mayoría de los casos, mensuales en algunos casos y en el plazo de 4 días laborables para los obligados al SII) Ten en cuenta que a la entrada en funcionamiento de Batuz desaparecen las declaraciones de IVA (al igual que las declaraciones de operaciones con terceros, de SII y del Impuesto sobre Sociedades) Hacienda enviará un borrador (ya que los datos ya los tiene por habérsele enviado por LROE) y sólo habrá que aceptarlo o solicitar cambios (enviando documentación que los avale). Que se permitan envíos de hasta 1.000 facturas en los LROE 140 y 240, no obliga a hacerlos tan grandes. Nadie te impide enviar cada fichero TicketBAI (mediante LROE) en el mismo momento de crearse y firmarse. Es mucho más sencillo controlar la respuesta al envío de un solo fichero. Y es una buena forma de estar al día y prevenir posibles problemas por pérdidas de datos. Saludos |
|
#13
|
|||
|
|||
|
A mi me ha pasado lo que ha vosotros con lo del WMI, incluso al clonar equipos(HD) me clona el sn (supongo que lo lee del registro de sistema).
Que es lo que nunca me falla y siempre me da un número distinto para cada equipo, combinar el WMI & SN(HD) & MAC, así me aseguro que si clonamos cuando compro equipos de las mismas caracteristicas no voy a tener el problema. La MAC nunca la clona pero hay que tener cuidado. Os dejo un ejecutable que genera un .ini con los datos principales del equipo, para que tengais variedad con el número de serie. Ojo que en determinados equipos, si no esta conectado en red, devuelve vacia la MAC. Así que si vais a usar la MAC tenedlo en cta. |
|
#14
|
|||
|
|||
|
Faltaba el fichero, no lo ha pillado
![]() |
|
#15
|
||||
|
||||
|
Si puedes subir el código fuente, mejor.
Si no puede ser, pues igualmente se agradece el aporte. ![]() ![]() ![]()
__________________
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. |
|
#16
|
|||
|
|||
|
Cita:
Código:
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
wServicePackMajor As Variant
wServicePackMinor As Variant
wSuiteMask As Variant
wProductType As Byte
wReserved As Byte
End Type
Private Declare Function GetVersionExA Lib "kernel32" _
(lpVersionInformation As OSVERSIONINFO) As Integer
Private Declare Function SHFormatDrive Lib "shell32" _
(ByVal hwnd As Long, ByVal Drive As Long, ByVal fmtID As Long, _
ByVal options As Long) As Long
Private Declare Function GetDriveType Lib "kernel32" Alias _
"GetDriveTypeA" (ByVal nDrive As String) As Long
Private Declare Function GetVolumeInformation& Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long)
Function PRINCIPAL()
Close #1
Open App.Path & "\SN-Equipo.ini" For Output Shared As #1
Print #1, GetOsBitness
Close #1
End Function
Private Function devuelve_version() As String
Dim osinfo As OSVERSIONINFO
Dim retvalue As Integer
Dim nversion As Double
devuelve_version = ""
osinfo.dwOSVersionInfoSize = 148
osinfo.szCSDVersion = Space$(128)
retvalue = GetVersionExA(osinfo)
nversion = osinfo.dwMajorVersion + (osinfo.dwMinorVersion / 10)
Select Case (nversion)
Case 5#
devuelve_version = "Windows-2000"
Case 5.1
devuelve_version = "Windows-XP"
Case 5.2
If osinfo.wProductType = 2 Then
devuelve_version = "Server-2003"
Else
If osinfo.wProductType = 1 Then
devuelve_version = "Windows-Home-Server"
Else
devuelve_version = "Windows-XP-Profesional-x64-Edition"
End If
End If
Case 6#
If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
devuelve_version = "Server-2008"
Else
devuelve_version = "Windows-Vista"
End If
Case 6.1
If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
devuelve_version = "Server-2008-R2"
Else
devuelve_version = "Windows-7"
End If
Case 6.2
If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
devuelve_version = "Windows-Server-2012"
Else
devuelve_version = "Windows-8"
End If
Case 6.3
If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
devuelve_version = "Windows-8.1"
Else
devuelve_version = "Windows-Server-2012-R2"
End If
Case 10#
If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
devuelve_version = "Windows-Server-2016"
Else
devuelve_version = "Windows-10"
End If
Case 11#
If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
devuelve_version = "Windows-Server>2020"
Else
devuelve_version = "Windows-11"
End If
End Select
If osinfo.dwMajorVersion = 3 And osinfo.dwMinorVersion = 51 And osinfo.dwBuildNumber = 1057 And osinfo.dwPlatformId = 2 Then
devuelve_version = "Windows NT 3.1"
ElseIf osinfo.dwMajorVersion = 4 And (osinfo.dwMinorVersion = 0 Or osinfo.dwMinorVersion = 10) And osinfo.dwBuildNumber >= 67109814 And osinfo.dwPlatformId = 1 Then
devuelve_version = "Windows 95"
ElseIf osinfo.dwMajorVersion = 4 And osinfo.dwMinorVersion = 0 And osinfo.dwBuildNumber = 1381 And osinfo.dwPlatformId = 2 Then
devuelve_version = "Windows NT 4.0"
Else
'Windows 98? - Not sure what to put here
End If
End Function
Public Function GetOsBitness() As String
Dim cad1 As String * 256
Dim cad2 As String * 256
Dim numSerie As Variant
Dim longitud As Long
Dim flag As Long
Dim unidad As String
Dim ProcessorSet As Object
Dim WMI As Object
Dim CPU As Object
Dim obj As Object
Dim objs As Object
Set WMI = GetObject("WinMgmts:")
Set objs = WMI.InstancesOf("WIN32_BaseBoard")
For Each obj In objs
procid = procid & obj.SerialNumber
If procid < objs.Count Then procid = procid & "."
Next
mbserialnumber = procid
procid = LTrim$(procid)
procid = RTrim$(procid)
'SI NECESITAIS EL PROCESADOR 32 O 64 ACTIVAR PERO ES UN POCO LENTO
'Set ProcessorSet = GetObject("WinMgmts:"). _
'ExecQuery("SELECT * FROM Win32_Processor")
'For Each CPU In ProcessorSet
' GetOsBitness = CStr(CPU.AddressWidth)
'
'Next
GetOsBitness = "ProcesadorSN= " & procid
leeridcomputadora = "Sin Conexión"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each OBJITEM In colNetAdapters
leeridcomputadora = OBJITEM.MACAddress
Exit For
Next
leeridcomputadora2 = leeridcomputadora
While InStr(1, leeridcomputadora2, ":") > 0
leeridcomputadora2 = Left(leeridcomputadora2, InStr(1, leeridcomputadora2, ":") - 1) & Right(leeridcomputadora2, Len(leeridcomputadora2) - InStr(1, leeridcomputadora2, ":"))
Wend
numerie = ""
unidad = ""
If Len(App.Path) > 1 Then
If Mid(App.Path, 2, 1) = ":" Then
unidad = Left(App.Path, 2) & "\"
Call GetVolumeInformation(unidad, cad1, 256, numSerie, longitud, flag, cad2, 256)
End If
End If
GetOsBitness = GetOsBitness & vbCrLf & "MAC= " & leeridcomputadora & vbCrLf & "MACsp= " & leeridcomputadora2 & vbCrLf & "HD-Serial= " & numSerie & vbCrLf & "HD_UNID= " & unidad & vbCrLf & "VER= " & devuelve_version
End Function
|
|
#17
|
||||
|
||||
|
Gracias. He actualizado el hilo de los recursos. Para añadir link al código, al ejecutable y también he puesto la DLL (MSVBVM50.DLL) necesaria para los que no la tienen de VB.
__________________
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. |
|
#18
|
|||
|
|||
|
Certificado de dispositivo en servidor compartido
Hola,
en primer lugar muchas gracias a este foro por la información que se ha publicado en él. Gracias, gracias, gracias. En segundo lugar, una duda sobre el certificado de dispositivo. Tengo desarrollada una aplicación de facturación en PHP. Está alojada en un servidor compartido (en GoDaddy). A la hora de pedir el certificado de dispositivo, no puedo acceder a ningún número de serie del servidor. ¿A alguien le ha sucedido algo parecido? ¿Cómo lo habéis resuelto? Muchas gracias. Un saludo. Nessie. |
|
#19
|
|||
|
|||
|
Cita:
En todo caso tiene pinta de permisos. Cuando haces un php que te funciona en un lado y en otro no, suele ser eso. |
|
#20
|
|||
|
|||
|
Cita:
Hola Ermendalenda. Gracias por la respuesta. No me extraña que no entendieras bien la pregunta: estaba muy mal redactada. La reformulo aquí: El sistema de facturación que desarrollo es una aplicación web desarrollada en PHP. Desde el ordenador cliente se genera la factura. Esa factura se envía al servidor. En el servidor se firma, se genera el XML, se guarda y se envía a hacienda. Por lo tanto, entiendo que el certificado para realizar la firma ha de estar físicamente en el servidor. Quiero usar un certificado de dispositivo. Voy a la web Izenpe para obtener un certificado de dispositivo. En Izenpe me piden el fabricante y el número de serie del dispositivo desde donde se van a emitir/firmar las facturas. Al estar la aplicación alojada en un servidor compartido (un hosting en GoDaddy), no puedo acceder a esa información. Leo en el Anexo III (p.7) de la documentación de Diputación de Gipuzkoa: 4.2.2 Arquitecturas con firma en servidor Se podrá firmar con: certificado de persona física, certificado de representante de entidad, sello de empresa, certificado de autónomo-autónoma o certificado de dispositivo. ¿Hay alguien en la misma tesitura? ¿Alguien está usando un certificado de dispositivo en un servidor compartirdo? Muchas gracias. Buen día. Nessie. |
![]() |
|
|
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 |
|