incoterm
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
- Seleccione la compañía y fecha correctas antes de crear el documento.
- Complete primero los datos maestros y luego las líneas o detalles.
- Use los botones del formulario para cambiar de estado; guardar no equivale a validar o contabilizar.
- Revise advertencias, totales, documentos relacionados y trazabilidad.
- 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.invoiceaccount.invoice.linecarriercompany.companyincoterm.incotermincoterm.incoterm-company.companyparty.addressparty.incotermparty.partypurchase.purchasepurchase.request.create_purchasepurchase.request.quotationsale.opportunitysale.salestock.shipment.instock.shipment.in.returnstock.shipment.outstock.shipment.out.returnweb.shop
Tipos de campos utilizados
BooleanCharFunctionMany2ManyMany2OneOne2ManySelection
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__.pyaccount.pycarrier.pycarrier.xmlcommon.pycompany.pycompany.xmldoc/conf.pyexceptions.pyincoterm.pyincoterm.xmlmessage.xmlparty.pyparty.xmlpurchase.pypurchase.xmlsale.pysale.xmlstock.pystock.xmlview/carrier_form.xmlview/carrier_list.xmlview/company_form.xmlview/incoterm_form.xmlview/incoterm_list.xmlview/party_form_purchase.xmlview/party_form_sale.xmlview/party_incoterm_form.xmlview/party_incoterm_list.xmlview/purchase_form.xmlview/purchase_request_quotation_form.xmlview/sale_form.xmlview/sale_opportunity_form.xmlview/stock_shipment_in_form.xmlview/stock_shipment_in_return_form.xmlview/stock_shipment_out_form.xmlview/stock_shipment_out_return_form.xmlview/web_shop_form.xmlweb.pyweb.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/index.rst: This Incoterm Model is used to manage the
-
- doc/usage.rst: To allow the usage of an
Incoterm <model-incoterm.incoterm>in Tryton, you must add it to theIncotermsfield of theCompany <company:model-company.company>. You can also remove it later to prevent it from being used in the future.
- doc/usage.rst: To allow the usage of an