Ir para conteúdo
  • Cadastre-se

dev botao

Gerar E Enviar Nfse


Ver Solução Respondido por Hetosoft Sistemas,
  • Este tópico foi criado há 3459 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado (editado)

procedure TfrmDemo_ACBrNFSe.GerarNFSe(NumNFSe: String);

var

 ValorISS: Double;

begin

 ACBrNFSe1.NotasFiscais.Clear;

 with ACBrNFSe1 do

  begin

   NotasFiscais.NumeroLote:='0001';

   with NotasFiscais.Add.NFSe do

    begin

     IdentificacaoRps.Numero := FormatFloat('#########0', StrToInt(NumNFSe));

     // Para o provedor ISS.NET em ambiente de Homologação mudar a série para '8'

     //IdentificacaoRps.Serie := 'UNICA';

     IdentificacaoRps.Serie := '8';

     // TnfseTipoRPS = ( trRPS, trNFConjugada, trCupom );

     IdentificacaoRps.Tipo := trRPS;

     DataEmissao := Date;

     // TnfseNaturezaOperacao = ( noTributacaoNoMunicipio, noTributacaoForaMunicipio, noIsencao, noImune, noSuspensaDecisaoJudicial, noSuspensaProcedimentoAdministrativo );

     NaturezaOperacao := noTributacaoNoMunicipio;

//     NaturezaOperacao := noTributacaoNoMunicipio51;

     // TnfseRegimeEspecialTributacao = ( retNenhum, retMicroempresaMunicipal, retEstimativa, retSociedadeProfissionais, retCooperativa, retMicroempresarioIndividual, retMicroempresarioEmpresaPP );

