Ir para conteúdo
  • Cadastre-se

herculanojs

Membros
  • Total de ítens

    70
  • Registro em

  • Última visita

2 Seguidores

Últimos Visitantes

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

herculanojs's Achievements

Enthusiast

Enthusiast (6/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

3

Reputação

  1. Estou usando sitef. Há uma propriedade LimparRespostasQuandoNovoIdentificador estava sendo marcada como verdadeira. Coloquei para false e funcionou perfeitamente.
  2. Boa noite Primeiramente não consegui criar o tópico diretamente em TEF. Não dá opção para selecionar ou criar novo tópico ali. Estou enfrentando uma problemática na implementação de pagamento com múltiplos cartões no tef. Faço a venda passando uma parte em um cartão, e outra parte em outro cartão. O processo faço usando a função ACBrTEFAPI.EfetuarPagamento. Quando vou concluir a transação finalizando a venda usando a função ACBrTEFAPI.FinalizarTransacoesPendentes apenas o último cartão esta sendo confirmando, ficando pendente o primeiro. Debugando, pude observar que na função o loop efetuado em RespostasTEF retorna apenas um, sendo a última transação. Alguém poderia me auxiliar. procedure TACBrTEFAPIComum.FinalizarTransacoesPendentes(Status: TACBrTEFStatusTransacao); var i: Integer; ATEFResp: TACBrTEFResp; begin GravarLog('FinalizarTransacoes( '+ GetEnumName(TypeInfo(TACBrTEFStatusTransacao), integer(Status) )+' )'); for i := 0 to RespostasTEF.Count-1 do begin ATEFResp := RespostasTEF[i]; if ATEFResp.Confirmar and // Transação requer Confirmação ? (not ATEFResp.CNFEnviado) then // Ainda não enviou Terceira Perna ? begin FinalizarTransacao( ATEFResp.Rede, ATEFResp.NSU, ATEFResp.Finalizacao, Status ); end; end; end;
  3. Boa noite Primeiramente não consegui criar o tópico diretamente em TEF. Não dá opção para selecionar ou criar novo tópico ali. Estou enfrentando uma problemática na implementação de pagamento com múltiplos cartões no tef. Faço a venda passando uma parte em um cartão, e outra parte em outro cartão. O processo faço usando a função ACBrTEFAPI.EfetuarPagamento. Quando vou concluir a transação finalizando a venda usando a função ACBrTEFAPI.FinalizarTransacoesPendentes apenas o último cartão esta sendo confirmando, ficando pendente o primeiro. Debugando, pude observar que na função o loop efetuado em RespostasTEF retorna apenas um, sendo a última transação. Alguém poderia me auxiliar. procedure TACBrTEFAPIComum.FinalizarTransacoesPendentes(Status: TACBrTEFStatusTransacao); var i: Integer; ATEFResp: TACBrTEFResp; begin GravarLog('FinalizarTransacoes( '+ GetEnumName(TypeInfo(TACBrTEFStatusTransacao), integer(Status) )+' )'); for i := 0 to RespostasTEF.Count-1 do begin ATEFResp := RespostasTEF[i]; if ATEFResp.Confirmar and // Transação requer Confirmação ? (not ATEFResp.CNFEnviado) then // Ainda não enviou Terceira Perna ? begin FinalizarTransacao( ATEFResp.Rede, ATEFResp.NSU, ATEFResp.Finalizacao, Status ); end; end; end;
  4. Bom dia, estou iniciando a implantação do TEF e estou estudando o exemplo TEFAPI. No requisito 5 do roteiro de homologação diz: - Realizar uma transação com cartão de Crédito magnético - Selecionar a opção: Financ. Adm ou loja/estabelecimento - Dividir em 2 parcelas Vi que no exemplo de pagamento quando informa já a forma de pagamento, o TEF não retorna a opção de escolha de parcelamento, só Á Vista. Usando a opção ACBrTEFAPI1.EfetuarAdministrativa('0') mostra o menu para escolha das formas de pagamentos e quando eu escolho por ela ai sim aparece a opção de parcelamento. Minha dúvida é como eu passo o valor da venda usando a opção de pagamento escolhendo diretamente pelo menu conforme citado acima. Verifiquei se pediria o valor mas não pede, a função de pagamento encerra informando: valor inválido pois não recebeu o valor da venda.
  5. No ACBrDANFCeFortesFr linha 1396 há a instrução RLLayout.PrintDialog := (not MostraPreview) and EstaVazio(Impressora); Tal instrução impossibilita que possamos imprimir de forma automática, pois fica abrindo o setup de impressão mesmo estando marcado como false. Isso tem impossibilitado impressões diretas utilizando a impressora padrão no windows. Se já existe a propriedade MostrarSetup o correto entendo deveria ser RLLayout.PrintDialog := MostraSetup; (não ?) Para que cada um determine como queira se mostra ou não o setup de impressão. Estou informando em impressora um valor = 'X'. Hoje esta sendo tratado pelo windows e enviando para a impressora padrão, mas e amanhã, será que vai - ou vai dar algum erro. Qual a maneira que podemos fazer para que não exibe o setup de escolha na impressão?
  6. Na verdade estou me baseando no que esta escrito no comentário da propriedade: " {@prop NomeDocumento - Define/retorna o nome do documento para exportação PDF." E faria todo o sentido, quando por exemplo eu quisesse exportar um arquivo utilizando uma nomenclatura própria que não fosse a utilizada pelo padrão do componente que é o número da chave;
  7. Não sei como postar uma correção no acbr, então segue: Na classe ACBrDFeReport há uma propriedade NomeDocumento que deveria estar sendo utilizada para poder definir o nome do documento no ato da exportação do PDF. Contudo na exportação do pdf não esta levando em conta isso. Class: ACBrDFeReport {@prop NomeDocumento - Define/retorna o nome do documento para exportação PDF. @links TACBrDFeReport.NomeDocumento :/} property NomeDocumento: String read FNomeDocumento write FNomeDocumento; class: ACBrNFeDANFEFRDM procedure TACBrNFeFRClass.ImprimirDANFEPDF(ANFE: TNFe) ... frxPDFExport.FileName := PathWithDelim(DANFEClassOwner.PathPDF) + OnlyNumber(NFe.infNFe.ID) + '-nfe.pdf' else Sugestão: if DANFEClassOwner.NomeDocumento='' then //jhs frxPDFExport.FileName := PathWithDelim(DANFEClassOwner.PathPDF) + OnlyNumber(NFe.infNFe.ID) + '-nfe.pdf' else frxPDFExport.FileName := DANFEClassOwner.NomeDocumento; Assim podemos definir local e nome do arquivo desejado.
  8. Estranho hem, o erro do acess violation ocorre em Windows 7, windows 2008 r2, windows 8 (em diversos clientes). E todos os sistemas operacionais estão devidamente atualizados
  9. Bom dia Felipe, recebo mensagem de que as atualizações não podem ser executadas no pc.
  10. Bom dia Felipe, estou efetuando testes em equipamento de desenvolvimento. Windows 8.1 (todas atualizações em dia). As dll estou utilizando as AcBR\DLLs\OpenSSL\1.0.2.13\x86, contudo já tentei com a x64 também.
  11. Certificado A1, sim as dll estão atualizadas.
  12. O problema em utilizar o libwincrypt é a dependencia de configurações do sistema operacional, e windows 7, windows 2008 r2 mesmo atualizando estou recebendo a mesnsagem de "Um ou mais erros foram encontrados no certificado Secure Sockets Layer (SSL) enviado pelo servidor". Já tentei de tudo que vi aqui no forum e não consigo solucionar isso. Então alternativa como disse o Daniel em outro post seria optar por utilizar o openssl. Agora basta setar openssl no componente e estoura access violation por todo canto, mesmo em debug no delphi.
  13. Pessoal, já pesquisei no forum mas o tópico sobre o assunto encontra-se fechado e não há uma solução no mesmo. Não estou conseguindo utilizar openssl de forma alguma. Componente atualizado, e se mudo para utilização com OPENSSL ocorre erro na dll ntdll de Access violation Sistema operacional windows 7 64, windows server 2008 r2. Contudo se deixo o componente para utilização libWinCrypt não ocorre o erro, contudo esbarro nos problemas de segurança do protocolo TSL e não conseguimos resolver de jeito nenhum. Queremos utilizar o opensll porque conforme em outros posts este problema de TSL não vai ter no mesmo. Alguém tem alguma idéia da causa deste erro da ntdll ?
  14. Obrigado pela ajuda. Como devo deixar então o arquivo acbr.inc para utilizar o wincrypt pelo que vejo que atende as duas situações. Compreendi o que vc disse, mas tenho dúvidas de como isso deve estar configurado. Poderia me auxiliar se não for abusar de tua boa vontade? // Descomente a linha abaixo, se você quer que seu Executável NÃO dependa das DLLs LibXML2, LibXMLSEC, {.$DEFINE DFE_SEM_OPENSSL} // Descomente a linha abaixo, se você quer que seu Executável NÃO dependa das DLLs LibXMLSEC, mas continue suportando a LibXML2 {.$DEFINE DFE_SEM_XMLSEC} // Descomente a linha abaixo, se você quer que seu Executável NÃO dependa das DLLs LibXML2, mas continue suportando LibXMLSEC {.$DEFINE DFE_SEM_LIBXML2} // Descomente a linha abaixo, se você não utiliza a obsoleta Capicom para Criptografia (recomendado) {.$DEFINE DFE_SEM_CAPICOM} // Descomente a linha abaixo, se você não utiliza a obsoleta MSXML para Assinatura de XML(recomendado) {.$DEFINE DFE_SEM_MSXML} // Descomente a linha abaixo, se você não deseja adicionar a Dependência da INDY nos seus Projetos {.$DEFINE DFE_SEM_INDY} {$IfDef DFE_SEM_OPENSSL} {$Define DFE_SEM_XMLSEC} {$Define DFE_SEM_LIBXML2} {$EndIf}
  15. Me desculpem a ignorância, mais eu estou perdido com essas linhas de diretivas. Uso capicom e opensll Capicom porque tenho clientes que usam token, openssl para clientes com certificado .pfx Não sei se estou utilizando corretamente o componente. Qual as definições que devo fazer para que possa atender os dois tipos de certificados? Vejo no arquivo acbr.inc recomendando desativar o capicom, recomendado desativar msxml, mas não sei ao certo o que devo então ativar. Qual o correto a se utilizar? Alguém poderia me auxiliar neste sentido.
×
×
  • 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.