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

commission

Tryton 6.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 commission incorpora o amplía funciones relacionadas con commission. 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 commission module allows to manage commission for sale's agent. A commission move is created when posting the invoice, following the agent's commission plan.

El análisis encontró 11 archivos Python, 27 archivos XML, 20 vistas, 26 acciones, 6 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 commission, 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 commission, 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

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

  • sale — 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 4 modelo(s), entre ellos account.invoice, account.invoice.credit, account.invoice.credit.start, account.invoice.line. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • account.journal: agrupa 1 modelo(s), entre ellos account.journal. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • commission: agrupa 1 modelo(s), entre ellos commission. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • commission.agent: agrupa 2 modelo(s), entre ellos commission.agent, commission.agent.selection. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • commission.create_invoice: agrupa 2 modelo(s), entre ellos commission.create_invoice, commission.create_invoice.ask. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • commission.plan: agrupa 2 modelo(s), entre ellos commission.plan, commission.plan.line. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • ir.email: agrupa 1 modelo(s), entre ellos ir.email.template. 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 1 modelo(s), entre ellos party.party. 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.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.
  • product.template-commission: agrupa 1 modelo(s), entre ellos product.template-commission.agent. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • sale.line: agrupa 1 modelo(s), entre ellos sale.line. 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.

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

  • invoice — acción o transición que inicia invoice. 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.
  • paid — acción o transición que inicia paid. 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.
  • commission.create_invoice — asistente que reúne datos y ejecuta commission › create invoice. 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 22 clases Python y declara o extiende 21 modelos. Utiliza Boolean, Char, Date, Function, Many2Many, Many2One, Numeric, One2Many, Reference, 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.credit
  • account.invoice.credit.start
  • account.invoice.line
  • account.journal
  • commission
  • commission.agent
  • commission.agent.selection
  • commission.create_invoice
  • commission.create_invoice.ask
  • commission.plan
  • commission.plan.line
  • ir.email.template
  • party.erase
  • party.party
  • party.replace
  • product.product
  • product.template
  • product.template-commission.agent
  • sale.line
  • sale.sale

Tipos de campos utilizados

  • Boolean
  • Char
  • Date
  • Function
  • Many2Many
  • Many2One
  • Numeric
  • One2Many
  • Reference
  • Selection

Clases y métodos públicos detectados

Clases: Agent, AgentSelection, Commission, CreateInvoice, CreateInvoiceAsk, CreditInvoice, CreditInvoiceStart, EmailTemplate, Erase, FormulaError, Invoice, InvoiceLine, Journal, Line, Party, Plan, PlanLines, Product, Replace, Sale, Template, Template_Agent

Métodos: account(), agent_plans_used(), cancel(), check_erase_company(), check_formula(), compute(), copy(), create_commissions(), create_invoice(), default_commission_method(), default_company(), default_currency(), default_formula(), default_type_(), default_with_agent(), do_create_(), email_models(), fields_to_replace(), get_amount(), get_commissions(), get_context_formula(), get_domain(), get_invoice_line(), get_invoice_state(), get_journal(), get_origin(), get_pending_amount(), get_rec_name(), invoice(), match(), on_change_agent(), on_change_company(), on_change_product(), on_change_with_company(), on_change_with_currency(), on_change_with_type_(), paid(), principal(), quote(), search_company(), search_rec_name(), set_agent(), validate(), view_attributes()

Mapa del código

Se detectaron 11 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
  • account.xml
  • commission.py
  • commission.xml
  • doc/conf.py
  • exceptions.py
  • invoice.py
  • invoice.xml
  • ir.py
  • message.xml
  • party.py
  • party.xml
  • product.py
  • product.xml
  • sale.py
  • sale.xml
  • setup.py
  • view/account_invoice_credit_start_form.xml
  • view/agent_form.xml
  • view/agent_list.xml
  • view/agent_selection_form.xml
  • view/agent_selection_list.xml
  • view/agent_selection_list_sequence.xml
  • view/commission_create_invoice_ask_form.xml
  • view/commission_form.xml
  • view/commission_list.xml
  • view/invoice_form.xml
  • view/invoice_line_form.xml
  • view/party_form.xml
  • view/plan_form.xml
  • view/plan_line_form.xml
  • view/plan_line_list.xml
  • view/plan_line_list_sequence.xml
  • view/plan_list.xml
  • view/sale_form.xml
  • view/sale_line_form.xml
  • view/template_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 6.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: Commission Module · Agent · Commission Plan · Line

    • doc/index.rst: The commission module allows to manage commission for sale's agent. A commission move is created when posting the invoice, following the agent's commission plan.

Ver código fuente