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

product_kit

Tryton 7.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 product_kit incorpora o amplía funciones relacionadas con product kit. 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 Product Kit Module adds kits and components to products. This enables a defined set of products to be sold or purchased using a single line.

El análisis encontró 9 archivos Python, 12 archivos XML, 9 vistas, 0 acciones, 0 menús y 0 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 product kit, 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 product_kit, ejecutar sus acciones con el estado correcto 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

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

Integraciones opcionales

  • account_invoice — habilita una integración adicional; pruebe la combinación explícitamente.
  • account_invoice_stock — habilita una integración adicional; pruebe la combinación explícitamente.
  • company — habilita una integración adicional; pruebe la combinación explícitamente.
  • purchase — habilita una integración adicional; pruebe la combinación explícitamente.
  • purchase_amendment — habilita una integración adicional; pruebe la combinación explícitamente.
  • sale — habilita una integración adicional; pruebe la combinación explícitamente.
  • sale_amendment — habilita una integración adicional; pruebe la combinación explícitamente.
  • stock — habilita una integración adicional; pruebe la combinación explícitamente.

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

  • account.invoice: agrupa 2 modelo(s), entre ellos account.invoice, account.invoice.line. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • product.component: agrupa 1 modelo(s), entre ellos product.component. 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.template: agrupa 1 modelo(s), entre ellos product.template. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • purchase.amendment: agrupa 2 modelo(s), entre ellos purchase.amendment, purchase.amendment.line. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • purchase.handle: agrupa 1 modelo(s), entre ellos purchase.handle.shipment.exception. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • purchase.line: agrupa 4 modelo(s), entre ellos purchase.line, purchase.line.component, purchase.line.component-ignored-stock.move, purchase.line.component-recreated-stock.move. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • purchase.purchase: agrupa 1 modelo(s), entre ellos purchase.purchase. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • sale.amendment: agrupa 2 modelo(s), entre ellos sale.amendment, sale.amendment.line. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • sale.handle: agrupa 1 modelo(s), entre ellos sale.handle.shipment.exception. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • sale.line: agrupa 4 modelo(s), entre ellos sale.line, sale.line.component, sale.line.component-ignored-stock.move, sale.line.component-recreated-stock.move. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • sale.sale: agrupa 1 modelo(s), entre ellos sale.sale. 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.shipment: agrupa 2 modelo(s), entre ellos stock.shipment.in, stock.shipment.out.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. Compruebe el efecto en los módulos dependientes antes de cerrar el proceso.

Acciones, estados y asistentes

  • draft — acción o transición que inicia draft. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • posted — acción o transición que inicia posted. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.
  • quotation — acción o transición que inicia quotation. 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.

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 23 clases Python y declara o extiende 24 modelos. Utiliza Boolean, Float, Function, Many2Many, Many2One, Numeric, One2Many, Selection. 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

  • account.invoice
  • account.invoice.line
  • product.component
  • product.product
  • product.template
  • purchase.amendment
  • purchase.amendment.line
  • purchase.handle.shipment.exception
  • purchase.line
  • purchase.line.component
  • purchase.line.component-ignored-stock.move
  • purchase.line.component-recreated-stock.move
  • purchase.purchase
  • sale.amendment
  • sale.amendment.line
  • sale.handle.shipment.exception
  • sale.line
  • sale.line.component
  • sale.line.component-ignored-stock.move
  • sale.line.component-recreated-stock.move
  • sale.sale
  • stock.move
  • stock.shipment.in
  • stock.shipment.out.return

Tipos de campos utilizados

  • Boolean
  • Float
  • Function
  • Many2Many
  • Many2One
  • Numeric
  • One2Many
  • Selection

Clases y métodos públicos detectados

Clases: Amendment, AmendmentLine, AmendmentLineMixin, Component, ComponentMixin, HandleShipmentException, Invoice, InvoiceLine, InvoiceLinePurchase, InvoiceLineSale, Line, LineComponent, LineComponentIgnoredMove, LineComponentRecreatedMove, Move, MovePurchase, MoveSale, Product, Purchase, Sale, ShipmentIn, ShipmentOutReturn, Template

Métodos: check_move_quantity(), components_used(), copy(), create_move(), get_component_order_line(), get_cost_price(), get_line(), get_move(), get_move_product_types(), get_moves(), get_multivalue(), get_product_types(), get_purchase(), get_purchase_exception_state(), get_quantity(), get_rec_name(), get_sale(), get_sale_exception_state(), get_shipment_returns(), get_shipments(), get_supplier(), on_change_parent_product(), on_change_product(), on_change_type(), on_change_with_parent_type(), on_change_with_product_unit_category(), on_change_with_product_uom_category(), origin_name(), parent_uom(), post(), receive(), search_moves(), search_purchase(), search_rec_name(), search_sale(), search_shipment_returns(), search_shipments(), search_supplier(), stock_component_moves(), warehouse(), wrapper()

Mapa del código

Se detectaron 9 archivos Python, 12 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
  • account.py
  • common.py
  • doc/conf.py
  • product.py
  • product.xml
  • purchase.py
  • purchase.xml
  • sale.py
  • sale.xml
  • setup.py
  • stock.py
  • view/product_component_form.xml
  • view/product_component_list.xml
  • view/product_template_form.xml
  • view/purchase_line_component_form.xml
  • view/purchase_line_component_list.xml
  • view/purchase_line_form.xml
  • view/sale_line_component_form.xml
  • view/sale_line_component_list.xml
  • view/sale_line_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 7.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: Design · Product · Product Component · Sale · Line · Line Component · Purchase · Product Kit Module

    • doc/design.rst: The Product Kit Module module introduces the following concepts:
    • doc/index.rst: The Product Kit Module adds kits and components to products. This enables a defined set of products to be sold or purchased using a single line.

Ver código fuente