소스 검색

Merge pull request #30 from M22TechConsulting/tc_import_taxes

[ADD] custom_import_layout: add taxes in tc
FernizaM22 1 년 전
부모
커밋
373ef4e8a9

+ 3 - 2
custom_import_layout/__manifest__.py

@@ -10,12 +10,13 @@
     'author': "M22",
     'website': "https://www.m22.mx",
     'category': 'Import',
-    'version': '16.0.4',
+    'version': '16.0.5',
     'depends': ['base','sale','purchase', 'account'],
     'data': [
         'security/ir.model.access.csv',
         'views/import_layout_rule.xml',
-        'views/import_layout.xml'
+        'views/import_layout.xml',
+        "views/account_move_line.xml",
     ],
     'license': 'AGPL-3'
 }

BIN
custom_import_layout/__pycache__/__init__.cpython-310.pyc


BIN
custom_import_layout/models/__pycache__/__init__.cpython-310.pyc


BIN
custom_import_layout/models/__pycache__/account_move.cpython-310.pyc


BIN
custom_import_layout/models/__pycache__/import_layout.cpython-310.pyc


BIN
custom_import_layout/models/__pycache__/import_layout_rule.cpython-310.pyc


BIN
custom_import_layout/models/__pycache__/import_layout_rule_line.cpython-310.pyc


+ 10 - 2
custom_import_layout/models/account_move.py

@@ -3,10 +3,18 @@ from odoo import api, fields, models
 class AccountMoveLine(models.Model):
     _inherit = "account.move.line"
 
+    import_name_taxes = fields.Char(string="Nombre Impuestos")
+
     @api.model_create_multi
     def create(self, vals_list):
         res = super().create(vals_list)
         for line in res:
             if not line.product_id:
-                line.tax_ids = False
-        return res
+                if line.import_name_taxes:
+                    taxes = line.env["account.tax"].search([("name", "=", line.import_name_taxes), ("company_id", "=", line.company_id.id)])
+                    if taxes:
+                        line.tax_ids = False
+                        line.write({'tax_ids': [(6, 0, taxes.ids)]})
+                    else:
+                        line.tax_ids = False
+        return res

+ 1 - 1
custom_import_layout/models/import_layout.py

@@ -86,7 +86,7 @@ class ImportLayput(models.TransientModel):
 
     # Obtener los valores de los campos dependiendo del tipo de campo
     def get_field_info(self, field_id, value):
-        if field_id.ttype in ["many2one", "many2one_reference"]:
+        if field_id.ttype in ["many2one", "many2one_reference", "many2many", "many2many_reference"]:
             if str(value).isnumeric():
                 if len(str(value)) <= 9:
                     field_value = self.env[field_id.relation].sudo().search([("id", "=", int(value))], limit=1)

+ 16 - 0
custom_import_layout/views/account_move_line.xml

@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='utf-8'?>
+<odoo>
+    <record model="ir.ui.view" id="view_account_invoice_import_taxes">
+        <field name="name">account.move.import.taxes.form</field>
+        <field name="model">account.move</field>
+        <field name="inherit_id" ref="account.view_move_form" />
+        <field name="arch" type="xml">
+            <xpath expr="//field[@name='invoice_line_ids']/tree/field[@name='tax_ids']" position="before">
+                <field name="import_name_taxes" />
+            </xpath>
+            <xpath expr="//field[@name='line_ids']/tree/field[@name='tax_ids']" position="before">
+                <field name="import_name_taxes" invisible="1"/>
+            </xpath>
+        </field>
+    </record>
+</odoo>