//     RegimeEspecialTributacao := retNenhum;

     RegimeEspecialTributacao := retMicroempresaMunicipal;

     // TnfseSimNao = ( snSim, snNao );

     OptanteSimplesNacional := snSim;

     // TnfseSimNao = ( snSim, snNao );

     IncentivadorCultural := snNao;

     // TnfseSimNao = ( snSim, snNao );

     // snSim = Ambiente de Produção

     // snNao = Ambiente de Homologação

     Producao := snNao;

     // TnfseStatusRPS = ( srNormal, srCancelado );

     Status := srNormal;

     (* Usando quando o RPS for substituir outro

     RpsSubstituido.Numero := FormatFloat('#########0', i);

     RpsSubstituido.Serie  := 'UNICA';

     // TnfseTipoRPS = ( trRPS, trNFConjugada, trCupom );

     RpsSubstituido.Tipo   := trRPS;

     *)

     Servico.Valores.ValorServicos          := 100.00;

     Servico.Valores.ValorDeducoes          := 0.00;

     Servico.Valores.ValorPis               := 0.00;

     Servico.Valores.ValorCofins            := 0.00;

     Servico.Valores.ValorInss              := 0.00;

     Servico.Valores.ValorIr                := 0.00;

     Servico.Valores.ValorCsll              := 0.00;

     // TnfseSituacaoTributaria = ( stRetencao, stNormal, stSubstituicao );

     // stRetencao = snSim

     // stNormal   = snNao

     Servico.Valores.IssRetido              := stNormal;

     Servico.Valores.OutrasRetencoes        := 0.00;

     Servico.Valores.DescontoIncondicionado := 0.00;

     Servico.Valores.DescontoCondicionado   := 0.00;

     Servico.Valores.BaseCalculo            := Servico.Valores.ValorServicos -

                                               Servico.Valores.ValorDeducoes -

                                               Servico.Valores.DescontoIncondicionado;

     Servico.Valores.Aliquota               := 2.00;

     if Servico.Valores.IssRetido = stNormal

      then begin

       ValorISS := Servico.Valores.BaseCalculo * Servico.Valores.Aliquota;

       ValorISS := 2.00;

       // A função RoundTo5 é usada para arredondar valores, sendo que o segundo

       // parametro se refere ao numero de casas decimais.

       // exemplos: RoundTo5(50.532, -2) ==> 50.53

       // exemplos: RoundTo5(50.535, -2) ==> 50.54

       // exemplos: RoundTo5(50.536, -2) ==> 50.54

       Servico.Valores.ValorIss       := RoundTo5(ValorISS, -2);

       Servico.Valores.ValorIssRetido := 0.00;

      end

      else begin

       ValorISS := Servico.Valores.BaseCalculo * Servico.Valores.Aliquota;

       ValorISS := 2.00;

       Servico.Valores.ValorIss       := 0.00;

       Servico.Valores.ValorIssRetido := RoundTo5(ValorISS, -2);

      end;

     Servico.Valores.ValorLiquidoNfse := Servico.Valores.ValorServicos -

                                         Servico.Valores.ValorPis -

                                         Servico.Valores.ValorCofins -

                                         Servico.Valores.ValorInss -

                                         Servico.Valores.ValorIr -

                                         Servico.Valores.ValorCsll -

                                         Servico.Valores.OutrasRetencoes -

                                         Servico.Valores.ValorIssRetido -

                                         Servico.Valores.DescontoIncondicionado -

                                         Servico.Valores.DescontoCondicionado;

     Servico.ItemListaServico         := '0107';

     // Para o provedor ISS.NET em ambiente de Homologação

     // o Codigo CNAE tem que ser '6511102'

     //Servico.CodigoCnae                := '6511102'; // Informação Opcional

     Servico.CodigoCnae                := '6311900'; // Informação Opcional

     //Servico.CodigoTributacaoMunicipio := '118879';

     Servico.CodigoTributacaoMunicipio := '50000024';

     Servico.Discriminacao             := 'discriminacao';

     // Para o provedor ISS.NET em ambiente de Homologação

     // o Codigo do Municipio tem que ser '999'

     Servico.CodigoMunicipio := '999';

     //Servico.CodigoMunicipio := edtCodCidade.Text;

     // Informar A Exigibilidade ISS para fintelISS [1/2/3/4/5/6/7]

     Servico.ExigibilidadeISS := exiExigivel;

     

     // Informar para Saatri

     Servico.CodigoPais := 1058; // Brasil

     Servico.MunicipioIncidencia := StrToIntDef(edtCodCidade.Text, 0);

     

     with Servico.ItemServico.Add do

      begin

       Descricao     := 'SERVICO 1';

       Quantidade    := 1;

       ValorUnitario := 15.00;

      end;

     Prestador.Cnpj               := edtEmitCNPJ.Text;

     Prestador.InscricaoMunicipal := edtEmitIM.Text;

     // Para o provedor ISSDigital deve-se informar também:

     Prestador.Senha        := 'senha';

     Prestador.FraseSecreta := 'frase secreta';

     Prestador.cUF          := 33;

     Tomador.IdentificacaoTomador.CpfCnpj            := '99999999000191';

     Tomador.IdentificacaoTomador.InscricaoMunicipal := '1733160024';

     Tomador.RazaoSocial := 'INSCRICAO DE TESTE';

     Tomador.Endereco.Endereco        := 'RUA PRINCIPAL';

     Tomador.Endereco.Numero          := '100';

     Tomador.Endereco.Complemento     := 'APTO 11';

     Tomador.Endereco.Bairro          := 'CENTRO';

     Tomador.Endereco.CodigoMunicipio := edtCodCidade.Text;

     Tomador.Endereco.UF              := edtEmitUF.Text;

     Tomador.Endereco.CEP             := edtEmitCEP.Text;

     Tomador.Contato.Telefone := '1122223333';

     Tomador.Contato.Email    := '[email protected]';

     (* Usando quando houver um intermediario na prestação do serviço

     IntermediarioServico.RazaoSocial        := 'razao';

     IntermediarioServico.CpfCnpj            := '00000000000';

     IntermediarioServico.InscricaoMunicipal := '12547478';

     *)

     (* Usando quando o serviço for uma obra

     ConstrucaoCivil.CodigoObra := '88888';

     ConstrucaoCivil.Art        := '433';

     *)

    end;

  end;

end;

 

 

 

Fis toda configuracao que a prefeitura min pediu

 

Empresa: Andrade Nery & Gonçalves Ltda
CNPJ: 08398100000120

Inscrição Municipal: 26136 

Município Prestação Serviço: 999 - Homologação

 

Série documento: 8 - RPS

 
Cod. CNAE: 6311900 - Tratamento de dados, provedores de serviços d...
 
Código Tributação Município: 50000024

 

 

 

Mais quando executo GERAR E ENVIAR NFSe

 

da um erro brutal,

Project demo_acbrnfse.exe raised exception class exception wih message "nao foi possivel carregar o arquivo <signature xmlns= http://www.w3.org/2000/09/xmldsing#> <signedinfo> <canonicalizationMethod algorithm = httip://www.w3.org/tr/2001/rec-xml-c14n-20010315">......

 

 

