Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Senhores, boa tarde. Estou tentando imprimir um RPS da Prefeitura de Itabira, mas a alíquota esta saindo errada, 0,03 o correto seria 3,00.

Postado

Italo, bom dia. Atualizei o Acbr, e realizei os testes

1º Quando envia o RPs para Ribeirão Preto / Itabira padrão Giss, na primeira (após receber o retorno do ws ) impressão da NFS-e a alíquota sai correta.( Erro_Aliquota_1.png )

2º Quando tento reimprimir ou gerar PDF do XML a alíquota sai errada ( Erro_Aliquota_2.png )

3º Não consigo abrir o XML. parece que esta sendo gerado com duas tags Nfse ( Erro_XML_1.png, Erro_XML_2.png)

 

Obrigado.

 

  • Consultores
Postado

Bom dia ALA,

 

Chequei todos os fontes e não encontrei nada que pudesse estar gerando uma segunda TAG </Nfse>.

 

Também não encontrei nada que pudesse estar multiplicando o valor da aliquota por 100 e mantendo esse resultado.

 

Na impressão do DANFSE para dois provedores a aliquota é multiplicada por 100 mas o resultado é atribuido ao campo do DANFSE, portanto nenhum valor carregado para o componente é alterado.

 

Favor checar a sua aplicação.

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

  • 3 meses depois ...
Postado

Ola Italo Bom dia  

 

 
Para o provedor WebISS a alíquota deve ser enviada Dividia por 100 ou seja 2%  tem que informar 0.02, ate ai beleza, estou enviando XML e o servidor webISS funcionando belezinha, porem na impressão do RPS (QuickReport) esta saindo a aliquota como 0.02% enquanto teria que sair os 2% possui alguma configuração para enviar o XML 0.02 e sair impresso o RPS como 2%?
Postado

Bom dia Asterix,

 

No XML do RPS o valor da alíquota tem que ser informada 0.02, correto?

 

Mas no XML da NFS-e retornado pelo Web Service, como esta o valor da alíquota?

 

 

 

Bom dia Italo, abaixo as considerações

 

No XML do RPS o valor da alíquota tem que ser informada 0.02, correto?  Correto

 

Mas no XML da NFS-e retornado pelo Web Service, como esta o valor da alíquota? <Aliquota>0.020000</Aliquota>

 

 

Xml em anexo

201400000000051-nfse.xml

Postado

Consegui compilar adicionando o seguinte caminho na Libery path 

C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\RaveReports\Lib

 

porem ainda estou com erro em:  "ACBrMDFeDAMDFEQRpkg.dpk(44) Fatal: E2202 Required package 'visualclx' not found"

Postado

Bom dia Asterix,

 

Favor atualizar os fontes e testar novamente.

 

Ola Italo Bom dia, depois de alguns detalhes passados na atualização do componente, consegui testa-lo e vi que agora deu certo. Obrigado.

  • 2 meses depois ...
Postado (editado)

Olá, estou com o mesmo problema, para os mesmos provedores, observei que falta resolver a situação em outras units, existe a correção no arquivo ACBrNFSeDANFSeQRClass.pas no evento TfqrDANFSeQRRetrato.qrb_6_ISSQNBeforePrint.
 
Porem utilizo FastReport ao invés do QR, fiz o ajuste em TdmACBrNFSeFR.CarregaServicos e não no before print.
 
Segue codigo do evento com a alteração para analisar a necessidade de ajuste do SVN e validar demais opções de impressões. 
 

procedure TdmACBrNFSeFR.CarregaServicos;
var
  i: Integer;
  dValorNota: Double;
