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

  Este é um post disponível para assinantes MVP
Você também pode acessá-lo através de Créditos DevMedia.  Clique aqui para saber mais!


Video: Rotina para gerar vendas no período - Curso PAF - ECF com Delphi 7 e Dlls dos fabricantes - Aplicação Completa - Parte 27

Neste vídeo aula vamos exemplificar a rotina usada para gerar os arquivos solicitados no item 19 do requisito VII do roteiro de homologação, a que se refere à criação do menu fiscal.

Tempo: 00:31:54

 

Resumo: Neste vídeo aula vamos exemplificar a rotina usada para gerar os arquivos solicitados no item 19 do requisito VII do roteiro de homologação, a que se refere à criação do menu fiscal. A meu ver, esta é uma das mais complexas rotinas no processo de criação da aplicação PAF-ECF. Nesta rotina serão criados dois arquivos. Um destes arquivos é baseado no manual de orientações do convênio 57/95, usado para regulamentar a criação do arquivo do sintegra, e o outro baseado no Ato COTEPE/ICMS 09/08, que regulamenta a criação do arquivo do SPED fiscal. Nessa aula estão contidos os fontes do curso.

 

Metodologia de desenvolvimento do exemplo: É utilizado os dados da tabela do banco já criado para retornar todos os campos necessários para a identificação.

 

Tecnologias utilizadas: Delphi 7, Firebird 2.1.

 

Exemplos construídos: Criação de rotina para gerar o vendas no período.

 

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

 

 





    23 COMENTÁRIOS

[Fechar]

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



Wilker Fiorio
Godinho, parabens pelos videos aulas. O link do video 27 não esta baixando.
[há +1 ano] - Responder

 

William De Carvalho Brazilino
Luiz, apesar de na video não conter a montagem do registro 61, e sabendo que ele deve ser gerado, pergunto: A formatação do campo 15(Aliquota) do registro 61 como é para aliquotas não tributadas? eu ja fiz com zeros à esquerda, zeros à direita, brancos à esquerda e brancos à direita, e todas elas o validador recusa. Qual a formatação.
Abcs, e parabens pelas videos !!
[há +1 ano] - Responder
 

[autor] Luis Carlos Godinho
Olá Willian!
 
No meu aqui é passado como "0000" e funciona. Passe a mensagem do validador derrepente posso te ajudar.
 
Abs!
[há +1 ano] - Responder
 

William De Carvalho Brazilino
Luiz, da erro de "Formato inválido" nos formatos :
I      --> 4 espaços em branco
      I
000I
I000
[há +1 ano] - Responder
 

William De Carvalho Brazilino
Ou nesses casos devo colocar os valores Zerados, assim como os campos 10, 11, 12, 13 e 14, ou seja, caso as aliquotas sejam não tributada, os campos de 10 a 15 ficam zerados?
[há +1 ano] - Responder
 

[autor] Luis Carlos Godinho
O campo tem apenas 4 espaços. Caso coloque I + 4 espaços vai dar erro, e não se deve preencher com zero a esquerda ou direita quando usar F,I ou N.
 
Veja o Modelo que gerei em meu aplicativo, Tente Validar com ele.
Lembre-se de alinha-lo pois ao adicionar no site desalinhou.
 
