Configuración IDSE IMSS 2024-2025 Este artículo surge como respuesta a las numerosas consultas que he recibido sobre cómo configurar equipos con Windows 10 y 11 para la renovación de certificados en IDSE IMSS. Reconozco que este proceso puede ser complicado para muchos, por lo que he decidido compartir esta guía con la esperanza de que sea de utilidad para aquellos que lo necesiten. La información es aplicable tanto para Windows 10 como para Windows 11. Paso 1.- Se recomienda desinstalar todos los java del equipo y bajar e instalar unicamente la versión de 32bits, que se puede descargar desde: https://www.java.com/es/download/manual.jsp Revisar que sea la ultima versión de JAVA de 32bits (a su fecha de instalación). Paso 2.- Editar dos archivos: C:\Program Files (x86)\Java\jre-1.8\lib\security : javaws.security y java.policy Agregar al final de cada archivo, la suguiente linea: permission java.io.FilePermission "<<ALL FILES...
Se muestra un ejemplo, de como realizar la implementación de Múltiples actualizaciones en una sola petición , es decir enviando una lista de objetos, y usando la clase ListSerializer realizamos las actualizaciones (inserciones u eliminaciones).
El modelo para el ejemplo
La Vista
defpost(self, request):
""" Ejemplo de manejo de listas en Serializer
Para este ejemplo asumimos lo siguiente:
Se tienen que enviar todos los datos existentes de los empleados en el JSON ya que
se comparara con la base de datos y :
1.- Si se encuentran se actualizan los datos,
2.- Si no existen en la base de datos se crean,
3.- Si se encuentran en la base de datos, pero no fueron pasados en el JSON se elimnan.
"""
# Obtener el JSON.
data = request.data
# Obtener los datos de la base de datos
emp = Employes.objects.all()
#Es necesario pasarlo a listas
_arr_emp = [entryforentryinemp]
# Serializar los datos
se = serializers.AddListEmployesSerializer(instance=_arr_emp, data = data, many = True)
#list_serializer_class , nos sirve para trabajar con varios objetos
#en forma de listas, util para Insert, Update, Delete
list_serializer_class = UpdateEmployesSerializer
model = Employes
fields = '__all__'
y este a su vez implementa de una clase ListSerializer, para ello se modifica el serializar usando la clase list_serializer_class
El atributo employeid = serializers.IntegerField() es requerido (la documentación sugiere usar la clave primaria), para poder crear una clave del diccionario que se creara en la clase UpdateEmployesSerializer .
# Realizamos las creaciones si no se encuentran en data_mapping,
# y las actualizaciones si se encuentran keys en data_mapping
ret = []
for_id, dataindata_mapping.items():
emp = mapping.get(_id, None)
ifempisNone:
ret.append(self.child.create(data)) #Si no se encuentra se crea
else:
ret.append(self.child.update(emp, data)) #Se se encuentra se actualiza
# Realizamos las eliminaciones, si no se encuentra en data_mapping
for_id, datainmapping.items():
if_idnotindata_mapping:
data.delete()
returnret
En la implementación de la clase UpdateEmployesSerializer , pasamos dos listas, la lista de valores enviados en el request del JSON, y comparando con la lista de valores de la base de datos:
1.- Si los datos JSON vs BD no se encuentran se crean
2.- Si en el JSON vs BD se encuentran se actuliza
3.- Si en la BD Vs JSON no se encuentran datos, se eliminan de la BD.
Para consumir, pasar en el body de la petición la lista de valores (Para el ejemplo usamos POST)
Configuración IDSE IMSS 2024-2025 Este artículo surge como respuesta a las numerosas consultas que he recibido sobre cómo configurar equipos con Windows 10 y 11 para la renovación de certificados en IDSE IMSS. Reconozco que este proceso puede ser complicado para muchos, por lo que he decidido compartir esta guía con la esperanza de que sea de utilidad para aquellos que lo necesiten. La información es aplicable tanto para Windows 10 como para Windows 11. Paso 1.- Se recomienda desinstalar todos los java del equipo y bajar e instalar unicamente la versión de 32bits, que se puede descargar desde: https://www.java.com/es/download/manual.jsp Revisar que sea la ultima versión de JAVA de 32bits (a su fecha de instalación). Paso 2.- Editar dos archivos: C:\Program Files (x86)\Java\jre-1.8\lib\security : javaws.security y java.policy Agregar al final de cada archivo, la suguiente linea: permission java.io.FilePermission "<<ALL FILES...
Al momento de cargar un reporte con crystal reports marca el siguiente error: Este error se debe a un mal uso que le daba a los FormulaFields , hasta la fecha no había tenido la necesidad de asignarle un valor con saltos de linea, por lo que la siguiente linea de código en C# me funcionaba bien : rpt . DataDefinition . FormulaFields[ "NombreFieldinReporte" ] . Text ="\"" + " Linea 1" + "\""; // Se imprme "Linea 1" Pero lo que deseaba pasar al reporte ahora era lo siguiente: // "Linea 1" // "Linea 2" Pero los tradicional salto de pagina (\n o \r) no funcionaban de la manera que se espera en Crystal Reports ,sin más rollo lo que necesita Crystal reports para el salto de linea es el caracter ChrW(13), para asignárselo al reporte debe pasarme de la siguiente manera: // "Linea 1" + ChrW(13) + "Linea 2" rpt . DataDefinition . FormulaFields[ "NombreFieldinR...
Cuando estaba compactando mis correos, para ahorrar espacio en disco por alguna razón se dejaron de ver los correos, sin embargo al revisar el tamaño del inbox seguía teniendo el mismo tamaño Investigando un poco, se debe a algún error de Mozilla Thunderbird , en la cual les cambia un estatus: x-mozilla-status = 0009 u 0008 . La solución es abrir el archivo Inbox con un editor de texto y cambiar a x-mozilla-status =0001. Pero la cosa se complica cuando los correos son mayores a 1 GB, en mi caso el archivo pesaba 9GB. ( Las imágenes de arriba son ilustrativas, ya que recree el detalle en un Inbox de poco tamaño ) Por lo que decidí crear un script en Python para que realice el cambio, apoyándonos en la librería mailbox Crear un archivo .py en mi caso: thunderbir_email_fix_verbose_mode.py ------------------------ import mailbox print('Jero') print('Script V 0.8') print(' Versión de Python Requerido : 3.9. 4 ') print('') print('Leyendo Archivo Inbox....
Comentarios
Publicar un comentario