OCA / l10n-brazil

Localização brasileira oficial do Odoo.
https://odoo-community.org/psc-teams/brazil-66
GNU Affero General Public License v3.0
235 stars 244 forks source link

Erro na linha de operação ao criar fatura com mais de uma NOTA nas linhas do Pedido de Vendas. #2842

Closed rodmad85 closed 6 days ago

rodmad85 commented 8 months ago

O erro ocorre quando ao criar uma fatura e no Pedido de Vendas, há mais de uma Nota de descrição. Isso ocorre com o l10n_br_sale instalado.

File "/home/odoo/odoo14/core/odoo/models.py", line 5041, in ensure_one raise ValueError("Expected singleton: %s" % self) Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/home/odoo/odoo14/core/odoo/http.py", line 652, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/home/odoo/odoo14/core/odoo/http.py", line 317, in _handle_exception raise exception.with_traceback(None) from new_cause ValueError: Expected singleton: l10n_br_fiscal.operation.line()

douglascstd commented 8 months ago

Como posso reproduzir o erro? Sugiro sempre colocar um passo a passo de como chegar no erro usando o runboat da OCA..

rodmad85 commented 8 months ago

Abra a ultima atualização no runboat Crie um pedido de venda com 2 notas nas linhas e um produto que seja do tipo SERVIÇO. Confirme o pedido Gere a fatura (Create Invoice) -> Regular Invoice -> Create Invoice

marcelsavegnago commented 8 months ago

se for produto do tipo produto não dá erro ?

rodmad85 commented 8 months ago

Continua dando erro mesmo se for do tipo produto, tambem testei com um produto e um serviço no mesmo pedido e continua o erro. Deve ser alguma leitura das linhas quando tem mais que uma nota.

rodmad85 commented 8 months ago

Depois que da o erro a 1ª vez, não importa qual alteração se faça o erro persiste.

mbcosta commented 8 months ago

@rodmad85 valeu por reportar o problema, é importante colocar a mensagem de erro do LOG completa para melhor analise, veja:

Odoo Server Error Traceback (most recent call last): File "/odoo/src/odoo/addons/base/models/ir_http.py", line 237, in _dispatch result = request.dispatch() File "/odoo/src/odoo/http.py", line 696, in dispatch result = self._call_function(self.params) File "/odoo/src/odoo/http.py", line 370, in _call_function return checked_call(self.db, *args, *kwargs) File "/odoo/src/odoo/service/model.py", line 94, in wrapper return f(dbname, args, kwargs) File "/odoo/src/odoo/http.py", line 358, in checked_call result = self.endpoint(*a, kw) File "/odoo/src/odoo/http.py", line 919, in call return self.method(*args, *kw) File "/odoo/src/odoo/http.py", line 544, in response_wrap response = f(args, kw) File "/odoo/src/addons/web/controllers/main.py", line 1374, in call_button action = self._call_kw(model, method, args, kwargs) File "/odoo/src/addons/web/controllers/main.py", line 1362, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/odoo/src/odoo/api.py", line 404, in call_kw result = _call_kw_multi(method, model, args, kwargs) File "/odoo/src/odoo/api.py", line 391, in _call_kw_multi result = method(recs, *args, **kwargs) File "/odoo/src/addons/sale/wizard/sale_make_invoice_advance.py", line 161, in create_invoices sale_orders._create_invoices(final=self.deduct_down_payments) File "/odoo/external-src/l10n-brazil-oca/l10n_br_sale/models/sale_order.py", line 152, in _create_invoices for sale in self File "/odoo/external-src/l10n-brazil-oca/l10n_br_sale/models/sale_order.py", line 153, in for line in sale.order_line File "/odoo/external-src/l10n-brazil-oca/l10n_br_fiscal/models/operation_line.py", line 151, in get_document_type self.ensure_one() File "/odoo/src/odoo/models.py", line 5041, in ensure_one raise ValueError("Expected singleton: %s" % self) Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/odoo/src/odoo/http.py", line 652, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/odoo/src/odoo/http.py", line 317, in _handle_exception raise exception.with_traceback(None) from new_cause ValueError: Expected singleton: l10n_br_fiscal.operation.line()

@rodmad85 @marcelsavegnago @douglascstd pelos testes que fiz o erro acontece nos casos onde não é um Pedido de Venda do Brasil ou o Pedido de Venda não tem uma Operação Fiscal( apesar da empresa ser do Brasil por algum motivo não deve gerar um Documento Fiscal ), esses casos estão sendo chamados de Caso Internacional ou Original, idealmente a Localização deve manter o mesmo comportamento do código original para ter compatibilidade com outras localizações quando instaladas no mesmo banco de dados, eu fiz um PR em outubro do ano passado adaptando o modulo l10n_br_sale para esse caso https://github.com/OCA/l10n-brazil/pull/2743 , eu atualizei o PR hoje e pelos testes está corrigindo o problema que você reportou, por isso se puder por favor veja de testar se com esse PR o problema é resolvido.

github-actions[bot] commented 1 month ago

There hasn't been any activity on this issue in the past 6 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. If you want this issue to never become stale, please ask a PSC member to apply the "no stale" label.