ODOO: Строки счета-фактуры при изменении НАЛОГА не обновляют записи в журнале с помощью RPC

#odoo #odoo-14

Вопрос:

Все говорят, что ODOO-это ошибочное решение, я также согласен с тем, что его новая версия 14 действительно плохо закодирована.

Я сталкиваюсь с проблемой ниже.

через RPC для ODOO при попытке изменить налоговые значения каждой строки счета-фактуры он обновляется неправильно… сохраняйте записи в журнале, как это

 __moves2 = move2.search_read( 
        [ ('partner_id.state_id.name', '=', 'Gujarat'),  ('company_id', '=', 1),
        ('state', '=', 'posted'), ('payment_state', '=', 'not_paid'), ('move_type','=', 'out_invoice'), 
        ('has_reconciled_entries', '!=', False), ("date", ">=", "2021-01-01"),("date", "<=", "2021-12-31")], 
        ['name','state', 'move_type', 'journal_id', 'ref','has_reconciled_entries', 'date', 'invoice_date','amount_total'], 
        order="name asc",
    )



for i in __moves2:
    inv = move2.browse(i['id'])
    flag = False
    #print(inv.name, inv.partner_id.state_id.name, inv.id)
    for l in inv.invoice_line_ids:
        for t in l.tax_ids:
            #print(t.name, t.id)
            if inv.partner_id.state_id.name == 'Gujarat' and t.name == 'IGST 18%':
                flag = True
                break
        if flag:
            break
    if flag:
        print(inv.name, inv.partner_id.state_id.name, inv.id)
        print('$$$$$ fix it')
        inv.button_draft()
        for l in inv.invoice_line_ids:
            if l.tax_ids:
                l.tax_ids = [74]
            #l.recompute_tax_line = True
        for l in inv.line_ids:
            if l.tax_ids:
                l.tax_ids = [74]
            #l.recompute_tax_line = True
                #l.write({'tax_ids':[(6, 0,[ 74 ])]})
        #inv.onchange('invoice_line_ids','_onchange_invoice_line_ids')
        #break
 

Теперь, после завершения RPC, он не изменяет правильное налоговое обновление и не удаляет старые строки.
Кажется, нужно сделать много кода !

введите описание изображения здесь

Каким должно быть решение !