Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde,

 

estou precisando desenvolver a NFSe para a prefeitura de São  Paulo.

Acredito ser o padrão ABRASF. O componente ACBrNFSe atente a prefeitura de SP?

Abraço

Postado

Obrigado amigo, já estou fazendo a implementação usando o componente.

Me deparei com um erro estranho:

 

Erro ao gerar NFSe
Falha na validação dos dados do lote: 2

'[email protected]' violates pattern constraint of '^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$'.
The element 'EmailTomador' with value '[email protected]' failed to parse.

Não consegui achar erro no email.

O que pode ser? Schema de validação incorreto?

 

Postado

Bom dia,

ainda estou com problema para o caso acima. Para poder dar continuidade aos testes, eu limpei o campo email.

Estou seguindo o demo para implementar as rotinas no meu sistema. E surgiram algumas dúvidas:

Estou usando a seguinte lógica:

1) Alimento com componente NFSe com os dados do meu sistema.

2) Clico em gerar (Neste ponto da Access Violation - No demo tem um comentário "A function Gerar só esta disponivel para alguns provedores.")

3) Então parti para usar o Enviar. Neste caso foi, porém não estou conseguindo salvar o protocolo de envio, para poder consultar o RPS e ter o número da nota fiscal gerada. Como as rotinas são diferentes para alguns provedores, aonde encontro quais procedimentos devo executar para atender a prefeitura de SP por exemplo?

Entendo que preciso criar o RPS, salvar o XML caso ache necessário, enviar para a prefeitura, consultar este RPS e obter erros ou o número da NF, está correto?

Abraço

  • Fundadores
Postado
Em 30/03/2017 at 16:30, JJA disse:

'[email protected]' violates pattern constraint of '^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$'.

The element 'EmailTomador' with value '[email protected]' failed to parse.

 

Aparentemente o nome do email é muito curto, e falha nas regras de validação do Schema... nesse caso não há o que ser feito, a não ser usar um outro nome de email... pois quem define o Schema é dono do WebService

Em 04/04/2017 at 10:32, JJA disse:

Bom dia,

ainda estou com problema para o caso acima. Para poder dar continuidade aos testes, eu limpei o campo email.

Estou seguindo o demo para implementar as rotinas no meu sistema. E surgiram algumas dúvidas:

Estou usando a seguinte lógica:

1) Alimento com componente NFSe com os dados do meu sistema.

2) Clico em gerar (Neste ponto da Access Violation - No demo tem um comentário "A function Gerar só esta disponivel para alguns provedores.")

3) Então parti para usar o Enviar. Neste caso foi, porém não estou conseguindo salvar o protocolo de envio, para poder consultar o RPS e ter o número da nota fiscal gerada. Como as rotinas são diferentes para alguns provedores, aonde encontro quais procedimentos devo executar para atender a prefeitura de SP por exemplo?

Entendo que preciso criar o RPS, salvar o XML caso ache necessário, enviar para a prefeitura, consultar este RPS e obter erros ou o número da NF, está correto?

Abraço

Entenda que não temos acesso ao seu projeto... então para relatar bugs ou problemas, você deve usar o "Demo do ACBr"

Nos forneça um passo a passo, de como configurar o Demo, e qual o exato passo a passo, até a obtenção do problema

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado

Eu só preciso saber como eu faço para pegar o protocolo de envio, número da Nota fiscal, XML ou outras informações que confirmação de envio depois de executar a função "Enviar"

Após a execução da função "Enviar", preciso executar um comando de consulta para ter os dados acima? 

Postado

Ok, mas quais são as propriedades que preciso acessar para ter número da nota fiscal, protocolo de envio, log de erros caso o RPS seja rejeitado?

Postado
3 minutos atrás, Daniel Simoes disse:

Tópico movido para fórum ACBrNFSe, para atrair a ajuda de outros usuários...

Sem problemas Daniel,

mas eu quero poder contar com a ajuda e agilidade do SAC ACBr uma vez que a empresa no qual trabalho optou em pagar justamente para poder ter uma maior rapidez nas dúvidas ok.  

  • Fundadores
Postado

Isso não é coberto pelo SAC... não tem com nossos consultores saberem das peculiaridade das N cidades existente...

Citar

Que tipo de perguntas posso fazer no fórum do SAC ?

Apenas perguntas técnicas sobre os componentes serão respondidas no fórum exclusivo as demais perguntas serão movidas para o fórum aberto. Perguntas sobre legislação, instalação de certificados digitais, preenchimento de documentos fiscais, parte contábil ou financeira ou qualquer outro assunto fora do escopo técnico do componente não será respondido.

http://www.projetoacbr.com.br/forum/sacv2/questoes_importantes/

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado
2 minutos atrás, Daniel Simoes disse:

Isso não é coberto pelo SAC... não tem com nossos consultores saberem das peculiaridade das N cidades existente...

http://www.projetoacbr.com.br/forum/sacv2/questoes_importantes/

Entendo, mas a minha dúvida está ligada ao componente em si não está?

preciso saber somente como resgato o número da nota fiscal, protocolo de envio e log de erros caso o RPS seja rejeitado logo após a execução do procedimento "Enviar"



 

  • Consultores
Postado

Boa noite JJA,

