Ir para conteúdo
  • Cadastre-se

Felipe Sachetti

Membros
  • Total de ítens

    6
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Felipe Sachetti's Achievements

Rookie

Rookie (2/14)

  • Conversation Starter
  • First Post
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputação

  1. acabei q pra poder passar na homologacao fiz um "arranjo tecnico", como é testado somente o ultimo documento emitido, ao iniciar o processo de pagamento, salvo em registro o nr do documento e ao inicializar a aplicacao consulto se o ultimo documento esta pendente, por falta de tempo nao consegui dar sequencia no ajusto do componente, alterei algumas partes de funcoes e procedures, vou postar aqui as minhas anotacoes se ajudar, inicio do ano acredito estar mais disponivel e posso ajudar tbm nos ajustes e testes.. unit ACBrTEFAPICliSiTef; tirar de dentro e colocar fora do repeat TituloMenu := '' ; quando vinha titulo no comando 4 nao mostrava no comando 21, pois TituloMenu := '' ; eliminava o titulo ============================================================= nit ACBrTEFAPICliSiTef; funcao ContinuarRequisicaoSiTef; tratamento do comando 30, incluido ajuste para aceitar o VOLTAR no formulario perguntar campo 30: // Deve ser lido um campo cujo tamanho está entre TamMinimo e TamMaximo begin DefinicaoCampo.TipoCampo := TipoCampo; DefinicaoCampo.TituloPergunta := ACBrStr(Mensagem); DefinicaoCampo.TipoDeEntrada := tedTodos; DefinicaoCampo.TamanhoMaximo := TamanhoMaximo; DefinicaoCampo.TamanhoMinimo := TamanhoMinimo; DefinicaoCampo.MascaraDeCaptura := EmptyStr; Validado := True; TefAPI.QuandoPerguntarCampo(DefinicaoCampo, Resposta, Validado, Interromper); //ajuste para aceitar voltar nos formulario de solicitar informacao if((Interromper = False)and(Validado)and(Resposta = 'RetornarMenuAnterior'))then begin Resposta := ''; Voltar := True; end else RespCliSiTef.GravaInformacao(TipoCampo, Resposta); end; ============================================================================ na procedure quando perguntar campo passa valores quando for voltar procedure TTef.QuandoPerguntarCampo(DefinicaoCampo: TACBrTEFAPIDefinicaoCampo; var Resposta: string; var Validado, Cancelado: Boolean); //se nao for ok ou voltar trata como cancelado if((MR <> mrOK)and(MR <> mrRetry))then begin Cancelado := True; Validado := False; // Não fizemos as validações de "DefinicaoCampo.ValidacaoDado", vamos deixar o ACBrTEFAPI validar Resposta := FormObtemCampo.Resposta; end else begin if(MR = mrRetry)then begin Cancelado := False; Validado := True; Resposta := 'RetornarMenuAnterior'; end else begin Cancelado := False; Validado := False; Resposta := FormObtemCampo.Resposta; end; end; ============================================================================================= unit ACBrTEFAPICliSiTef; TACBrTEFAPIClassCliSiTef.FinalizarTransacao( // CliSiTEF não usa Rede, NSU e Finalizacao DocumentoVinculado := ''; Confirma := (AStatus in [tefstsSucessoAutomatico, tefstsSucessoManual]); i := fpACBrTEFAPI.RespostasTEF.AcharTransacao(Rede, NSU, CodigoFinalizacao); if (i >= 0) then DocumentoVinculado := fpACBrTEFAPI.RespostasTEF[i].DocumentoVinculado; //caso nao localize e tenha vindo rede sem nsu é pq foi chamado avulso com o DOCUMENTOVINCULADO no Rede if((Rede <> '')and(DocumentoVinculado = '')and(NSU = ''))then DocumentoVinculado := Rede; FinalizarTransacaoSiTef(Confirma, DocumentoVinculado); ========================================================= desculpa a forma como compartilhei sem formatacao, é que mantenho as alteracoes por escrito caso atualize o componente e tenha q ajustar os detalhes manualmente qqr coisa estou a disposicao para ajudar e testes em relacao a tratar o ultimo documento pendente, ao abrir a aplicacao faco essa validacao var ultimo := BackupDocumentoSitef_Ler; //leio registro com ultimo documento q foi inicializado o pagamento var estapendente := (TACBrTEFAPIClassCliSiTef(ObjetoTef.Acbr.TEF).TEFCliSiTefAPI.ObtemQuantidadeTransacoesPendentes(Now, AnsiString(ultimo)) > 0); if(estapendente)then begin TACBrTEFAPIClassCliSiTef(ObjetoTef.Acbr.TEF).FinalizarTransacao(ultimo, '', '', tefstsSucessoManual);
  2. ao realizar a homologação com Sitef, esbarramos num teste. rotina do teste - realizar venda - credito - inserir cartao - digitar senha - quando aprovar e receber mensagem de retirar cartao (matar o processo simulando desligamento) ao iniciar novamente o componente nao valida as operacoes pendentes.. chegamos no detalhe q o arquivo que é analisado para validar as pendencias "Acbr_xxx" é salvo na chamada apos executar o FinalizarChamadaAPI porem esse somente é chamado no finally da fpTEFAPIClass.EfetuarPagamento( e essa so é concluida apos remover o cartao. percebemos tambem que existe uma funcao da sitef q retorna a quantidade de pendentes porem ainda nao implementada nao conseguimos contornar esse "detalhe", alguem ja passou por isso? conseguiu homologar? passou nesse teste? alguem com a implementacao de rotina de retornar e tratar pendentes da sitef??
  3. estamos fazendo mais alguns ajustes realcionados ao sitef, assim que terminarmos colocamos aqui a colaboracao
  4. ACBrTEFAPICliSiTef.pas
  5. unit ACBrTEFAPICliSiTef; ideia de ajuste: tirar o TituloMenu := '': de dentro do repeat pois quando vinha titulo no comando 4 nao mostrava no comando 21, pois TituloMenu := '' ; eliminava a informacao da variavel
  6. estou com o mesmo problema, sem conseguir ler os codigos impressos... ja revirei o manual da impressora e nao consegui fazer com que imprimisse e lesse uma URL de NFCE... conseguiu resolver esse problema...?
×
×
  • 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.