CleitonMaciel
Membros-
Total de ítens
96 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que CleitonMaciel postou
-
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.
-
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
-
Bom, Solicitei o cabo de comunicação para a assistência técnica da bematech e meu problema foi resolvido.
-
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.
-
entendi agora... obrigado grande Regys
-
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;
-
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....
-
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...
-
Eu vi não havia atualizado o componente ainda.... obrigado
-
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...
-
Consegui resolver valeu mesmo. Esqueci de dizer que estava usando emulador.. Mas obrigado de qualquer forma pela ajuda... grande abraço.
-
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
-
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??
-
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.
-
Pode deixar vou da outra olhada e verificar o que esta ocorrendo.. valeu pela atenção... obrigado grande abraço...
-
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....
-
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
-
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..
-
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.
-
É possível instalar o ACBr no Delphi 2010?
CleitonMaciel replied to Marcelo Pomarolli's tópico in Dúvidas Gerais sobre o ACBr
Siga os passo desse tópico que você irá instalar o ACBr no DELPHI 2010 sem problema algum. viewtopic.php?f=5&t=22 -
ACBR com Delphi7 e Delphi 2010 Mesma Máquina
CleitonMaciel replied to Gilson-Prodabit-'s tópico in Dúvidas Gerais sobre o ACBr
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.