begin
  with cdsServicos do
  begin
    Close;
    CreateDataSet;
    Append;
 
    with FNFSe.Servico do
    begin
      FieldByName('ItemListaServico').AsString          := ItemListaServico;
      FieldByName('xItemListaServico').AsString         := xItemListaServico;
      FieldByName('CodigoCnae').AsString                := CodigoCnae;
      FieldByName('CodigoTributacaoMunicipio').AsString := CodigoTributacaoMunicipio;
      FieldByName('Discriminacao').AsString             := StringReplace(Discriminacao, ';', #13, [rfReplaceAll]);
      FieldByName('CodigoPais').AsString                := IntToStr(CodigoPais);
      FieldByName('NumeroProcesso').AsString            := NumeroProcesso;
//      FieldByName('ResponsavelRetencao').AsString       := DFeUtil.SeSenao(ResponsavelRetencao = rtPrestador,'0','1');
      FieldByName('Descricao').AsString                 := Descricao;
 
      with Valores do
      begin
        FieldByName('ValorServicos').AsFloat            := ValorServicos;
        FieldByName('ValorDeducoes').AsFloat            := ValorDeducoes;
        FieldByName('ValorPis').AsFloat                 := ValorPis;
        FieldByName('ValorCofins').AsFloat              := ValorCofins;
        FieldByName('ValorInss').AsFloat                := ValorInss;
        FieldByName('ValorIr').AsFloat                  := ValorIr;
        FieldByName('ValorCsll').AsFloat                := ValorCsll;
//        FieldByName('IssRetido').AsString               := DFeUtil.SeSenao(IssRetido = stRetencao,'0', DFeUtil.SeSenao(IssRetido = stNormal,'2','3'));
        FieldByName('ValorIss').AsFloat                 := ValorIss;
        FieldByName('OutrasRetencoes').AsFloat          := OutrasRetencoes;
        FieldByName('BaseCalculo').AsFloat              := BaseCalculo;
        FieldByName('Aliquota').AsFloat                 := Aliquota;
        
        //Tratando situação do envio da aliquota ser em decimal (2.5 = 0.025) By Theiller 22/04/2014
        //if FProvedor in [proThema, proWebISS] then //Opcao1 Validar pelo provedor
        if (Aliquota > 0) and (Aliquota < 1) then //Opcao2
          FieldByName('Aliquota').AsFloat               := Aliquota * 100;

          
        FieldByName('ValorLiquidoNfse').AsFloat         := ValorLiquidoNfse;
        FieldByName('ValorIssRetido').AsFloat           := ValorIssRetido;
        FieldByName('DescontoCondicionado').AsFloat     := DescontoCondicionado;
        FieldByName('DescontoIncondicionado').AsFloat   := DescontoIncondicionado;
      end;
    end;
    Post;
  end;
end;
 
Fiz o ajuste validando se possui alíquota e menor que 1 para saber se esta em forma decimal, verificar se por Provedor!

Editado por theiller
  • Moderadores
Postado

Olá, estou com o mesmo problema, para os mesmos provedores, observei que falta resolver a situação em outras units, existe a correção no arquivo ACBrNFSeDANFSeQRClass.pas no evento TfqrDANFSeQRRetrato.qrb_6_ISSQNBeforePrint.

 

Porem utilizo FastReport ao invés do QR, fiz o ajuste em TdmACBrNFSeFR.CarregaServicos e não no before print.

 

Segue codigo do evento com a alteração para analisar a necessidade de ajuste do SVN e validar demais opções de impressões. 

 

procedure TdmACBrNFSeFR.CarregaServicos;

var

  i: Integer;

  dValorNota: Double;

begin

  with cdsServicos do

  begin

    Close;

    CreateDataSet;

    Append;

 

    with FNFSe.Servico do

    begin

      FieldByName('ItemListaServico').AsString          := ItemListaServico;

      FieldByName('xItemListaServico').AsString         := xItemListaServico;

      FieldByName('CodigoCnae').AsString                := CodigoCnae;

      FieldByName('CodigoTributacaoMunicipio').AsString := CodigoTributacaoMunicipio;

      FieldByName('Discriminacao').AsString             := StringReplace(Discriminacao, ';', #13, [rfReplaceAll]);

      FieldByName('CodigoPais').AsString                := IntToStr(CodigoPais);

      FieldByName('NumeroProcesso').AsString            := NumeroProcesso;

//      FieldByName('ResponsavelRetencao').AsString       := DFeUtil.SeSenao(ResponsavelRetencao = rtPrestador,'0','1');

      FieldByName('Descricao').AsString                 := Descricao;

 

      with Valores do

      begin

        FieldByName('ValorServicos').AsFloat            := ValorServicos;

        FieldByName('ValorDeducoes').AsFloat            := ValorDeducoes;

        FieldByName('ValorPis').AsFloat                 := ValorPis;

        FieldByName('ValorCofins').AsFloat              := ValorCofins;

        FieldByName('ValorInss').AsFloat                := ValorInss;

        FieldByName('ValorIr').AsFloat                  := ValorIr;

        FieldByName('ValorCsll').AsFloat                := ValorCsll;

//        FieldByName('IssRetido').AsString               := DFeUtil.SeSenao(IssRetido = stRetencao,'0', DFeUtil.SeSenao(IssRetido = stNormal,'2','3'));

        FieldByName('ValorIss').AsFloat                 := ValorIss;

        FieldByName('OutrasRetencoes').AsFloat          := OutrasRetencoes;

        FieldByName('BaseCalculo').AsFloat              := BaseCalculo;

        FieldByName('Aliquota').AsFloat                 := Aliquota;

        

        //Tratando situação do envio da aliquota ser em decimal (2.5 = 0.025) By Theiller 22/04/2014

        //if FProvedor in [proThema, proWebISS] then //Opcao1 Validar pelo provedor

        if (Aliquota > 0) and (Aliquota < 1) then //Opcao2

          FieldByName('Aliquota').AsFloat               := Aliquota * 100;

          

        FieldByName('ValorLiquidoNfse').AsFloat         := ValorLiquidoNfse;

        FieldByName('ValorIssRetido').AsFloat           := ValorIssRetido;

        FieldByName('DescontoCondicionado').AsFloat     := DescontoCondicionado;

        FieldByName('DescontoIncondicionado').AsFloat   := DescontoIncondicionado;

      end;

    end;

    Post;

  end;

end;

 

Fiz o ajuste validando se possui alíquota e menor que 1 para saber se esta em forma decimal, verificar se por Provedor!

Anexe o arquivo alterado no post e não cole o código nele! fica mais rápido e fácil efetuar o merge para testar e subir ao svn

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

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