Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

  #Este é um post fechado

Este post está disponível somente para quem possui Créditos DevMedia. (Ele não está associado a nenhuma publicação DevMedia). Clique aqui para saber mais sobre como visualizar este post!




Video: Arquivo de Movimento por ECF - Curso PAF - ECF com Delphi 7 e Dlls dos fabricantes - Aplicação Completa - Parte 23

Neste vídeo aula vamos criar um dos mais trabalhosos arquivos do menu fiscal, que é o “MOVIMENTO POR ECF”. Neste arquivo, como o próprio nome diz, tem informações de tudo que foi movimentado no ECF.

GLB: 1

Tempo: 28:53

 

Resumo: Neste vídeo aula vamos criar um dos mais trabalhosos arquivos do menu fiscal, que é o “MOVIMENTO POR ECF”. Neste arquivo, como o próprio nome diz, tem informações de tudo que foi movimentado no ECF. Este arquivo é composto por 7 registros que vão do R01 ao R07, onde o R01 trata das informações do modelo, tipo, serial e outras informações do ECF. Nos registros R02 e R03 tem informações da redução Z. Os registros R04 e R05 com informações dos cupons fiscais. O R06 com informações de documentos emitidos e por fim o R07 que tem informações das formas de pagamento usadas.

 

Metodologia de desenvolvimento do exemplo: Aplicação Windows

 

Tecnologias utilizadas: Delphi 7, Firebird 2.1.

 

Exemplos construídos: Criação da rotina para gerar o arquivo de Movimento por ECF.

 

Palavras chaves: PAF-ECF, TEF, ASSINATURA EAD, HOMOLOGAÇÃO.





    32 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



William De Carvalho Brazilino
Antes de mais nada, qro parabenizar pelos post, no qual mto tem m ajudado, foi uma luz na luz do tunel. Mas apenas ficou faltando a implementação da coleta dos dados da Redução z para as tabelas 60M e 60A. abcs !


em 19/9/2010 13:22 - Responder

 

[Comentário do autor]   Luis Carlos Godinho
Olá William!
 
Neste artigo eu falo sobre este ponto do sistema. Na realidado eu utilizo os comando da impressora para gerar as informações em arquivos TXT, e posteriormente realizo a leitura deste arquivo, gravando os dados nas devidas tabelas.
 
 
Comandos 60M:
 
Bematech_FI_RelatorioTipo60Mestre()
Daruma_FI_RelatorioTipo60Mestre()
ECF_RelatorioTipo60Mestre()
Elgin_RelatorioTipo60Mestre()
 
Comandos 60A:
 
Bematech_FI_RelatorioTipo60Analitico()
Daruma_FI_RelatorioTipo60Analitico()
ECF_RelatorioTipo60Analitico()
Elgin_RelatorioTipo60Analitico()
 
Abs!


em 20/9/2010 08:56 - Responder
 

Cleiton Maciel
Bom dia Luis, teria como você anexa algum arquivo txt da
rotina MovimentacaoECF, pra eu dar uma olhada.

Por que seguindo o layout para montar o R05 no item
17 Totalizador parcial

Código do totalizador relativo ao produto ou serviço conforme tabela.

Código determinado pela Secretaria da Fazenda conforme a Tabela de Códigos de Totalizadores Parciais.

parece que você saltou esse.

Fiquei sem enteder essa tabela e de como preencher isso..

Abraço.


em 24/3/2011 09:36 - Responder

 

[Comentário do autor]   Luis Carlos Godinho
Olá!

Não tenho como anexa o arquivo, mas Veja no linl abaixo:

http://www.fazenda.gov.br/confaz/confaz/atos/atos_cotepe/2008/ac006_08.htm

No Anexo VI no subitem 7.3.1.2 - Campo 07: Tabela de Códigos dos Totalizadores Parciais.

Abs!


em 24/3/2011 09:51 - Responder
 

Acomais Ltda
Fala Godinho!
entendi que as tabelas 60A e 60M você alimenta lendo os arquivos que a impressora retorna.
você não implementou isso no sistema paf? nao achei.
onde encontro o layout desses arquivos que a impressora gera?
valeu!!

Fernando.


em 12/5/2011 19:12 - Responder

 

[Comentário do autor]   Luis Carlos Godinho
Olá!

Veja no link abaixo na parte do registro R02 e R03. Há outros comando que podem ser usados para fazer esta rotina. Eu preferi usar estes.

http://www.devmedia.com.br/post-15465-Tutorial-PAF-ECF-Versao-0103-Gerando-arquivo-de-Movimento-por-ECF.html

