Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

boa tarde a todos eu estou com um problema na carta de correção eletrônica !!

eu procurei uma ajuda nos post mas não consegui resolver o meu problema...

esta dando o seguinte erro :

envCCe_v1.xds#/shemas/element[1][@name = 'envEvento'] unideclared XSD type :'{http://www.portalfiscal.inf.br/nfe}TEnvEvento'

a minha pasta schemas esta atualizada...

e as propriedades que eu estou passando sao as seguintes..

with dm2.NFE.EnvEvento.EnvEventoNFe.Evento.Add do

begin

if dm1.tbTemp.fieldbyname('NFEAMBDEST').asinteger = 0 then

InfEvento.tpAmb := taProducao

else if dm1.tbTemp.fieldbyname('NFEAMBDEST').asinteger = 1 then

InfEvento.tpAmb := taHomologacao;

infEvento.versaoEvento := '1.00';

infEvento.cOrgao := codUf;

infEvento.chNFe := Chave;

infEvento.CNPJ := CNPJ;

infEvento.dhEvento := now;

infEvento.tpEvento := teCCe;

infEvento.nSeqEvento := StrToInt(nSeqEvento);

infEvento.detEvento.xCorrecao := Correcao;

end;

dm2.NFE.EnviarEventoNFe(StrToInt(idLote));

MemoResp.Lines.Text := UTF8Encode(dm2.NFE.WebServices.EnvEvento.RetWS);

memoRespWS.Lines.Text := UTF8Encode(dm2.NFE.WebServices.EnvEvento.RetornoWS);

LoadXML(MemoResp, WBResposta);

Caso alguem souber como resolver estarei no aguardo

sem mais

Postado

Pedro,

antes de enviar tente colocar o seguinte comando:

Showmessage(ACBrNFe1.Configuracoes.Geral.PathSchemas);

Verifique se está informando a pasta SCHEMAS que você atualizou.

Att.

Rômulo Mayworm

"Não me envergonho de mudar de opinião, porque não me envergonho de pensar" (Blaise Pascal)

Postado

Aqui estou fazendo da seguinte forma:


      ACBrNFe1.NotasFiscais.Clear;

      ACBrNFe1.NotasFiscais.LoadFromFile(ArquivoXML);

      ...

      nSeqEvento := '1';

      ACBrNFe1.EnvEvento.EnvEventoNFe.Evento.Clear;

      ACBrNFe1.EnvEvento.EnvEventoNFe.idLote := idLote;

      with ACBrNFe1.EnvEvento.EnvEventoNFe.Evento.Add do

      begin

          infEvento.chNFe := Chave;

          infEvento.CNPJ   := copy(Chave,7,14);

          infEvento.dhEvento := now;

          infEvento.tpEvento := teCCe;

          infEvento.nSeqEvento := StrToInt(nSeqEvento);

          infEvento.detEvento.xCorrecao := Correcao;

          case rgTipoAmb.ItemIndex of

            0: InfEvento.tpAmb := taProducao;

            1: InfEvento.tpAmb := taHomologacao;

          end;

      end;

      ACBrNFe1.EnviarEventoNFe(idLote);
Verifique se você está carregando as informações de um xml ou se está passando todas as informações corretas (chave, cnpj,...) caso carregue do xml algumas informações não são necessárias, porém se você informá-las não terá problemas. Tente utilizar também o
ACBrNFe1.EnvEvento.EnvEventoNFe.Evento.Clear;

Da forma que descrevi está indo na boa aqui cara!

Att.

Rômulo Mayworm

"Não me envergonho de mudar de opinião, porque não me envergonho de pensar" (Blaise Pascal)

Postado

bom dia Romulo!

mto obrigado por responder

eu coloquei a msg ele esta retornando vazio sem nada na msg !!!

mas eu tenho a pasta schemas na pasta do sistema. Teria que apontar o path então para ela tb

Postado

Bom dia Pedro,

Isso mesmo, aqui eu montei um procedimento o ConfiguraACBRNFe ele direciona todos os diretórios e demais configurações necessárias, daí qqr comando que eu utilizo primeiramente eu chamo esse procedimento.

Segue o código do procedimento citado:

procedure TfrmNotaFiscal.ConfiguraAcbrNFe;

