Menu

Error creando empresa

Help
2017-04-10
2017-04-10
  • Guillermo Ulises

    Buenas,

    Creando empresa con QMYSQL Y QMYSQL3 me da el siguiente error:
    (Keme 3.0.3.6, Mysql 5.7.17 )


    Error al ejecutar la sentencia:
    CREATE TABLE tipos_doc (codigo varchar(80),descrip varchar(254) default '',serie varchar(80) default '',pie1 varchar(254) default '',pie2 varchar(254) default '',moneda varchar(10) default '',codigo_moneda varchar(10) default '',contabilizable bool default false,rectificativo bool default false,precision bool default false,tipo_operacion int,cif_empresa varchar(254) default '', cif_cliente varchar(254) default '', documento varchar(254) default '', cantidad varchar(254) default '', referencia varchar(254) default '', descripref varchar(254) default '', precio varchar(254) default '', totallin varchar(254) default '', bi varchar(254) default '', descuento varchar(254) default '', tipoiva varchar(254) default '', tipore varchar(254) default '', cuota varchar(254) default '', cuotare varchar(254) default '', totalfac varchar(254) default '', totallineas varchar(254) default '', suplidos varchar(254) default '', lineas_doc int, notas varchar(254) default '', venci varchar(254) default '', numero varchar(254) default '', fecha varchar(254) default '', cliente varchar(254) default '', nombre_emisor varchar(254) default '', domicilio_emisor varchar(254) default '', cp_emisor varchar(254) default '', poblacion_emisor varchar(254) default '', provincia_emisor varchar(254) default '', pais_emisor varchar(254) default '', cif_emisor varchar(254) default '', id_registral varchar(254) default '', fichreport varchar(254) default '', notastex text , imagen text,PRIMARY KEY (codigo) ) ENGINE = InnoDB
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'precision bool default false,tipo_operacion int,cif_empresa varchar(254) default' at line 1
    Controlador: QMYSQL


    Error al ejecutar la sentencia:
    CREATE TABLE referencias (codigo varchar(80),descrip varchar(254) default '',precio numeric(19,4) default 0,iva varchar(20) default '',ivare varchar(20) default '',cuenta varchar(80) default '',suplido bool default false,anticipo bool default false,precision bool default false,PRIMARY KEY (codigo) ) ENGINE = InnoDB
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'precision bool default false,PRIMARY KEY (codigo) ) ENGINE = InnoDB' at line 1
    Controlador: QMYSQL3


    Error al ejecutar la sentencia:
    alter table facturas add foreign key(tipo_doc) references tipos_doc(codigo)
    Cannot add foreign key constraint
    Controlador: QMYSQL3


    Error al ejecutar la sentencia:
    alter table lin_fact add foreign key(codigo) references referencias(codigo)
    Cannot add foreign key constraint
    Controlador: QMYSQL3

     
  • José Manuel Díez - Dibosa

    Hola Guillermo,

    tienes razón hay un error en la creación de algunas tablas - es muy sencillo de corregir; solo afecta al ejecutable del keme5.

    En muy breve subimos paquetes corregidos,

    saludos, y gracias por el reporte,

    José Manuel

     
  • Guillermo Ulises

    Gracias por tu pronta respuesta, lo encontre:

    "precision" is a "Reserved Word" in Mysql.
    Hay que añadir comillas a precision dentro de la sentencia, quedando asi:


    CREATE TABLE tipos_doc (codigo varchar(80),descrip varchar(254) default '',serie varchar(80) default '',
    pie1 varchar(254) default '',pie2 varchar(254) default '',moneda varchar(10) default '',
    codigo_moneda varchar(10) default '',contabilizable bool default false,rectificativo bool default false,
    precision bool default false, tipo_operacion int,cif_empresa varchar(254) default '', cif_cliente varchar(254) default '',
    documento varchar(254) default '', cantidad varchar(254) default '', referencia varchar(254) default '',
    descripref varchar(254) default '', precio varchar(254) default '', totallin varchar(254) default '',
    bi varchar(254) default '', descuento varchar(254) default '', tipoiva varchar(254) default '', tipore varchar(254) default '',
    cuota varchar(254) default '', cuotare varchar(254) default '', totalfac varchar(254) default '', totallineas varchar(254) default '',
    suplidos varchar(254) default '', lineas_doc int, notas varchar(254) default '', venci varchar(254) default '', numero varchar(254) default '',
    fecha varchar(254) default '', cliente varchar(254) default '', nombre_emisor varchar(254) default '', domicilio_emisor varchar(254) default '',
    cp_emisor varchar(254) default '', poblacion_emisor varchar(254) default '', provincia_emisor varchar(254) default '',
    pais_emisor varchar(254) default '', cif_emisor varchar(254) default '', id_registral varchar(254) default '',
    fichreport varchar(254) default '', notastex text , imagen text,PRIMARY KEY (codigo) ) ENGINE = InnoDB;

    CREATE TABLE referencias (codigo varchar(80),descrip varchar(254) default '',precio numeric(19,4) default 0,iva varchar(20) default '',
    ivare varchar(20) default '',cuenta varchar(80) default '',suplido bool default false,anticipo bool default false,
    precision bool default false,PRIMARY KEY (codigo) ) ENGINE = InnoDB;


    Saludos

     

    Last edit: Guillermo Ulises 2017-04-10
  • José Manuel Díez - Dibosa

    El nombre del campo se cambió de todas formas a "conprecision" para evitar este problema con MySQL - lo que ocurre es que no actualizamos correctamente el fichero donde se crean las tablas,

    saludos

     
  • José Manuel Díez - Dibosa

    Ya han sido reemplazados los paquetes erróneos,

    saludos

     

Log in to post a comment.