TABLA DE CONTENIDO
- Actualizar con la intercalación diferente a la de Fábrica
- Espacio en disco insuficiente
- Mensajes en el paso de COMPROBACIONES PREVIAS
- Error de Versión. No coincide su versión de la aplicación con la del servidor
- Índice fuera de los límites de la matriz
- Mensaje emergente
- Posibles registros en zActualizador_Scripts_Clientes
- Que falten registros clave: cliente 0, serie 0, serie prov 0, artículo 0, artículo portes, etc...
- Ofertas, Pedidos, Pedidos de proveedor con moneda distinta de euro cuyo Cambio=0
- Ofertas, Pedidos, Pedidos de proveedor Descuento > 100
- Storeds con parámetros distintos
- Cuentas contables repetidas o a NULL
- Tipos de cuentas contables con máscara errónea, distinta a la vacía
- Buscadores rotos
- Objetos mal nombrados (con espacios)
- Vinculaciones con otras bases de datos
- Error "Cannot read property collation. Esta propiedad no está disponible en SQL Server 7.0."
- La actualización tarda mucho en completarse. La base de datos es muy grande.
- A la colección X faltan los campos...
Actualizar con la intercalación diferente a la de Fábrica.
Si tenemos un servidor con una intercalación diferente a la que viene de fábrica Sql_Latin1_General_CP1_CI_AS (2ª 1252) cuando vamos a empezar a actualizar, aparece un mensaje indicando que la intercalación no es la correcta pero podemos seguir puesto que la base de datos temporal que se genera tiene la misma intercalación.
Al actualizar en esta situación en primer lugar hay que asegurarse de que la intercalación de la base de datos a actualizar coincide con la de la instancia en la que está ubicada. Si esto no es así, pueden ocurrir problemas durante la actualización.
Para generar una base de datos vacía con la misma intercalación que tiene la instancia, podemos usar el Ahora Install escogiendo la opción de generar base de datos e indicando la instancia en los datos de base de datos que nos solicita.
Una vez introducidos los datos de conexión, al entrar en el interface aparece el mensaje del asunto debido a que el programa actualizador prevé que no va a tener suficiente espacio para su actualización.
Esto es debido a que el programa actualizador recomienda que por lo menos haya más del doble del tamaño de la base de datos a actualizar. Lo ideal es contar con un espacio 7 veces mayor que lo que ocupa la base de datos a actualizar.
Mensajes en el paso de Comprobaciones previas
Es el primer paso que lleva acabo AHORA Actualizador. El objetivo del mismo es identificar si la base de datos que vamos a actualizar contiene alguna inconsistencia de datos que pueda afectar al buen comportamiento de AHORA ERP tras actualizar la base de datos. En caso de obtener inconsistencias de datos, éstos deben arreglarse antes de avanzar con la actualización.
A continuación, indicamos un conjunto de posibles inconsistencias de datos y cómo se deberían solucionar:
· La propiedad de base de datos "Comprobación de páginas" es distinta de CHECKSUM
Este mensaje de advertencia no bloqueante nos recomienda que establezcamos la propiedad Comprobación de Páginas de la base de datos que estamos actualizando en la modalidad CHECKSUM. Esta modalidad ofrece mayor cobertura de casos de error que la tradicional TORN_PAGE_DETECTION, y es más confiable y sensible a errores de E/S.
· No existe un registro importante para el funcionamiento de AHORA ERP.
La existencia de ciertos registro base son fundamentales para el correcto funcionamiento de AHORA ERP. Para arreglar este tipo de error debemos insertar el registro que nos indique el mensaje. Este error suele surgir en versiones antiguas donde se permitía borrar el registro 0 de algunos maestros (Clientes, Proveedores, Artículos).
Ejemplo | Solución |
El proveedor 0 no existe. | Darlo de alta en la base de datos a actualizar. Basta con ejecutar este sencillo script: insert into prov_datos (idproveedor, proveedor,razonsocial) select 0, 'Sin Definir','Sin Definir' |
El Cliente 0 no existe. | Darlo de alta en la base de datos a actualizar. Basta con ejecutar este sencillo script: insert into clientes_datos (idCliente, Cliente, RazonSocial) select 0, 'Sin Definir', 'Sin Definir' |
· Se detectan claves ajenas erróneas
El modelo de datos de AHORA ERP es relacional, por lo que las claves ajenas deben apuntar a datos existentes. Con el paso del tiempo, entre versión y versión, se han ido añadiendo y mejorando las claves ajenas. Para arreglar este tipo de error debemos ver la naturaleza del mismo y bien, crear los datos inexistentes o eliminar el valor de la clave ajena en caso de que no sea necesario.
En la sección “script” tenemos la consulta que ha encontrado las claves ajenas. Para saber los registros que están afectados se debe ejecutar el script en Microsoft SQL Management Studio sobre la base de datos que estamos actualizando.
Ejemplo | Solución |
Ejemplo 1: Existen líneas de pedido de venta que hacen referencia a ofertas inexistentes. La solución sería o bien crear las ofertas con los identificadores señalados (IdOferta, Revisión, IdOfertaLinea) en los resultados de la query o poner a NULL los valores afectados. Este caso se recomienza solucionarlo poniendo a NULL los valores afectados. Nos decantamos por esta solución porque no se está en situación de conocer el detalle de las ofertas a crear y porque seguramente la oferta que señala por defecto sea la idOferta 0, valor que AHORA ERP en versiones anteriores ponía por defecto. | UPDATE T1 set IdOferta= NULL, Revision= NULL, IdOfertaLinea= NULL FROM Pedidos_Cli_Lineas T1 WITH (NOLOCK) WHERE T1.IdOferta IS NOT NULL AND T1.Revision IS NOT NULL AND T1.IdOfertaLinea IS NOT NULL AND NOT EXISTS(SELECT 1 FROM Ofertas_Cli_Lineas T2 WHERE T1.Revision=T2.Revision AND T1.IdOfertaLinea=T2.IdLinea AND T1.IdOferta=T2.IdOferta) |
Ejemplo 2: Existe seguridad aplicada a entidades que no existen. Este error ocurre porque antes no existía la clave ajena y por lo tanto no se comprobaba que el dato que se introducía era correcto. Esta tabla se suele manipular a través del Microsoft SQL Management Studio, por lo que los datos que encontremos aquí incongruentes deberemos borrarlos (si es una seguridad que no aplica) o sustituir la IdEntidad afectada por su nombre correcto. La entidad “Ahora_nodos” suele ser una de las afectadas. Esta entidad no existe, el nombre correcto es “Ahora_nodo”. | En este caso nos decantamos por modificar el registro para indicar el nombre de la entidad correctamente “Ahora_nodo”. |
Ejemplo 3: Existe pedidos de proveedor que hacen referencia a una lista de precios de compra inexistente. | En este caso sugerimos actuar en función del estado del pedido. Si el pedido ya está gestionado en su totalidad, teniendo en cuenta que el campo IdLista puede ser NULL, modificaremos el dato a NULL. En caso de que el pedido no esté gestionado en su totalidad, indicar en el campo IdLista el número de la lista de precios del proveedor del pedido. |
Ejemplo 4: Existe mandatos asociados a un cliente y una domiciliación que no están relacionados. | Si la domiciliación es correcta, se debería dar de alta y asociarla al cliente. En caso contrario se debería borrar el registros de Clientes_Domiciliaciones_Mandatos. |
Ejemplo 5: Existen registros de campos configurables para proveedores inexistentes. | Esta situación se debe atender eliminando los registros de la tabla configurable afectada ya que el maestro no existe. |
Error de Versión. No coincide su versión de la aplicación con la del servidor.
Al entrar el programa AHORA ERP mostrará un mensaje de error si la versión de la base de datos no coincide con la versión del producto que tenemos instalado.
Se debe sustituir la versión del cliente por la versión de la base de datos.
Índice fuera de los límites de la matriz
Este mensaje puede aparecer debido a que tenemos instalado un paquete SMO incorrecto y que hace que el que usa la aplicación actualizador interfiera con el paquete instalado.
Para que no aparezca este mensaje, desinstalar los paquetes SMO instalados en la máquina. La última versión del actualizador ya incorpora los ficheros necesarios.
Si durante el proceso de actualización aparece un mensaje emergente, debemos de enviar una copia al administrador del sistema o en su defecto ponerse en contacto con Fábrica para tratar el error. Esto es un error que hay que corregir antes de actualizar la base de datos en producción.
Posibles registros en zActualizador_Scripts_Clientes
Nos avisa cuando en esta tabla tenemos un registro en el que el valor del campo 'Actualizador' es 0. Esto implica que se el código indicado en dicho registro se actualizará después de finalizar el actualizador y es posible que los objetos a los que hace referencia ya no existan en la versión destino o que se haya cambiado alguna propiedad de los mismos.
Esta advertencia nos indica que hay que revisar esta parametrización antes de seguir con la actualización.
Que falten registros clave: cliente 0, serie 0, serie prov 0, artículo 0, artículo portes, ...
Este error nos va a impedir proseguir con la actualización correctamente, ya que se refiere a objetos que no existen y serán necesarios en algún momento determinado.
En este caso, habrá que crear los elementos que nos indique el actualizador, en las respectivas tablas, antes de proseguir con la actualización.
Ofertas, Pedidos, Pedidos de proveedor con moneda distinta de euro cuyo Cambio=0
Este error se produce al detectar un documento en el que se utiliza una moneda distinta del €, con un tipo de cambio = 0. Generalmente serán importaciones/exportaciones en las que se ha actualizado la fecha de validez del cambio y no se ha actualizado este, dejándolo a 0.
En este caso, hay que actualizar el cambio en el documento indicado de forma que sea distinto de 0.
Ofertas, Pedidos, Pedidos de proveedor Descuento > 100
Con este mensaje de error, el actualizador nos está indicando que la combinación de descuentos en alguna línea de estos documentos, es superior al 100%. Esto es algo que en esta versión del ERP no se admite y habrá que corregir para continuar con la actualización.
En la sección de scripts, tendremos la consulta a realizar para encontrar las líneas en las que se ha detectado este error.
Storeds con parámetros distintos
Al actualizar la base de datos, podemos encontrarnos con que se han modificado storeds a nivel de parametrización. O bien cambiando el tipo de datos o bien añadiendo o eliminando parámetros.
Con esta advertencia, el actualizador nos indica que tenemos que revisar los storeds personalizados que nos indica en el mensaje, para adaptar la parametrización de los mismos al estándar.
Para solucionarlo, habrá que editar el stored que nos indica el actualizador y, comparando los parámetros con los del estándar, adecuarlos a los nuevos requerimientos.
Cuentas contables repetidas o a NULL
Esta advertencia nos indica que, o bien más de un cliente o proveedor tiene configurada una misma subcuenta, o que alguno de ellos tenga una subcuenta no configurada en su ficha.
Tipos de cuentas contables con máscara errónea, distinta a la vacía
Con esta advertencia, el actualizador nos indica que la parametrización actual podría generar errores al dar de alta nuevos clientes o proveedores.
En la tabla Conta_Ejercicios, el campo Digitos_Subcuenta nos indica el número de dígitos máximo que puede tener una subcuenta. Al mismo tiempo, desde la opción de menú 'Configuración de Subcuentas Contables', se configuran las máscaras que se van a utilizar para crear todas las subcuentas contables.
En este caso, el mensaje suele referirse al patrón creado durante la configuración para las subcuentas de Cliente y Proveedor. Este patrón, correspondiente al IdCliente e IdProveedor, al combinarse en la máscara no puede tener más dígitos que los indicados en el ejercicio, como longitud de las subcuentas de contabilidad.
Hay que adaptar este patrón; indicado en los parámetros 'PATRONPROVEEDORES' y 'PATRONCLIENTES' para que su combinación en la máscara comentada, no genere subcuentas con un número de dígitos superior al indicado en la configuración del plan contable.
En la sección de scripts, podemos encontrar una consulta mediante la que revisar estos datos.
Buscadores rotos
Esta advertencia nos la mostrará el actualizador, en el caso en que tengamos algún buscador personalizado y este esté realizando consultas sobre tablas/vistas en las que se haya realizado alguna modificación respecto a la versión desde la que estamos actualizando.
Habrá que revisar estos buscadores para adecuarlos a los nuevos requerimientos.
Objetos mal nombrados (con espacios)
Este error que presenta el actualizador, se muestre al detectar algún objeto personalizado y en cuyo nombre se ha introducido algún espacio para separar palabras (Objeto Impresora), en lugar de seguir el procedimiento estándar de unir todas las palabras iniciándolas en mayúsculas 'ObjetoImpresora' o separándolas mediante el '_' (Objeto_Impresora).
Hay que corregir este nombre de objeto y cambiarlo en todas sus apariciones, antes de proseguir con la actualización.
Vinculaciones con otras bases de datos
Esta advertencia del actualizador, se mostrará cuando tengamos una vinculación con una base de datos externa y esta no esté accesible durante el proceso de actualización.
Error "Cannot read property collation. Esta propiedad no está disponible en SQL Server 7.0."
Este mensaje aparece en el actualizador al iniciar la actualización en servidores que tienen instalado SQL 2008 R2 pero no tienen instalado el Service Pack 3. Aparece aunque estemos actualizando en esa máquina en una instancia de versión más reciente, como por ejemplo SQL Server 2017.
La solución en este caso es instalar dicho Service Pack 3 de SQL Server 2008 R2. Después el actualizador debería funcionar normalmente.
La actualización tarda mucho en completarse. La base de datos es muy grande.
Esto suele ocurrir en mayor medida cuanto mayor es el salto entre versión inicial y versión destino. También está demostrado que el tamaño de la base de datos puede influir en el tiempo de actualización.
Siempre que sea posible, es recomendable realizar un reinicio del servicio de SQL Server antes de proceder con la actualización de versión. Este paso produce que el servidor de base de datos libere recursos consiguiendo que el proceso de actualización sea más rápido.
A la colección X le faltan los campos...
En el paso último de recompilación puede aparecer en la columna Objeto Configuración colección un mensaje similar: A la Colección X le faltan los campos...
Este mensaje aparece cuando existe alguna colección que no tuviera todos los campos del objeto. Para solucionarlo hay que editar la vista y añadir todos los campos que indica el mensaje. Una vez añadidos ejecutar la vista para comprobar que no aparecen errores.
Otra forma de subsanar este error o si fuera correcto que no queremos añadir más campos podemos obviarlo para que
termine el proceso de recompilar indicando que esa colección es un objeto (campo colección de la tabla objetos a 0) una vez termine este punto volvemos a dejar la colección con el valor correcto, 1.