Wednesday, May 29, 2013

Olvido de contraseña usuario SA Contpaqi


Antecedentes

Un amigo me habló sumamente preocupado, argumentando que había restaurado su computadora a los valores de fabrica pero seleccionando la opción "guardar información del usuario", lo que no tomó en cuenta es que windows borra los programas instalados.

La preocupación principal era que utiliza las aplicaciones de computación en acción (Contpaqi, Contpaqi facturación electrónica y Nomipaqi) y lo peor, no contaba con respaldos.

Introducción

- La restauración de windows 


Al restaurar el sistema (habiendo seleccionado la opción de conservar los archivos del usuario), windows crea un directorio de nombre "windows.old" en el cual almacena los directorios como:

    • Archivos de programa
    • Usuarios
    • Windows
Y adicional a esta respeta los directorios que se crearon en la unidad de instalación.

Requisitos
  1. Instalar la misma versión que se utilizaba de las aplicaciones a restaurar, como:
    • Contpaqi facturación electrónica.
    • SQL Server 20XX Express
    • Contpaqi
    • Nomipaqi
    2.   Detener el servicio SQL Server (COMPAC)
    • SQL Server Configuration Manager -> "Servicios de SQL Server" -> SQL Server (COMPAC) -> Detener.
Nota

Para restaurar Contpaqi factura electrónica es sumamente sencillo, ya que toda la información se almacena en el directorio x:\CompacW\empresas.

Solución

Es muy sabido que Contpaqi y Nomipaqi utilizan bases de datos SQL, siendo "SQL Server Express" la versión más común. Del mismo modo, la restauración es tan sencilla (debido a que es una instancia que se encuentra Offline), como copiar el directorio de la instancia almacenada en "x:\windows.old\Program Files" a nuestra nueva ruta de instalación de SQL Server Express. Las cuales están en "x:\Program Files\Microsoft SQL Server\MSSQLXX.COMPAC".

Puedes consultar más información en este link - ubicación de archivos y nombre de instancias.

Uno de los problemas más fuertes al restaurar una instancia es recordar la contraseña del usuario SA (system administrator) que se encuentra en la "master database".

Lo más sencillo es reemplazar la contraseña siguiendo estos pasos:

  1. Iniciamos el servicio "SQL Server (COMPAC)".
  2. Abrimos la consola de windows.
  3. Escribimos los siguientes comandos (presionamos enter en cada línea): 
    • sqlcmd -S nombreservidor\COMPAC
    • ALTER LOGIN sa WITH PASSWORD = 'nueva_contraseña';
    • GO
    • EXIT



Nota 

También se puede utilizar "sp_password", aunque con la nota que Microsoft dice que este será quitado en futuras versiónes (posteriores a SQL Server 2012).

Probamos la conexión

Una vez que cambiamos la contraseña vamos a intentamos conectarnos via la misma consola de windows, con los siguientes comandos:

  • osql -U sa -S nombreservidor\COMPAC
  • ingresa contraseña
  • En caso de conectarnos con exito escribrimos exit.
Listo!, con estos pequeños pasos hemos cambiamos la contraseña del sa.

Links



Tuesday, May 21, 2013

SUA - ERROR "13" EN TIEMPO DE EJECUCIÓN: NO COINCIDEN LOS TIPOS


Antecedentes

Un día me habló muy angustiada una persona de RRHH de la empresa para la que trabajo, comentándome que el SUA le daba un error al calcular un pago extemporáneo. El error era el siguiente: "error '13' en tiempo de ejecución: no coinciden los tipos".
Después de hacerle varías preguntas me dijo que ya había hablado por teléfono al soporte técnico del IMSS, en donde le pidieron hacer lo siguiente:

 - Verificar que la computadora este configurada con los estándares y formatos de acuerdo a como fue programado el SUA. 

Por lo general basta con fijar la computadora con el estándar "Español (México)", tal y como se detalla en las preguntas frecuentes del SUA.

A nosotros no nos funcionó esta solución y la respuesta de soporte técnico fue: "mándanos un correo con el error y datos generales de tu empresa, de 24 a 48 hrs tendrás respuesta".

Solución (SUA v3.4.0)

Me di cuenta que al momento de estar generando el pago, el sistema valida los números de crédito infonavit, el cual se compone de 9 dígitos + 1 número verificador.

Primeros pasos

  1. Respaldar SUA.
    • Como normal general, antes que nada debemos tener respaldo de cualquier archivo/fichero que   vayamos a modificar.

Paso a paso 

Este es el método más sencillo para corregir el error:

  1. Obtener un listado de las personas con crédito infonavit.
    • Esto se realiza en: SUA -> Reportes -> Análisis de información -> "Verificación de acreditados" -> seleccionamos el bimestre del mes que nos muestra el error.
  2. Buscamos los empleados con número de crédito incorrecto.
  3. Corregimos los movimientos de los empleados.
    • SUA -> Trabajadores -> buscamos al empleado -> eliminamos movimientos y los capturamos de nuevo.

El método que utilicé es el siguiente:
  1. Abrir la base de datos del SUA en Microsoft Access (obvio tiene contraseña para mayor "seguridad").
  2. Buscar en la tabla "Movtos" los registros en los que el campo "Num_Cre" sea menor a 10 caracteres.
    • Yo utilicé este query: SELECT * FROM Movtos WHERE LEN(Num_Cre) < 10;
    • Cuidado con los múltiples registros patronales.
  3. Le mandamos a RRHH el resultado para que nos valide los números de crédito.
  4. Actualizamos la información en Access. 

Listo!, Calculamos de nuevo y esta vez no debe presentar error.