Ir para conteúdo
  • Cadastre-se

dev botao

Tratar Envio do SAT


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

Recommended Posts

Boa tarde
Gostaria de saber como os colegas estas tratando o envio do SAT caso der algum erro , enfim tem algum outro modo de fazer diferente do demo do componente ?

  ACBrSAT1.EnviarDadosVenda( mVendaEnviar.Text );
 
  if ACBrSAT1.Resposta.codigoDeRetorno = 6000 then
  begin
    LoadXML( ACBrSAT1.CFe.AsXMLString,  mRecebido);
    PageControl1.ActivePage := tsRecebido;
  end;

Obrigado

Link para o comentário
Compartilhar em outros sites

Eu sigo a mesma linha...

Modifiquei um pouquinho só...

 

      case ACBrSAT.Resposta.codigoDeRetorno of
      6000: begin
              btnFinalizaCupClick(Nil);
              try
                PrepararImpressao;
                ACBrSAT.ImprimirExtrato;
                ACBrPosPrinter.Desativar;
              except
                ShowMessage('Houve um erro na impressão do extrato !'+#13+
                            'A 2a. via poderá ser emitida através do F5-MENU');
              end;
            end;


 

Equipe ACBr Sérgio Assunção
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

[email protected]

Link para o comentário
Compartilhar em outros sites

Bom dia.

Eu criei uma função booleana para alimentar o componente(function GerarCupom: Boolean) e depois do envio, dentro da função, faço o seguinte:

    if FDadosSAT.ACBrSAT.Resposta.codigoDeRetorno = 6000 then
      Result:= True
    else
      Result:= False;

Chamo a função da seguinte forma:

    if SAT.GerarCupom then
    begin
      // Aqui gravo as informações necessárias no BD
      DataHoraEmi:= FormatDateTime('mm/dd/yyyy', ACBrSAT.CFe.ide.dEmi) + ' ' + FormatDateTime('hh:nn:ss', ACBrSAT.CFe.ide.hEmi);
      GravaInfoSAT(ACBrSAT.CFe.ide.nCFe, ACBrSAT.CFe.infCFe.ID, DataHoraEmi, cdsVendasID_VENDA.AsInteger);
      SAT.ImprimirCupom(False);
    end
    else
      Mensagem('Aviso', 'Erro na Emissão do CFe: ' + MensagemCodigoRetorno(ACBrSAT.Resposta.codigoDeRetorno), mtError, ['Ok']);

Obrigado.

Link para o comentário
Compartilhar em outros sites

Boa tarde, a todos pelo retorno, só mais uma coisa , mesmo com retorno diferente de 6000, é gerado um de sessão ? este numero é importante guardar ele pra efeito de consulta posterior ?


Obrigado

Eu só gravo as sessões das vendas e cancelamentos.

Equipe ACBr Sérgio Assunção
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

[email protected]

Link para o comentário
Compartilhar em outros sites

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