l10n-brazil
l10n-brazil copied to clipboard
[14.0][FIX] l10n_br_account : Não criar linhas do tipo Seção, Notas e Adiantamentos/'down payments' nos Documentos Fiscais Brasileiros
NFe don't validate Section, Note or DownPayments lines.
Nas linhas da NFe não validar linhas do tipo Seção, Notas e Adiantamentos/'down payments', PR simples para evitar a mensagem de erro ao chamar o método action_post quando alguma dessa linhas estão presentes
l10n_br_nfe/models/document.py", line 807, in _check_product_default_code f"The product {line.product_id.display_name} " odoo.exceptions.ValidationError: The product False must have a default code or the product codeline field (nfe40_cProd) should be filled.
Pelo código isso está sendo feito em outros casos, mas é preciso ver outros erros como
File "l10n_br_nfe/models/document_line.py", line 503, in export_fields_nfe_40_icms self.nfe40_choice_icms.replace("nfe40", "") AttributeError: 'bool' object has no attribute 'replace'
e se essas Linhas devem ser apagadas, bloqueadas ou mantidas de alguma forma já que não vão estar na NFe, portanto esse PR resolve apenas uma parte do problema.
O teste pode ser feito com Pedido de Vendas que tem linhas de Seção, Nota e Adiantamentos, no PR https://github.com/OCA/l10n-brazil/pull/2955 foram incluído dados de demonstração e testes com esses casos
cc @rvalyi @renatonlima @marcelsavegnago @mileo
@mbcosta, penso que essas linhas não deveriam ser salvas no modelo fiscal_document_line
será que não é melhor filtrar isso antes, aqui nesse bloco? pois aqui é onde eliminamos as coisas inuteis que não devem ser uma linha fiscal.
https://github.com/OCA/l10n-brazil/blob/02c4fc36aac8b94db8aa90625b291142295d0002/l10n_br_account/models/account_move_line.py#L223-L231
Acho que daria para adicionar no if a condição para o line.display_type
se estiver preenchido não criar a linha fiscal.
@mbcosta, penso que essas linhas não deveriam ser salvas no modelo
fiscal_document_line
será que não é melhor filtrar isso antes, aqui nesse bloco? pois aqui é onde eliminamos as coisas inuteis que não devem ser uma linha fiscal. https://github.com/OCA/l10n-brazil/blob/02c4fc36aac8b94db8aa90625b291142295d0002/l10n_br_account/models/account_move_line.py#L223-L231Acho que daria para adicionar no if a condição para o
line.display_type
se estiver preenchido não criar a linha fiscal.
concordo
valeu @antoniospneto @rvalyi pela revisão, realmente como o Antônio comentou o melhor e após a criação das linhas apagar as de tipo Seção, Nota e de Adiantamentos no Documentos Fiscais Brasileiros como já é feito em outros casos, dessa forma além da NFe isso vai ocorrer para todos os outros documentos, eu alterei a lógica da parte do código que apaga essas linhas para que o "for" seja feito apenas nas linhas que serão apagadas usando o filtered, parece ser mais eficiente.
Para remover a linha de Adiantamentos/"Down Payments" usei "fiscal_quantity < 0.0" inicialmente pelo o que vi apenas nesse caso isso ocorre porém se existir outro isso pode ser revisto, caso alguém saiba é importante identificar para evitar erros.
O caso de Adiantamentos/"Down Payments" precisa ser analisado, porque ao remover a Linha no Documento Fiscal o "Valor Total" da Fatura/account.move fica diferente do Documento fiscal/l10n_br_fiscal.document, é preciso ver o que é necessário e como deve ser feito esse processo usando os Documentos Fiscais Brasileiros, mas acredito que isso deve ser visto em outro PR, segue imagens sobre:
Pedido de Vendas
Fatura
Documento Fiscal
@mbcosta, penso que essas linhas não deveriam ser salvas no modelo
fiscal_document_line
será que não é melhor filtrar isso antes, aqui nesse bloco? pois aqui é onde eliminamos as coisas inuteis que não devem ser uma linha fiscal. https://github.com/OCA/l10n-brazil/blob/02c4fc36aac8b94db8aa90625b291142295d0002/l10n_br_account/models/account_move_line.py#L223-L231Acho que daria para adicionar no if a condição para o
line.display_type
se estiver preenchido não criar a linha fiscal.concordo
https://github.com/OCA/l10n-brazil/pull/3064
@mbcosta vc consegue confirmar se #3064 já mata esse problema?
Valeu @marcelsavegnago @rvalyi o PR do Marcel resolve
encerrando por ter solução em outro PR
valeu @mbcosta . Se liga porem que esse PR do @marcelsavegnago criou uma regressão grave com as notas de varias linhas Ele ta arrumando no ultimo PR, o fix vai sair ja ja. Mas cuidado com esse PR dele de 3 dias atrás até la...
valeu @rvalyi , fiz apenas um teste simples de verificar se o Documento Fiscal estava com essas linhas quando existiam na Fatura, obrigado por avisar