Configuración IDSE IMSS 2024 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)
Al estar probando Django 1.5 para el envió de correos, tenia el siguiente error: Al utilizar el siguiente comando python -m smtpd -n -c DebuggingServer localhost:1025, para probar que todo estuviera correcto, marcaba el error de permisos. Esto lo logre solucionar dando el permiso de ejecución al antivirus que es el que me bloqueaba. Para probar que esta esta solución aplique para ustedes (si tienen el mismo problema), desactiven temporal y completamente su antivirus (Mcafee en mi caso) y desactivar los firewalls u otros sistemas de seguridad que utilicen. Encontrar la solución me dio un poco de trabajo ya que únicamente desactivaba el análisis en tiempo real del antivirus y aún así seguía marcando el bloqueo, al desactivar completamente el antivirus. todo funciono correctamente. Espero a alguien le sea de ayuda.
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...
Configuración IDSE IMSS 2024 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>...
Comentarios
Publicar un comentario