Abs.!


em 13/5/2011 09:00 - Responder
 

  Acomais Ltda
Olá Godinho,
acho que não entendeu o que perguntei, vou tentar explicar melhor: vi no link que você postou como gerar os arquivos 60M e 60A por comandos da impressora. ok isso eu já consegui.
porem em qual parte do sistema você gera essa rotina de ler esses arquivos gerados e incluir nas suas tabelas de 60M e 60A?
foi isso que não achei, também não sei o layout desses arquivos para poder capturar. help!!
abraço!
Fernando.


em 13/5/2011 10:08 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Olá!

Os dados são retirados da Redução-Z, consequentemente, eu uso adicionar a rotina para capturar e gravar os dados imediatamente apos a emissão.
Devo apenas salientar que no caso da impressora epson, os dados deverão ser capturados antes da emissão da redução.

Abs!


em 13/5/2011 10:31 - Responder
 

  Acomais Ltda
certo, esse codigo após a redução z que você processa os arquivos 60 nas tabelas, estão no seu projeto paf?


em 13/5/2011 13:26 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Olá!

Se os código no qual se refere, forem os do projetos, acredito que não tenham, pois não tratei esta parte diretamente no PAF.
Mas de qualquer forma é muito simples. Os cidados comandos do arquivo que lhe informei, geram um arquivo TXT com todas as informações necessárias. Basta fazer a leitura deste arquivo TXT, capturando os dados e gravando no banco.

Abs!


em 13/5/2011 13:53 - Responder
 

  Acomais Ltda
ok vou dar uma procurada, agora a ultima duvida desse tema :P

a impressora não emite uma redução Z automaticamente caso ninguem emita no dia anterior? como fica pra processar essa informação que não foi disparada por mim?

valeu!!


em 13/5/2011 13:56 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Olha! No meu sistema aqui, eu disponibilizo uma tela para o usuário cadastrar manual, caso tenha algum problema na captura automatizada.

Abs!


em 13/5/2011 14:00 - Responder
 

  Acomais Ltda
Fala Godinho, acabei de terminar essa implementação, mas ficou uma duvida no ar: essas informações do R1 ao R7 são sempre referentes ao ECF plugado ou de todos os ECF que o sistema utiiza? não vi filtro por ECF no seu código por isso a duvida.


em 19/5/2011 11:30 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Olá!

Acredito que seja pelo ECF plugado, pelo menos foi a forma que fiz. Mas por via de dúvidas, adicione as duas opções.

Abs!


em 19/5/2011 14:14 - Responder
 

  Acomais Ltda
Aquele campo TERMINAL que você cria nas tabelas, não seria para indicar o ecf utilizado?
ou acha melhor criar uma tabela ECF, onde eu grave o serial de cada impressora da empresa e faça um relacionamento com essas tabelas?


em 19/5/2011 21:06 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Sim, o campo terminal é para identificar o Caixa para estabelecimentos que tem mais de um.
Com relação a tabela, você terá que analizar o que fica melhor no seu aplicativo.

Abs!


em 20/5/2011 08:42 - Responder
 

José Bernardo
Bom dia,

Estou desenvolvendo um aplicativo para sped fiscal, e preciso pegar as informações das reduções Z e dos cupons fiscais das impressoras, fiz o download do seu aplicativo,para gerar os registros R2 R3,você utilizar dados previamente salvos em uma tabela,como você salvar esses dados?

Nesse tópico você explica

http://www.devmedia.com.br/post-15465-Tutorial-PAF-ECF-Versao-0103-Gerando-arquivo-de-Movimento-por-ECF.html

mas eu não consegui entender,

você não poderia disponibilizar essa parte do aplicativo como um post de aula?

lá você diz :


Para gerar o registro 60M:



Bematech_FI_RelatorioTipo60Mestre()

Daruma_FI_RelatorioTipo60Mestre()

ECF_RelatorioTipo60Mestre()

Elgin_RelatorioTipo60Mestre()



Para gerar o registro 60A:



Bematech_FI_RelatorioTipo60Analitico()

Daruma_FI_RelatorioTipo60Analitico()

ECF_RelatorioTipo60Analitico()

Elgin_RelatorioTipo60Analitico()

o que eu faço com essas funções?

------------------------------------------------------


em 26/5/2011 11:51 - Responder

 

[Comentário do autor]   Luis Carlos Godinho
Olá!

Este comandos irão gerar um arquivo no formato txt. Após gerado, bastará copiar os dados do arquivo para a tabela no banco de dados.

Abs!


em 26/5/2011 13:59 - Responder
 

  José Bernardo
