Ir para conteúdo
  • Cadastre-se

dev botao

UF não pode ser vazia


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

Recommended Posts

  • Membros Pro

Boa tarde.

Estou com este problema e já vi que tem alguns posts sobre este erro e vendo as soluções tentei aplicar mas sem sucesso.

O problema é que este erro só ocorre em dois clientes, coincidência ou não, os dois da Paraíba. O mais estranho é que um deles trabalhou uns 10 ou 15 dias com  o programa sem problemas e depois começou a dar o erro e tiver que voltar a versão (a versão mais antiga tinha também um fonte mais antigo do acbr). Na minha máquina não consigo reproduzir o problema. Dá tudo certo. A parte do fonte que dá o erro é esta.

procedure TACBrDFe.LerServicoDeParams(const ModeloDFe, UF: String;
  const TipoAmbiente: TpcnTipoAmbiente; const NomeServico: String;
  var Versao: Double; var URL: String);
var
  Sessao, ListaSessoes, NomeSchema, ArqSchema: String;
  VersaoAchada, VersaoSchema: Double;
begin
  if EstaVazio(ModeloDFe) then
    raise EACBrDFeException.Create('ModeloDFe não pode ser vazio');

  if EstaVazio(UF) then
    raise EACBrDFeException.Create('UF não pode ser vazia');

  Sessao := ModeloDFe + '_' + UF + '_' + IfThen(TipoAmbiente = taProducao, 'P', 'H');
  VersaoAchada := Versao;

  LerServicoChaveDeParams( Sessao, NomeServico, VersaoAchada, URL);

Vou anexar um xml gerado na hora do erro. Me parece normal. Teria como eu alterar o fonte para caso a variável UF chegue vazia ela recarregar de algum lugar? Outra dúvida: pode o certificado interferir nessa passagem de valor para a variável UF?

Gostaria de uma luz, pois além de não conseguir reproduzir o erro temos vários clientes trabalhando normalmente.

Obrigado.

25170608602351000184650100000115831000115834-nfe.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores
58 minutos atrás, magnosystem disse:

Gostaria de uma luz, pois além de não conseguir reproduzir o erro temos vários clientes trabalhando normalmente.

Um erro comum que causa essa mensagem é chamar novamente o NotasFiscais.Add para preencher alguma tag específica, isso gera uma segunda nota no componente. O XML da primeira grava normal, mas ocorre erro de validação na segunda com essa mensagem.

Coloque antes de chamar o método Enviar:

ShowMessage(IntToStr(ACBrNFe1.NotasFiscais.Count));

Assim saberá quantas notas está tentando enviar.

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

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Obrigado pela dica BigWins, mas eu trabalho com o componente TAcbrECFVirtualNFCe.

procedure TPDV.ECFVirtualNFCeQuandoFecharDocumento(NFe: TNFe);
Begin
With NFe do
Begin
   Ide.nNF := StrtoInt(UFuncoesECF.NumeroCOOECF);
   Ide.cNF := StrtoInt(UFuncoesECF.NumeroCOOECF);
   Ide.cUF := UFtoCUF(Datacliente.TBPadrao.FieldByName('ESTADO').AsString);
   Ide.natOp := 'Nota Fiscal Eletrônica ao Consumidor';
   Ide.cMunFG := Datacliente.TBPadrao.FieldByName('CODIGOMUNICIPIO').AsInteger;
   ...
End;
End;

E o estranho é que só em dois clientes ocorre isto.

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...