Moví hace 2 días la instalación de hosting, pero el error se produce desde hace un mes aproximadamente. Lo dejé pasar, y es error por mi parte, porque pensé que después de actulizar aplicación y plugins se solucionaría pero no ha sido así. ¿Crees que es un problema de permisos de usuario en la base de datos?
La tabla articulo_trazas depende de lineasalbaranescli, lineasalbaranesprov, lineasfacturascli y lineasfacturasprov. Creo que la columna idlinea de alguna de esas será int(11) y las demás int(10), o al contrario. Todas deberían tener la misma longitud.
Pues o al crear la tabla mysql intenta hacerlo con int(10) o la referencia de los artículos la has ampliado y ya no es varchar(18).
Modifica el archivo config.php de FacturaScripts y pon FS_DB_HISTORY a TRUE.
Crea un artículo nuevo y marca trazabilidad, guarda y haz clic en el botón trazabilidad, arriba a la izquierda. En la parte de abajo debería aparecer el sql generado. Te dirá si está usando int(10) o int(11).
Esto es lo que muestra la SQL:
SHOW TABLES;
SELECT * FROM fs_pages WHERE name = 'articulo_trazabilidad';
SELECT * FROM fs_vars;
SELECT * FROM fs_extensions2 ORDER BY name ASC;
SELECT * FROM fs_users WHERE nick = 'admin';
SELECT referencia,codfamilia,codfabricante,descripcion,pvp,factualizado,costemedio,preciocoste,codimpuesto,stockfis,stockmin,stockmax,controlstock,nostock,bloqueado,secompra,sevende,equivalencia,codbarras,observaciones,imagen,publico,tipo,partnumber,codsubcuentacom,codsubcuentairpfcom,trazabilidad FROM articulos WHERE referencia = 'neo2';
SHOW TABLES;
SHOW TABLE STATUS FROM `basilio_facturacion` LIKE 'articulo_trazas';
SELECT * FROM information_schema.table_constraints WHERE table_schema = schema() AND table_name = 'articulo_trazas';
SHOW COLUMNS FROM `articulo_trazas`;
SELECT * FROM information_schema.table_constraints WHERE table_schema = schema() AND table_name = 'articulo_trazas';
ALTER TABLE articulo_trazas ADD CONSTRAINT ca_articulo_trazas_linalbprov FOREIGN KEY (idlalbcompra) REFERENCES lineasalbaranesprov (idlinea) ON DELETE SET NULL ON UPDATE CASCADE;ALTER TABLE articulo_trazas ADD CONSTRAINT ca_articulo_trazas_linfacprov FOREIGN KEY (idlfaccompra) REFERENCES lineasfacturasprov (idlinea) ON DELETE SET NULL ON UPDATE CASCADE;
SELECT * FROM articulo_trazas WHERE referencia = 'neo2' ORDER BY id DESC
SELECT * FROM divisas WHERE coddivisa = 'EUR';
SELECT * FROM fs_vars WHERE name = 'updates';
INSERT INTO fs_logs (fecha,tipo,detalle,usuario,ip,alerta) VALUES ('2017-04-25 16:59:22','db','Error al ejecutar la consulta 0: Can\'t create table \'basilio_facturacion.#sql-1d4d_47fc04f\' (errno: 150). La secuencia ocupa la posición 12','admin','X.X.X.X',FALSE);
SELECT LAST_INSERT_ID() as num;
INSERT INTO fs_logs (fecha,tipo,detalle,usuario,ip,alerta) VALUES ('2017-04-25 16:59:22','model','Error al comprobar la tabla articulo_trazas','admin','X.X.X.XX',FALSE);
SELECT LAST_INSERT_ID() as num;
OK, aquí está el problema:
ALTER TABLE articulo_trazas ADD CONSTRAINT ca_articulo_trazas_linalbprov FOREIGN KEY (idlalbcompra) REFERENCES lineasalbaranesprov (idlinea) ON DELETE SET NULL ON UPDATE CASCADE;ALTER TABLE articulo_trazas ADD CONSTRAINT ca_articulo_trazas_linfacprov FOREIGN KEY (idlfaccompra) REFERENCES lineasfacturasprov (idlinea) ON DELETE SET NULL ON UPDATE CASCADE;
Intenta establecer la clave ajena para la columna idlalbcompra contra la tabla lineasalbaranesprov, y otra clave ajena para la columna idlfaccompra contra la tabla lineasfacturasprov. Pero no puede.
Motivos:
- Ya hay datos en esas columnas de la tabla articulo_trazas y esos ids no están en las tablas.
- Los tipos de la columnas no coincide.
Hola Basilio, continua tu error?
Comentarte q si no puedes solucionarlo puedes contratar horas de servicio en facturascript.com/store
O tambien solicitar q un partner te lo solucione ya sea contratando horas de soporte o planes de mantenimiento.
Y una vez resuelto se puede publicar la solución por este medio para futuros problemas.
Un saludo J.M.
X-net Software Solutions S.L.
FacturaScritps en la Nube Gratis
Hola.
Disculpad la demora, como seguía funcionando no lo tenía como una prioridad y además estuve una semana de "vacaciones" :)
Como no llevamos control de compras con el programa, el problema era que no existía ningún albarán de compra de proveedor, por lo tanto la tabla lineasalbaranesprov no existía.
Saludos.