Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    26.199
  • Registro em

  • Última visita

  • Days Won

    749

Community Answers

  1. Daniel Simoes's post in Processo de ativação do SAT - restrição qto ao PC was marked as the answer   
    Não... O processo de ativação do SAT não envolve informações do PC... Ou seja a ativação do SAT pode ser feita em qq máquina, o certificado do SAT é instalado pelo SEFAZ, por comunicação http
    Recomendo ler a Especificação Técnica do SAT
  2. Daniel Simoes's post in Quais DLL´s usar? was marked as the answer   
    A especificação do SAT não determina o nome padrão das DLLs... Mas geralmente é SAT.dll
    o que ocorre, é que muitas vezes essa DLL depende de outras para funcionar ( compilação com link dinâmico). Somente o fabricante pode afirmar com certeza a árvore de dependência 
    A versão em bits, da DLL, deve ser idêntica à do seu EXE... Se você compila seu binário em 32 bits... Então DEVE usar DLLs 32 bits
    Eu recomendo copiar todas as DLLs na mesma pasta do seu EXE, para evitar conflitos de outras aplicações 
  3. Daniel Simoes's post in Tampa aberta was marked as the answer   
    Não... O ACBrECF não trabalha por eventos, como o JPOS... Isso exigiria muita comunicação serial com o equipamento... (Pooling)
    Tudo que o ACBrECF faz, é retornar o erro do ECF para a aplicação... Não há um formato de erro padrão... E nem todos os ECFs se comportam da mesma maneira 
    A única certeza é saber se o comando foi executado com sucesso ou não 
    Veja o ACBrFramework... Se não me engano eles suportam Java
  4. Daniel Simoes's post in Ler Totais Alíquotas MP-4200 TH FI was marked as the answer   
    Até onde sei, é um Bug da Bematech (o qual eu já reportei), e continua até hoje...
    Complicado... Mudar isso agora, no Sw.Básico do ECF, poderia quebrar aplicações que já se ajustaram a esse bug...
  5. Daniel Simoes's post in Pos printer fila de impressão was marked as the answer   
    Você usa a porta como compartilhamento do Windows, correto ?
    nesse caso o Spool do Windows sempre responderá como impressão Ok
    talvez seja necessário usar uma porta física...
    Se a distancia for grande, tente um dispositivo, adaptador TCP/Serial 
    observe ainda que o ACBrPosPrinter suporta nativamente portas TCP ( veja exemplo no Demo )... se a impressora vier com porta TCP, isso pode se uma opção...
     
  6. Daniel Simoes's post in Erro Daruma FS700 - Emitir cupom vinculado was marked as the answer   
    De acordo com  o seu log, o comando correto seria:
    ECF.abrecupomvinculado("15256","04",70.00) O numero do COO é String, e a forma de pagamento está diferente do valor informado no comando " EfetuaPagamento", do cupom anterior...
  7. Daniel Simoes's post in Função LinhaRelatorioGerencial was marked as the answer   
    Isso é um Bug do Emulador... ele não consegue "compreender" os comandos de quebra de linha...mas não ocorrerá no ECF real...
    Mas notei que esse ECF suporta 49 caracteres, e a classe configura o numero de colunas para 48.
  8. Daniel Simoes's post in Erro ao instalar ACBrNFe no Lazarus x64 was marked as the answer   
    Um dos principais problemas é achar DLLs do XMLSec para 64 bits...
    Use o Lazarus/FPC 32... compilar em 32 bits não torna o programa incompatível com Windows 64 bits
  9. Daniel Simoes's post in Parâmetros NFE.ImprimirDanfe was marked as the answer   
    Oi Ricardo,
    Realmente a documentação, está "capenga", nesse comando...
    Envie "1" para ativar ou "0" para desativar...
    O primeiro diz que a via a ser impressa, será a via do consumidor (NFCe)... o Segundo, imprime o DANFE da NFCe de forma simplificada (sem os itens)
  10. Daniel Simoes's post in CEP was marked as the answer   
    Erro 500 geralmente é Proxy oy Firewall
     
  11. Daniel Simoes's post in Fim do Papel Epson TM T81F was marked as the answer   
    Use a força... leia os fontes...
    // É Envio de Resposta Intermediária ? if (LeftStr(Retorno,7) = #2 + #128 + #3 + '0085') then begin Retorno := Copy(Retorno, 8, LenRet ); LenRet := Length(Retorno) ; fsBytesIn := LenRet; Result := BlocoEValido ; // Re-avalia o Retorno restante GravaLog( Space(16) + 'RI' + IfThen(Result,'+','-'), True ); // NOTA: No caso de FIM DE PAPEL, o ECF Epson pode ficar retornando // resposta intermediária indefinidamente, o que causa um Loop Infinito. // Segundo suporte da Epson não há solução possível no momento. // Detectado que o mesmo problema pode ocorrer com a DLL do Fabricante end ;  
  12. Daniel Simoes's post in Erro de Carregar ACBR was marked as the answer   
  13. Daniel Simoes's post in SAT.atualizarsoftware was marked as the answer   
    Nos fontes o comando foi mapeado como:  "atualizasoftware" (sem o r)
    Vou criar um mapeamento para o nome original do método: "AtualizarSoftwareSAT"
  14. Daniel Simoes's post in Melhoria no método FormtarCEP was marked as the answer   
    Não me agrada modificar a assinatura dos métodos existentes... a não ser que seja realmente necessário...
    Nesse caso, preferi um código que seja capaz de detectar como o CEP deve ser alinhado, de acordo com o seu tamanho...
    function FormatarCEP(const AValue: String): String; Var S : String ; begin S := OnlyNumber(AValue); if Length(S) < 5 then S := PadLeft( S, 5, '0'); // "9876" -> "09876" if Length(S) = 5 then S := PadRight( S, 8, '0') // "09876" -> "09876-000"; "18270" -> "18270-000" else S := PadLeft( S, 8, '0') ; // "9876000" -> "09876-000" Result := copy(S,1,5) + '-' + copy(S,6,3) ; end; (Já está no SVN)
  15. Daniel Simoes's post in Como informar tiPagNaoIntegrado no ini para o AcbrMonitorPlus? was marked as the answer   
    [PAG001] tpag=03 vPag=100 tpIntegra=2  
  16. Daniel Simoes's post in Seq. 27 SiTef - Tratamento de queda de energia - Comportamento ao inicializar was marked as the answer   
    Leia as observações do TEFDDemo...
    Leia o último Documento Gravado no seu Banco de Dados, e verifique se o Cupom já foi finalizado,ou se já foi aberto um CCD ou Gerencial...Exemplo:
    procedure TForm1.ACBrTEFD1InfoECF(Operacao : TACBrTEFDInfoECF; var RetornoECF : String ); var ASubTotal: Double; begin try if not ACBrECF1.Ativo then ACBrECF1.Ativar ; except { Para CliSiTEF ou V&SPague aplique o IF abaixo em sua aplicação, que permite saber se o Cupom foi concluido mesmo com o ECF desligado } if (not ACBrTEFD1.TEF.Inicializado) and { Está na inicialização ? } (Operacao = ineEstadoECF) and { Quer Saber o estado do ECF ? (mas se chegou aqui é pq o ECF já está com problemas) } (ACBrTEFD1.GPAtual in [gpCliSiTef,gpVeSPague]) then begin { Leia o último Documento Gravado no seu Banco de Dados, e verifique se o Cupom já foi finalizado,ou se já foi aberto um CCD ou Gerencial... Exemplo: Documento.Le(0); if (Documento.Finalizado) or (pos(Documento.Denominacao,'CC|RG') > 0) then RetornoECF := 'R' else RetornoECF := 'O' ; } //RetornoECF := 'O'; // Executará CancelarTransacoesPendentes; RetornoECF := 'R'; // Executará ConfirmarESolicitarImpressaoTransacoesPendentes; exit ; end ; raise ; end; ......  
  17. Daniel Simoes's post in Janela do ACBrMonitorPlus restaurando a cada NF gerada was marked as the answer   
    Você deve ter marcado a opção "Mostrar Preview antes da impressão"
  18. Daniel Simoes's post in Perda de informação no corpo do relatorio gerencial was marked as the answer   
    Modifiquei essa rotina para não depender do TStringList...
    Enviei uma possível correção para o SVN
    Tb achei um Bug na impressão de Cod.Barras de ecfEscfECf no Delphi... enviei uma possível correção...
  19. Daniel Simoes's post in Horário do relógio interno do SAT was marked as the answer   
    O proprio SAT atualiza seu relógio... se isso não está ocorrendo, pode ser problema de acesso na porta do NTP... Extraia o Log do SAT e verifique...
  20. Daniel Simoes's post in Validação do Numero do Cheque invalido was marked as the answer   
    O correto não seria  654-8 ??
  21. Daniel Simoes's post in Adaptação das units OpenSSL para carregamento Dinâmico was marked as the answer   
    Muito obrigado pela analise e ajuda... já está no SVN...
    Lembrando que para usar a Carga Tardia com DELAYED é necessário:
    Ter Delphi 2010  ou superior (não funciona no Lazarus/FPC) Ativar a diretiva USE_DELAYED no ACBr.inc {.$DEFINE USE_DELAYED} // DESATIVADA {$DEFINE USE_DELAYED} // ATIVADA  
  22. Daniel Simoes's post in Impressao do Extrato em Rede was marked as the answer   
    Informa na Porta algo como:
    \\nome_ou_ip_computador\nome_compartilhamento_impressora
    Evite nomes de compartilhamento muito longos ou com espaços 
  23. Daniel Simoes's post in Obrigatoriedade do DAV e PRÉ-VENDA was marked as the answer   
    Na verdade o entendimento dos homologadores, é de que a aplicação PAF-ECF é uma única solução...
    Ou seja, no momento da certificação, o PAF-ECF deve ser capaz de gerar o DAV/Prevenda, independente do retaguarda (ERP)
    Eu recomendo nem falar de importação de DAV do ERP pelo PAF-ECF... caso contrário, o certificador irá querer ver se a tela do ERP, onde é gerado o DAV, atende os requisitos do PAF-ECF
  24. Daniel Simoes's post in Erro De Dll was marked as the answer   
    Isso ocorre quando a libeay32.dll e ssleay32.dll tem versões diferentes entre si...
    Copie sempre o par
     
  25. Daniel Simoes's post in Erro de Emissao was marked as the answer   
    O total está correto... provavelmente você não está considerando o arredondamento da ABNT nos itens... veja o ultimo item
    4,05 X 1,50 = 6,075 ... que arredondado pela ABNT será 6,08
    Truncamento apenas é permitido em combustível...  leia a Especificação Técnica do SAT
     
×
×
  • 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.