sale_advance_payment
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 sale_advance_payment incorpora o amplía funciones relacionadas con sale advance payment. 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 sale_advance_payment module adds support for advance payment management on the sale.
El análisis encontró 7 archivos Python, 22 archivos XML, 9 vistas, 5 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 sale advance payment, 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 sale_advance_payment, 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.ir— debe estar instalado y configurado antes de probar este módulo.res— debe estar instalado y configurado antes de probar este módulo.sale— debe estar instalado y configurado antes de probar este módulo.
Integraciones opcionales
sale_supply— 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.account: agrupa 2 modelo(s), entre ellos
account.account.type,account.account.type.template. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - 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. - sale.advance_payment: agrupa 1 modelo(s), entre ellos
sale.advance_payment.condition. Estos registros forman la información que el usuario consulta o modifica durante el proceso. - sale.advance_payment_term: agrupa 3 modelo(s), entre ellos
sale.advance_payment_term,sale.advance_payment_term.line,sale.advance_payment_term.line.account. 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.invoice.exception. 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. - stock.shipment: agrupa 1 modelo(s), entre ellos
stock.shipment.out. 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
packed— acción o transición que inicia packed. 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.
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 14 clases Python y declara o extiende 12 modelos. Utiliza Boolean, Char, Function, Many2Many, Many2One, MultiValue, Numeric, One2Many, 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
account.account.typeaccount.account.type.templateaccount.invoiceaccount.invoice.linesale.advance_payment.conditionsale.advance_payment_termsale.advance_payment_term.linesale.advance_payment_term.line.accountsale.handle.invoice.exceptionsale.linesale.salestock.shipment.out
Tipos de campos utilizados
BooleanCharFunctionMany2ManyMany2OneMultiValueNumericOne2ManySelectionTimeDelta
Clases y métodos públicos detectados
Clases: AccountType, AccountTypeTemplate, AdvancePaymentCondition, AdvancePaymentTerm, AdvancePaymentTermLine, AdvancePaymentTermLineAccount, FormulaError, HandleInvoiceException, Invoice, InvoiceLine, Sale, SaleLine, ShipmentOut, ShippingBlocked
Métodos: advance_payment_completed(), advance_payment_eligible(), compute_amount(), copy(), create_invoice(), default_ask(), get_advance_payment_context(), get_advance_payment_invoices(), get_completed(), get_compute_amount_context(), get_condition(), get_conditions(), get_invoice_advance_payment_lines(), get_invoice_line(), get_invoice_state(), get_move(), get_purchase_request(), get_recall_lines(), get_sale_states(), get_sales(), on_change_with_sale_company(), on_change_with_sale_state(), pack(), pre_validate(), quote(), search_advance_payment_invoices(), search_sales(), set_advance_payment_term(), shipping_blocked(), supply_blocked()
Mapa del código
Se detectaron 7 archivos Python, 22 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.pyaccount.xmldoc/conf.pyexceptions.pymessage.xmlminimal_chart.xmlminimal_chart_bg.xmlminimal_chart_ca.xmlminimal_chart_de.xmlminimal_chart_en.xmlminimal_chart_es.xmlminimal_chart_fr.xmlminimal_chart_nl.xmlminimal_chart_pt.xmlminimal_chart_ru.xmlminimal_chart_sl.xmlsale.pysale.xmlsetup.pystock.pyview/account_type_form.xmlview/advance_payment_condition_form.xmlview/advance_payment_condition_list.xmlview/advance_payment_term_form.xmlview/advance_payment_term_line_form.xmlview/advance_payment_term_line_list.xmlview/advance_payment_term_list.xmlview/sale_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: Sale Advance Payment Module · Advance Payment Term
-
- doc/index.rst: The sale_advance_payment module adds support for advance payment management on the sale.