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

Errore in wizard_import_fatturapa.py

Avatar
Giuseppe Stoduto

Buongiorno. Non riesco a trovare da nessuna parte il seguente attributo _get_tax_amount che si trova in wizard_import_fatturapa.py che fa riferimento al seguente pezzo di codice.

Dalla linea n.361

line_tax = self.env['account.tax'].browse(line_tax_id)
            if new_tax.id != line_tax_id:
                if new_tax._get_tax_amount() != line_tax._get_tax_amount():
                    self.log_inconsistency(_(
                        "XML contains tax %s. Product %s has tax %s. Using "
                        "the XML one"
                    ) % (line_tax.name, product.name, new_tax.name))
                else:
                    # If product has the same amount of the one in XML,
                    # I use it. Typical case: 22% det 50%
                    line_vals['invoice_line_tax_id'] = [
                        (6, 0, [new_tax.id])]


In pratica, importando xml mi da il seguente errore:

AttributeError: 'account.tax' object has no attribute '_get_tax_amount'

Non riesco a trovarlo da nessuna parte.

Qualche suggerimento?

Grazie

Avatar
Abbandona
8 Risposte
0
Avatar
Giuseppe Stoduto
Migliore risposta

Ho trovato la funzione. Ho dato anche uno sguardo al codice.

In pratica in odoo 8 basta fare un confronto diretto

if new_tax.amount != line_tax.amount:
in effetti non c'è bisogno di chiamare questa funzione perché odoo 8 usa un modo diverso per calcolarsi le imposte figlie.


Avatar
Abbandona
0
Avatar
Sergio Corato
Migliore risposta

Ottimo, bravo! Vuoi caricare un PR di correzione?

Avatar
Abbandona
0
Avatar
Giuseppe Stoduto
Migliore risposta

Mi sapresti spiegare in grandi linee cosa dovrebbe fare?

Provo a ricreare il metodo da zero.

Da quello che ho potuto capire dovrebbe fare un confronto del valore delle tasse del campo amount, Giusto?

Se fosse così non basterebbe un qualcosa del genere?

if new_tax[0].amount != line_tax[0].amount:

Ho messo 0 per via che potrebbero esserci più natura N2 ma, effettivamente, bisognerebbe cercare fra questi N2 se c'è una corrispondenza e, di conseguenza, creare una funzione adatta.

Correggetemi se sto pensando errato


Avatar
Abbandona
0
Avatar
Sergio Corato
Migliore risposta

Che versione di Odoo usi, o non vedo io?

Ho visto adesso, la 8.0, manca la funzione, mi sa che è un bug 8(

Avatar
Abbandona
0
Avatar
Giuseppe Stoduto
Migliore risposta

Ho cercato anche nelle altre versioni, ma non ho trovato nulla.

Avatar
Abbandona
0
Avatar
Giuseppe Stoduto
Migliore risposta

Questo è il pezzo dell'xml che mi da problemi

Nr. linea: 90

    Tipo cessione/prestazione: SC(sconto)

    Codifica articoloTipo: CODValore: 003129

    Descrizione bene/servizio: PANE BIANCO 400GRX8 MB

    Quantità: 1.000Unità di misura: PZ

    Valore unitario: -1.04

    Sconto/MaggiorazioneTipo: SC(sconto)

    Percentuale (%): 30.00

    Valore totale: -0.73

    IVA (%): 0.00

    Natura operazione: N2(non soggetta)

ho impostato N2 su aliquota iva Imponibile Escluso Art.26 - DPR 633/72 (credito) nel campo "natura".ù

Quando lo ricerca mi da che l'iva del prodotto, in questo caso è al 4%, e l'iva che corrisponde alla natura N2, nel mio caso solo una ma è possibile averne diverse con questa natura, non corrispondono e mi entra in quell' if new_tax._get_tax_amount() != line_tax._get_tax_amount():

Questo è quanto ho potuto fare per il debug


Avatar
Abbandona
0
Avatar
Giuseppe Stoduto
Migliore risposta

in quel modulo c'è

get_tax_by_invoice_tax

è la stessa cosa?

Avatar
Abbandona
0
Avatar
Giuseppe Stoduto
Migliore risposta

si, l'ho installato

Avatar
Abbandona
0
Avatar
Sergio Corato
Migliore risposta

Ciao,

il metodo è in l10n_it_account, è installato?

Avatar
Abbandona