Saltar al contenido principal
Versión: Tryton 8.0 (LTS)

stock

Tryton 8.0 · Referencia generada desde el código oficial

Esta página combina orientación editorial con evidencia extraída de la rama oficial indicada. Pruebe siempre el flujo con sus permisos y configuración.

Propósito

El módulo stock incorpora o amplía funciones relacionadas con stock. Su alcance real se determina por los modelos, acciones y dependencias documentados a continuación; no debe activarse únicamente por su nombre.

Descripción oficial de la rama (idioma original)

The Stock Module provides the fundamental concepts required for managing stock. This includes keeping track of where the stock is, how much is available, and checking and correcting stock levels. It also allows stock to be moved from one place to another, and delivered to and from customers and suppliers.

El análisis encontró 15 archivos Python, 97 archivos XML, 96 vistas, 194 acciones, 21 menús y 5 informes.

Guía funcional para el usuario

A quién le sirve

Este módulo interesa a las personas responsables de los procesos relacionados con stock, a quienes configuran la compañía y a quienes revisan sus resultados. Los administradores deben participar cuando se activen dependencias, permisos o secuencias.

Qué podrá hacer

Al finalizar la configuración podrá reconocer los registros que aporta stock, ejecutar sus acciones con el estado correcto, producir sus informes y comprender qué información termina compartiendo con otros módulos.

Requisitos y preparación

Antes de activarlo confirme la compañía, moneda, usuarios y grupos aplicables. Instale y configure primero sus dependencias obligatorias. Si existen datos reales, ensaye la activación y actualización sobre una copia restaurada.

Active primero las dependencias, revise la configuración de la compañía y ensaye el flujo completo antes de usarlo en producción.

Dependencias obligatorias

  • company — debe estar instalado y configurado antes de probar este módulo.
  • currency — debe estar instalado y configurado antes de probar este módulo.
  • ir — debe estar instalado y configurado antes de probar este módulo.
  • party — debe estar instalado y configurado antes de probar este módulo.
  • product — debe estar instalado y configurado antes de probar este módulo.
  • res — debe estar instalado y configurado antes de probar este módulo.

Integraciones opcionales

Configuración inicial recomendada

  • Active el módulo y vuelva a iniciar la sesión para cargar menús y permisos.
  • Revise las nuevas opciones de configuración de compañía y los valores por defecto.
  • Asigne grupos a usuarios de prueba aplicando mínimo privilegio.
  • Cree datos maestros pequeños y verificables antes de importar información masiva.
  • Ejecute un caso completo desde borrador hasta su estado final y revise los registros relacionados.