Estou sem acesso ao Delphi hoje mas a função Bematech_FI_RelatorioTipo60Mestre() não recebe nada como parâmetro,onde é salvo esse arquivo?

já as funções
Daruma_FI_RelatorioTipo60Mestre()

ECF_RelatorioTipo60Mestre()

Elgin_RelatorioTipo60Mestre()

eu não consegui acessar,

Cada uma gera uma parte diferente do arquivo?


em 28/5/2011 18:37 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Olá!

Sugiro que baixe o manual da DLL no site da bematech. Lá você encontrará todos os exemplos de uso.

Verifique no arquivo Bemafi32.ini que deverá estar na pasta windows/system32. Nele tem as configurações necessárias.

Abs!


em 28/5/2011 23:01 - Responder
 

  José Bernardo
Ok, fiz o que você falou agora estou conseguindo entender melhor.

Mas pelo que eu entendi o algoritmo para pegar os cupons fiscais quando é executado só retorna dados referentes ao ultimo cupom emitido.ser for realmente isso,como faço para pegar informações referentes a vários cupons?

---------------------------------------------------------


em 31/5/2011 01:33 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Não sei se entende sua questão. Mas referente a redução Z. os comando acima irão gerar dados do registro 60M e 60A necessários para gerar o sintegra. `
Para pegar dados de registro 60D ou 60I, você poderá pegar a informação de COO inicial e final, gerados no arquivo do 60M (Mestre) para localizar os cupons referentes as vendas do dia.

Abs!


em 31/5/2011 08:50 - Responder
 

  José Bernardo
Sobre a redução Z eu já consegui pegar as informações necessárias.
Deixa eu lhe explicar estou desenvolvendo um aplicativo de sped fiscal,o meu programa não realiza vendas, ou seja eu só preciso pegar as informações referentes ao cupons fiscais no fim do mês.
Você disse que eu deveria pegar o numero de COO inicial e final para localizar os cupons, que função eu uso para localizar os cupons e pegar todas as informações referentes a esses cupons e seus produtos?
Pelo que eu entendi o seu programa gera salvar esses dados na hora de venda.


em 31/5/2011 16:57 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Não irá funcionar por este caminho. As informações que estou te passando é referente ao PAF, ou seja, dia a dia o PAF deverá armazenar os dados das reduções, dai fica fácil capturar os dados de banco e montar o que precisa.
No caso de SPED você já deverá ter isso no banco de dados, pois eu particularmente desconheço como capturar a redução do mes inteiro via impressora.

Abs!


em 31/5/2011 17:22 - Responder
 

  José Bernardo
Ok, você captura os dados dia a dia,
Mas como eu pego todas as informações dos cupons do dia, sem ser necessariamente o último cupom?


em 31/5/2011 18:46 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Através da redução Z.
Esta é o resumo do movimento (Cupons fiscais, e outros) diário.

Abs!


em 31/5/2011 21:10 - Responder
 

  José Bernardo
Se eu não me engano as reduções Z só trazem as totalizações dia a dia,mas não detalham os cupons e seus respectivos produtos.


em 1/6/2011 09:19 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
O processo normal para recuperar os dados dos cupons é via redução.
Fora isso, você terá que ver com o fabricante uma possíbilidade de recuperar a MFD do equipamento.

Abs!


em 1/6/2011 09:45 - Responder
 

  José Bernardo
pesuisei e achei uma função propria para o sped,mas em uma versão nova da dlls atualizei,mas como faço para a função pode ser usada,tipo as funções que estão na unit uDecBematech do seu projeto?


em 1/6/2011 17:23 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Neste caso é programação. Você tem que declarar a unit uDecEpson na unit que ira usar.


em 1/6/2011 17:28 - Responder
 

  José Bernardo
Eu tenho que criar a unit udecepson?
por que a unit udebematech ja veio no seu projeto,e nao a da epson?


em 1/6/2011 17:51 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Olha, isso é questão de programação. Fica a seu critério fazer como achar melhor.



em 1/6/2011 20:36 - Responder
 



Curso Online
Autor
Luis Carlos Godinho

Programador formado em 1995, pela ETEIT – Escola técnica da UNIVALE. Atualmente trabalhando com a plataforma Delphi. Tem se dedicado nos últimos anos, ao desenvolvimento de aplicações PAF-ECF, SPED fiscal e NFe.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
1   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível somente para quem possui Créditos DevMedia. (Ele não está associado a nenhuma publicação DevMedia).


  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 8,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ 3,20 (assinante) ou R$ 4,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ 1,20
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03