10206045180002222770382750421 EMPRESA TESTE PAFECF               PIRAPORA                      MG00322121212010070120100731331
11RUA PRINCIPAL                     00000LOJA                  CENTRO         35000000FULANO DE RAL               000032212121
60M20100703MFD0000000000000001 0012D00000100005000000100100000000000050000000000000010000                                    
60A20100703MFD0000000000000001 F   000000002000                                                                              
60A20100703MFD0000000000000001 I   000000000000                                                                              
60A20100703MFD0000000000000001 N   000000000000                                                                              
60A20100703MFD0000000000000001 0700000000000000                                                                              
60A20100703MFD0000000000000001 1200000000003000                                                                              
60A20100703MFD0000000000000001 1800000000000000                                                                              
60A20100703MFD0000000000000001 2500000000000000                                                                              
60D20100703MFD0000000000000001 7892222222222 000000000400000000000000020000000000000002000F   0000000000000                  
60D20100703MFD0000000000000001 7896005202074 00000000020000000000000003000000000000000300012000000000000360                  
60I20100703MFD0000000000000001 2D0000130017896005202074 000000000100000000000015000000000015001200000000000180               
60I20100703MFD0000000000000001 2D0000130027892222222222 00000000030000000000000500000000000500F   000000000000               
60I20100703MFD0000000000000001 2D0000150017896005202074 000000000100000000000015000000000015001200000000000180               
60I20100703MFD0000000000000001 2D0000150037892222222222 00000000010000000000000500000000000500F   000000000000               
60R0720107892222222222 000000000400000000000000020000000000000002000F                                                        
60R0720107896005202074 0000000002000000000000000300000000000000030001200                                                     
60M20100714MFD0000000000000001 0012D00005200007500000500100000000000248850000000000069585                                    
60A20100714MFD0000000000000001 F   000000002559                                                                              
60A20100714MFD0000000000000001 I   000000000000                                                                              
60A20100714MFD0000000000000001 N   000000000000                                                                              
60A20100714MFD0000000000000001 0700000000001385                                                                              
60A20100714MFD0000000000000001 1200000000014268                                                                              
60A20100714MFD0000000000000001 1800000000000000                                                                              
60A20100714MFD0000000000000001 2500000000000000                                                                              
60A20100714MFD0000000000000001 CANC000000006673                                                                              
60A20100714MFD0000000000000001 DESC000000000000                                                                              
61                            2010071202D    00000300000500000000019700000000000000000000000000000000000000000000000019701200
61                            2010071202D    00000300000500000000019700000000000000000000000000000000000000000000000019701200
61                            2010071202D    00000300000500000000019700000000000000000000000000000000000000000000000019701200
61R0720107892222222222 0000000002000000000000000098500000000000009851200                                                     
61R0720107892222222222 0000000002000000000000000098500000000000009851200                                                     
61R0720107892222222222 0000000002000000000000000098500000000000009851200                                                     
7520100701201007317892222222222 10062020ARROZ BRANCO                                         UN    000000000100000000000006766
7520100701201007317896005202074 22011000AGUA MINERAL COM GAS 500ML                           UN    000001200000000000000000000
90206045180002222770382750421 6000000026                                                                                     3
90206045180002222770382750421 6100000006                                                                                     3
90206045180002222770382750421 75000000029900000037                                                                           3
Abs!
[há +1 ano] - Responder
 

William De Carvalho Brazilino
caro Luiz, nesse formato, com certeza vai validar, pois suas aliquotas nesse campo não são I, F ou N, e é nesse ponto a que me refiro. A propósito eu to usando a versão 5.2.8 do validador. abcs!!
[há +1 ano] - Responder
 

[autor] Luis Carlos Godinho

Como tinha dito anteriormente, no meu aqui uso colocar "0000" e dá certinho.

 
61                            2010071202D    00000300000500000000019700000000000000000000000000000000000000000000000019701200
61                            2010071202D    00000300000500000000019700000000000000000000000000000000000000000000000019701200
61                            2010071202D    00000300000500000000019700000000000000000000000000000000000000000000000019701200
61                            2010071202D    00000300000500000000019700000000000000000000000000000000000000000000000019700000
61R0720107892222222222 0000000002000000000000000098500000000000009851200                                                     
61R0720107892222222222 0000000002000000000000000098500000000000009851200                                                     
61R0720107892222222222 0000000002000000000000000098500000000000009851200                                                     
61R0720107892222222222 0000000002000000000000000098500000000000009850000                                                     
Compare com o outro que passei, e note que no registro 61, adicinei um novo registro e no campo aliquota esta com apenas ''0000''.
 
validei aqui e deu certo.
 
Abs!
[há +1 ano] - Responder
 

William De Carvalho Brazilino
Entendi, entao pra essas aliquotas basta informar 0000? blz então. Vlw Luiz, forte abc!!
[há +1 ano] - Responder
 

Erick Eden Fróes
Luiz, muito bom seu video, ajudou bastante

me diga, qual é a senha do banco de dados para q eu possa analizar os registros?

obrigado!
[há +1 ano] - Responder

 

[autor] Luis Carlos Godinho
Olá Erick!
 
O banco de dados firebird tem a senha e usuário padrão de SYSDBA e masterkey e é senha local, ou seja, mesmo que eu usa-se uma senha alterada em minha máquina, na sua esta alteração não faria efeito.
 
Abs!
 
[há +1 ano] - Responder
 

Erick Eden Fróes
Então Luiz obrigado pelo retorno, eu não consegui fazer a conexão com essa senha padrão, não conecta

estou usando o FBquerySQL, pode me ajudar?
[há +1 ano] - Responder
 

[autor] Luis Carlos Godinho
Olha, eu uso o IBExpert.
O problema de conexão pode ser por conta das DLL de conexão que estão faltando. FbClient na pasta windows\system32 e a UIB Firebird.
 
Abs!
[há +1 ano] - Responder
 

Rodrigo M.

Olá Luiz, gostei muito dessa aula. Parabéns!

Tive apenas uma dúvida:

