Ir para conteúdo
  • Cadastre-se

dev botao

tag icms51 não gera tags zeradas apos atualização fontes


Ver Solução Respondido por Italo Giurizzato Junior,

Recommended Posts

  • Membros Pro
Postado

 Olá Boa tarde.   Após atualizar os fontes a tag ref. icms51 não é mais gerada com todos os campos zerados dai a sefa Pr dá rejeição por não ter as tags zeradas como era antes.

 No aguardo,

André

  • Membros Pro
Postado
1 hora atrás, AndreLStorolli disse:

 Olá Boa tarde.   Após atualizar os fontes a tag ref. icms51 não é mais gerada com todos os campos zerados dai a sefa Pr dá rejeição por não ter as tags zeradas como era antes.

 No aguardo,

André

image.png.6c1f2f50a1230d760afa1698d33b99cd.png

foi necessário ajustes na linha 2180 do acbrnfe.xmlwriter mudado de 0 para 1 no parametro indicado para gerar as tag mesmo com valor zerado.

  • Consultores
Postado

Boa tarde!

Por favor, qual é a mensagem de rejeição que estava recebendo?

O parâmetro que foi alterado é o que corresponde ao número de ocorrências.

Quando o valor é zero, isso signifca que o campo é opcional e portanto, não é gerado quando você passa um valor zero para ele caso ele seja numérico.

Ao alterar para o valor 1, você está dizendo que o campo é obrigatório.

Mas este não é o caso de acordo com o leiaute.

Captura de tela 2024-12-11 165059.jpg

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Bom dia.  A rejeição é 929 - Informado CST de diferimento sem as informacoes de diferimento. [nItem:1].

Provavel que é daquelas situações que 'a critério da UF validar ou não'.....

  • Consultores
  • Solution
Postado

Bom dia @AndreLStorolli,

Isso é complicado, algumas UF requer a presença da tag mesmo com o valor zerado, sendo que o webservice deveria considerar que é zero no caso de ausência da tag.

Mas acredito que uma saída poderia ser o seguinte:

No caso da tag pDig que pode ter 2 ou 4 casas decimais, informar o valor 0.001 ou 0.00001 ao campo pDif, a tag vai ser gerada com o valor zero.

Para a tag vICMSDif que tem 2 casas decimais, informar o valor 0.001 para que a tag seja gerada com o valor zero.

Pois alterar a unit deixando fixo que a tag deve ser gerada mesmo com o valor zero, pode gerar um efeito colateral com as demais UF.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado
On 12/12/2024 at 8:56 AM, Italo Giurizzato Junior said:

Bom dia @AndreLStorolli,

Isso é complicado, algumas UF requer a presença da tag mesmo com o valor zerado, sendo que o webservice deveria considerar que é zero no caso de ausência da tag.

Mas acredito que uma saída poderia ser o seguinte:

No caso da tag pDig que pode ter 2 ou 4 casas decimais, informar o valor 0.001 ou 0.00001 ao campo pDif, a tag vai ser gerada com o valor zero.

Para a tag vICMSDif que tem 2 casas decimais, informar o valor 0.001 para que a tag seja gerada com o valor zero.

Pois alterar a unit deixando fixo que a tag deve ser gerada mesmo com o valor zero, pode gerar um efeito colateral com as demais UF.

Bom Dia !

  Não sei em que momento isso foi alterado, mas na revisão 24870 gerava mesmo zerado. Inclusive tenho cliente que gera dessa forma no PR

image.thumb.png.ea675485d5dcc29d2726bb7df980694d.png

  • Consultores
Postado
1 hour ago, Leandro Vignoto said:

Bom Dia !

  Não sei em que momento isso foi alterado, mas na revisão 24870 gerava mesmo zerado. Inclusive tenho cliente que gera dessa forma no PR

image.thumb.png.ea675485d5dcc29d2726bb7df980694d.png

Bom dia!

Caso disponha de unit nesta revision, você pode abrir a unit pcnNFeW que é responsável pela geração do arquivo XML, buscar pelo trecho abaixo e comparar com a versão atual que está assim:

