INTERPRETAR UN FICHERO DE BAJA FIE A GOLPE DE VISTA

MarLo

Miembro conocido
Hola, esta información me viene de rebote de un compañero a través de su Mutua. Lo veo bastante práctico para cuando andamos con prisas y de un vistazo ya sabes lo que nos entra por siltra.

Los indicadores principales son:


DIT. La mutua + la fecha de baja común. La N indica que no es recaída. Si hubiera recaída, indicaría S, y la fecha del proceso anterior

CIT. Es la fecha del parte de confirmación.

IT. Es la fecha de baja laboral

DAF indica fecha inicio relación laboral en este caso 13/04/2022 y luego la cadena a 0, sería la fecha de fin relación laboral.

La cadena que empieza por 1 S

1 es la contingencia (1 común)

S es la carencia , si tiene o no.

El primer digito te indica el tipo de duración de la baja (en este caso 4 que es largo).

Luego indica los días de duración (150)

La fecha de fin pago delegado (en este caso está a 0), hay dos dígitos que indica el motivo de fin pago delegado y luego la fecha de fin it si fuera alta



1685092963245.png
 

fundación

Miembro conocido
Creo que la siguiente versión que nos reemplazará ya vendrá preparada de fábrica para hacerlo.

Resistencia_03-768x480.jpg
 

MarLo

Miembro conocido
También ayuda echarle un vistazo al fichero FIE excel y ala idc inss , pero vamos que igual vamos a morir todos
estamos tan acostumbrados a que la seguridad social nos lo de todo hecho (ironic) que los ficheros fie se nos hacen bola, igual no les costaba nada adaptar siltra para hacer un filtro de datos algo más visual, y en cuanto uno se lo descarga ya verlo sin andar como ánimas en pena por otros sitios

Yo ahora mismo intentando ver el FIE excel

1685096009168.png
 
Última edición:

fundación

Miembro conocido

pajarillo

Miembro conocido
Con el lectorFIE de A3 lo tendrías muy facil de ver.
Yo he editado el excel que genera, y le he puesto colorines, para que sea más visual, y también le he hecho una macro al documento excel, de manera que cuando hago clic encima del nombre del trabajador, me resume los datos en una nueva ventanita, como en esta captura.

Si alguien sabe como se exportan las macros, la pongo aquí por si alguien quiere (hice esta macro con ayuda de unos foros de excel, realmente tengo más bien poca idea de VB).

26-05-2023_14_03_46.gif
 
Última edición:

pajarillo

Miembro conocido
Vale, me lo ha dicho ChatGPT, pero no puedo pasaros la exportación de la Macro, ya que tiene rutas de nuestro servidor y tal, así que la pongo aquí debidamente editada.

Option Explicit

Private WithEvents myApp As Application

Private Sub Class_Initialize()

Set myApp = Application

End Sub

Private Sub myApp_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

If Target.Count = 1 Then

If Target.Column = 7 And Target <> "" Then

UserFormCustomerDetails.Label1 = _
"Trabajador................................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "G") & vbCrLf & _
"FECHA DE BAJA.....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "J") & vbCrLf & _
"FECHA FIN IT...........................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "X") & vbCrLf & _
"Contingencia............................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "K") & vbCrLf & _
"Causa fin IT..............................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "Z") & vbCrLf & _
"Fecha fin pago delegado............:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "V") & vbCrLf & _
"Causa fin pago delegado............:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "W") & vbCrLf & _
"Recaída....................................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "M") & vbCrLf & _
"Fecha proceso inicial.................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "N") & vbCrLf & _
"Fecha proceso anterior..............:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "O") & vbCrLf & _
"Días acumulados.......................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "P") & vbCrLf & _
"Fecha proceso IT inexistente.....:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "Q") & vbCrLf & _
"Causa IT proceso inexistente.....:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "R") & vbCrLf & _
"Indicador carencia.....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "S") & vbCrLf & _
"Tipo de proceso........................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "T") & vbCrLf & _
"Duración estimada.....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "U") & vbCrLf & _
"Parte de baja anulado................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "Z") & vbCrLf & _
"Modalidad de pago....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "AA") & vbCrLf & _
"Entidad Responsable.................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "L") & vbCrLf

UserFormCustomerDetails.Show

Else

UserFormCustomerDetails.Hide

End If

End If
 

MarLo

Miembro conocido
Vale, me lo ha dicho ChatGPT, pero no puedo pasaros la exportación de la Macro, ya que tiene rutas de nuestro servidor y tal, así que la pongo aquí debidamente editada.

Option Explicit