No Roteiro de analise REQUISITO XXVIII, diz que o arquivo gerado deve ser salvo com o nome XXnnnAAAADDMMAAAAhhmmss.txt

Na aula você criou 2 arquivos, 1 sintegra e 1 sped. Devo então juntar os 2 e salvá-lo com o nome no formato solicitado pelo roteiro?

[há +1 ano] - Responder

 

[autor] Luis Carlos Godinho
Olá Rodrigo!
 
Conforme me foi dito pelo pessoal do órgão técnico, deverá ser gerado 2 arquivos separados.
 
Com relação ao nome, o mesmo deverá ser gerado conforme consta no roteiro e como no nome dos arquivos tem horas, minutos e segundos, os mesmo nunca repetirão o nome.
 
Mas de qualquer forma, sugiro que entre em contato com o órgão técnico que irá realizar sua homologação, pois eles darão a palavra final no assunto.
 
Abs!
[há +1 ano] - Responder
 

Roberio
Primeiro quero dar-lhe o parabéns e agradecer pelo ótimo curso Luis Carlos Godinho, concerteza está sendo útil para muitos desenvolvedores em Delphi. Gostaria que você me tirasse uma dúvida em relação a RegistraItemECF do fórmulário emiteCupom, quando eu faço a venda aqui no emulador o produto saí assim:

ITEM CÓDIGO DESCRIÇÃO QTD.UN.VL_UNIT( R$) ST VL_
ITEM( R$)
------------------------------------------------
001 1
ESSENCIA DE ABACAXI
1000 X 1,00 I1 1000,00g

Só que estou vendendo apenas um produto e tá saindo como se fossem 1000, ou tá certo e é assim msm, pq quando o GT atualiza ele fica como se fossem 1.000,00.
[há +1 ano] - Responder

 

[autor] Luis Carlos Godinho
Olá!

Existe um problema com relação ao fracionamento. Deve-se observar isso conforme o cadastro e proceder a correção ao passar para a impressora.
Acredito que foi corrigido este problema pois no meu aqui já está.

Abs!
[há +1 ano] - Responder
 

Roberio
fiz uma alteração no código

//Define Tipo de Produto se é fracionado ou inteiro
If FRACIONADO = 'S' Then
Begin
TipoQuant := 'F';
Quantidade := FormatFloat('0.000',Quant);
End
Else
Begin
TipoQuant := 'I';
Quantidade := FormatFloat('0',Quant);
End;

o que vc acha?
[há +1 ano] - Responder
 

[autor] Luis Carlos Godinho
Isso aí.
Apenas uma dica, use no formato de inteiro 4 digitos

"FormatFloat('0000',aQuant)"

Abs!
[há +1 ano] - Responder
 

Sidnei Garces De Moraes
Oi, Godinho!

Poderia me dar uma dica de como configurar outras marcas de impressoras!?

Obrigado!
[há +1 mês] - Responder

 

[autor] Luis Carlos Godinho
Olá!

Atualmente utilizo o componente AcBr. Com ele atenderá a praticamente todas as impressoras de uma forma bem simples.]

Caso contrario terá que criar uma rotina para ser informado o modelo da impressora e nesta guiar o comando conforme exemplo da cada DLL.

Abs.!
[há +1 mês] - Responder
 

Itamar Monteiro
Luis, na aula4 foi mostrado sobre Suprimentos, Sangria e Inicio da Jornada Fiscal, minha pergunta é: Esses dados precisam ficar armazenados em alguma tabela do Sistema ? Em uma tabela de suprimentos por exemplo ?
Outra questão: Em um ambiente de rede, como fica o aplicativo fiscal ? tipo, se eu tiver 5 máquinas na rede, eu tenho que ter uma impresssora fiscal pra cada máquina? O Banco de dados deverá ser um só para as 5 máquinas ou cada máquina possui o seu banco de dados local?
Essas são minhas dúvidas, se puder me ajudar agradeço!
Abraço
[há +1 mês] - Responder

 

[autor] Luis Carlos Godinho
Olá!

Com relação ao armazenamento de suprimentos e sangrias fica a seu criterio. Apenas deverá ser guardado a situação para atender ao arquivo de movimento por ecf no registro R06.
Com relação a rede, acho que tem como utilizar a impressora em rede, porem eu nunca simulei esta situação, e acredito que o melhor é ter uma impressora para cada caixa.
No caso de lojas de departamento por exemplo, onde se trabalha com o DAV ou PV, pode ter apenas uma impressora no caixa que atenderá a vários terminais na rede que serviram para gerar os pedidos.

Abs.!
[há +1 mês] - Responder
 



Publicidade
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:
2   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03