procedure TNFeW.GerarDetImpostoICMS(const i: Integer);
begin
//....
  cst51 :
  begin
    //Esse bloco fica a critério de cada UF a obrigação das informações, conforme o manual
    // Alterado de opcional para obrigatório as tags abaixo (27/09/2019)
    if NFe.Det[i].Imposto.ICMS.modBC <> dbiNenhum then
      Gerador.wCampo(tcStr, 'N13', 'modBC', 01, 01, 1, modBCToStr(NFe.Det[i].Imposto.ICMS.modBC), DSC_MODBC);

    Gerador.wCampo(FormatoValor4ou2, 'N14', 'pRedBC   ', 01, IfThen(FUsar_tcDe4,07,05), 1, NFe.Det[i].Imposto.ICMS.pRedBC, DSC_PREDBC);
    Gerador.wCampo(tcStr, 'N14a', 'cBenefRBC', 8, 10, 0, NFe.Det[i].Imposto.ICMS.cBenefRBC, DSC_CBENEFRBC);
    Gerador.wCampo(tcDe2, 'N15', 'vBC      ', 01, 15, 1, NFe.Det[i].Imposto.ICMS.vBC, DSC_VBC);
    Gerador.wCampo(FormatoValor4ou2, 'N16', 'pICMS    ', 01, IfThen(FUsar_tcDe4,07,05), 1, NFe.Det[i].Imposto.ICMS.pICMS, DSC_PICMS);
    Gerador.wCampo(tcDe2, 'N16a', 'vICMSOp ', 01, 15, 1, NFe.Det[i].Imposto.ICMS.vICMSOp, DSC_VICMS);
    Gerador.wCampo(FormatoValor4ou2, 'N16b', 'pDif    ', 01, IfThen(FUsar_tcDe4,07,05), 1, NFe.Det[i].Imposto.ICMS.pDif, DSC_PDIF);
    Gerador.wCampo(tcDe2, 'N16c', 'vICMSDif', 01, 15, 1, NFe.Det[i].Imposto.ICMS.vICMSDif, DSC_VICMS);

    //          if (NFe.Det[i].Imposto.ICMS.pICMS = 0) and (NFe.Det[i].Imposto.ICMS.pDif = 0) then
    //            Gerador.wCampo(tcDe2, 'N17', 'vICMS', 01, 15, 0, NFe.Det[i].Imposto.ICMS.vICMS, DSC_VICMS)
    //          else
    Gerador.wCampo(tcDe2, 'N17', 'vICMS', 01, 15, 1, NFe.Det[i].Imposto.ICMS.vICMS, DSC_VICMS);
    // Fim da alteração

    if (NFe.infNFe.Versao >= 4) then
    begin
      if (NFe.Det[i].Imposto.ICMS.vBCFCP > 0) or (NFe.Det[i].Imposto.ICMS.pFCP > 0) or (NFe.Det[i].Imposto.ICMS.vFCP > 0) then
      begin
        Gerador.wCampo(tcDe2, 'N17a', 'vBCFCP ', 01, 15, 1, NFe.Det[i].Imposto.ICMS.vBCFCP, DSC_VBCFCP);
        Gerador.wCampo(FormatoValor4ou2, 'N17b', 'pFCP', 01, IfThen(FUsar_tcDe4,07,05), 1, NFe.Det[i].Imposto.ICMS.pFCP, DSC_PFCP);
        Gerador.wCampo(tcDe2, 'N17c', 'vFCP ', 01, 15, 1, NFe.Det[i].Imposto.ICMS.vFCP, DSC_VFCP);
      end;
    end;

    if (NFe.infNFe.Versao >= 4) then
    begin
      if (NFe.Det[i].Imposto.ICMS.pFCPDif > 0) or
      (NFe.Det[i].Imposto.ICMS.vFCPDif > 0) or
      (NFe.Det[i].Imposto.ICMS.vFCPEfet > 0) then
      begin
        Gerador.wCampo(FormatoValor4ou2, 'N17d', 'pFCPDif', 01, IfThen(FUsar_tcDe4,07,05), 1, NFe.Det[i].Imposto.ICMS.pFCPDif, DSC_PFCPDIF);
        Gerador.wCampo(tcDe2, 'N17e', 'vFCPDif ', 01, 15, 1, NFe.Det[i].Imposto.ICMS.vFCPDif, DSC_VFCPDIF);
        Gerador.wCampo(tcDe2, 'N17f', 'vFCPEfet', 01, 15, 0, NFe.Det[i].Imposto.ICMS.vFCPEfet, DSC_VFCPEFET);
      end;
    end;
  end;
