Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Pesquisando na internet como faço a integração de meu sistema em C# encontrei um post de um dos membros aqui do forum o Regys, tive uma dúvida.

 

Como faço para integrar este codigo ao meu sistema ?

 

Minha pergunta é com base do codigo do Regys que é em Delphi posso desenvolver em C# esta mesma integração ?

 

 

Desde já agradeço

 

Obrigado. 

// numero do lote de envio (somente um exemplo, pode-se utilizar seu proprio controle)
  NumeroLote := StrToInt(FormatDateTime('yymmddhhmm', NOW));
 
  // carregar o xml da nota fiscal eletronica, pode ser omitido
  ACBrNFe.NotasFiscais.Clear;
  if not ACBrNFe.NotasFiscais.LoadFromString(XML) then
    raise Exception.Create('Não foi possível carregar o XML da Nota Fiscal Eletrônica correspondente!');
 
  // Criar o cancelamento
  ACBrNFe.EventoNFe.Evento.Clear;
  ACBrNFe.EventoNFe.idLote := NumeroLote;
 
  with ACBrNFe.EventoNFe.Evento.Add do
  begin
    infEvento.chNFe      := ChaveNFE;
    infEvento.CNPJ       := Cnpj;
    infEvento.dhEvento   := NOW;
    infEvento.tpEvento   := teCancelamento;
    infEvento.detEvento.nProt := Protocolo;
    infEvento.detEvento.xJust := <Justificativa para o cancelamento, minimo de 15 caracteres>;
  end;
 
// Enviar o evento de cancelamento
  if ACBrNFe.EnviarEventoNFe(NumeroLote) then
  begin
    with ACBrNFe.WebServices.EnvEvento do
    begin
      if EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 135 then
      begin
        raise Exception.CreateFmt(
          'Ocorreu o seguinte erro ao cancelar a nota fiscal eletrônica:'  + sLineBreak +
          'Código:%d' + sLineBreak +
          'Motivo: %s', [
            EventoRetorno.retEvento.Items[0].RetInfEvento.cStat,
            EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo
        ]);
      end;
 
  // retornos 
      DataHoraEvento  := EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento;
      NumeroProtocolo := EventoRetorno.retEvento.Items[0].RetInfEvento.nProt;
      XMLCancelamento := EventoRetorno.retEvento.Items[0].RetInfEvento.XML;
  CodigoStatus    := EventoRetorno.retEvento.Items[0].RetInfEvento.cStat;
      MotivoStatus    := EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo;
    end;
  end
  else
  begin
    with ACBrNFe.WebServices.EnvEvento do
    begin
      raise Exception.Create(
        'Ocorreram erros ao tentar efetuar o cancelamento:' + sLineBreak +
        'Lote: '     + IntToStr(EventoRetorno.idLote) + sLineBreak +
        'Ambiente: ' + TpAmbToStr(EventoRetorno.tpAmb) + sLineBreak +
        'Orgao: '    + IntToStr(EventoRetorno.cOrgao) + sLineBreak +
        sLineBreak +
        'Status: '   + IntToStr(EventoRetorno.cStat) + sLineBreak +
        'Motivo: '   + EventoRetorno.xMotivo
      );
    end;
  end;

Cursando Bacharelado em Sistemas de Informação - 7 º Termo.

FIPP - Faculdade de Informática de Presidente Prudente.

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