Creación automática de códigos de referencia
Cuando metemos un artículo al inventario de OpenbravoPOS, normalmente uno de los datos a cumplimentar, suele ser el código de referencia, y aún peor, si el artículo en cuestión no dispone de código de barras, ¿Qué criterio seguimos? ¿Cómo acordarme de los anteriores?.
Yo he hecho una pequeña modificación a OpenbravoPOS desde su código fuente, para que soporte esta opción. Es una modificación del fichero fuente src-pos\com\openbravo\pos\inventory\ProductsPanel.java
Dicha modificación se centra en una función llamada generateValueRefandCode() que lo único que hace es si detecta el campo de Referencias o el campo del código de barras vacío después de haber seleccionado la categoría del producto, OpenbravoPOS automáticamente le asigna un código de referencia único (y comprueba que no hayan duplicados con esa etiqueta).
De la siguiente forma: LLNNNN siendo LL las dos primeras letras de la categoría seleccionada, y el NNNN el número de registro en la base de datos del último valor.
La única pega de esto es que, por los métodos consultados, ninguno devuelve un total de registros después de haber consultado toda la tabla, con lo que se tendría una complejidad O(N), afortunadamente, esto lo hace al encontrarse los campos vacíos y ya está, si están llenos, no vuelve a consultar. Pero he pensado que si se incluye en la base de datos en la tabla products, un campo clave incremental a fin de saber la cantidad de registros que hay, se acabaría el problema y se obtendría una complejidad O(1).