Objetos y conceptos del módulo

  • ir.cron: agrupa 1 modelo(s), entre ellos ir.cron. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • party.address: agrupa 1 modelo(s), entre ellos party.address. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • party.contact_mechanism: agrupa 1 modelo(s), entre ellos party.contact_mechanism. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • party.erase: agrupa 1 modelo(s), entre ellos party.erase. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • party.party: agrupa 2 modelo(s), entre ellos party.party, party.party.location. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • party.party-delivered_to-stock: agrupa 1 modelo(s), entre ellos party.party-delivered_to-stock.location. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • party.replace: agrupa 1 modelo(s), entre ellos party.replace. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • product.by_location: agrupa 1 modelo(s), entre ellos product.by_location.context. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • product.cost_price: agrupa 1 modelo(s), entre ellos product.cost_price.revision. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • product.modify_cost_price: agrupa 2 modelo(s), entre ellos product.modify_cost_price, product.modify_cost_price.start. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • product.product: agrupa 1 modelo(s), entre ellos product.product. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • product.recompute_cost_price: agrupa 2 modelo(s), entre ellos product.recompute_cost_price, product.recompute_cost_price.start. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • product.template: agrupa 1 modelo(s), entre ellos product.template. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • res.user: agrupa 1 modelo(s), entre ellos res.user. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • stock.configuration: agrupa 3 modelo(s), entre ellos stock.configuration, stock.configuration.location, stock.configuration.sequence. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • stock.inventory: agrupa 5 modelo(s), entre ellos stock.inventory, stock.inventory.count, stock.inventory.count.quantity, stock.inventory.count.search, stock.inventory.line. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • stock.location: agrupa 3 modelo(s), entre ellos stock.location, stock.location.lead_time, stock.location.waste. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • stock.move: agrupa 1 modelo(s), entre ellos stock.move. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • stock.period: agrupa 2 modelo(s), entre ellos stock.period, stock.period.cache. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • stock.product_quantities_warehouse: agrupa 5 modelo(s), entre ellos stock.product_quantities_warehouse, stock.product_quantities_warehouse.context, stock.product_quantities_warehouse.move, stock.product_quantities_warehouse.move.open, stock.product_quantities_warehouse.open. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • stock.products_by_locations: agrupa 2 modelo(s), entre ellos stock.products_by_locations, stock.products_by_locations.context. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • stock.reporting: agrupa 15 modelo(s), entre ellos stock.reporting.inventory, stock.reporting.inventory.context, stock.reporting.inventory.daily, stock.reporting.inventory.move, stock.reporting.inventory.range.context. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • stock.shipment: agrupa 12 modelo(s), entre ellos stock.shipment.assign, stock.shipment.assign.partial, stock.shipment.in, stock.shipment.in.restocking_list, stock.shipment.in.return. Estos registros forman la información que el usuario consulta o modifica durante el proceso.

Flujo de trabajo habitual

  1. Seleccione la compañía y fecha correctas antes de crear el documento.
  2. Complete primero los datos maestros y luego las líneas o detalles.
  3. Use los botones del formulario para cambiar de estado; guardar no equivale a validar o contabilizar.
  4. Revise advertencias, totales, documentos relacionados y trazabilidad.
  5. Genere el informe y compare su contenido con el registro antes de entregarlo.

Acciones, estados y asistentes

  • assign_wizard — acción o transición que inicia assign wizard. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • cancel — acción o transición que inicia cancel. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • close — acción o transición que inicia close. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • complete_lines — acción o transición que inicia complete lines. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • confirm — acción o transición que inicia confirm. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • do — acción o transición que inicia do. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • do_count — acción o transición que inicia do count. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • draft — acción o transición que inicia draft. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • pack — acción o transición que inicia pack. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • pick — acción o transición que inicia pick. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • receive — acción o transición que inicia receive. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • ship — acción o transición que inicia ship. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • wait — acción o transición que inicia wait. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • assigned — acción o transición que inicia assigned. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • cancelled — acción o transición que inicia cancelled. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • closed — acción o transición que inicia closed. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • done — acción o transición que inicia done. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • packed — acción o transición que inicia packed. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • picked — acción o transición que inicia picked. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • received — acción o transición que inicia received. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • shipped — acción o transición que inicia shipped. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • waiting — acción o transición que inicia waiting. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • product.recompute_cost_price — asistente que reúne datos y ejecuta product › recompute cost price. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • product.recompute_cost_price.start — asistente que reúne datos y ejecuta product › recompute cost price › start. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • stock.inventory.count — asistente que reúne datos y ejecuta stock › inventory › count. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • stock.product_quantities_warehouse.move.open — asistente que reúne datos y ejecuta stock › product quantities warehouse › move › open. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • stock.product_quantities_warehouse.open — asistente que reúne datos y ejecuta stock › product quantities warehouse › open. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • stock.shipment.assign — asistente que reúne datos y ejecuta stock › shipment › assign. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.

Controles antes de producción

  • Defina quién crea, revisa, confirma, cancela y consulta.
  • Pruebe períodos cerrados, usuarios sin permisos y datos incompletos.
  • Verifique numeración, moneda, redondeo y zona horaria cuando correspondan.
  • Documente cómo corregir un error sin editar directamente la base de datos.
  • Incluya sus tablas y archivos en el procedimiento de copia y restauración.