qual a sequencia ,

ou qual melhor usar,   Gerar e enviar lote ou Gerar e enviar nfse,

porque no gerar e enviar lote, envia mais mostra Lote nao processado,

mais a Gerar e enviar nfse da o erro acima.

Editado por hetoandrade
  • Consultores
Postado

Bom dia Hetoandrade,

 

Primeiramente, quando postar um seguimento de rotina, favor inclui-la em um texto do bloco de notas e postar como anexo.

 

Desta forma o post fica mais curto.

 

Segundo, a opção [Gerar e enviar NFSe] é utilizada somente por alguns provedores, se ocorreu erro deve-se utilizar a outra opção, ou seja [Gerar e enviar lote].

 

Neste caso o problema esta relacionado ao provedor que esta demorando demais para processar o lote enviado.

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

Postado

Ítalo, exatamente o que está ocorrendo comigo. O retorno é tudo vazio.

Eu já escrevi em outro tópico este mesmo problema: 

Inclusive coloquei os arquivos como anexo.

 

Por favor, tente nos ajudar.

  • Consultores
Postado

Boa tarde a todos,

 

Favor atualizar os fontes e testar novamente.

 

Tenco, por favor poste o problema somente em um unico lugar, você esta postando o seu problema em todos os tópicos que se refere a NFSe.

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
italojjr,   no meu caso ja to com os fontes atualizados,

a questao é acho que nao vou emplantar nfs-e so fica em loop dizendo que

Lote nao processado,

pelo menos uns 5 loop de 25 segundos,

o client quando for fazer uma nota espera 2 a 3 miniutos vao fica logo,

sem que acbrnfs-e nao tem culpa, estou falando do projeto da nfs-e

Postado

E ai Heto, conseguiu fazer rodar em Cuiaba?

 

Estou iniciando para Dourados/MS e é a mesma empresa de Cuiaba, a Nota Control, conseguiu configurar o componente para o testes (cidade 999)?

 

Abraço

-----------------------------------------------------------

Até a Vitória sempre!

Atenciosamente

Ronnei Peterson

Invictos Tecnologia - www.invictos.com.br

  • Membros Pro
  • Solution
Postado (editado)

Sim ronei ta 100%, vou te mostra minha configuracao para homologacao ok

 

 

 

procedure TfrmDemo_ACBrNFSe.btnGerarEnviarLoteClick(Sender: TObject);
var
 vAux, vNumLote : String;
begin
 if not(InputQuery('Gerar e Enviar Lote', 'Numero do RPS', vAux))
  then exit;

 if not(InputQuery('Gerar e Enviar Lote', 'Numero do Lote', vNumLote))
  then exit;

 ACBrNFSe1.NotasFiscais.Clear;
 GerarNFSe(vAux);


 ACBrNFSe1.Enviar(vNumLote);


    Memo1.Lines.Add( ACBrNFSe1.WebServices.RecepcaoLoteRps );
    Memo1.Lines.Add( ACBrNFSe1.WebServices.ConsLote.Protocolo );
    Memo1.Lines.Add( ACBrNFSe1.WebServices.ConsSitLote.Protocolo );


    Memo1.Lines.Add( ACBrNFSe1.NotasFiscais.Items[0].NFSe.Protocolo );
    Memo1.Lines.Add( DateToStr( ACBrNFSe1.NotasFiscais.Items[0].NFSe.dhRecebimento ) );
    Memo1.Lines.Add( ACBrNFSe1.NotasFiscais.Items[0].NFSe.Numero );
    Memo1.Lines.Add( ACBrNFSe1.NotasFiscais.Items[0].NFSe.CodigoVerificacao );

 

 

 

--------------------------------------------------------------------------------------

 

procedure TfrmDemo_ACBrNFSe.GerarNFSe(NumNFSe: String);
var
 ValorISS: Double;
