Ir para conteúdo
  • Cadastre-se

dev botao

Alguém teria esta solução: porque os campos ICMSUFDest não são mostrados no xml?


itasouza
  • Este tópico foi criado há 2752 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Faz alguns dias que atualizei o componente ACBR para fazer um ajuste referente ICMSUFDest Nota Técnica 2015/003, o problema é que mesmo preenchendo os campos corretamente o xml e gerado sem as informações, já fiz vários testes, já pesquisei no fórum do ACBR e até o momento não tenho uma solução. Se alguém aqui souber como resolver isso, e tiver condições de me dar uma solução para isso eu fico grato, mesmo que seja cobrado acho que vale a pena porque já passei dias tentando resolver isso.

Atenciosamente

Link para o comentário
Compartilhar em outros sites

  • Moderadores
5 minutos atrás, itasouza disse:

Faz alguns dias que atualizei o componente ACBR para fazer um ajuste referente ICMSUFDest Nota Técnica 2015/003, o problema é que mesmo preenchendo os campos corretamente o xml e gerado sem as informações, já fiz vários testes, já pesquisei no fórum do ACBR e até o momento não tenho uma solução. Se alguém aqui souber como resolver isso, e tiver condições de me dar uma solução para isso eu fico grato, mesmo que seja cobrado acho que vale a pena porque já passei dias tentando resolver isso.

 

Atenciosamente

 

Com certeza algo que não está sendo preenchido corretamente, já tentou debugar o código pra ver o motivo do ACBr não gerar as tags?

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

Será que não seria estas informações feita no Imposto?

 

 ICMSUFDest.vBCUFDest      := 0;     
 ICMSUFDest.pFCPUFDest     := 0;
 ICMSUFDest.pICMSUFDest    := 0;
 ICMSUFDest.pICMSInter     := 0; 
 ICMSUFDest.pICMSInterPart := 0; 
 ICMSUFDest.vFCPUFDest     := 0;
 ICMSUFDest.vICMSUFDest    := 0;
 ICMSUFDest.vICMSUFRemet   := 0;
            

Já tentei de tudo, já atualizei tudo, mais não aparece estas informações e deveria aparecer para cada item

Link para o comentário
Compartilhar em outros sites

  • Moderadores
4 minutos atrás, itasouza disse:

Será que não seria estas informações feita no Imposto?

 

 ICMSUFDest.vBCUFDest      := 0;     
 ICMSUFDest.pFCPUFDest     := 0;
 ICMSUFDest.pICMSUFDest    := 0;
 ICMSUFDest.pICMSInter     := 0; 
 ICMSUFDest.pICMSInterPart := 0; 
 ICMSUFDest.vFCPUFDest     := 0;
 ICMSUFDest.vICMSUFDest    := 0;
 ICMSUFDest.vICMSUFRemet   := 0;
            

Já tentei de tudo, já atualizei tudo, mais não aparece estas informações e deveria aparecer para cada item

 

Se informar 0 pra tudo não vai gerar mesmo. Pelo menos a pICMSInterPart deve ser informadas. Veja o código do ACBr:

procedure TNFeW.GerarDetImposto(const i: Integer);
begin
  Gerador.wGrupo('imposto', 'M01');
  Gerador.wCampo(tcDe2, 'M02', 'vTotTrib ', 01, 15, 0, nfe.Det[i].Imposto.vTotTrib, DSC_VTOTTRIB);

  [...]

  if nfe.Det[i].Imposto.ICMSUFDest.pICMSInterPart > 0 then
    (**)GerarDetImpostoICMSUFDest(i);

  Gerador.wGrupo('/imposto');
end;

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

Este arquivo existe em:
C:\ACBr\Fontes\ACBrDFe\ACBrNFe\PCNNFe

Mais eu estou usando o :

C:\ACBr\Exemplos\ACBrDFe\ACBrNFe\Delphi

