1.8.106 Mar-2024 PK00 #Y-15394 [19/01/2024]; Bo2Util.reemplazaRETORNO; Bo2Util.quitaRETORNO; Nuevas funciones para reemplazar los retornos por
o eliminarlos. [20/01/2024] - #Y-15394; com.Bo2A.Event.ObjBo2aEventImprimir; com.Bo2A.cliente.coordinador.Bo2aCoorEvento.IMPRIME_REPORT; com.Bo2A.cliente.window.Bo2aPantallaBase.imprimeReport; PARAM_CODIGO_REPORT; Nuevo parámetro que recibe el evento asociado a esta interface para indicar el report que se tiene que imprimir. // Se puede indicar que report se va a utilizar, en lugar del especificado en imprimeReport(sCodigoReport, ... // Obviamente tiene que estar definido en la página. [20/01/2024] - #Y-15394; com.Bo2A.validators.gestion.EmitirDocumentos; Definido un nuevo parámetro "CodigosReports"; Utilizado para indicar la lista de reports o el parámetro que los contiene. El formato es como sigue: &CodigosReports=,,BO2A_CODIGOS_REPORTS_PAGINA,...#REPORT.IMPRIME.PRESUPUESTO.EMITIR.CODIGOS_REPORTS Este parámetro puede venir indicado en el validador o en la clase como parametrización. La clase que gestiona este parámetro es private EmitirDocumentosModelo.OBJCodigosReports Esta clase necesita comprobar que los reports indicados son válidos para la página donde se ejecuta el objeto. Para esto se comprueba con los indicados en la página mediante el método: "Bo2aPantalla.getReportsList()" Es necesario utilizar el método "setObjetoPadre" del validador para obtener dicha lista para asegurar que está inicializada. Los reports se muestran como una columna más de la tabla de impresión, mostrado como un combo-box. Después se actualiza el campo del modelo del objeto padre que se haya indicado, igual que se hace con el resto de datos, por ej. "email". El campo para almacenar el report se indica en com.Bo2A.validators.gestion.EmitirDocumentosModelo.OBJCampos y ocupa la última posición de la lista. com.Bo2A.validators.gestion.EmitirDocumentos.getParametrosImpresion; Una vez terminado el proceso será este método el que incluya el valor seleccionado para el report en el properties con la clave "PARAM_CODIGO_REPORT" que posteriormente será utilizado en Bo2aPantalla.ImprimeReport [20/01/2024] - #Y-15394; com.Bo2A.validators.gestion.EmitirDocumentosModelo; Incluido el campo CodigoReport y todo lo relacionado con el mismo. Está relacionado con lo indicado en la clase anterior "EmitirDocumentos" * [08/02/2024] - 15394 com.Bo2A.validators.gestion.EmitirDocumentosModelo.OBJCampos; Definida nueva clase para encapsular los campos del modelo que se van a utilizar. * Anteriormente los campos estaban dispuestos en un string separado por comas. * Ahora se encapsula en esta clase para evitar errores. // [08/02/2024] - 15394 com.Bo2A.validators.gestion.EmitirDocumentosModelo.OBJImprimir; // Cambiado el separador del parámetro de una coma (,) por # que es como están todos los demás // &MuestraImprimir=SI|NO|SI_MARCADO#REPORT.IMPRIMIE.ALMACEN.ALBARAN.EMITIR.IMP_DIRECTO // [08/02/2024] - 15394 com.Bo2A.validators.gestion.EmitirDocumentosModelo.OBJSaveContacto; // Cambiado el separador del parámetro de una coma (,) por # que es como están todos los demás // &MuestraSaveContacto=SI|NO|NO_MARCADO|SI_MARCADO|SI_DESMARCADO#REPORT.IMPRIME.ALMACEN.ALBARAN.EMITIR.SAVE_CONTACTO [08/02/2024] - 15394 com.Bo2A.validators.gestion.EmitirDocumentosModelo.OBJEmail; * Cambiado el separador del parámetro de una coma (,) por # que es como están todos los demás * &MuestraEmail=(SI|NO|SI_EDITABLE)#REPORT.IMPRIME.ALMACEN.ALBARAN.EMITIR.MUESTRA_EMAIL * [20/01/2024] - 15394 com.Bo2A.validators.gestion.EmitirDocumentosModelo.OBJCodigosReports; Nueva clase para encapsular la lista de códigos de reports disponibles para seleccionar. [06/02/2024]; com.Bo2A.cliente.imagen.Bo2aImageUtils.comprimeImagen; Incluido java.lang.Throwable porque los excepcion no captan el java.lang.OutOfMemory no lo capta con las anteriores. [07/02/2024] - #Y-15394; Estas clases se han adaptado para aceptar la nueva características definida para indicar la lista de reports que pueden seleccionarse en el momento de la emisión. Los parámetros indicados también se han definido en el sistema. com.Bo2A.validators.gestion.almacen.AgrupacionLogisticaEmitir, "#REPORT.IMPRIME.ALMACEN.AGRUPACIONLOGISTICA.EMITIR.CODIGOS_REPORTS" com.Bo2A.validators.gestion.almacen.AlmacenAlbaranEmitir, "#REPORT.IMPRIME.ALMACEN.ALBARAN.EMITIR.CODIGOS_REPORTS" com.Bo2A.validators.gestion.almacen.AlmacenPedidoInternoEmitir, "#REPORT.IMPRIME.ALMACEN.PEDIDOINTERNO.EMITIR.CODIGOS_REPORTS" com.Bo2A.validators.gestion.almacen.ExpedicionEmitir, "#REPORT.IMPRIME.ALMACEN.EXPEDICION.EMITIR.CODIGOS_REPORTS" com.Bo2A.validators.gestion.proveedor.ProveedorEmitirPedidos, "#REPORT.IMPRIME.PROVEEDOR.PEDIDO.EMITIR.CODIGOS_REPORTS" com.Bo2A.validators.gestion.proveedor.ProveedorEnvioPlanos, "BO2A_CODIGOS_REPORTS_PAGINA#REPORT.IMPRIME.PROVEEDOR.ENVIOPLANOS.EMITIR.CODIGOS_REPORTS" com.Bo2A.validators.gestion.proveedor.ProveedorReclamarPedidos, "#REPORT.IMPRIME.PROVEEDOR.PEDIDO.RECLAMAR.EMITIR.CODIGOS_REPORTS" [08/02/2024] - #Y-15394; com.Bo2A.validators.gestion.proveedor.ProveedorEnvioPlanos; * Esta clase se ha creado sustituyendo a la anterior com.Bo2A.validators.gestion.proveedor.ProveedorEnvioPlanos_OLD * que utiliza el modelo estandar definido en com.Bo2A.validators.gestion.EmitirDocumento * Su funcionalidad es igual, salvo porque esta incorpora selección de documentos. [28/02/2024]; com.Bo2A.net.ObjDatosEjecucionContext; Nueva clase utilizada para encapsular los datos de contexto de la aplicación. Versiones, SO, DB, Servidor aplicaciones, ... [28/02/2024]; com.Bo2A.cliente.mensaje.Bo2aMensajesUsuario; Encapsulación de los datos informativos que devuelve el servidor "anexos" a la mensajería. Estos datos incluyen el tipo de servidor utilizado y la versión. Servidor de aplicaciones, s.o. y bbdd. La clase es "ObjDatosEjecucionContext" [29/02/2024]; com.Bo2A.Util.system.Bo2aSystemUtils; Creadas los TAGS para almacenar en System.Properties datos de las versiones utilizadas en cliente, servidor, bbdd. public static final String TAG_PROPERTY_ERPSI_CLIENTE_VERSION = "com.Bo2A.erpsi.cliente.version"; public static final String TAG_PROPERTY_ERPSI_SERVER_VERSION = "com.Bo2A.erpsi.server.version"; public static final String TAG_PROPERTY_SERVER_VERSION = "com.Bo2A.server.version"; public static final String TAG_PROPERTY_SERVER_DATABASE_VERSION = "com.Bo2A.server.database.version"; [29/02/2024]; com.Bo2A.helpers.Bo2aImagenes; Nuevas imágenes para representar AlmaLinux, PG-15, TOMCAT 9. Se ha adaptado el sistema para utilizar Tomcat9 y Postgresql-15. [29/02/2024]; com.Bo2A.cliente.window.Bo2aPieWindow; En el pie se ha incluido junto al indicativo de la "Nube" el icono para el sistema operativo y el servidor de aplicaciones (Tomcat). Los métodos para mostrar esta información utiliza la clase que encapsula los datos "ObjDatosEjecucionContext"; [04/03/2024]; com.Bo2A.cliente.window.Bo2aWindow_Acercade; Se incorpora información de la bbdd y del servidor de aplicaciones. [07/03/2024]; com.Bo2A.net.Bdata.liberaBloqueos; La liberación de bloqueos no hay que cachearla. [07/03/2024]; com.Bo2A.sql.Bo2aHTTPURL.getCache_NombreFichero; En los nombres de fichero para la cache se incluyen comas si en la url se ha indicado los campos que tiene que devolver. Por ej. en los parámetros. Se han eliminado. [08/03/2024]; com.Bo2A.Util.Bo2Util; getMilisFromDias(int nDias); getMilisFromHoras(int nHoras, int nMinutos, int nSegundos); getMilisFromMeses(int nMeses); Definidas constantes para Milis en esta clase. Se utilizan estas static también en el servidor. public static final long MILIS_SEGUNDO = 1000; public static final long MILIS_MINUTO = 60 * MILIS_SEGUNDO; public static final long MILIS_HORA = 60 * MILIS_MINUTO; public static final long MILIS_DIA = 24 * MILIS_HORA; [08/03/2024]; com.Bo2A.cliente.window.Bo2aWindow.INIT_BO2A_BORRA_CACHE_CADUCADA; Definido nuevo método para eliminar la cache de usuario caducada. Se establece la caducidad en días, mediante el static por defecto private static int INIT_CACHE_CADUCIDAD = 30; // en días Y el parámetro de main private static final String BO2A_CACHE_CADUCIDAD = "BO2A_CACHE_CADUCIDAD"; La cache una vez creada solo es eliminada si la usa danzauno. Si no se vuelve a consultar queda indefinidamente hasta que se haga un borrado de cache. Con este método que se ejecuta siempre al entrar en la aplicación se mantiene solo la usada reciemente.