Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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

  • Moderadores
Postado
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

 

 

Postado

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

  • Moderadores
Postado
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

 

 

Postado

Eu coloquei zero apenas como exemplo, o que seria este:

GerarDetImposto

 

Não consigo localizar nenhuma parte deste código que você pontou : GerarDetImpostoICMSUFDest

  • Moderadores
Postado
6 minutos atrás, itasouza disse:

Eu coloquei zero apenas como exemplo, o que seria este:


GerarDetImposto

 

Está na unit pcnNFeW.pas.

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

Projeto ACBr

 

 

Postado

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.

 

 

  • Moderadores
Postado

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

 

 

  • Moderadores
Postado
12 horas atrás, itasouza disse:

Você me ajudou muito, você acertou a resposta do problema uff

 

ICMSUFDest.pICMSUFDest  precisa vim com o valor 40? está correto isso?

Bom dia,

Eu me referia à tag pICMSInterPart.

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

Projeto ACBr

 

 

  • Este tópico foi criado há 2991 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.