E não encontrei uma referencia para ele

    with Imposto do
                begin

                  with ICMS do
                  begin

                      if dmNotaFiscal.sqlDetalheVenda.FieldByName('cst').AsString = '000' then // 0 - Tributado    
                      begin
                        vTotTrib      := (Prod.vProd) * dmNotaFiscal.sqlConsultaIBPT.FieldByName('ALIQNAC').AsFloat ;
                        CSOSN         := csosn101; // {verificar }
                        ICMS.orig     := oeNacional;
                        ICMS.modBC    := dbiValorOperacao;
                        ICMS.vBC      := StrToFloatDef(dmNotaFiscal.sqlDetalheVenda.FieldByName('icmsbase').AsString,0); //valor total do produto
                        ICMS.pICMS    := dmNotaFiscal.sqlDetalheVenda.FieldByName('aliquotaicms').AsFloat;  //aliquota do icms
                        ICMS.vICMS    := StrToFloatDef(dmNotaFiscal.sqlDetalheVenda.FieldByName('icmsvalor').AsString,0);  //valor do icms
                        ICMS.modBCST  := dbisMargemValorAgregado;
                        ICMS.pMVAST   := 0;
                        ICMS.pRedBCST := 0;
                        ICMS.vBCST    := 0;
                        ICMS.pICMSST  := 0;
                        ICMS.vICMSST  := 0;
                        ICMS.pRedBC   := 0;

                        IPI.cEnq      := '999';

                        if Trim(dmNotaFiscal.sqlDetalheVenda.FieldByName('cfop').AsString) = '6502' then
                         begin
                           PIS.CST       := pis07;
                           COFINS.CST    := cof07;
                           CST           := cst41;
                         end;

                        if Trim(dmNotaFiscal.sqlDetalheVenda.FieldByName('cfop').AsString) <> '6502' then
                         begin
                           PIS.CST       := pis01;
                           COFINS.CST    := cof01;
                           CST           := cst00;
                         end;

                        IPI.CST       := ipi53;
                        PIS.vBC       := dmNotaFiscal.sqlDetalheVenda.FieldByName('basepis').AsFloat;  //valor da base do pis
                        PIS.pPIS      := dmNotaFiscal.sqlDetalheVenda.FieldByName('pis').AsFloat;  //aliquota do pis
                        PIS.vPIS      := dmNotaFiscal.sqlDetalheVenda.FieldByName('valorpis').AsFloat;  //valor do pis
                        COFINS.vBC    := dmNotaFiscal.sqlDetalheVenda.FieldByName('basecofins').AsFloat;  //valor da base do cofins
                        COFINS.pCOFINS:= dmNotaFiscal.sqlDetalheVenda.FieldByName('cofins').AsFloat;  //aliquota do cofins
                        COFINS.vCOFINS:= dmNotaFiscal.sqlDetalheVenda.FieldByName('valorcofins').AsFloat;  //valor do cofins
                        ValorTotalIcms:= ValorTotalIcms + dmNotaFiscal.sqlDetalheVenda.FieldByName('icmsvalor').AsFloat;
                        ValorTotalPis := ValorTotalPis + dmNotaFiscal.sqlDetalheVenda.FieldByName('valorpis').AsFloat;
                        ValorTotalCofins := ValorTotalCofins + dmNotaFiscal.sqlDetalheVenda.FieldByName('valorcofins').AsFloat;

                         //icms em operações interestaduais
                        //partilha do ICMS e fundo de probreza

                        if ( Trim(dmNotaFiscal.sqlConsultaPedido.FieldByName('estado').AsString) <> 'SP') and
                           ( Trim(dmNotaFiscal.sqlDetalheVenda.FieldByName('cfop').AsString) = '6108' )  then
                         begin

                            ICMSUFDest.vBCUFDest      := StrToFloatDef(dmNotaFiscal.sqlDetalheVenda.FieldByName('icmsbase').AsString,0);
                            ICMSUFDest.pFCPUFDest     := 0;

                            ICMSUFDest.pICMSUFDest    := dmNotaFiscal.sqlDetalheVenda.FieldByName('aliquotaicms').AsFloat;
                            ICMSUFDest.pICMSInter     := RetornarAliquotaOrigemEstado(dmNotaFiscal.sqlConsultaPedido.FieldByName('estado').AsString); // uf do destino
                            ICMSUFDest.pICMSInterPart := ICMSUFDest.pICMSUFDest - ICMSUFDest.pICMSInter;

                            ICMSUFDest.vFCPUFDest     := (ICMSUFDest.vBCUFDest * ICMSUFDest.pICMSInterPart) / 100;
                            ICMSUFDest.vICMSUFDest    := ICMSUFDest.vFCPUFDest * 0.40;
                            ICMSUFDest.vICMSUFRemet   := ICMSUFDest.vFCPUFDest * 0.60;
                         end;
                    end;
         end;

Fiz uma copia do código completo da parte do importo, veja se tem alguma coisa errada por favor.

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Sugiro que veja o manual de integração para o significado de cada tag do grupo ICMSUFDest, tem várias tags com preenchimento incorreto. 

O motivo de não estar gerando pode ser este aqui:

ICMSUFDest.pICMSInterPart := ICMSUFDest.pICMSUFDest - ICMSUFDest.pICMSInter;

Se essa subtração der 0 o grupo não será gerado, como expliquei anteriormente.

Nessa tag o valor deve ser 40 em 2016, 60 em 2017, 80 em 2018 e 100 a partir de 2019, ele representa o percentual de partilha para a UF destino.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2752 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.