Diagnóstico y resolución de problemas

  • Si no aparece el menú, compruebe activación, actualización de la lista de módulos, grupos y nueva sesión.
  • Si un campo no acepta un valor, revise su dominio, compañía, estado y dependencias configuradas.
  • Si un botón está oculto o deshabilitado, revise permisos y transición válida; no modifique el estado con SQL.
  • Si los resultados no coinciden, reproduzca un caso mínimo y compare registros relacionados antes y después.
  • Conserve el traceback completo, versión, módulos activos y datos mínimos para diagnosticar un error.

Guía para desarrolladores

Arquitectura y puntos de extensión

El paquete contiene 87 clases Python y declara o extiende 65 modelos. Utiliza Boolean, Char, Date, Float, Function, Integer, Many2Many, Many2One, MultiValue, Numeric, One2Many, Reference, Selection, TimeDelta. Los desarrolladores deben localizar primero si una clase crea un modelo nuevo o usa PoolMeta para extender uno existente, conservar las llamadas a super() y no duplicar reglas disponibles en las dependencias.

Modelos registrados o extendidos

  • ir.cron
  • party.address
  • party.contact_mechanism
  • party.erase
  • party.party
  • party.party-delivered_to-stock.location
  • party.party.location
  • party.replace
  • product.by_location.context
  • product.cost_price.revision
  • product.modify_cost_price
  • product.modify_cost_price.start
  • product.product
  • product.recompute_cost_price
  • product.recompute_cost_price.start
  • product.template
  • res.user
  • stock.configuration
  • stock.configuration.location
  • stock.configuration.sequence
  • stock.inventory
  • stock.inventory.count
  • stock.inventory.count.quantity
  • stock.inventory.count.search
  • stock.inventory.line
  • stock.location
  • stock.location.lead_time
  • stock.location.waste
  • stock.move
  • stock.period
  • stock.period.cache
  • stock.product_quantities_warehouse
  • stock.product_quantities_warehouse.context
  • stock.product_quantities_warehouse.move
  • stock.product_quantities_warehouse.move.open
  • stock.product_quantities_warehouse.open
  • stock.products_by_locations
  • stock.products_by_locations.context
  • stock.reporting.inventory
  • stock.reporting.inventory.context
  • stock.reporting.inventory.daily
  • stock.reporting.inventory.move
  • stock.reporting.inventory.range.context
  • stock.reporting.inventory.turnover
  • stock.reporting.inventory.turnover.context
  • stock.reporting.margin.category
  • stock.reporting.margin.category.time_series
  • stock.reporting.margin.category.tree
  • stock.reporting.margin.context
  • stock.reporting.margin.main
  • stock.reporting.margin.main.time_series
  • stock.reporting.margin.product
  • stock.reporting.margin.product.time_series
  • stock.shipment.assign
  • stock.shipment.assign.partial
  • stock.shipment.in
  • stock.shipment.in.restocking_list
  • stock.shipment.in.return
  • stock.shipment.internal
  • stock.shipment.internal.report
  • stock.shipment.out
  • stock.shipment.out.delivery_note
  • stock.shipment.out.picking_list
  • stock.shipment.out.return
  • stock.shipment.out.return.restocking_list

Tipos de campos utilizados

  • Boolean
  • Char
  • Date
  • Float
  • Function
  • Integer
  • Many2Many
  • Many2One
  • MultiValue
  • Numeric
  • One2Many
  • Reference
  • Selection
  • TimeDelta

Clases y métodos públicos detectados

