# -*- coding: utf-8 -*- from openerp import models, fields, api class AccountInvoice(models.Model): _inherit = 'account.invoice' ############################################################ # ACCOUNT INVOICE ############################################################ @api.model def getAccountInvoice(self,domain): AccountInvoice = self.env['account.invoice'].search(domain) decimal_precision = self.env['decimal.precision'].precision_get('Account') values = [] for invoice in AccountInvoice: values.append({ 'id': invoice.id, 'type': invoice.type, 'state': invoice.state, 'number': invoice.number, 'journal_id': [ invoice.journal_id.id, invoice.journal_id.name ], 'invoice_currency': [ invoice.currency_id.id, invoice.currency_id.name, invoice.currency_id.rate ], 'company_currency': [ invoice.company_id.currency_id.id, invoice.company_id.currency_id.name, invoice.company_id.currency_id.rate ], 'date_invoice': invoice.date_invoice, 'date_due': invoice.date_invoice, 'partner_id': [ invoice.partner_id.id, invoice.partner_id.name, ], 'supplier_invoice_number': invoice.supplier_invoice_number, 'user_id': [ invoice.user_id.id, invoice.user_id.name ], 'period_id': [ invoice.period_id.id, invoice.period_id.name ], 'origin': invoice.origin, 'reference': invoice.reference, 'payment_term': { 'id' : invoice.payment_term.id, 'name' : invoice.payment_term.name, 'check_credit' : invoice.payment_term.check_credit, }, 'amount_untaxed': invoice.amount_untaxed, 'residual': invoice.residual, 'amount_tax': invoice.amount_tax, 'amount_total': invoice.amount_total, 'amount_untaxed_currency': invoice.amount_untaxed * (invoice.company_id.currency_id.rate / invoice.currency_id.rate), 'residual_currency': invoice.residual * (invoice.company_id.currency_id.rate / invoice.currency_id.rate), 'amount_tax_currency': invoice.amount_tax * (invoice.company_id.currency_id.rate / invoice.currency_id.rate), 'amount_total_currency': invoice.amount_total * (invoice.company_id.currency_id.rate / invoice.currency_id.rate), }) return values class AccountInvoiceLine(models.Model): _inherit = 'account.invoice.line' ############################################################ # ACCOUNT INVOICE LINE ############################################################ @api.model def getAccountInvoiceLine(self,domain): AccountInvoiceLine = self.env['account.invoice.line'].search(domain) decimal_precision = self.env['decimal.precision'].precision_get('Account') values = [] for line in AccountInvoiceLine: values.append({ 'id': line.id, 'invoice_id':line.invoice_id.id, 'journal_id' : line.invoice_id.journal_id.id, 'product_id': { 'id' : line.product_id.id, 'name' : line.product_id.display_name, }, 'name' : line.name, 'price_unit': line.price_unit, 'price_subtotal': line.price_subtotal, 'quantity' : line.quantity, 'company_currency':[ line.invoice_id.company_id.currency_id.id, line.invoice_id.company_id.currency_id.name, line.invoice_id.company_id.currency_id.rate, ], 'invoice_currency':[ line.invoice_id.currency_id.id, line.invoice_id.currency_id.name, line.invoice_id.currency_id.rate, ], 'price_unit_currency': round(line.price_unit * (line.invoice_id.company_id.currency_id.rate / line.invoice_id.currency_id.rate),decimal_precision), 'price_subtotal_currency': round(line.price_subtotal * (line.invoice_id.company_id.currency_id.rate / line.invoice_id.currency_id.rate),decimal_precision), 'tax_currency': round((line.price_unit * (line.invoice_id.company_id.currency_id.rate / line.invoice_id.currency_id.rate) * line.quantity) - line.price_subtotal * (line.invoice_id.company_id.currency_id.rate / line.invoice_id.currency_id.rate),decimal_precision), 'amount_currency': round((line.quantity * line.price_unit) * (line.invoice_id.company_id.currency_id.rate / line.invoice_id.currency_id.rate),decimal_precision), }) return values class AccountVoucher(models.Model): _inherit = 'account.voucher' ############################################################ # ACCONT VOUCHER ############################################################ @api.model def getAccountVoucher(self,domain): AccountVoucher = self.env['account.voucher'].search(domain) values = [] for voucher in AccountVoucher: values.append({ 'id': voucher.id, 'number':voucher.number, 'create_uid': voucher.create_uid.name, 'journal_id': [ voucher.journal_id.id, voucher.journal_id.name, ], 'amount': voucher.amount, 'currency_id': [ voucher.currency_id.id, voucher.currency_id.name, ], 'reference': voucher.reference, 'date': voucher.date, 'amount': voucher.amount, 'amount_currency': voucher.amount * (voucher.company_id.currency_id.rate / voucher.currency_id.rate), }) return values class AccountMoveLine(models.Model): _inherit = 'account.move.line' @api.model def getAccountMoveLine(self,domain): AccountMoveLine = self.env['account.move.line'].search(domain) decimal_precision = self.env['decimal.precision'].precision_get('Account') values = [] for line in AccountMoveLine: values.append({ 'id': line.id, 'name': line.name, 'date': line.date, 'date_maturity': line.date_maturity, 'reconcile_ref': line.reconcile_ref, 'amount_residual': line.amount_residual, 'partner_id': [ line.partner_id.id, line.partner_id.name, ], 'move_id': [ line.move_id.id, line.move_id.name, ], 'debit': line.credit, 'credit': line.debit, }) return values class AccounPaymentTerm(models.Model): _inherit = 'account.payment.term' check_credit = fields.Boolean("Es crédito?", default=True)