Ir para conteúdo
  • Cadastre-se

CleitonMaciel

Membros
  • Total de ítens

    96
  • Registro em

  • Última visita

Tudo que CleitonMaciel postou

  1. Obrigado Daniel, mexi mexi olhei olhei, depurei um monte mas achei. Muito sutil o erro, ineTotalAPagar : RetornoECF := FloatToStr( vTotalPagoTEF ); // não pode passar valor na variável pois o tef será do saldo residual do ecf Comi muita mosca mas desengasguei. Obrigado.
  2. Olá Daniel como vai? Bom, estou seguindo seu conselho nesse post. Seguinte esta é a minha primeira homologação TEF e estou adaptando meu PAF-ECF pra isso. Tenho uma pequena dúvida. Fiz todo o ritual de venda. ABRE CUPOM VENDE ITEN blz estou gravando os pagamentos em buffer. estou fazendo teste por enquanto com 1 plano só por enquanto e estou enganchado. ao finalizar a venda ele passa no InfoECF e esta me retornando a mensagem de: Operação TEF deve ser limitada ao Saldo restante a Pagar. Sendo que tenho apenas o valor do tef pendente no ECF não entendo por que ele esta retornando isso. Não subtotalizei, informei pagamento nem nada, deixei pro componente auto finalizar. Sinceramente vendo o demo e vendo o que estou fazendo não estou conseguindo ver que detalhe esta faltando. log: -- 07/02 01:00:41:571 - InfoECF: ineEstadoECF -- 07/02 01:00:41:879 - Ret: V -- 07/02 01:00:41:892 - InfoECF: ineSubTotal -- 07/02 01:01:26:342 - Ret: 145 -- 07/02 01:02:04:985 - InfoECF: ineTotalAPagar -- 07/02 01:02:04:988 - Ret: 145 -- 07/02 01:11:24:582 - InfoECF: ineEstadoECF -- 07/02 01:11:24:871 - Ret: V -- 07/02 01:11:24:874 - InfoECF: ineSubTotal -- 07/02 01:11:30:418 - Ret: 145 Descobri que no evento InfoECF na verificação: ineTotalAPagar : RetornoECF := FloatToStr( vTotalPagoTEF ); minha variável vTotalPagoTEF estava zerada. Passei o valor pra ela mas mesmo assim retorna a mesma mensagem Operação TEF deve ser limitada ao Saldo restante a Pagar. atualização do log. -- 07/02 01:27:22:444 - InfoECF: ineEstadoECF -- 07/02 01:27:22:756 - Ret: V -- 07/02 01:27:22:781 - InfoECF: ineSubTotal -- 07/02 01:28:33:576 - Ret: 145 -- 07/02 01:28:36:036 - InfoECF: ineTotalAPagar -- 07/02 01:28:36:042 - Ret: 145 -- 07/02 01:31:20:568 - InfoECF: ineEstadoECF -- 07/02 01:31:20:863 - Ret: V -- 07/02 01:31:20:868 - InfoECF: ineSubTotal -- 07/02 01:31:33:821 - Ret: 145 -- 07/02 01:32:05:687 - InfoECF: ineTotalAPagar -- 07/02 01:32:05:690 - Ret: 145 -- 07/02 01:37:18:375 - InfoECF: ineEstadoECF -- 07/02 01:37:18:598 - Ret: V -- 07/02 01:37:18:601 - InfoECF: ineSubTotal -- 07/02 01:37:27:770 - Ret: 145 -- 07/02 01:37:30:830 - InfoECF: ineTotalAPagar -- 07/02 01:37:37:675 - Ret: 145 -- 07/02 01:38:24:761 - InfoECF: ineEstadoECF -- 07/02 01:38:25:023 - Ret: V -- 07/02 01:38:25:026 - InfoECF: ineSubTotal -- 07/02 01:38:28:886 - Ret: 145 -- 07/02 01:38:34:333 - InfoECF: ineTotalAPagar -- 07/02 01:38:45:613 - Ret: 145
  3. Bom, Solicitei o cabo de comunicação para a assistência técnica da bematech e meu problema foi resolvido.
  4. Então colega qual foi a solução? O que você relatou acabou de ocorre comigo também, não sei o que esta havendo! o ECFTeste não comunica com a Impressora fiscal. O WinTFI acessa e imprime a LX por exemplo. Mas o Acbr não comunica. Bematech MP-2100 TH FI.
  5. entendi agora... obrigado grande Regys
  6. Ta dentro do loop... if FileExists(pNomeArquivo) then DeleteFile(pNomeArquivo); PreencherHeader(ACBrPAF.PAF_D.RegistroD1); // preencher header do arquivo ACBrPAF.PAF_D.RegistroD2.Clear; while not QDav.Eof do begin D2 := ACBrPAF.PAF_D.RegistroD2.New; D2.NUM_FAB := emSerialECF; D2.MF_ADICIONAL := LetraMFAds; D2.TIPO_ECF := emTipoECF; D2.MARCA_ECF := emMarcaECF; D2.MODELO_ECF := emModeloECF; if GeraLerMD5_Tabela_Dados(1,QDav.FieldByName('dav').AsInteger,0,'ORCAMENTO','','', Dados.Vendas_GDB,Dados.Transacao) then D2.RegistroValido := True // diz quando o registro foi modificado no banco else D2.RegistroValido := False; D2.COO := QDav.FieldByName('COO').AsString; D2.NUM_DAV := ZeroEsquerda(QDav.FieldByName('dav').AsString,13); D2.DT_DAV := QDav.FieldByName('emissao').AsDateTime; D2.TIT_DAV := 'ORCAMENTO'; D2.VLT_DAV := QDav.FieldByname('total_liquido').AsCurrency; D2.COO_DFV := QDav.FieldByName('COO').AsString; D2.NUMERO_ECF := Copy(numECF,2,3); D2.NOME_CLIENTE := QDav.FieldByName('NOME').AsString; D2.CPF_CNPJ := FiltraNumero(QDav.FieldByName('CNPJ').AsString); QDav.Next; end; qDavIte := TMDOQuery.Create(nil); qDavIte.Database := Dados.Vendas_GDB; qDavIte.Transaction := Dados.IBVendas; if FileExists(pNomeArquivo) then DeleteFile(pNomeArquivo); PreencherHeader(ACBrPAF.PAF_D.RegistroD1); // preencher header do arquivo ACBrPAF.PAF_D.RegistroD2.Clear; while not QDav.Eof do begin D2 := ACBrPAF.PAF_D.RegistroD2.New; D2.NUM_FAB := emSerialECF; D2.MF_ADICIONAL := LetraMFAds; D2.TIPO_ECF := emTipoECF; D2.MARCA_ECF := emMarcaECF; D2.MODELO_ECF := emModeloECF; D2.COO := QDav.FieldByName('COO').AsString; D2.NUM_DAV := ZeroEsquerda(QDav.FieldByName('dav').AsString,13); D2.DT_DAV := QDav.FieldByName('emissao').AsDateTime; D2.TIT_DAV := 'ORCAMENTO'; D2.VLT_DAV := QDav.FieldByname('total_liquido').AsCurrency; D2.COO_DFV := QDav.FieldByName('COO').AsString; D2.NUMERO_ECF := Copy(numECF,2,3); D2.NOME_CLIENTE := QDav.FieldByName('NOME').AsString; D2.CPF_CNPJ := FiltraNumero(QDav.FieldByName('CNPJ').AsString); if GeraLerMD5_Tabela_Dados(1,QDav.FieldByName('dav').AsInteger,0,'ORCAMENTO','','', Dados.Vendas_GDB,Dados.Transacao) then D2.RegistroValido := True // diz quando o registro foi modificado no banco else D2.RegistroValido := False; QDav.Next; end; qDavIte := TMDOQuery.Create(nil); qDavIte.Database := Dados.Vendas_GDB; qDavIte.Transaction := Dados.IBVendas; qDavIte.First; while not qDavIte.Eof do begin with D2.RegistroD3.New do begin DT_INCLUSAO := qDavIte.FieldByName('data_inclusao').AsDateTime; NUM_ITEM := qDavIte.FieldByName('nitem').AsInteger; COD_ITEM := ZeroEsquerda(qDavIte.FieldByName('produto').AsString,14); DESC_ITEM := qDavIte.FieldByName('descricao').AsString; QTDE_ITEM := qDavIte.FieldByName('qtde').AsCurrency; UNI_ITEM := qDavIte.FieldByName('un').AsString; VL_UNIT := qDavIte.FieldByName('vlunit').AsCurrency; if qDavIte.FieldByName('desconto').AsFloat < 0 then xDesc := qDavIte.FieldByName('desconto').AsFloat * (-1) else xDesc := qDavIte.FieldByName('desconto').AsFloat; VL_DESCTO := xDesc; VL_ACRES := qDavIte.FieldByName('acrescimo').AsCurrency; VL_TOTAL := qDavIte.FieldByName('vliquido').AsCurrency; SIT_TRIB := qDavIte.FieldByName('cst').AsString; ALIQ := qDavIte.FieldByName('aliq').AsCurrency; IND_CANC := qDavIte.FieldByName('canc').AsString; DEC_QTDE_ITEM := 4; DEC_VL_UNIT := 4; if GeraLerMD5_Tabela_Dados(1,qDavIte.FieldByName('cod_venda').AsInteger,qDavIte.FieldByName('produto').AsInteger,'ORC_ITENS','','', Dados.Vendas_GDB,Dados.Transacao) then RegistroValido := True else RegistroValido := False; end; qDavIte.Next end;
  7. Galera peguei o exemplo do ACBrPAF pra gera meu arquivo de DAVs emitidos mas percebi que ele não pega a numeração do DAV, ele pega uma e repete ela em todos os registros D3. Não entendi como ele faz essa amarração com o registro D2, no exemplo mesmo ele poem vários DAVs com a numeração ZERADA, depois ele faz uma sequência alguém aqui pode me ajudar nessa questão? Grande abraço....
  8. CleitonMaciel

    capturar RZ daruma

    Galera to com outro problema, poxa é brincadeira... Então uso as funções pra capturar a RZ ele pega todas as informações blz... mas quando vou imprimir a RZ na daruma ele da erro. E não imprime a RZ Resp := VendaRapida.CupomFiscal.DadosReducaoZ ; AIni := TMemIniFile.Create( VendaRapida.CupomFiscal.DadosReducaoZ); uso os dois comandos acima. depois que captura grava as informações no R60 e R60a ele imprime a RZ dando erro de violação de acesso. Debug na rotina onde ele imprime a Z no Acbr ocorre o erro exatamente no comando procedure TACBrECF.ReducaoZ(DataHora: TDateTime); Var RedZ : AnsiString ; Est : TACBrECFEstado ; Tratado : Boolean; begin ComandoLOG := 'ReducaoZ( '+DateTimeToStr(DataHora)+' )' ; Est := Estado ; <<<<<<<<<<<<<<< AQUI if RFDAtivo then begin fsRFD.VerificaParametros ; RedZ := DadosReducaoZ ; { Salva antes, pois alguns ECFs zeram valores após a Z } end ; onde guarda o status do ecf... em algum momento ele esta perdendo isso.. queria saber se alguém por ai já passou por esse problema... Valeu...
  9. Eu vi não havia atualizado o componente ainda.... obrigado
  10. Eita se eu consegui modificar os fontes do acbr onde imprimi o meio de pagamento para o novo ER PAF 1.12 libero aqui pro pessoal avaliar... se alguém já fez por favor da um sinal de fumaça...
  11. Consegui resolver valeu mesmo. Esqueci de dizer que estava usando emulador.. Mas obrigado de qualquer forma pela ajuda... grande abraço.
  12. Pelo menos esta imprimindo o arquivo... o problema vai ser o comando para impressão do relatório gerencial MEIOS DE PAGAMENTO Período Solicitado de 28/08/2012 a 28/08/2012 DATA DE ACUMULAÇÃO: 28/08/2012 Identificação Tipo Valor R$ --------------- ------------------- ------------ CARTAO CREDITO CUPOM FISCAL 306,70 CARTAO DEBITO CUPOM FISCAL 212,57 CREDIARIO CUPOM FISCAL 1.584,43 CREDIARIO NOTA FISCAL 940,03 DINHEIRO CUPOM FISCAL 427,63 DINHEIRO NOTA FISCAL 392,75 Sub-Total 3.864,11 TOTAL GERAL Período Solicitado de 28/08/2012 a 28/08/2012 Identificação Valor R$ --------------------------- -------------------- CARTAO CREDITO 306,70 CARTAO DEBITO 212,57 CREDIARIO 2.524,46 DINHEIRO 820,38 TOTAL 3.864,11
  13. Fiz a mudança que você passou mas mesmo assim não funcionou... Li que alguns colegas imprimiram sem problemas.. agora não to entendo o motivo de não funcionar... será que tem algum problema quanto ao PLANO DE PAGAMENTO??
  14. Galera blz? To aqui na peleja pra homologar meu sistema. To com dificuldade no PafMF_RelMeiosPagamento. Estou fazendo como no ECFTeste FormasPagamento := TACBrECFFormasPagamento.Create; while not Q2.Eof do begin with AcbrECF.FormasPagamento.New do begin Descricao := Q2.FieldByName('descricao').AsString; Data := Q2.FieldByName('data').AsDateTime; Total := Q2.FieldByName('valor').AsCurrency; TipoDoc := Q2.FieldByName('tipodoc').AsString; ShowMessage(Descricao+#13+ DateToStr(Data)+#13+ FloatToStr(Total)+#13+ TipoDoc); end; Q2.Next; end; AcbrECF.PafMF_RelMeiosPagamento( FormasPagamento, 'Período Solicitado de '+DateToStr(dtIni)+' a '+DateToStr(dtFin), 0 ); coloquei o showmessage pra ver se realmente os valores estão sendo enviado para o comando e os valores estão sendo retornado mas não sai nada no ecf sai da seguinte forma ======================================================== MEIOS DE PAGAMENTO ======================================================== Período Solicitado de 28/08/2012 a 28/08/2012 -------------------------------------------------------- Sub-Total 0,00 NÃO É DOCUMENTO FISCAL TOTAL GERAL Período Solicitado de 28/08/2012 a 28/08/2012 Identificação Valor R$ --------------------------- -------------------- -------------------------------------------------------- TOTAL 0,00 Estranho que no próprio DEMO também não sai nada... Galera da uma força ai... Outra coisa tem dados no período selecionado... abraço.
  15. Pode deixar vou da outra olhada e verificar o que esta ocorrendo.. valeu pela atenção... obrigado grande abraço...
  16. Veja a imagem que tirei do Demo do ACBrNFe. ocorre o mesmo problema que o meu... será que não é algum problema nos fontes do ACBrNFe. Abraço....
  17. NCM estava faltando mesmo, mas o problema que mensionei é tag da UFCons.. o que pode esta ocorrendo sendo que preenchimento das informaões estão lá.. cProdANP := qIte.FieldBYName('cod_anp').AsInteger; qTemp := qIte.FieldByName('QUANTIDADE').AsFloat; ICMSCons.UFcons := emUF; ShowMessage(ICMSCons.UFcons); <<<<< aquie ele me mostra o valor da tag mas nao grava no xml. - 820101003 10000.0000
  18. Olá anfm, cara hoje não sei o que houve, meu cliente que é distribuidor esta ocorrendo o erro: eu coloquei um aviso do campo ICMSCons.UFcons; ele me mostra o valor dessa propriedade. mas não grava no xml. as informações cProdANP, qTemp estão lá no xml com seus devidos valores... o que esta ocorrendo é algum problema no ACBrNFe mesmo estou usando a versao 2.0 Windows 7 Delphi 7 Abraço..
  19. Confirme com o contador do seu cliente, os contadores dos meus clientes me passaram que esta tag deve ser usada apenas por distribuidoras. Fazendo alguns testes aqui, me apareceu o mesmo erro por acoso você a solução no ACBrNFe? O meu cliente é distribuidor, informo o CODANP, UFCONS, QTEMP no xml mas na validação é recusada por causa do campo UFCONS que não é gravado no XML.
  20. Siga os passo desse tópico que você irá instalar o ACBr no DELPHI 2010 sem problema algum. viewtopic.php?f=5&t=22
  21. Olá o Daniel esta certo reveja seus PATH, eu também tive esse mesmo problema. Fiz o mesmo exemplo que ele havia passado antes. já tinha feito no xp e funcionou normal e agora coloquei o windows 7 e apenas alterei os PATHs. DELPHI7.bat @ECHO OFF ECHO ********************************************************* ECHO ** Iniciando Delphi 7 ** ECHO ********************************************************* ECHO. PATH=C:\Program Files\Borland\Delphi7\Bin;C:\Program Files\Borland\Delphi7\Projects\Bpl\;%PATH% ECHO ********************************************************* ECHO NOVO PATH = %PATH% CD "C:\Program Files\Borland\Delphi7\Bin\" start delphi32.exe DELPHI2010.bat @ECHO OFF ECHO ********************************************************* ECHO ** Iniciando Delphi 2010 ** ECHO ********************************************************* ECHO. PATH=C:\Program Files\Embarcadero\RAD Studio\7.0\bin;C:\Users\Public\Documents\RAD Studio\7.0\Bpl;%PATH% ECHO ********************************************************* ECHO "NOVO PATH =" %PATH% cd "C:\Program Files\Embarcadero\RAD Studio\7.0\bin" START bds.exe -pDelphi Observe os PATHS.... espero que resolva seu 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.