Clases: Abstract, AbstractTimeseries, Address, Assign, AssignError, AssignPartial, Cache, Category, CategoryMixin, CategoryTimeseries, CategoryTree, Configuration, ConfigurationLocation, ConfigurationSequence, ContactMechanism, Context, CostPriceRevision, Count, CountQuantity, CountSearch, Cron, CustomerReturnRestockingList, DeliveryNote, Erase, InteralShipmentReport, Inventory, InventoryContext, InventoryCountWarning, InventoryDaily, InventoryLine, InventoryMove, InventoryRangeContext, InventoryTurnover, InventoryTurnoverContext, InventoryValidationError, Location, LocationLeadTime, LocationValidationError, Main, MainTimeseries, ModifyCostPrice, ModifyCostPriceStart, Move, MoveFutureWarning, MoveOriginWarning, MoveValidationError, OpenProductQuantitiesByWarehouse, OpenProductQuantitiesByWarehouseMove, Party, PartyDeliveredToWarehouse, PartyLocation, Period, PeriodCloseError, PickingList, Product, ProductByLocationContext, ProductCostPriceError, ProductMixin, ProductQuantitiesByWarehouse, ProductQuantitiesByWarehouseContext, ProductQuantitiesByWarehouseMove, ProductStockWarning, ProductTimeseries, ProductsByLocations, ProductsByLocationsContext, RecomputeCostPrice, RecomputeCostPriceStart, Replace, ShipmentAssignMixin, ShipmentCheckQuantity, ShipmentCheckQuantityWarning, ShipmentIn, ShipmentInReturn, ShipmentInternal, ShipmentMixin, ShipmentOut, ShipmentOutReturn, ShipmentReport, StockMixin, SupplierRestockingList

Métodos: address_get(), apply_up_to(), assign(), assign_force(), assign_ignore(), assign_moves(), assign_order_key(), assign_reset(), assign_try(), assign_wizard(), can_be_deactivated(), cancel(), cancel_move(), chat_language(), check_cost_price(), check_erase_company(), check_inactive(), check_modification(), check_origin(), check_origin_types(), check_period_closed(), check_quantity(), check_type_for_moves(), close(), complete_lines(), compute_fields(), compute_quantities(), compute_quantities_query(), confirm(), copy(), create_inventory_moves(), deactivate_replaced(), default(), default_company(), default_cost_price(), default_customer_location(), default_date(), default_expected_quantity(), default_flat_childs(), default_forecast_date(), default_from_date(), default_include_lost(), default_internal_quantity(), default_left(), default_location(), default_partial(), default_period(), default_planned_date(), default_product_type(), default_quantity(), default_right(), default_search(), default_shipment_internal_transit(), default_start(), default_state(), default_stock_skip_warehouse(), default_supplier_location(), default_to_date(), default_type(), default_unit_price_updated(), default_warehouse(), delete(), do(), do_count(), do_open_(), draft(), execute(), fields_to_replace(), from_warehouse(), get_cache(), get_context(), get_cost_price(), get_cost_value(), get_cumulative_quantity(), get_currency(), get_default_warehouse(), get_delay(), get_document(), get_documents(), get_domain(), get_empty_locations(), get_for_product(), get_incoming_moves(), get_inventory_moves(), get_inventory_states(), get_lead_time(), get_line(), get_line_domain(), get_margin(), get_move(), get_name(), get_origin(), get_origins(), get_outgoing_moves(), get_partially_assigned(), get_product(), get_product_types(), get_quantity(), get_quantity_uom(), get_rec_name()

Mapa del código

Se detectaron 15 archivos Python, 97 XML y 0 archivos explícitos de acceso. Los XML conectan modelos con vistas, menús, acciones e informes; los CSV de acceso establecen permisos iniciales.

  • __init__.py
  • configuration.py
  • configuration.xml
  • doc/conf.py
  • exceptions.py
  • inventory.py
  • inventory.xml
  • ir.py
  • location.py
  • location.xml
  • message.xml
  • move.py
  • move.xml
  • party.py
  • party.xml
  • period.py
  • period.xml
  • product.py
  • product.xml
  • res.py
  • res.xml
  • shipment.py
  • shipment.xml
  • stock.xml
  • stock_reporting.py
  • stock_reporting.xml
  • stock_reporting_margin.py
  • stock_reporting_margin.xml
  • view/configuration_form.xml
  • view/inventory_count_quantity_form.xml
  • view/inventory_count_search_form.xml
  • view/inventory_form.xml
  • view/inventory_line_form.xml
  • view/inventory_line_list.xml
  • view/inventory_tree.xml
  • view/location_form.xml
  • view/location_lead_time_form.xml
  • view/location_lead_time_list.xml
  • view/location_list.xml
  • view/location_quantity_form.xml
  • view/location_quantity_tree.xml
  • view/location_tree.xml
  • view/move_form.xml
  • view/move_list_shipment.xml
  • view/move_list_shipment_in.xml
  • view/move_tree.xml
  • view/move_tree_simple.xml
  • view/party_address_form.xml
  • view/party_address_tree.xml
  • view/party_contact_mechanism_form.xml

