Skip to content

Latest commit

 

History

History
65 lines (55 loc) · 2.66 KB

structure.md

File metadata and controls

65 lines (55 loc) · 2.66 KB

from odoo import models, fields, api, http from odoo.http import request import requests import base64 import logging

_logger = logging.getLogger(name)

class PosOrder(models.Model): _inherit = 'pos.order'

rollo_pdf = fields.Binary("PDF del Rollo", attachment=True)

def action_pos_order_paid(self):
    print("________________________________________")
    print("Iniciando proceso de facturación")
    print("________________________________________")

    # Logging información del cliente
    if self.partner_id:
        print("________________________________________")
        print("Datos del Cliente:")
        print(f"Nombre: {self.partner_id.name}")
        print(f"RAZON SOCIAL: {self.partner_id.razon_social}")
        print(f"Complemento: {self.partner_id.complemento or ''}")
        print(f"CODIGO TIPO DOCUMENTO: {self.partner_id.codigo_tipo_documento_identidad}")
        print(f"E-Mail: {self.partner_id.email}")
        print(f"ID Cliente: {self.partner_id.id}")
        print(f"VAT/NIF: {self.partner_id.vat or ''}")
        print(f"Celular: {self.partner_id.mobile or ''}")
    else:
        print("Cliente: No especificado")

    # Logging productos
    print("________________________________________")
    print("Productos en la orden:")
    for line in self.lines:
        print(f"- Producto: {line.product_id.name}")
        print(f"  Código Producto: {line.product_id.default_code}")
        print(f"  Código Producto SIN: {line.product_id.codigo_producto_homologado}")
        print(f"  Código Unidad de Medida: {line.product_id.codigo_unidad_medida}")
        print(f"  Cantidad: {line.qty}")
        print(f"  Precio unitario: {line.price_unit}")
        # Convertimos el descuento de porcentaje a monetario
        print(f"  Monto Descuento: {line.price_unit * line.qty * line.discount / 100}")
        print(f"  Subtotal: {line.price_subtotal}")

    # Logging métodos de pago
    print("________________________________________")
    print("Métodos de pago:")
    for payment in self.payment_ids:
        print(f"- Método: {payment.payment_method_id.name}")
        print(f"  Codigo Metodo: {payment.payment_method_id.metodo_pago_sin}")
    # Logging totales
    print("________________________________________")
    print(f"Subtotal: {self.amount_total - self.amount_tax}")
    print(f"IVA: {self.amount_tax}")
    print(f"Total: {self.amount_total}")
    print("________________________________________")

    # Marcar como pagado
    self.write({'state': 'paid'})

    return True