begin

  {$IFDEF ACBrNFeOpenSSL}

    ACBrNFe1.Configuracoes.Certificados.Certificado  := edtCaminho.Text;

    ACBrNFe1.Configuracoes.Certificados.Senha        := edtSenha.Text;

  {$ELSE}

    ACBrNFe1.Configuracoes.Certificados.NumeroSerie  := edtNumSerie.Text;

    ACBrNFe1.Configuracoes.Certificados.Senha        := edtSenha.Text;

  {$ENDIF}

  case cbbFormaEmissao.ItemIndex of

    0: ACBrNFe1.Configuracoes.Geral.FormaEmissao := teNormal;

    1: ACBrNFe1.Configuracoes.Geral.FormaEmissao := teContingencia;

    2: ACBrNFe1.Configuracoes.Geral.FormaEmissao := teSCAN;

    3: ACBrNFe1.Configuracoes.Geral.FormaEmissao := teDPEC;

    4: ACBrNFe1.Configuracoes.Geral.FormaEmissao := teFSDA;

  end;

  VerificaSePathExisteECria;//aqui se os caminhos utilizados abaixo não existirem eles são criados

  ACBrNFe1.Configuracoes.Geral.Salvar       := ckSalvar.Checked;

  //utilizo o - Substring(edtNumSerie.Text,Length(edtNumSerie.Text)-4,5) - pois tenho clientes com mais de um certificado, para separar os arquivos pelos 5 últimos dígitos do certificado

  ACBrNFe1.Configuracoes.Geral.PathSalvar   := PathComBarra(edtPathLogs.Text)+Substring(edtNumSerie.Text,Length(edtNumSerie.Text)-4,5)+'\'+FormatDateTime('yyyymm',Now);

  ACBrNFe1.Configuracoes.Geral.PathSchemas  := edtPathSchemas.Text;

  ACBrNFe1.DANFE.PathPDF                    := PathComBarra(edtPathPDF.Text)+Substring(edtNumSerie.Text,Length(edtNumSerie.Text)-4,5)+'\'+FormatDateTime('yyyymm',Now);


  ACBrNFe1.Configuracoes.Arquivos.PathNFe   := PathComBarra(edtPathNFe.Text)+Substring(edtNumSerie.Text,Length(edtNumSerie.Text)-4,5);

  ACBrNFe1.Configuracoes.Arquivos.PathCan   := PathComBarra(edtPathCancelados.Text)+Substring(edtNumSerie.Text,Length(edtNumSerie.Text)-4,5);

  ACBrNFe1.Configuracoes.Arquivos.PathInu   := PathComBarra(edtPathInutilizados.Text)+Substring(edtNumSerie.Text,Length(edtNumSerie.Text)-4,5);

  ACBrNFe1.Configuracoes.Arquivos.PathDPEC  := PathComBarra(edtPathDPEC.Text)+Substring(edtNumSerie.Text,Length(edtNumSerie.Text)-4,5);

  ACBrNFe1.Configuracoes.Arquivos.PathCCe   := PathComBarra(edtPathCCE.Text)+Substring(edtNumSerie.Text,Length(edtNumSerie.Text)-4,5);


  ACBrNFe1.Configuracoes.WebServices.UF         := cbUF.Text;

  case rgTipoAmb.ItemIndex of

    0: ACBrNFe1.Configuracoes.WebServices.Ambiente := taProducao;

    1: ACBrNFe1.Configuracoes.WebServices.Ambiente := taHomologacao;

  end;


  ACBrNFe1.Configuracoes.WebServices.Visualizar := False;


  ACBrNFe1.Configuracoes.WebServices.ProxyHost := '';

  ACBrNFe1.Configuracoes.WebServices.ProxyPort := '';

  ACBrNFe1.Configuracoes.WebServices.ProxyUser := '';

  ACBrNFe1.Configuracoes.WebServices.ProxyPass := '';


  if ACBrNFe1.DANFE <> nil then begin


    case cbbImpressaoDANFE.ItemIndex of

      0: ACBrNFe1.DANFE.TipoDANFE  := tiRetrato;

      1: ACBrNFe1.DANFE.TipoDANFE  := tiPaisagem;

    end;

    if FileExists(edtLogoMarca.Text) then

      ACBrNFe1.DANFE.Logo       := edtLogoMarca.Text

    else

      ACBrNFe1.DANFE.Logo       := '';

    ACBrNFe1.DANFE.NFeCancelada := true;

  end;

end;

Att.

"Não me envergonho de mudar de opinião, porque não me envergonho de pensar" (Blaise Pascal)

Postado

Pedro,

Só passa as configurações, se for através do xml de uma nfe basta vc carregá-lo para o componente.


      ACBrNFe1.NotasFiscais.Clear;

      ACBrNFe1.NotasFiscais.LoadFromFile(Arquivo);

      ACBrNFe1.NotasFiscais.Imprimir;

      if (MessageBox(0, 'Deseja prosseguir a CCe com a nota selecionada?', 'Confirmação', MB_ICONQUESTION or MB_YESNO) = idNo) then

        Exit;
e depois carregar os dados para enviar, sem a necessidade de enviar.

        AbreAviso('Gerando CCe');

        ACBrNFe1.EnvEvento.EnvEventoNFe.Evento.Clear;

        ACBrNFe1.EnvEvento.EnvEventoNFe.idLote := iLote;

        with ACBrNFe1.EnvEvento.EnvEventoNFe.Evento.Add do

        begin

          infEvento.chNFe := Chave;

          infEvento.CNPJ   := copy(Chave,7,14);

          infEvento.dhEvento := now;

          infEvento.tpEvento := teCCe;

          infEvento.nSeqEvento := StrToInt(nSeqEvento);

          infEvento.detEvento.xCorrecao := Correcao;

          case rgTipoAmb.ItemIndex of

            0: InfEvento.tpAmb := taProducao;

            1: InfEvento.tpAmb := taHomologacao;

          end;

        end;

        ACBrNFe1.EnvEvento.EnvEventoNFe.GerarXML;

        ACBrNFe1.EnviarEventoNFe(iLote);

Você terá que tratar também o local para onde será salvo o xml de retorno com as informações dessa carta de correção.

Depois disso eu carrego as informações de retorno e as de envio para um clientdataset gerando a Carta de Correção para sem impressa através do FastReport.

Att.

Rômulo Mayworm

"Não me envergonho de mudar de opinião, porque não me envergonho de pensar" (Blaise Pascal)

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