begin
 ACBrNFSe1.NotasFiscais.Clear;

 with ACBrNFSe1 do
  begin
   NotasFiscais.NumeroLote:='0001';

   with NotasFiscais.Add.NFSe do
    begin
     IdentificacaoRps.Numero := FormatFloat('#########0', StrToInt(NumNFSe));

     // Para o provedor ISS.NET em ambiente de Homologação mudar a série para '8'
     IdentificacaoRps.Serie := '8';

     // TnfseTipoRPS = ( trRPS, trNFConjugada, trCupom );
     IdentificacaoRps.Tipo := trRPS;

     DataEmissao := Date;

     // TnfseNaturezaOperacao = ( noTributacaoNoMunicipio, noTributacaoForaMunicipio, noIsencao, noImune, noSuspensaDecisaoJudicial, noSuspensaProcedimentoAdministrativo );
     NaturezaOperacao := noTributacaoNoMunicipio;
//     NaturezaOperacao := noTributacaoNoMunicipio51;

     // TnfseRegimeEspecialTributacao = ( retNenhum, retMicroempresaMunicipal, retEstimativa, retSociedadeProfissionais, retCooperativa, retMicroempresarioIndividual, retMicroempresarioEmpresaPP );
//     RegimeEspecialTributacao := retNenhum;
     RegimeEspecialTributacao := retMicroempresaMunicipal;

     // TnfseSimNao = ( snSim, snNao );
     OptanteSimplesNacional := snSim;

     // TnfseSimNao = ( snSim, snNao );
     IncentivadorCultural := snSim;

     // TnfseSimNao = ( snSim, snNao );
     // snSim = Ambiente de Produção
     // snNao = Ambiente de Homologação
     Producao := snNao;

     // TnfseStatusRPS = ( srNormal, srCancelado );
     Status := srNormal;

     (* Usando quando o RPS for substituir outro
     RpsSubstituido.Numero := FormatFloat('#########0', i);
     RpsSubstituido.Serie  := 'UNICA';
     // TnfseTipoRPS = ( trRPS, trNFConjugada, trCupom );
     RpsSubstituido.Tipo   := trRPS;
     *)

     Servico.Valores.ValorServicos          := 100.00;
     Servico.Valores.ValorDeducoes          := 0.00;
     Servico.Valores.ValorPis               := 0.00;
     Servico.Valores.ValorCofins            := 0.00;
     Servico.Valores.ValorInss              := 0.00;
     Servico.Valores.ValorIr                := 0.00;
     Servico.Valores.ValorCsll              := 0.00;

     // TnfseSituacaoTributaria = ( stRetencao, stNormal, stSubstituicao );
     // stRetencao = snSim
     // stNormal   = snNao
     Servico.Valores.IssRetido              := stNormal;

     Servico.Valores.OutrasRetencoes        := 0.00;
     Servico.Valores.DescontoIncondicionado := 0.00;
     Servico.Valores.DescontoCondicionado   := 0.00;

     Servico.Valores.BaseCalculo            := Servico.Valores.ValorServicos -
                                               Servico.Valores.ValorDeducoes -
                                               Servico.Valores.DescontoIncondicionado;
     Servico.Valores.Aliquota               := 2.00;

     if Servico.Valores.IssRetido = stNormal
      then begin
       ValorISS := Servico.Valores.BaseCalculo * Servico.Valores.Aliquota;
       ValorISS := 2.00;

       // A função RoundTo5 é usada para arredondar valores, sendo que o segundo
       // parametro se refere ao numero de casas decimais.
       // exemplos: RoundTo5(50.532, -2) ==> 50.53
       // exemplos: RoundTo5(50.535, -2) ==> 50.54
       // exemplos: RoundTo5(50.536, -2) ==> 50.54

       Servico.Valores.ValorIss       := RoundTo5(ValorISS, -2);
       Servico.Valores.ValorIssRetido := 0.00;
      end
      else begin
       ValorISS := Servico.Valores.BaseCalculo * Servico.Valores.Aliquota;
       ValorISS := 2.00;
       
       Servico.Valores.ValorIss       := 0.00;
       Servico.Valores.ValorIssRetido := RoundTo5(ValorISS, -2);
      end;

     Servico.Valores.ValorLiquidoNfse := Servico.Valores.ValorServicos -
                                         Servico.Valores.ValorPis -
                                         Servico.Valores.ValorCofins -
                                         Servico.Valores.ValorInss -
                                         Servico.Valores.ValorIr -
                                         Servico.Valores.ValorCsll -
                                         Servico.Valores.OutrasRetencoes -
                                         Servico.Valores.ValorIssRetido -
                                         Servico.Valores.DescontoIncondicionado -
                                         Servico.Valores.DescontoCondicionado;

     Servico.ItemListaServico         := '105'; //'01.07';

     // Para o provedor ISS.NET em ambiente de Homologação
     // o Codigo CNAE tem que ser '6511102'
     Servico.CodigoCnae                := '6511102';
     Servico.CodigoTributacaoMunicipio := '50000024';  //VARZEA GRANDE - MT pegue da sua cidade
     //Servico.CodigoCnae                := '6202300'; // Informação Opcional
     //Servico.CodigoTributacaoMunicipio := '7221400'; //'118879';
     Servico.Discriminacao             := 'Aluguel de SoftWare'; //'discriminacao';


     // Para o provedor ISS.NET em ambiente de Homologação
     // o Codigo do Municipio tem que ser '999'
     //Servico.CodigoMunicipio := edtCodCidade.Text;
     Servico.CodigoMunicipio :='999';

     // Informar A Exigibilidade ISS para fintelISS [1/2/3/4/5/6/7]
     Servico.ExigibilidadeISS := exiExigivel;
     
     // Informar para Saatri
     Servico.CodigoPais := 1058; // Brasil
     Servico.MunicipioIncidencia := StrToIntDef(edtCodCidade.Text, 0);
     
     with Servico.ItemServico.Add do
      begin
       Descricao     := 'SERVICO 1';
       Quantidade    := 1;
       ValorUnitario := 100.00;
      end;

     Prestador.Cnpj               := edtEmitCNPJ.Text;
     Prestador.InscricaoMunicipal := edtEmitIM.Text;

     // Para o provedor ISSDigital deve-se informar também:
     Prestador.Senha        := 'senha';
     Prestador.FraseSecreta := 'frase secreta';
     Prestador.cUF          := 33;

     Tomador.IdentificacaoTomador.CpfCnpj            := '03953552000102';
     //Tomador.IdentificacaoTomador.InscricaoMunicipal := '20370';
     Tomador.IdentificacaoTomador.InscricaoMunicipal := '';

     Tomador.RazaoSocial := 'NERY E ANDRADE NERY LTDA - ME';

     Tomador.Endereco.Endereco        := 'RUA PRINCIPAL';
     Tomador.Endereco.Numero          := '100';
     Tomador.Endereco.Complemento     := 'APTO 11';
     Tomador.Endereco.Bairro          := 'CENTRO';
     Tomador.Endereco.CodigoMunicipio := edtCodCidade.Text;
     Tomador.Endereco.UF              := edtEmitUF.Text;
     Tomador.Endereco.CEP             := edtEmitCEP.Text;

     Tomador.Contato.Telefone := '1122223333';
     Tomador.Contato.Email    := '[email protected]';

     (* Usando quando houver um intermediario na prestação do serviço
     IntermediarioServico.RazaoSocial        := 'razao';
     IntermediarioServico.CpfCnpj            := '00000000000';
     IntermediarioServico.InscricaoMunicipal := '12547478';
     *)

     (* Usando quando o serviço for uma obra
     ConstrucaoCivil.CodigoObra := '88888';
     ConstrucaoCivil.Art        := '433';
     *)
    end;

  end;

