Menu

formato de facturas

Help
2019-01-17
2023-01-08
  • Administración

    Administración - 2019-01-17

    Hola a todo el mundo,
    Estoy usando la ultima version de Keme y me gustaría saber si hay alguna forma de personalizar las facturas, más allá de poner el logo, es decir, si se puede cargar una plantilla de factura diferente.
    Un saludo

     
  • José Manuel Díez - Dibosa

    Hola,

    hay unos informes en jasperreports para facturas, se pueden editar con la herramienta ireport 5.5. Lo que ocurre es que en próximas versiones se van a dejar de utilizar y se van a sustituir por una herramienta hecha en C++ nativo - también va a haber disponible un editor de plantillas de informes.
    Esto estará disponible en unas semanas,

    saludos

     
    👍
    1
  • Administración

    Administración - 2019-02-06

    Gracias! estaremos esperando esa nueva versión

     
  • Administración

    Administración - 2019-09-02

    Buenas,
    he actualizado a la versión 3.2.1.1 pero no encuentro el editor de plantillas de facturas o informes. He intentado hacerlo a través jasper y de ireport 5.5 pero no termino de conseguirlo. Hay alguna novedad en este frente?
    Gracias!

     
  • José Manuel Díez - Dibosa

    Hay un ejecutable que se llama QtRptDesigner- con esta aplicación puedes editar los xml que hay en el directorio keme/zz_Informes. En Ubuntu el nombre del elemento del menú sistema se llama "Informes"
    Si utilizas windows, el diseñador lo puedes conseguir desde aquí:

    https://sourceforge.net/projects/qtrpt/files/

    Está en el binario para windows,

    saludos

     
  • Clara F

    Clara F - 2021-08-18

    Hola!

    Estoy en el editor QtRptDesigner supuestamente editando la plantilla XML de las facturas.

    Sin embargo:

    1. La factura que estoy editando no se parece a la que luego exporta KEME.
    2. Keme parece que usa como plantilla un archivo que termina en .jasper (qué es eso?)

    ¿Cómo puedo conseguir que KEME "tire" del archivo XML que estoy modificando?
    No sé dónde está alojado el archivo .jasper ni si es posible editarlo.

    Gracias en avance,

     
    • Clara F

      Clara F - 2021-08-24

      Ya conseguí editar un informe de modelo de factura con QtRptDesigner y que Keme lo utilice para sacar los pdfs.

       
  • Clara F

    Clara F - 2021-08-24

    Hola a todo el mundo:

    ¿existe un directorio de etiquetas XML para usar en la plantilla que editamos con QtRptDesigner?

    Por ejemplo, tengo el problema de que escribo [EM_CIF] y no llama al CIF de la empresa almacenado en la base de datos de Keme.

    Hemos probado todas estas etiquetas y ninguna funciona: CIF, NIF, CIF/NIF, EM_NIF, EM_CIF, EM_CIF/NIF...

    Gracias por adelantado,

     
  • José Manuel Díez - Dibosa

    Hola Clara,

    para el nif del emisor de la factura prueba con "NIF"
    para el nif del cliente sería "CNIF"

    Otros campos para el emisor de la factura serían:

    "EM_NOMBRE"
    "EM_DIREC"
    "EM_CP"
    "EM_POBLACION"
    "EM_PROVINCIA"
    "EM_PAIS"

    Para el cliente:

    "NOMBRE"
    "DIREC"
    "CP"
    "POBLACION"
    "PROVINCIA"
    "PAIS"
    "CNIF"
    "NIF"

    Espero que te funcionen,

    saludos

     
    • Clara F

      Clara F - 2021-08-27

      Buen día, José Manuel, gracias por la respuesta.

      He probado la etiqueta [NIF] en qrptdesigner y lo que muestra es el cif del cliente. No lo entiendo.

      He escrito el CIF de la empresa a mano en la plantilla porque es un dato invariable, pero es una pena que no funcione la etiqueta.

      Gracias y un saludo.

       
  • Ignacio Espiñeira Iglesias

    Buenos dias,
    No se si me podreis ayudar, pero estoy intentando personalizar la factura a emitir y necesitaria identificar algunos campos para incluirlos en mi factura, como son: * El total de linea de la factura ([PRECIO]-[DESCUENTO]*[CANTIDAD]) * La Cuenta del cliente (Numero de Cliente en KEME)

    Muchas gracias de antemano.
    Un saludo

     
  • Ignacio Espiñeira Iglesias

    Disculpad, tambien querria saber si hay alguna funcion disponible que permita modificar el formato de las fechas para mostrar fecha en formato "DD de MES de AAAA" en vez de "DD-MM-AAAA"

     

    Last edit: Ignacio Espiñeira Iglesias 2022-08-21
  • Felipe

    Felipe - 2023-01-07

    Buenos días a todos,

    Yo también estoy trasteando con las consultas. Estoy modificando el xml del diseño de factura con QtRPTDesigner. De momento todo bien, pero estoy tratando de tener un campo con [PRECIO] [CANTIDAD] y no estoy teniendo suerte (pienso que precio viene con formato texto y no veo la forma de convertirlo a valor.
    ¿Hay algun campo con el resultado de la linea, es decir <[CANTIDAD]*[PRECIO]>?

    Si alguien sabe como hacerlo, puedo despues subir el xml por si alguien le viene bien.

     
  • José Manuel Díez - Dibosa

    Buenos días,

    creo que para precio por cantidad te podría valer la variable "[TOTALLIN]"

    Pego aquí el fragmento del código de la aplicación donde tienes todas las variables posibles (son las comparaciones a la variable del programa paramName, en rojo los nombres):

        if (paramName == "CFECHA") paramValue = msfecha;
        if (paramName == "FECHA") paramValue = fecha_fac.toString("dd-MM-yyyy");
        if (paramName == "CCOD") paramValue = msnumero;
        if (paramName == "COD") paramValue = qserie+qnumero;
    
        if (paramName == "DOCUMENTO") paramValue = documento;
    
        if (paramName == "EM_NOMBRE") paramValue = nombre_empresa;
    
        if (paramName == "EM_DIREC") paramValue = domicilio;
        if (paramName == "EM_CP" ) paramValue = cp;
    
        if (paramName == "EM_POBLACION") paramValue = poblacion;
    
        if (paramName == "EM_PROVINCIA") paramValue = provincia;
    
        if (paramName == "EM_PAIS") paramValue = pais_emisor;
    
        if (paramName == "NOMBRE") paramValue = razon;
        if (paramName == "DIREC") paramValue = domicilio2;
        if (paramName == "CP") paramValue = codigopostal;
        if (paramName == "POBLACION") paramValue = poblacion2;
        if (paramName == "PROVINCIA") paramValue = provincia2;
        if (paramName == "PAIS") paramValue = pais;
        if (paramName == "CNIF") paramValue = mscif_cliente;
        if (paramName == "NIF") paramValue = cif2;
    
        QString detalle_cliente;
        detalle_cliente+=" "+razon+"\n";
        detalle_cliente+=" "+domicilio2+"\n";
        detalle_cliente+=" "+codigopostal+" - "+poblacion2+"\n";
        detalle_cliente+=" "+provincia2+"\n";
        detalle_cliente+=" "+pais+"\n";
        detalle_cliente+=" "+mscif_cliente+" "+cif2;
        if (paramName == "DETALLE_CLIENTE") paramValue = detalle_cliente;
    
    
        if (paramName == "CREFERENCIA") paramValue = referencia;
        if (paramName == "CDESCRIPCION") paramValue = descripref;
        if (paramName == "CCANTIDAD") paramValue = cantidad;
        if (paramName == "CPRECIO") paramValue = precio;
        if (paramName == "CTOTALLIN") paramValue = totallin;
        if (paramName == "CDESCUENTO") paramValue = msdescuento;
    
        if (paramName == "REFERENCIA") paramValue = codigos.at(recNo);
        if (paramName == "DESCRIPCION") paramValue = descripciones.at(recNo);
        if (paramName == "DESCRIPCIONSN") paramValue = descripcionsn.at(recNo);
        if (paramName == "NOTASLN") paramValue = notasln.at(recNo);
        if (paramName == "CANTIDAD") paramValue = cantidades.at(recNo);
        if (paramName == "PRECIO") paramValue = precios.at(recNo);
        if (paramName == "DESCUENTO") paramValue = descuentos.at(recNo);
        if (paramName == "TOTALLIN") paramValue = totaleslin.at(recNo);
    
        if (paramName == "NOTAS") paramValue = notas;
        if (paramName == "CBI") paramValue = msbi;
        if (paramName == "CTIPO") paramValue = mstipoiva;
        if (paramName == "CCUOTA") paramValue = mscuota;
    
        if (listabase_iva.count()>0) {
            if (paramName == "BASE1") paramValue = listabase_iva.at(0);
            if (paramName == "TIPO1") paramValue = listatipo_iva.at(0);
            if (paramName == "CUOTA1") paramValue = listacuota_iva.at(0);
        }
    
        if (listabase_iva.count()>1) {
            if (paramName == "BASE2") paramValue = listabase_iva.at(1);
            if (paramName == "TIPO2") paramValue = listatipo_iva.at(1);
            if (paramName == "CUOTA2") paramValue = listacuota_iva.at(1);
        }
    
        if (listabase_iva.count()>2) {
            if (paramName == "BASE3") paramValue = listabase_iva.at(2);
            if (paramName == "TIPO3") paramValue = listatipo_iva.at(2);
            if (paramName == "CUOTA3") paramValue = listacuota_iva.at(2);
        }
    
        if (paramName == "CRETENCION") paramValue = mretencion;
        if (paramName == "TIPORET") paramValue = tipo_ret;
        if (paramName == "RETENCION") paramValue = retencion;
    
        if (paramName == "CTOTAL") paramValue = totalfac;
        if (paramName == "TOTAL") paramValue = formateanumerosep(totalfactura,comadecimal,decimales);
    
        if (suplidos>0.001 || suplidos<-0.001)
           {
            //pie_factura += "\\footnotesize "+msuplidos+ " & \\footnotesize " +formateanumerosep(suplidos,coma,decimales);
            //pie_factura += moneda + "\\\\\\hline\n";
            if (paramName == "CSUPLIDOS") paramValue = msuplidos;
            if (paramName == "SUPLIDOS") paramValue = formateanumerosep(suplidos,comadecimal,decimales);
    
           }
    
    
        if (paramName == "PIE1") paramValue = pie1;
        if (paramName == "PIE2") paramValue = pie2;
        if (paramName == "INFO") paramValue = nombre_empresa + " - " + cif + " - " + id_registral;
    
     

    Last edit: José Manuel Díez - Dibosa 2023-01-08
  • Felipe

    Felipe - 2023-01-08

    Hola José Manuel,
    Perfecto! Esto es muy util.

    Lo prometido es deuda, por si alguien le resulta util, adjunto el xml con el diseño incluyendo el total de linea.

     

Log in to post a comment.