Plan de pruebas

  • Activación en una base vacía y actualización desde la revisión anterior.
  • Creación, modificación, copia y eliminación según estado y permisos.
  • Cada botón, transición y asistente con casos válidos e inválidos.
  • Reglas multicompañía, traducciones, zonas horarias y monedas aplicables.
  • Instalación conjunta con dependencias obligatorias e integraciones opcionales.
  • Copia y restauración de registros, adjuntos e informes producidos.

Compatibilidad y actualización

Mantenga servidor y módulos en la serie 8.0. Antes de actualizar compare tryton.cfg, migraciones de __register__, cambios de estados, XML IDs y permisos. Una compilación exitosa no reemplaza una migración ensayada ni la conciliación funcional de datos.

Evidencia documental oficial

Temas encontrados: Configuration · Design · Inventory · Wizards · Inventory Count · Location · Warehouse · Location Lead Time · Move · Assign Concept · Period · Period Cache · Product · Product Quantity · Recompute Cost Price · Modify Cost Price · Product Quantities by Warehouse · Product Quantities by Warehouse Move · Cost Price Revision · Inventory Reporting · Inventory Moves Reporting · Inventory Daily Reporting · Inventory Turnover Reporting · Shipment · Supplier Shipment · Reports · Supplier Return Shipment · Customer Shipment · Customer Return Shipment · Internal Shipment · Assign Shipment · Stock Module · API Reference · Stock Quantities · Setup · Setting up stock locations · Setting initial stock levels · Usage · Using stock periods · Viewing stock levels

    • doc/design/configuration.inc.rst: The Stock Configuration contains settings that are used to configure the behaviour and default values for stock related activities, including the sequences used to generate Shipment <concept-stock.shipment> numbers.
    • doc/design/inventory.inc.rst: The Inventory concept is used to help check and correct the amount of stock stored in a Location <model-stock.location>.
    • doc/design/location.inc.rst: A location represents the place where stock is stored. This may be a physical location, such as a shelf, or a virtual location such as the location used for products that have gone missing.
    • doc/design/move.inc.rst: In Tryton a stock Move represents the transfer of a given amount of a Product <concept-product> between two different Stock Locations <model-stock.location>. Often stock moves will be grouped together into a Shipment <concept-stock.shipment>.
    • doc/design/period.inc.rst: In Tryton a stock Period is used to group together the all stock moves that happened up to a specific date and that were also done after the date of any previous stock Period.
    • doc/design/product.inc.rst: When the Stock Module is activated, products gain some extra properties. These include a product's stock and forecast quantities, which show its current and predicted future stock situation, and the cost value of its stock.
    • doc/design/reporting.inc.rst: The Inventory report is used to calculate the quantity of Product <product:concept-product> at a given Location <model-stock.location> on a specific date.
    • doc/design/shipment.inc.rst: In Tryton the concept of a Shipment is used to help organise and manage groups of related Stock Moves <model-stock.move>. There are different types of shipment which are used for different purposes. Some of these types of shipment may also be split up into stages. In each stage stock is moved to or from an intermediate Location <model-stock.location>. Each stage's moves form a subset of the shipment's total moves.
    • doc/index.rst: The Stock Module provides the fundamental concepts required for managing stock. This includes keeping track of where the stock is, how much is available, and checking and correcting stock levels. It also allows stock to be moved from one place to another, and delivered to and from customers and suppliers.

Ver código fuente