end;

 

----------------------------------------------------

 

Qualqer duvida to ai  blz.

Editado por hetoandrade
Postado

Obrigado Heto, eu consegui tmbm, estou apenas com um erro de NfseSubstituida sempre retornando 1 no XML da Nfse, mesmo sem enviar o número da Nfse substituída na geração do RPS, você passou por algo parecido?

 

Obrigado pela atenção

-----------------------------------------------------------

Até a Vitória sempre!

Atenciosamente

Ronnei Peterson

Invictos Tecnologia - www.invictos.com.br

  • 2 semanas depois ...
Postado

Bom dia

No caso o código para adiiconar os itens.

 

with Servico.ItemServico.Add do
      begin
       Descricao     := 'SERVICO 1';
       Quantidade    := 1;
       ValorUnitario := 100.00;
     end;

 

Ele não aparece na danfe os itens, porque seria?

 

Agradeço

Atenciosamente

Caetano

'Juntos podemos mais'

  • 2 anos depois...
  • 3 semanas depois ...
Postado (editado)

Ola tudo bem não se estou indo no lugar certo.

Que estou gerado uma nota de serviço esta dando erro erro quando uso a opção Gera Enviar Lote RPS

post-15999-0-98132500-1433969400_thumb.j

post-15999-0-98132500-1433969400_thumb.j

Editado por Elso_oceano
  • Este tópico foi criado há 3459 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.