Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

One2many in tree view

Avatar
Giuseppe Stoduto

Buongiorno.

Vorrei visualizzare in una tree view un campo One2many ma mi fa vedere solo i numeri inseriti come in esempio qui sotto:

Fornitore
numero documenti
tipo documento
tizio e caio
1
1,2


dove 'tipo documento' è un campo one2many.

il codice che ho utilizzato è il seguente:

class FatturaPAAttachmentIn(models.Model):
    _inherit = 'fatturapa.attachment.in'

       fiscal_document_type_id = fields.One2many(
        'fiscal.document.type',
        'fatturapa_attachment_in_id',
        string="Tipo documento",
        compute="_compute_xml_invoice_number2",
        readonly=False,
        store=True)

    @api.multi
    @api.depends('ir_attachment_id.datas')
    def _compute_xml_invoice_number2(self):
        doc_type_obj = self.env['fiscal.document.type']
        itype = []
        for att in self:
            if att.datas:
                fatt = self.env['wizard.import.fatturapa'].get_invoice_obj(att)
                for invoice_body in fatt.FatturaElettronicaBody:
                    doctype = invoice_body.DatiGenerali.DatiGeneraliDocumento.TipoDocumento
                    itype += [doc_type_obj.search([('code', '=', doctype)]).id] 
                att.fiscal_document_type_id = [(6, 0, itype)]
            else:
                att.fiscal_document_type_id = False

class FiscalDocumentType(models.Model):
    _inherit = 'fiscal.document.type'

    fatturapa_attachment_in_id = fields.Many2one(
        'fatturapa.attachment.in', 'E-Invoice Import File',
        readonly=True)


Mentre il file xml in breve è questo:

        <record id="view_purchase_in_attachment_tree" model="ir.ui.view">
            <field name="name">purchase.attachment.in.tree</field>
            <field name="model">fatturapa.attachment.in</field>
            <field name="inherit_id" ref="l10n_it_fatturapa_in.view_fatturapa_in_attachment_tree"/>
            <field name="arch" type="xml">

                <field name="invoices_number" position="after">
                    <field name="invoice_type"/>
                    <field name="supplier_invoice_numbers" />
                         <field name="fiscal_document_type_id" widget="many2many_tags"/>
                    </field>
              </field>
        </record>


Inoltre ho provato anche ad usare Many2many come di seguito:

    fiscal_document_type_id = fields.Many2many(
        'fiscal.document.type',
        'fatturapa_attachment_in_rel',
        'fatturapa_attachment_id',
        'document_type_id',
        "Tipo documento",
        compute="_compute_xml_invoice_number2",
        readonly=False,
        store=True)

In questo caso ho un altro problema che si ha con questa istruzione presa dal codice sopra

att.fiscal_document_type_id = [(6, 0, itype)]

In pratica dovrebbe creare una riga ma, purtroppo, la cosa non avviene.

In compenso sulla tree il campo Many2many viene visualizzato correttamente come dovrebbe.

Avete un qualche suggerimento per risolvere la situazione?

Avatar
Abbandona
1 risposta
1
Avatar
Giuseppe Stoduto
Migliore risposta

Ho trovato una soluzione.

Si deve installare il modulo

web_widget_one2many_tags

Questo pare risolvere il problema.

Grazie

Avatar
Abbandona