Segue alguns exemplos de obter os dados desejados.

  sAux := ACBrNFSe1.NotasFiscais.Items[ i ].NFSe.Numero;
  sAux := ACBrNFSe1.NotasFiscais.Items[ i ].NFSe.CodigoVerificacao;
  sAux := ACBrNFSe1.NotasFiscais.Items[ i ].NFSe.NumeroLote;

  sAux := ACBrNFSe1.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.ListaChaveNFeRPS.Items[ j ].ChaveNFeRPS.Numero;
  sAux := ACBrNFSe1.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.ListaChaveNFeRPS.Items[ j ].ChaveNFeRPS.SerieRPS;
  sAux := ACBrNFSe1.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.ListaChaveNFeRPS.Items[ j ].ChaveNFeRPS.NumeroRPS;

  sAux := ACBrNFSe1.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.MsgRetorno.Items[ j ].Codigo;
  sAux := ACBrNFSe1.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.MsgRetorno.Items[ j ].Mensagem;
  sAux := ACBrNFSe1.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.MsgRetorno.Items[ j ].ChaveNFeRPS.Numero;
  sAux := ACBrNFSe1.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.MsgRetorno.Items[ j ].ChaveNFeRPS.SerieRPS;
  sAux := ACBrNFSe1.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.MsgRetorno.Items[ j ].ChaveNFeRPS.NumeroRPS;
 

Fiz também uma alteração no componente, portanto favor atualizar os fontes.

  • 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

  • 2 meses depois ...
Postado

Italo, bom dia,

Estou testando o código acima eme deparei com um problema:

Na propriedade "ListaChaveNFeRPS", acredito que quando o RPS enviado tem algum problema, este lista está vazia, retornado "List out of bounds(0)"
 

Eu alterei a unit "ACBrNFSeWebServices.pas" com uma validação para verificar o count da lista:


- Adicionado linha logo após a linha 2262:
  if RetEnvLote.InfRec.ListaChaveNFeRPS.Count > 0 then

Referente a esta lista, ela só é populada quando o RPS foi acesso e já virou NFSe? Posso validar se o RPS  virou NFSe por esta lista? Ou tem alguma outra propriedade que me fala se o envio foi com sucesso ou não?

Tem também a lista MsgRetorno, no qual me traz os erros apontados no RPS, posso garantir que se esta lista estiver vazia, o RPS virou NFse?

Abraço

 

 

Postado

Adicionado também ao código de retorno de consulta:

Unit: ACBrNFSeWebServices.pas
Função: ExtrairNotasRetorno
linha: 1087
FNotasFiscais.Items[ii].NFSe.NumeroLote        := FRetornoNFSe.ListaNFSe.CompNFSe.Items.NFSe.NumeroLote;

Postado (editado)

Eu me deparei com o mesmo problema.

A variável Fprotocolo é retornada com valor '0' e não '' quando o RPS tem erros e passa direto pela linha 2340   if FProtocolo <> '' then na unit ACBrNFSEWebServices.

O erro acontece logo abaixo na linha 2354 FNotasFiscais.Items.NFSe.Numero := RetEnvLote.InfRec.ListaChaveNFeRPS.ChaveNFeRPS.Numero;

 

Editado por Eduardo Vasconcellos
  • 1 mês depois ...
Postado

Bom dia,

Precisei fazer uma alteração na função LerNFSe_SP na unit ..\acbr\Fontes\ACBrDFe\ACBrNFSe\PCNNFSe\pnfsNFSeR.pas , pois não estava lendo o e-mail do tomador que fica separado dos dados do contato no xml da nfse e não aparece na DANFSE.coloquei abaixo da linha de leitura da Razão Social:

    NFSe.Tomador.RazaoSocial := Leitor.rCampo(tcStr, 'RazaoSocialTomador');

inseri

    NFSe.Tomador.Contato.Email := Leitor.rCampo(tcStr, 'EmailTomador');

comentei a linha de leitura do e-mail do contato no grupo do tomador

...
	with NFSe.Tomador do
    begin
      if (Leitor.rExtrai(2, 'CPFCNPJTomador') <> '') then
        IdentificacaoTomador.CpfCnpj := Leitor.rCampoCNPJCPF;
      //Contato.Email := Leitor.rCampo(tcStr, 'EmailTomador'); // comentei senão sobrepõe a leitura acima
...

Feito para o provedor proSP, anexo para analisar se necessário.

 

pnfsNFSeR.pas

  • 2 meses depois ...
Postado

Bom dia Italo, 

Não estavam aparecendo os tributos federais para a DANFSE de SP, esta enviando corretamente para a prefeitura os impostos (PIS, COFINS, CSLL, INSS e IR) porém para impressão não carrega. Fiz a alteração para a função LerNFSe_SP da unit pnfsNFSeR.pas que esta no caminho: ..\acbr\Fontes\ACBrDFe\ACBrNFSe\PCNNFSe\

Ficou assim:

function TNFSeR.LerNFSe_SP: Boolean;

...

    // Tributos Federais - PIS, COFINS, INSS, IR e CSLL
    NFSe.Servico.Valores.ValorPis         := Leitor.rCampo(tcDe2, 'ValorPis');
    NFSe.Servico.Valores.ValorCofins      := Leitor.rCampo(tcDe2, 'ValorCofins');
    NFSe.Servico.Valores.ValorInss        := Leitor.rCampo(tcDe2, 'ValorInss');
    NFSe.Servico.Valores.ValorIr          := Leitor.rCampo(tcDe2, 'ValorIr');
    NFSe.Servico.Valores.ValorCsll        := Leitor.rCampo(tcDe2, 'ValorCsll');

...

end;

Anexo a unit com a correção feita.

pnfsNFSeR.pas

  • 1 mês depois ...
Postado

Boa tarde, 

Esta vindo do repositório a unit sem a alteração citada acima, deve ter sido sobreposta pois sempre que atualizo tenho que substituir nos fontes. O problema é com a impressão de DANFSE que estava saindo sem valores de tributos o que afeta o valor liquido da NFSe.

Mandando anexo de volta para atualização e verificação dos moderadores.

 

pnfsNFSeR.pas

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