Private WithEvents myApp As Application

Private Sub Class_Initialize()

Set myApp = Application

End Sub

Private Sub myApp_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

If Target.Count = 1 Then

If Target.Column = 7 And Target <> "" Then

UserFormCustomerDetails.Label1 = _
"Trabajador................................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "G") & vbCrLf & _
"FECHA DE BAJA.....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "J") & vbCrLf & _
"FECHA FIN IT...........................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "X") & vbCrLf & _
"Contingencia............................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "K") & vbCrLf & _
"Causa fin IT..............................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "Z") & vbCrLf & _
"Fecha fin pago delegado............:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "V") & vbCrLf & _
"Causa fin pago delegado............:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "W") & vbCrLf & _
"Recaída....................................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "M") & vbCrLf & _
"Fecha proceso inicial.................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "N") & vbCrLf & _
"Fecha proceso anterior..............:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "O") & vbCrLf & _
"Días acumulados.......................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "P") & vbCrLf & _
"Fecha proceso IT inexistente.....:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "Q") & vbCrLf & _
"Causa IT proceso inexistente.....:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "R") & vbCrLf & _
"Indicador carencia.....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "S") & vbCrLf & _
"Tipo de proceso........................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "T") & vbCrLf & _
"Duración estimada.....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "U") & vbCrLf & _
"Parte de baja anulado................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "Z") & vbCrLf & _
"Modalidad de pago....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "AA") & vbCrLf & _
"Entidad Responsable.................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "L") & vbCrLf

UserFormCustomerDetails.Show

Else

UserFormCustomerDetails.Hide

End If

End If
No tengo a3 y mi programa de nóminas no lo hace tan guai como el de Toni (me hace un excell perralleiro), le pedí a A3 que me envié su lector fie y voy a ver lo de los macros como va.


¿¿Pero sería tan difícil que en siltra ya nos incorporase la TGSS una pantallita para ver los datos como te lo curraste tú??
 

AnaZ

Miembro activo
Yo me he hecho a leerlos tipo matrix como bien apuntais en las fotos, al igual que los xml de certificados y de bases, todo en general......

Se agradece la info MarLo, y tb las risas que me he echado con todo lo que habeis contestado...hasta que he llegado a leer a Pajarillo,...madre mia chaval, al final tenemos que configurar tb como programadores? Y esto no lo pueden hacer los de TGSS? En fin gracias pero los leo directamente del siltra interpreto si tengo dudas saco idc y a la marcha, aunque me parecen muy buenas tus aportaciones.
 

MarLo

Miembro conocido
Yo me he hecho a leerlos tipo matrix como bien apuntais en las fotos, al igual que los xml de certificados y de bases, todo en general......

Se agradece la info MarLo, y tb las risas que me he echado con todo lo que habeis contestado...hasta que he llegado a leer a Pajarillo,...madre mia chaval, al final tenemos que configurar tb como programadores? Y esto no lo pueden hacer los de TGSS? En fin gracias pero los leo directamente del siltra interpreto si tengo dudas saco idc y a la marcha, aunque me parecen muy buenas tus aportaciones.
en esas estoy yo, AnaZ, entrenando el ojo, por lo menos para en cuanto entra el siltra hacer léctura robótica rápida: baja tal, fecha tal, días tantos... :)
 

Eric Arthur Blair

Miembro activo
Vale, me lo ha dicho ChatGPT, pero no puedo pasaros la exportación de la Macro, ya que tiene rutas de nuestro servidor y tal, así que la pongo aquí debidamente editada.

Option Explicit

Private WithEvents myApp As Application

Private Sub Class_Initialize()

Set myApp = Application

End Sub

Private Sub myApp_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

If Target.Count = 1 Then

If Target.Column = 7 And Target <> "" Then

UserFormCustomerDetails.Label1 = _
"Trabajador................................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "G") & vbCrLf & _
"FECHA DE BAJA.....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "J") & vbCrLf & _
"FECHA FIN IT...........................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "X") & vbCrLf & _
"Contingencia............................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "K") & vbCrLf & _
"Causa fin IT..............................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "Z") & vbCrLf & _
"Fecha fin pago delegado............:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "V") & vbCrLf & _
"Causa fin pago delegado............:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "W") & vbCrLf & _
"Recaída....................................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "M") & vbCrLf & _
"Fecha proceso inicial.................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "N") & vbCrLf & _
"Fecha proceso anterior..............:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "O") & vbCrLf & _
"Días acumulados.......................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "P") & vbCrLf & _
"Fecha proceso IT inexistente.....:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "Q") & vbCrLf & _
"Causa IT proceso inexistente.....:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "R") & vbCrLf & _
"Indicador carencia.....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "S") & vbCrLf & _
"Tipo de proceso........................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "T") & vbCrLf & _
"Duración estimada.....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "U") & vbCrLf & _
"Parte de baja anulado................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "Z") & vbCrLf & _
"Modalidad de pago....................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "AA") & vbCrLf & _
"Entidad Responsable.................:" & Space(1) & Worksheets("Datos de Incapacidad Temporal").Cells(Target.Row, "L") & vbCrLf

