Ayudas de productividad para las existencias¶
Preparar un traslado de existencias a mano (agregar productos uno por uno, volver a escribir una lista de un correo del proveedor, revisar totales, clasificarlo bajo una orden de trabajo interna o buscar en el catálogo de productos) es repetitivo y propenso a errores en traslados con muchas líneas. eYssen incluye un pequeño conjunto de ayudas de productividad independientes que se integran directamente en el formulario de Traslado (stock.picking) para agilizar precisamente estos pasos. Cada ayuda es un módulo independiente y de propósito único, de modo que un almacén puede instalar solo las que necesita.
Funciones principales¶
Reutilizar las líneas de producto de un traslado anterior en un nuevo traslado en lugar de volver a escribirlas.
Agregar productos de forma masiva a un traslado al pegar una lista o subir un archivo CSV o Excel.
Ver la cantidad total de un traslado, por unidad de medida, tanto en el formulario como en la vista de lista.
Vincular un traslado a un número de proceso interno para agrupar traslados relacionados bajo una misma referencia.
Agregar productos a un traslado desde el catálogo de productos, el mismo selector basado en kanban que se usa en otras partes de Odoo para los pedidos de venta y de compra.
Escanear el código de barras de un producto para agregarlo a un traslado en borrador.
Ver la distribución analítica de cada línea de operación y encontrar el traslado detrás de un apunte analítico.
Configuración¶
Estas ayudas no requieren ninguna pantalla de ajustes. Una vez que se instala el módulo correspondiente, su botón, campo o columna aparece automáticamente en el formulario estándar de Traslado o en la vista de lista Traslados (). Todos los módulos se basan en la capa de Inventario de eYssen (eyssen_stock o eyssen_base); la ayuda del número de proceso también requiere el módulo process_number, que define el registro compartido Número de proceso.
Nota
El asistente para agregar productos de forma masiva lee archivos Excel con la biblioteca de Python openpyxl, incluida en el archivo requirements.txt del módulo. Asegúrese de que esté disponible en el entorno de Odoo antes de usar el formato de importación de Excel.
Uso¶
Agregar artículos de un traslado anterior¶
- menu
- Inventory ‣ Transfers ‣ (a draft transfer) ‣ Operations tab
- shows
- A draft transfer form with the "Add Previous Items" button (files icon) at the top-right of the operations block.
- highlight
- The "Add Previous Items" button (red frame).
- data
- Draft transfer WH/INT/00001 with no lines yet.
- module
- eyssen_add_item_from_previous_stock
- notes
- English UI, light theme, 1440px width, crop to the operations block header.
En un traslado que todavía está en estado Borrador, el botón Agregar artículos anteriores (icono de archivos, en la parte superior derecha del bloque de operaciones) abre una ventana emergente en la que se elige un traslado de Existencias anteriores del que copiar las líneas. Solo se pueden seleccionar traslados distintos al actual, y el selector busca tanto por la Referencia del traslado como por su documento de origen (Origen).
- menu
- Inventory ‣ Transfers ‣ (a draft transfer) ‣ Add Previous Items
- shows
- The "Add Previous Items" pop-up with the "Previous Stock" field set to another transfer and the "If Product Duplication" field showing its four choices (Stop, Skip, Replace, Increase).
- highlight
- The "Previous Stock" and "If Product Duplication" fields (red frame).
- data
- Source transfer WH/INT/00001, duplication behaviour "Increase".
- module
- eyssen_add_item_from_previous_stock
- notes
- English UI, light theme, 1440px width, crop to the pop-up.
Se copian todas las líneas de producto del traslado seleccionado, junto con su cantidad y precio unitario. El campo Si hay duplicación de producto controla lo que ocurre cuando un producto del traslado de origen ya está presente en el actual:
Detener: genera un error y no agrega nada;
Omitir: deja la línea existente sin cambios y pasa al siguiente producto;
Reemplazar: sobrescribe la cantidad y el precio unitario de la línea existente con los valores de origen; o
Aumentar (opción predeterminada): suma la cantidad de origen a la cantidad existente y sobrescribe el precio unitario.
Las líneas nuevas se crean en la ubicación de destino del tipo de operación del traslado actual.
Agregar productos de forma masiva a un traslado¶
- menu
- Inventory ‣ Transfers ‣ (a draft transfer) ‣ Operations tab
- shows
- A draft transfer form showing the "Add Bulk Products" button (cubes icon) next to the "Add Previous Items" button.
- highlight
- The "Add Bulk Products" button (red frame).
- data
- Draft transfer WH/INT/00002.
- module
- eyssen_product_bulk_add_stock
- notes
- English UI, light theme, 1440px width, crop to the operations block header.
El botón Agregar productos de forma masiva (icono de cubos), que aparece junto a Agregar artículos anteriores en un traslado en borrador, abre un asistente para ingresar muchos productos a la vez sin necesidad de usar un traslado anterior.
- menu
- Inventory ‣ Transfers ‣ (a draft transfer) ‣ Add Bulk Products
- shows
- The "Add Bulk Products" wizard with Format "Copy/Paste", Based On "Default Code", "With Quantity" ticked, the live Example block and the multi-line paste box filled with three lines.
- highlight
- The "Format", "Based On" and "With Quantity" fields (red frame).
- data
- Three pasted lines of internal reference plus quantity.
- module
- eyssen_product_bulk_add_stock
- notes
- English UI, light theme, 1440px width, crop to the wizard.
Hay tres opciones de Formato de entrada disponibles:
Copiar/Pegar: un producto por línea en un cuadro de texto sin formato;
CSV: un archivo CSV subido, separado por punto y coma, con una fila de encabezado opcional que se activa con ¿Hay un encabezado?; o
Excel: un libro
.xlsxsubido (primera hoja), también con la opción de encabezado.
- menu
- Inventory ‣ Transfers ‣ (a draft transfer) ‣ Add Bulk Products
- shows
- The same wizard with Format switched to "CSV", showing the "Is there a header?" checkbox and the file upload field.
- highlight
- The "Is there a header?" checkbox and the upload field (red frame).
- data
- A semicolon-separated CSV file with a header row.
- module
- eyssen_product_bulk_add_stock
- notes
- English UI, light theme, 1440px width, crop to the wizard.
En todos los formatos, los productos se relacionan mediante el campo Basado en, que busca los productos por Código predeterminado (referencia interna), Código de barras o Nombre del producto. Las opciones Con cantidad y Con precio determinan cuántas columnas adicionales (o valores finales, en el caso de copiar y pegar) lleva cada línea; un bloque de Ejemplo en vivo del asistente se actualiza para mostrar el formato de línea esperado a medida que estas opciones cambian. Cuando ninguna de las dos opciones está activada, cada producto encontrado se agrega con cantidad 1 y precio 0.
Si un producto no se encuentra, o una línea no se puede procesar (número incorrecto de valores, o una cantidad/precio que no es numérico), se detiene toda la importación con un error de validación que indica la línea problemática. Las mismas opciones de Si hay duplicación de producto que la ayuda de traslado anterior (Detener / Omitir / Reemplazar / Aumentar, aquí con Detener de forma predeterminada) controlan lo que ocurre cuando un producto encontrado ya tiene una línea en el traslado.
Visualización de la cantidad total¶
- menu
- Inventory ‣ Transfers ‣ (a transfer) ‣ Operations tab
- shows
- The bottom of a transfer's Operations tab with the read-only "Sum Qty (detailed)" box below the lines, showing the number of distinct products and one total line per unit of measure.
- highlight
- The "Sum Qty (detailed)" box (red frame).
- data
- A transfer with three product lines in two different units of measure (e.g. 3 kg and 12 Units).
- module
- eyssen_quantity_total_stock
- notes
- English UI, light theme, 1440px width, crop to the box and the lines above it.
En la pestaña Operaciones de un traslado, debajo de las líneas de producto, un cuadro de solo lectura Suma de cantidad (detallado) muestra cuántos productos distintos contiene el traslado y la cantidad total por unidad de medida, por ejemplo, 3 kg y 12 unidades en líneas separadas si el traslado combina distintas unidades de medida. Si alguna línea ya tiene cantidades registradas (hechas), se usan esas en lugar de las cantidades planificadas.
- menu
- Inventory ‣ Transfers
- shows
- The Transfers list view with the compact "Sum Qty" column shown next to the Status column.
- highlight
- The "Sum Qty" column (red frame).
- data
- Five transfers with different numbers of lines; the column shows values like "3 P, 42 Qty".
- module
- eyssen_quantity_total_stock
- notes
- English UI, light theme, 1440px width, full list view.
La misma información está disponible en una forma compacta de una sola línea (Suma de cantidad, por ejemplo, 3 P, 42 Ctd) como columna opcional en la vista de lista Traslados, junto a la columna de estado, de modo que se pueden revisar los totales sin abrir cada traslado.
Número de proceso en un traslado¶
- menu
- Inventory ‣ Transfers ‣ (a draft transfer)
- shows
- A draft transfer form with the "Process Number" field above the transfer name and the "Create a new process number" link visible because the field is still empty.
- highlight
- The "Process Number" field and the create link (red frame).
- data
- Draft transfer WH/INT/00003 with no process number yet.
- module
- process_number_stock
- notes
- English UI, light theme, 1440px width, crop to the form header.
Cuando el módulo process_number_stock está instalado, todos los formularios de traslado muestran un campo Número de proceso arriba del nombre del traslado. Si está vacío, un enlace Crear un nuevo número de proceso crea uno al instante; también se puede seleccionar directamente un número de proceso existente. Esto vincula el traslado al registro compartido de Número de proceso de eYssen (una referencia rastreable con personas asignadas y una descripción, que se usa para agrupar documentos relacionados entre varios módulos).
- menu
- Inventory ‣ Process Numbers ‣ (a process number)
- shows
- A Process Number form with the "Stock Pickings" smart button (truck icon) showing a count, and the linked transfers listed below.
- highlight
- The "Stock Pickings" smart button (red frame).
- data
- A process number linked to three transfers.
- module
- process_number_stock
- notes
- English UI, light theme, 1440px width, crop to the button box and the linked transfers.
En el mismo formulario de Número de proceso, un botón inteligente Traslados de existencias muestra cuántos traslados están vinculados a él y abre su lista, y la vista de lista de traslados obtiene una columna Número de proceso para poder identificar los traslados vinculados de un vistazo.
Truco
Los cambios en el campo Número de proceso de un traslado se registran en el chatter, lo que resulta útil para auditar cuándo se reasignó un traslado a una orden de trabajo o número de trabajo diferente.
Catálogo de existencias¶
- menu
- Inventory ‣ Transfers ‣ (a draft transfer) ‣ Operations tab
- shows
- The operations line list of a draft transfer with the "Catalog" link next to "Add a line".
- highlight
- The "Catalog" link (red frame).
- data
- Draft transfer WH/INT/00004 with one line.
- module
- eyssen_stock_catalog
- notes
- English UI, light theme, 1440px width, crop to the bottom of the operations list.
En la pestaña Operaciones de un traslado en borrador, un enlace Catálogo junto a Agregar una línea abre la vista kanban del catálogo de productos estándar de Odoo limitada al traslado, el mismo selector que se usa en los pedidos de venta y de compra.
- menu
- Inventory ‣ Transfers ‣ (a draft transfer) ‣ Operations tab ‣ Catalog
- shows
- The product catalog opened from a transfer, with product cards carrying quantity steppers but no unit price, and the "Back to Picking" button in the top-right.
- highlight
- The "Back to Picking" button and the absence of a price on the cards (red frames).
- data
- Six or seven products, two of them already added to the transfer.
- module
- eyssen_stock_catalog
- notes
- English UI, light theme, 1440px width, full catalog page.
Al seleccionar una cantidad para un producto en una ficha del catálogo, se agrega o actualiza la línea de operación correspondiente en el traslado (y se elimina por completo si la cantidad se establece en cero); el botón para volver del catálogo dice Volver a la recolección en lugar de la etiqueta genérica que se usa en los catálogos de venta y de compra. Como un traslado no es un documento con precios, el catálogo no muestra un precio unitario en las fichas de producto, a diferencia del catálogo de venta y de compra. Una vez que el traslado sale del estado Borrador, sus líneas (y, por lo tanto, el catálogo) pasan a ser de solo lectura.
Escanear un código de barras en un traslado¶
Con el módulo eyssen_barcode_stock instalado, un traslado en borrador muestra un botón de escáner de código de barras en el encabezado del bloque de operaciones. Al escanear el código de barras de un producto, este se agrega al traslado con una cantidad de uno, o aumenta la cantidad en uno si el producto ya tiene una línea; el formulario se vuelve a cargar para que la nueva cantidad sea visible de inmediato. Escanear un código que no coincide con ningún producto deja el traslado sin cambios.
El botón solo aparece mientras el traslado está en estado Borrador y requiere la capa de escaneo de código de barras de eYssen (eyssen_barcode_base) y la capa de Inventario de eYssen (eyssen_stock).
- menu
- Inventory ‣ Transfers ‣ (a draft transfer)
- shows
- A draft transfer form with the barcode-scanner button in the header of the operations block, and the scanning dialog it opens.
- highlight
- The barcode-scanner button (red frame).
- data
- Draft transfer WH/INT/00005 with two scanned product lines.
- module
- eyssen_barcode_stock
- notes
- English UI, light theme, 1440px width, crop to the button and the dialog.
Distribución analítica en un traslado¶
El módulo analytic_accounts_on_stock_picking muestra una columna Analítico junto al producto en las líneas de operación de un traslado, mediante el widget estándar de distribución analítica. El valor es la distribución analítica de la línea del pedido de compra de la que proviene el movimiento, de modo que se puede ver el centro de coste al que pertenece una recepción sin abrir el pedido de compra.
En el sentido contrario, un apunte analítico obtiene un campo Referencia de traslado que indica el traslado al que está relacionado, lo que permite rastrear los reportes analíticos hasta la operación de almacén.
- menu
- Inventory ‣ Receipts ‣ (a receipt from a purchase order) ‣ Operations tab
- shows
- The operations lines of a receipt with the "Analytic" column next to the product, showing the analytic distribution inherited from the purchase order line.
- highlight
- The "Analytic" column (red frame).
- data
- A receipt generated from a purchase order whose lines carry an analytic distribution.
- module
- analytic_accounts_on_stock_picking
- notes
- English UI, light theme, 1440px width, crop to the operation lines.
Nota
La columna es de solo lectura: la distribución se toma de la línea del pedido de compra y está vacía en los movimientos que provienen de un pedido de venta o que no tienen documento de origen.
Alcance y módulos¶
eyssen_add_item_from_previous_stock: botón y asistente Agregar artículos anteriores para copiar líneas de producto de un traslado anterior.eyssen_product_bulk_add_stock: botón y asistente Agregar productos de forma masiva para importar líneas de producto desde texto pegado, CSV o Excel.eyssen_quantity_total_stock: los totales calculados Suma de cantidad (detallado) / Suma de cantidad en el formulario y la vista de lista del traslado.process_number_stock: el campo Número de proceso en los traslados y el botón inteligente inverso Traslados de existencias (requiereprocess_number).eyssen_stock_catalog: el botón Catálogo que abre el selector del catálogo de productos en un traslado.eyssen_barcode_stock: el botón de escáner de código de barras que agrega los productos escaneados a un traslado en borrador.analytic_accounts_on_stock_picking: la columna Analítico en las líneas de operación y el campo Referencia de traslado en los apuntes analíticos.