Saltar al contenido principal

barcode tokenizer

Gran parte de las operaciones que se pueden realizar en Fluentis WMS pueden ser facilitadas y aceleradas gracias al uso del campo Código de código de barras, que si se configura adecuadamente, reinterpreta de manera inteligente los datos adquiridos a través de la lectura del código de barras e inserta automáticamente los valores en los campos correspondientes.
Esto proporciona una gran ventaja al operador tanto en términos de velocidad de entrada como de eficiencia, ya que solo tendrá que leer los datos siempre en el mismo campo Código de código de barras sin tener el problema de tener que cambiar el enfoque.

En la tabla de encabezado, los campos a ingresar son:

codice: indica el prefijo del tokenizador de código de barras;
descrizione: indica la descripción del tokenizador de código de barras;
separatore: indica el carácter separador del tokenizador de código de barras.

En la tabla de detalle se deben definir los objetos y las propiedades que vamos a leer del código de barras.

El código de barras debe ser creado utilizando CódigoDeBarras (CodiceBarcode) + Separador + ObjetoBusiness.Propiedad (OggettoBusiness.Proprietà) [ + Separador + ObjetoBusiness.Propiedad ]

La última parte ObjetoBusiness.Propiedad puede repetirse varias veces; será la Longitud o el Separador definido en la tabla que permitirá identificar los valores correctos.

Normalmente, en un tokenizador de código de barras, hay un solo Objeto principal, el cual puede estar compuesto por varios Objetos de negocio.
Estos Objetos de negocio pueden ser propiedades directas del Objeto principal (en este caso, el Objeto de negocio será igual al Objeto principal) o pueden ser propiedades pertenecientes a otros Objetos de negocio, pero referenciados en el Objeto principal.
Podemos decir que el Objeto principal que se devuelve de la lectura del código de barras está constituido por la composición de todas las propiedades de los Objetos de negocio ingresados.

Nota

Obviamente, dependiendo del conjunto de datos en el que se utilice, se debe asegurar que la configuración identifique un único resultado.

A continuación, algunos ejemplos de construcción del Tokenizador de Código de Barras:

Ejemplo: Item-MOB-ART

CódigoDescripciónSeparadorObjeto de negocioPropiedadLongitudSeparadorSecuenciaObjeto principal
ItemCódigo de artículo-FSItemClassCódigo3-10FSItem
ItemCódigo de artículo-FSItemCódigo50-20FSItem

Ejemplo: Loc-01-L1

CódigoDescripciónSeparadorObjeto de negocioPropiedadLongitudSeparadorSecuenciaObjeto principal
LocCódigo de ubicación-FSWarehouseCódigo10-10FSLocation
LocCódigo de ubicación-FSLocationCódigoUbicación100-20FSLocation

Ejemplo: UDC-2023-5-21

CódigoDescripciónSeparadorObjeto de negocioPropiedadLongitudSeparadorSecuenciaObjeto principal
UDCCódigo de UDC-FSLoadingUnitAño4-10FSLoadingUnit
UDCCódigo de UDC-FSLoadingUnitGrupo4-20FSLoadingUnit
UDCCódigo de UDC-FSLoadingUnitNúmero4-30FSLoadingUnit

Ejemplo: Lot-MOB-ART-123

CódigoDescripciónSeparadorObjeto de negocioPropiedadLongitudSeparadorSecuenciaObjeto principal
LotLote-FSItemClassCódigo3-10FSBatchRegister
LotLote-FSItemCódigo50-20FSBatchRegister
LotLote-FSLotRegisterCódigo05-30FSBatchRegister

Ejemplo: MesPop-10824

CódigoDescripciónSeparadorObjeto de negocioPropiedadLongitudSeparadorSecuenciaObjeto principal
MesPopFase de orden de producción-FSProductionOrderPhaseId-10FSProductionOrderPhase

Ejemplo: Qta-50

CódigoDescripciónSeparadorObjeto de negocioPropiedadLongitudSeparadorSecuenciaObjeto principal
QtaCantidad-100-10

Ejemplo: ItemQta-MOB-ART-35

CódigoDescripciónSeparadorObjeto de negocioPropiedadLongitudSeparadorSecuenciaObjeto principal
ItemQtaCantidad del artículo-FSItemClassCódigo3-10FSItem
ItemQtaCantidad del artículo-FSItemCódigo50-20FSItem
ItemQtaCantidad del artículo-100-30

Los últimos ejemplos no entran en la lógica descrita para el tokenizador de código de barras, esto porque se quería tener una manera de mapear en el código de barras también la cantidad que, sin embargo, no se atribuye a ningún Objeto/Propiedad en el momento de la lectura.
Obviamente, esta lógica debe implementarse en los formularios individuales.