UserFormCustomerDetails.Show

Else

UserFormCustomerDetails.Hide

End If

End If
Hola gente!!

Utilizando los ficheros Excel que genera el lector FIE de A3, y la idea que propone @pajarillo de aplicar una macro al fichero Excel generado para obtener la información "estructurada", os dejo por aquí un tutorial de como lo he hecho:

1. Abre tu archivo de Excel obtenido con el lector FIE de A3 y presiona Alt + F11 para abrir el Editor de Visual Basic.

2. En el Editor de Visual Basic, haz doble clic en la hoja de Excel en la que deseas activar la macro en la ventana "Explorador de proyectos" (normalmente se llama "Hoja1" o "Sheet1").

1686153828939.png

3.- En el área de código de la hoja de Excel, escribe el siguiente código:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim celdaSeleccionada As Range Dim filaSeleccionada As Long Dim informacion As String 'Verificar si la celda seleccionada está en la columna G If Not Intersect(Target, Me.Range("G:G")) Is Nothing Then 'Obtener la celda seleccionada Set celdaSeleccionada = Target 'Obtener el número de fila de la celda seleccionada filaSeleccionada = celdaSeleccionada.Row 'Obtener la información de las celdas en la misma fila informacion = "DATOS DEL PROCESO SELECCIONADO " & ":" & vbCrLf & _ "Tabajador..............................: " & Me.Cells(filaSeleccionada, 7).Value & vbCrLf & _ "Fecha de baja.......................: " & Me.Cells(filaSeleccionada, 10).Value & vbCrLf & _ "Contingencia........................: " & Me.Cells(filaSeleccionada, 11).Value & vbCrLf & _ "Indicador carencia................: " & Me.Cells(filaSeleccionada, 19).Value & vbCrLf & _ "Recaída..................................: " & Me.Cells(filaSeleccionada, 13).Value & vbCrLf & _ "Fecha proceso inicial............: " & Me.Cells(filaSeleccionada, 14).Value & vbCrLf & _ "Fecha proceso anterior........: " & Me.Cells(filaSeleccionada, 15).Value & vbCrLf & _ "Fecha de alta........................: " & Me.Cells(filaSeleccionada, 24).Value & vbCrLf & _ "Causa fin IT...........................: " & Me.Cells(filaSeleccionada, 25).Value & vbCrLf & _ "Fecha fin pago delegado....: " & Me.Cells(filaSeleccionada, 22).Value & vbCrLf & _ "Causa fin pago delegado....: " & Me.Cells(filaSeleccionada, 23).Value & vbCrLf & _ "Días acumulados...................: " & Me.Cells(filaSeleccionada, 16).Value & vbCrLf & _ "Fecha proceso IT inexistente: " & Me.Cells(filaSeleccionada, 17).Value & vbCrLf & _ "Causa IT proceso inexistente: " & Me.Cells(filaSeleccionada, 18).Value & vbCrLf & _ "Tipo de proceso.....................: " & Me.Cells(filaSeleccionada, 20).Value & vbCrLf & _ "Duración estimada.................: " & Me.Cells(filaSeleccionada, 21).Value & vbCrLf & _ "Parte de baja anulado...........: " & Me.Cells(filaSeleccionada, 26).Value & vbCrLf & _ "Modalidad de pago...............: " & Me.Cells(filaSeleccionada, 27).Value & vbCrLf & _ "Entidad responsable..............: " & Me.Cells(filaSeleccionada, 12).Value 'Mostrar la información en una ventana emergente (MsgBox) o en una celda específica MsgBox informacion 'o 'Me.Range("D1").Value = informacion End If End Sub

4. Guarda el archivo y cierra el Editor de Visual Basic.

Ahora, cuando hagas clic en cualquier celda de la columna "G" (nombre del trabajador/a) del fichero Excel, se mostrará una ventana emergente con la información de las celdas de esa misma fila, como se muestra en la imagen:

1686153903563.png

Muchas gracias @pajarillo por la idea, eres MUY GRANDE!!
 
Arriba