1.8.98 Nov-2021 PK00 [20/10/2021] com.Bo2A.cliente.tablaformulario.Bo2aDialogCambiarColumnas.posicionOriginal; Corregido problema buble infinito. [21/10/2021]; com.Bo2A.cliente.base.Bo2aAnalizaCadenas.analiza_SET_DATOS; Si no se ha especificado el campo destino (origen=destino) y el origen es un campo compuesto -> entonces para el destino se coge solo el campo. [26/10/2021]; com.Bo2A.Util.Bo2aCartt; Creados nuevos métodos auxiliares en funcion del tipo de dato. getValorInteger(); getValorDouble(); getValorDate(); [26/10/2021]; com.Bo2A.Util.Bo2Util.parseaFechaFromXML; Ampliados los formatos de reconocimiento de fechas. "yyyy/MM/dd", "dd-MM-yyyy", "yyyy-MM-dd", "yyyyMMdd". [26/10/2021]; com.Bo2A.cliente.tablaformulario.Bo2aTablaPopUp; Se cambian a "resizables" los dialog box; Filtro, Quitar/Poner Columnas, Ordenacion, Cambiar posición columnas. [28/10/2021]; com.Bo2A.cliente.coordinador.Bo2aCoorEvento.DameStringURL; En el tag Bo2aAnalizaCadenas.BO2A_CONDICION para los VALUE_CHANGED_FILTRO se ha incluido nuevos operadores de condición además del solamente el igual. Son >=, <=, <>, >, < [30/10/2021]; com.Bo2A.cliente.objetos.PanelSuperior_v1.getSelectorTextoTooltip; Ahora se muestra en el selector el TITLE del objeto ordenante y no solo el código (no significativo para el usuario). "Ir actualizando los valores del selector, porque inicialmente solo tiene el nombre de los objetos así aparecerá el titulo del objeto. [11/11/2021]; Bo2EditorDateField; Bo2EditorDecimalField; Bo2EditorHoraField; Bo2EditorImageField; Bo2EditorNumberField; Ahora se puede usar solamente la pulsación R para repetir en último valor de la columna en lugar de CTRL+R [12/11/2021]; com.Bo2A.net.SpoolMensajeria; Se incorpora a la creación de tareas automaticas el usuario origen que origina la tarea. [23/11/2021] - #Y-14782; DANZAUNO.MENSAJERIA.CR.ACTIVADO; Se crea nueva parámetero para indicar si se usan los centros resolución. [24/11/2021] - #Y-14782; com.Bo2A.cliente.mensaje.Bo2aEnvioMensajesUsuario; Se incorporan los CENTROS RESOLUCION para enviar mensajes. 1.8.98 Nov-2021 PK01 [24/11/2021] - #Y-14731; Bo2aSystemUtils; Incluido directorio uploads ubicado dentro de output. [24/11/2021] - #Y-14731; com.Bo2A.Util.Bo2File; Clase file para encapsular datos junto con el fichero. [24/11/2021] - #Y-14731; com.Bo2A.cliente.base.edicionBo2EditorImageField.seleccionaFichero; Abrir el FileChooser para Grabar o Pedir (lPonFicheroEnDialog = Save) [24/11/2021] - #Y-14731; com.Bo2A.cliente.base.edicionBo2EditorImageField.moverArchivo2Upload; Nuevo método utilizado para mover el archivo que se está subiendo a la carpeta uploads. [24/11/2021] - #Y-14731; com.Bo2A.cliente.base.edicion.Bo2EditorImageField_MultiplesArchivos; com.Bo2A.cliente.base.edicion.Bo2EditorImageField_EncapsulaSubidaArchivo; Incluida la nueva funcionalidad para mover archivos que se han subido a la carpeta uploads. [24/11/2021] - #Y-14731; com.Bo2A.Util.dialog.fileChooser.JFileChooser; Interface usada para cambiar el fileChooser. Por ej. Visor Image, sin Visor Image, con campos adicionales... [24/11/2021] - #Y-14731; com.Bo2A.Util.dialog.fileChooser.JFileChooserImageMoverADirectorio05; Creada nueva versión de JFileChooser. Se incluye el checkbox para mover a directorio uploads debajo del visor de imágenes. [24/11/2021] - #Y-14731; com.Bo2A.Util.dialog.fileChooser.JFileChooserImage04; Añadido filtro para imágenes y pdfs. También se ha incluido el interface JFileChooser (indicado más arriba). [24/11/2021] - #Y-14731; com.Bo2A.Util.dialog.visorImagenes.Bo2aPanelVisualizadorMiniaturas; Adaptado para utilizar la clase Bo2aFile en lugar de File. [24/11/2021] - #Y-14731; com.Bo2A.Util.system.Bo2aSystemUtilsCL.getFileChooser; Utilización de la versión 5 de JFileChooserImageMoverADirectorio05; 1.8.98 Nov-2021 PK02 [30/11/2021]; com.Bo2A.Util.edicion.Bo2EditorCampoExterno.aceptaValor; Detectado null en modelo cuando está en un RECV_DATOS y se manda stop_cellediting. //com.Bo2A.cliente.base.edicion.Bo2EditorCampoExterno.aceptaValor() line: 254 //com.Bo2A.cliente.base.edicion.Bo2EditorTableCellEditor.stopCellEditing() line: 72 //com.Bo2A.cliente.tablaformulario.Bo2aTablaPopUp.POPUP_stopEditing() line: 2924 //com.Bo2A.cliente.tablaformulario.Bo2aTablaFormulario.stopEditing() line: 1761 //com.Bo2A.cliente.coordinador.Bo2aCoorEvento.RECV_DATOS(com.Bo2A.cliente.coordinador.Bo2aCoorDatosProceso) line: 872 //com.Bo2A.cliente.coordinador.Bo2aCoorEvento.procesaEvento(com.Bo2A.cliente.coordinador.Bo2aCoorDatosProceso) line: 177 Es probable que este error esté en una incidencia #Y-14297; Pero no estoy seguro, por ahora la dejo abierta. [16/12/2021]; com.Bo2A.Util.Bo2Util.parseaFechaFromXML; Se ha cambiado la forma de hacer los chequeos en fechas. Ahora se utiliza un método de plantillas más específicas a más generales. [16/12/2021]; com.Bo2A.cliente.tablaformulario.Bo2aTablaModeloDatos.DameDatoFormateado; Cambiado el formato de parseo de fechas en el método. Ahora se utiliza Bo2Util.parseaFechaFromXML; [16/12/2021]; com.Bo2A.cliente.tree.Bo2aTreeModeloDatos.DameDatoFormateado; Cambiado el formato de parseo de fechas en el método. Ahora se utiliza Bo2Util.parseaFechaFromXML; [17/12/2021] - #Y-14802; com.Bo2A.cliente.dialog.Bo2aDialogImpresionReports; Incluida el nº de copias de impresión de reports cuando se selecciona esta opción. [21/12/2021]; com.Bo2A.cliente.base.edicion.Bo2Editor_PopUp_1625; MouseAdapter.BUTTON3_MASK; Detectado problema cuando no es un campo ampliable. No se muestra el menú contextual porque el menu muestraHTML no está inicializado y es null. [03/01/2022]; com.Bo2A.validators.GAN.gestion.almacen.Bascula; NO se elimina el valor de la lectura automática de peso báscula cuando se pulsa el botón desbloquear. El puerto serie envia el valor cada cierto tiempo si va cambiando, sino una vez enviado se queda fijo y al borrar el valor se pierde. En su lugar se va a utilizar una animación y la fecha/hora de la última lectura en formato tooltip. 1.8.98 Nov-2021 PK03 [05/01/2022]; com.Bo2A.validators.GAN.gestion.almacen.Bascula; Se definen los parámetros: almacenorigen_obl,ubicacionorigen_obl,almacendestino_obl,ubicaciondestino_obl; que indica si son obligatorios Almacen Origen/Destino, Ubicación Origen/Destino. Por defecto, si no se indica nada, será obligatorio en Entrada AlmacenOrigen,UbicacionDestino, en Salida AlmacenDestino,UbicacionOrigen. 1.8.98 Nov-2021 PK04 [17/01/2022]; com.Bo2A.serial.Bo2aSerial.isOpened; Detectado problemam en Bascula. El puerto no siempre se cierra (aunque se manda cerrar) y cuando se intenta abrir devuelve error y no funciona el ciclo. Por esto se ha implementado un nuevo método isOpened(); [17/01/2022]; com.Bo2A.validators.GAN.gestion.almacen.Bascula.lecturaBascula_Thread.run; Se comprueba antes de abrir el puerto si ya está previamente abierto. En ese caso no se abre porque si se hace devuelve una excepcion y no se ejecuta el ciclo run. Esto ocurre porque no se cierra correctamente al final del ciclo. Aunque se manda cerrar. No pasa todas las veces.