Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    27.060
  • Registro em

  • Última visita

  • Days Won

    759

Tudo que Daniel Simoes postou

  1. Você também receberá o Desconto no evento: ACBrTEFD.OnComandaECFSubtotaliza(DescAcre: Double; var RetornoECF: Integer); Onde você precisa somar o seu desconto (se houver)...
  2. Em teoria não é necessário usar o ACBrECF para usar o ACBrTEFD... Observe que o Pacote do TEFD não tem dependência do ACBrSerial... Sempre que o TEFD precisa de alguma informação ou comandar algo no ECF, ele dispara algum evento, e nunca chama o ACBrECF diretamente... Pode ser que dê algum trabalho para achar equivalência dos comandos do ACBrECF para os da DLL do fabricante... mas na minha opinião, SIM, é possível usar o ACBrTEFD com as DLLs dos fabricantes...
  3. No Log que você postou, fica claro que o SiTEF não enviou mensagem para ser exibida... e encerrou o loop com o erro -43 Se você verificar no manual: SiTef - Interface Simplificada com a aplicação(VRS-133).pdf o erro -43 é descrito como: Problema na execução de alguma das rotinas no pinpad. Provavelmente você não copiou as DLLs que manipulam o PinPad (libemv.dll e libseppemv.dll) na mesma pasta onde está a CliSiTef32I.dll
  4. Não existe mais o antigo TEF discado... Mas se você não quer migrar para um TEF dedicado (Ex: SiTef) pode usar produtos que são compatíveis com a arquitetura dele... como o já citado Pay&Go... mesmo a Sw.Express tem o "Client Modular" (que não é 100% compatível com o antigo discado)
  5. Acho que seria melhor voltar ao problema original... Você diz que não aparece a mensagem de retentar padrão do TEF e sim um Exception ? Poderia postar o LOG gerado pelo ACBrTEFD ? Se SIM, pode reproduzir o problema e descrever um passo a passo usando o TEFDDemo ? (por favor descreva como configura-lo) Veja que muitas pessoas já homologaram com ACBrTEFD e Bematech (eu mesmo sou uma delas)... então acho difícil a probabilidade de erros nos fontes... Entretanto se conseguirmos reproduzir o problema no TEFDDemo, então temos algo para investigar e tentar corrigir..
  6. O problema é que a CliSiteTef Modular tenta emular o G.P. discado... e nele, não é possível ter mais de uma transação pendente por cupom... Ou seja, a primeira transação precisa ser confirmada (mesmo antes da impressão), para poder processar a segunda solicitação.... Para Cancelar tudo, é preciso enviar um NCN (não confirmação) para a transação em aberto, e um CNC (Cancelamento) para a transação já confirmada... O CNC (cancelamento) irá fazer várias perguntas e solicitar novamente o cartão, e imprimir um comprovante de Cancelamento em um Rel.Gerencial... Esse é um dos principais motivos, de que não vale a pena, usar Gerenciadores Padrão que emulam o discado...
  7. Perfeito... O Saque aparecerá como TROCO no cupom fiscal
  8. Nada é padrão no CNAB... o Tamanho da conta varia por Banco e até mesmo por Carteira do mesmo Banco em alguns casos...
  9. O comando acima está correto... O que o ACBrECF faz nesse bloco, é verificar se o ECF tem a capacidade de identificar o consumidor no rodapé... A Bematech por exemplo, não permite, porém como esse post mesmo diz... a SwedaSTX consegue fazer isso... Se o ECF não suportar a identificação do consumidor no rodapé, o ACBrECF a fim de minimizar a perda de informações, adiciona as informações do consumidor no Rodapé do Cupom... Porém vale lembrar que isso NÃO ATENDE OS PROGRAMAS DE CIDADANIA (Ex: Nota Fiscal Paulista)... Pois o CPF não foi impresso em área específica para identificação do consumidor... Ou seja, o texto do Cliente impresso nas 8 linhas de Rodapé, não irá gerar o arquivo com o CPF do cliente corretamente Veja o FechaCupom da SwedaSTX procedure TACBrECFSwedaSTX.FechaCupom(Observacao: AnsiString; IndiceBMP : Integer); begin if not Consumidor.Enviado and (Trim(Consumidor.Documento) <> '') then { Tem Docto ? } begin EnviaComando('12|'+LeftStr(Consumidor.Documento ,20)+'|'+ LeftStr(Consumidor.Nome ,30)+'|'+ LeftStr(Consumidor.Endereco ,79)+'|1') ; Consumidor.Enviado := True ; end ; AguardaImpressao := True ; EnviaComando( '07|' + LeftStr( Observacao,800) ) ; end; Ou seja, o Cliente será identificado, com o comando correto, (12) e não irá consumir as 8 linhas do Rodapé do Cupom O mesmo ocorre da Daruma... onde será usado o comando 201 para identificar o cliente... Observe ainda que esse comando foi enviado no seu Log Certeza que o consumidor não está sendo impresso ? Se realmente não... tente com o Demo do fabricante...
  10. Leu o link indicado no post anterior ??? A resposta está nele....
  11. Não tenho a menor ideia... como já respondi antes, não tenho esse equipamento nem o manual dele...
  12. Na ACBrUtil existe o método: function TiraAcentos( const AString : String ) : String ;
  13. Obrigado por compartilhar a solução...
  14. Se você modificar nesse ponto, pode quebrar o código de todas as classes de ECF... Você pode chamar: ACBrECF.ArquivoMFD_DLL diretamente, com os parâmetros que achar necessário...
  15. use o modelo ecfSwedaSTX
  16. Anexe o LOG gerado pelo ACBrECF... Aparentemente você está omitindo um campo obrigatório, como por exemplo o código do produto
  17. Por favor não poste a mesma dúvidas em vários tópicos... Alias, para uma duvida nova, abra um novo tópico... Leia as regras do forum: http://www.projetoacbr.com.br/forum/index.php?/forum-7/announcement-1-sim-n%C3%B3s-temos-regras/
  18. Pode ser que seja necessária alguma configuração no equipamento... Não tenho mais o manual do protocolo Serial da "Perto"... o comando atual de envio de impressão é: Const cCmdImpCheque = ';9' ; pode ser que existam outros comandos que procedam da maneira que vc deseja... Se for o caso basta ajusta-lo usando um TypeCast TACBrCHQPerto( ACBrCHQ1.CHQ ).CmdImpCheque := 'XX' ;
  19. A única explicação para esse erro é: "Configuracao.ModeloImpressora" ter o valor -1... Ou seja, é algo no seu aplicativo...
  20. Verifique se o protocolo dessa Balança é compatível com os descritos nos fontes de ACBrBALToledo.pas (veja as Linhas 103 e 140) Tente também o modelo: balToledo2180
  21. Você está usando o ACBrInstall ? (ele facilita a instalação) O ACBrDevice faz parte do pacote ACBrSerial.dpk, ele também precisa ser instalado
  22. Estude os fontes do Projeto Demo do ACBr (SATTeste.dpr) Veja um trecho do método: TForm1.mGerarVendaClick(Sender : TObject) ; with Det.Add do begin nItem := 2; Prod.cProd := '6291041500213'; Prod.cEAN := '6291041500213'; Prod.xProd := 'Outro produto Qualquer, com a Descrição Grande'; Prod.CFOP := '5529'; Prod.uCom := 'un'; Prod.qCom := 1.1205; Prod.vUnCom := 11.210; Prod.indRegra := irTruncamento; Prod.vOutro := 2; TotalItem := (Prod.qCom * Prod.vUnCom); Imposto.vItem12741 := TotalItem * 0.30; Imposto.ICMS.orig := oeNacional; Imposto.ICMS.CST := cst40; Imposto.PIS.CST := pis03; Imposto.PIS.qBCProd := TotalItem; Imposto.PIS.vAliqProd := 1.0223; Imposto.PISST.qBCProd := TotalItem; Imposto.PISST.vAliqProd := 1.0223; Imposto.COFINS.CST := cof03; Imposto.COFINS.qBCProd := TotalItem; Imposto.COFINS.vAliqProd := 1.0223; //Imposto.COFINSST.qBCProd := 503.6348; //Imposto.COFINSST.vAliqProd := 779.4577; end;
  23. Não compreendi a pergunta.... Quais Campos ?? Chegou a ver a unit pcnCFe.pas
  24. Provavelmente o fabricante tenha um Software para ativar o SAT... mas nada impede que a sua aplicação também faça a chamada ao método "AtivarSAT" da DLL... Veja mais detalhes no manual Especificacao_SAT_v_ER_2_8_5.pdf item 6.1.1.1. AtivarSAT – Descrição e Parâmetros
×
×
  • 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.

The popup will be closed in 10 segundos...