//....
end;

Ainda assim, vale citar que a Revision 24875 já seria de 11/03/2022.

É um período muito longo no qual muitas coisas podem ter mudado no âmbito fiscal com alterações até mesmo no leiaute do documento.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

Bom dia @Leandro Vignoto,

Segundo os Schemas temos:

image.png

image.png

Como você pode ver a maioria das tags são opcionais, sendo assim se os seus valores são zero não devemos gerar elas no XML.

Temos também uma anotação que diz o seguinte:

Tributção pelo ICMS 51 - Diferimento. A exigência do preenchimento das informações do ICMS diferido fica à critério de cada UF.

Onde se lê "A exigência do preenchimento das informações" isso significa que devemos gerar as tags mesmo com valores zero?

Se sim, não devemos alterar de opcional para obrigatório pois neste caso as tags seriam geradas independente dos seus valores para todas as UF.

Temos três alternativas para essa situação:

1. Você alterar localmente os seus fontes para atender a UF que exige a presença das tag.

2. Criarmos uma propriedade de configuração, desta forma em função do valor dessa propriedade de configuração as tags seriam geradas ou não quando o valor fosse zero.

3. Para essas tags informar valores cujo arredondamento seja zero mas acaba gerando a tag, por exemplo: 0.00001 para uma tag de 4 casas decimais a tag vai ser gerada com o valor zero. (Neste caso a unit do componente não é alterada e nenhuma propriedade de configuração também é criada).

 

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado
8 minutes ago, Italo Giurizzato Junior said:

Bom dia @Leandro Vignoto,

Segundo os Schemas temos:

image.png

image.png

Como você pode ver a maioria das tags são opcionais, sendo assim se os seus valores são zero não devemos gerar elas no XML.

Temos também uma anotação que diz o seguinte:

Tributção pelo ICMS 51 - Diferimento. A exigência do preenchimento das informações do ICMS diferido fica à critério de cada UF.

Onde se lê "A exigência do preenchimento das informações" isso significa que devemos gerar as tags mesmo com valores zero?

Se sim, não devemos alterar de opcional para obrigatório pois neste caso as tags seriam geradas independente dos seus valores para todas as UF.

Temos três alternativas para essa situação:

1. Você alterar localmente os seus fontes para atender a UF que exige a presença das tag.

2. Criarmos uma propriedade de configuração, desta forma em função do valor dessa propriedade de configuração as tags seriam geradas ou não quando o valor fosse zero.

3. Para essas tags informar valores cujo arredondamento seja zero mas acaba gerando a tag, por exemplo: 0.00001 para uma tag de 4 casas decimais a tag vai ser gerada com o valor zero. (Neste caso a unit do componente não é alterada e nenhuma propriedade de configuração também é criada).

 

Obrigado pelo retorno....

Ainda vou conversar com a empresa a respeito.....

Pois o fato de ser diferido, não significa que ele é ZERADO. Penso que o preenchimento está errado. Pois se ele é diferido é um imposto que EXISTE (maior que zero) e que está DEIXANDO de ser cobrado por diferimento e ali deveria ser apontado esse valor. Mesmo a Sefaz do PR aceitando ZERO, ainda penso que estaria errado. Porém é fato que se não enviar a TAG a nota será rejeitada. Sua sugestão do item 2 é a mais coerente e resolveria para esses casos

Mas vou conversar mais a respeito disso.

  • Curtir 2
  • Membros Pro
Postado

Boa Tarde :

Optamos 'de imediato' atender o cliente alterando localmente os fontes.     Como no PR é exigido zerado as tags também acho que seria melhor a sugestão 2 de criar a propriedade 

pra gente poder  tratar por 'UF reinenta' e , também importante, podemos atualizar os fontes do ACBr sem se preocupas com 'ajustes locais'.

Grato pela atenção.

  • Consultores
Postado

Boa tarde @AndreLStorolli e @Leandro Vignoto,

Já foi enviado para o SVN uma alteração visando resolver essa questão da UF do PR exigir e as demais não exigirem a presença da tag no XML mesmo zeradas.

Caso tenha mais alguma UF, por favor me informe.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...