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

incoterm

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 incoterm incorpora o amplía funciones relacionadas con incoterm. 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)

This Incoterm Model is used to manage the Incoterms <https://en.wikipedia.org/wiki/Incoterms>_ on sales, purchases and shipments. The module contains the Incoterm versions of 2000, 2010 and 2020.

El análisis encontró 13 archivos Python, 27 archivos XML, 18 vistas, 3 acciones, 1 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 incoterm, 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 incoterm, 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

  • company — debe estar instalado y configurado antes de probar este módulo.
  • country — 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.

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.
  • carrier — habilita una integración adicional; pruebe la combinación explícitamente.
  • purchase — habilita una integración adicional; pruebe la combinación explícitamente.
  • purchase_request_quotation — habilita una integración adicional; pruebe la combinación explícitamente.
  • sale — habilita una integración adicional; pruebe la combinación explícitamente.
  • sale_opportunity — habilita una integración adicional; pruebe la combinación explícitamente.
  • sale_shipment_cost — habilita una integración adicional; pruebe la combinación explícitamente.
  • sale_shipment_grouping — habilita una integración adicional; pruebe la combinación explícitamente.
  • stock — habilita una integración adicional; pruebe la combinación explícitamente.
  • stock_package_shipping — habilita una integración adicional; pruebe la combinación explícitamente.
  • web_shop — 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.
  • carrier: agrupa 1 modelo(s), entre ellos carrier. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • company.company: agrupa 1 modelo(s), entre ellos company.company. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • incoterm.incoterm: agrupa 1 modelo(s), entre ellos incoterm.incoterm. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • incoterm.incoterm-company: agrupa 1 modelo(s), entre ellos incoterm.incoterm-company.company. 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.incoterm: agrupa 1 modelo(s), entre ellos party.incoterm. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • party.party: agrupa 1 modelo(s), entre ellos party.party. 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.
  • purchase.request: agrupa 2 modelo(s), entre ellos purchase.request.create_purchase, purchase.request.quotation. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • sale.opportunity: agrupa 1 modelo(s), entre ellos sale.opportunity. 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.shipment: agrupa 4 modelo(s), entre ellos stock.shipment.in, stock.shipment.in.return, stock.shipment.out, stock.shipment.out.return. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • web.shop: agrupa 1 modelo(s), entre ellos web.shop. 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

  • 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.
  • waiting — acción o transición que inicia waiting. 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 26 clases Python y declara o extiende 19 modelos. Utiliza Boolean, Char, Function, Many2Many, Many2One, 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
  • carrier
  • company.company
  • incoterm.incoterm
  • incoterm.incoterm-company.company
  • party.address
  • party.incoterm
  • party.party
  • purchase.purchase
  • purchase.request.create_purchase
  • purchase.request.quotation
  • sale.opportunity
  • sale.sale
  • stock.shipment.in
  • stock.shipment.in.return
  • stock.shipment.out
  • stock.shipment.out.return
  • web.shop

Tipos de campos utilizados

  • Boolean
  • Char
  • Function
  • Many2Many
  • Many2One
  • One2Many
  • Selection

Clases y métodos públicos detectados

Clases: Address, Carrier, Company, DifferentIncotermWarning, Incoterm, IncotermAvailableMixin, IncotermMixin, Incoterm_Company, Invoice, InvoiceLine, Opportunity, Party, Purchase, RequestCreatePurchase, RequestQuotation, Sale, Sale_Carrier, Sale_WebShop, ShipmentIn, ShipmentInReturn, ShipmentIn_Purchase, ShipmentMixin, ShipmentOut, ShipmentOutReturn, ShipmentOut_Sale, Shop

Métodos: check_for_quotation(), default_company(), get_incoterms(), get_is_incoterm_related(), get_rec_name(), get_sale(), incoterm_name(), on_change_carrier(), on_change_company(), on_change_incoterm(), on_change_party(), on_change_shipment_cost_method(), on_change_with_available_incoterms(), on_change_with_incoterm_location_required(), on_modification(), order_is_incoterm_related(), quote(), receive(), shipping_to(), shipping_to_address(), wait()

Mapa del código

Se detectaron 13 archivos Python, 27 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
  • carrier.py
  • carrier.xml
  • common.py
  • company.py
  • company.xml
  • doc/conf.py
  • exceptions.py
  • incoterm.py
  • incoterm.xml
  • message.xml
  • party.py
  • party.xml
  • purchase.py
  • purchase.xml
  • sale.py
  • sale.xml
  • stock.py
  • stock.xml
  • view/carrier_form.xml
  • view/carrier_list.xml
  • view/company_form.xml
  • view/incoterm_form.xml
  • view/incoterm_list.xml
  • view/party_form_purchase.xml
  • view/party_form_sale.xml
  • view/party_incoterm_form.xml
  • view/party_incoterm_list.xml
  • view/purchase_form.xml
  • view/purchase_request_quotation_form.xml
  • view/sale_form.xml
  • view/sale_opportunity_form.xml
  • view/stock_shipment_in_form.xml
  • view/stock_shipment_in_return_form.xml
  • view/stock_shipment_out_form.xml
  • view/stock_shipment_out_return_form.xml
  • view/web_shop_form.xml
  • web.py
  • web.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: Design · Incoterm · Incoterm Module · Usage · Activate an Incoterm for a company

    • doc/design.rst: The Incoterm Module introduces the following concepts:
    • doc/index.rst: This Incoterm Model is used to manage the Incoterms <https://en.wikipedia.org/wiki/Incoterms>_ on sales, purchases and shipments. The module contains the Incoterm versions of 2000, 2010 and 2020.
    • doc/usage.rst: To allow the usage of an Incoterm <model-incoterm.incoterm> in Tryton, you must add it to the Incoterms field of the Company <company:model-company.company>. You can also remove it later to prevent it from being used in the future.

Ver código fuente